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

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
1.1.1.2   root       29: #define        ASM_KEYWORD     281
1.1.1.5 ! root       30: #define        GCC_ASM_KEYWORD 282
        !            31: #define        TYPEOF  283
        !            32: #define        ALIGNOF 284
        !            33: #define        HEADOF  285
        !            34: #define        CLASSOF 286
        !            35: #define        ATTRIBUTE       287
        !            36: #define        EXTENSION       288
        !            37: #define        LABEL   289
        !            38: #define        AGGR    290
        !            39: #define        VISSPEC 291
        !            40: #define        DELETE  292
        !            41: #define        NEW     293
        !            42: #define        OVERLOAD        294
        !            43: #define        THIS    295
        !            44: #define        OPERATOR        296
        !            45: #define        DYNAMIC 297
        !            46: #define        POINTSAT_LEFT_RIGHT     298
        !            47: #define        LEFT_RIGHT      299
        !            48: #define        TEMPLATE        300
        !            49: #define        SCOPE   301
        !            50: #define        START_DECLARATOR        302
        !            51: #define        EMPTY   303
        !            52: #define        TYPENAME_COLON  304
        !            53: #define        ASSIGN  305
        !            54: #define        RANGE   306
        !            55: #define        OROR    307
        !            56: #define        ANDAND  308
        !            57: #define        MIN_MAX 309
        !            58: #define        EQCOMPARE       310
        !            59: #define        ARITHCOMPARE    311
        !            60: #define        LSHIFT  312
        !            61: #define        RSHIFT  313
        !            62: #define        UNARY   314
        !            63: #define        PLUSPLUS        315
        !            64: #define        MINUSMINUS      316
        !            65: #define        HYPERUNARY      317
        !            66: #define        PAREN_STAR_PAREN        318
        !            67: #define        POINTSAT        319
        !            68: #define        POINTSAT_STAR   320
        !            69: #define        DOT_STAR        321
        !            70: #define        RAISE   322
        !            71: #define        RAISES  323
        !            72: #define        RERAISE 324
        !            73: #define        TRY     325
        !            74: #define        EXCEPT  326
        !            75: #define        CATCH   327
        !            76: #define        THROW   328
        !            77: #define        ANSI_TRY        329
        !            78: #define        ANSI_THROW      330
        !            79: #define        TYPENAME_ELLIPSIS       331
        !            80: #define        PTYPENAME       332
        !            81: #define        PRE_PARSED_FUNCTION_DECL        333
        !            82: #define        EXTERN_LANG_STRING      334
        !            83: #define        ALL     335
        !            84: #define        PRE_PARSED_CLASS_DECL   336
        !            85: #define        TYPENAME_DEFN   337
        !            86: #define        IDENTIFIER_DEFN 338
        !            87: #define        PTYPENAME_DEFN  339
        !            88: #define        END_OF_SAVED_INPUT      340
1.1       root       89: 
                     90: #line 42 "cp-parse.y"
                     91: 
1.1.1.4   root       92: #if defined(GATHER_STATISTICS) || defined(SPEW_DEBUG)
1.1       root       93: #undef YYDEBUG
                     94: #define YYDEBUG 1
                     95: #endif
                     96: 
                     97: #include "config.h"
                     98: 
                     99: #include <stdio.h>
                    100: #include <errno.h>
                    101: 
                    102: #include "tree.h"
                    103: #include "input.h"
1.1.1.4   root      104: #include "flags.h"
1.1       root      105: #include "cp-lex.h"
                    106: #include "cp-tree.h"
                    107: 
1.1.1.5 ! root      108: /* Since parsers are distinct for each language, put the language string
        !           109:    definition here.  (fnf) */
        !           110: char *language_string = "GNU C++";
        !           111: 
1.1       root      112: extern tree void_list_node;
1.1.1.4   root      113: extern struct obstack permanent_obstack;
1.1       root      114: 
                    115: #ifndef errno
                    116: extern int errno;
                    117: #endif
                    118: 
                    119: extern int end_of_file;
                    120: 
                    121: void yyerror ();
                    122: 
                    123: /* Like YYERROR but do call yyerror.  */
                    124: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
                    125: 
                    126: static void position_after_white_space ();
                    127: 
1.1.1.5 ! root      128: /* Contains the statement keyword (if/while/do) to include in an
        !           129:    error message if the user supplies an empty conditional expression.  */
        !           130: static char *cond_stmt_keyword;
1.1       root      131: 
                    132: /* Nonzero if we have an `extern "C"' acting as an extern specifier.  */
1.1.1.4   root      133: int have_extern_spec;
                    134: int used_extern_spec;
1.1       root      135: 
                    136: void yyhook ();
                    137: 
                    138: /* Cons up an empty parameter list.  */
                    139: #ifdef __GNUC__
                    140: __inline
                    141: #endif
                    142: static tree
                    143: empty_parms ()
                    144: {
                    145:   tree parms;
                    146: 
                    147:   if (strict_prototype)
                    148:     parms = void_list_node;
                    149:   else
                    150:     parms = NULL_TREE;
                    151:   return parms;
                    152: }
                    153: 
1.1.1.5 ! root      154: #line 108 "cp-parse.y"
1.1.1.2   root      155: typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
1.1.1.5 ! root      156: #line 267 "cp-parse.y"
1.1       root      157: 
                    158: /* List of types and structure classes of the current declaration.  */
1.1.1.4   root      159: static tree current_declspecs;
1.1       root      160: 
                    161: /* When defining an aggregate, this is the most recent one being defined.  */
                    162: static tree current_aggr;
                    163: 
1.1.1.4   root      164: /* Tell yyparse how to print a token's value, if yydebug is set.  */
1.1       root      165: 
                    166: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
1.1.1.4   root      167: extern void yyprint ();
1.1.1.5 ! root      168: extern tree combine_strings            PROTO((tree));
        !           169: extern tree truthvalue_conversion      PROTO((tree));
1.1       root      170: 
                    171: #ifndef YYLTYPE
                    172: typedef
                    173:   struct yyltype
                    174:     {
                    175:       int timestamp;
                    176:       int first_line;
                    177:       int first_column;
                    178:       int last_line;
                    179:       int last_column;
                    180:       char *text;
                    181:    }
                    182:   yyltype;
                    183: 
                    184: #define YYLTYPE yyltype
                    185: #endif
                    186: 
                    187: #include <stdio.h>
                    188: 
                    189: #ifndef __STDC__
                    190: #define const
                    191: #endif
                    192: 
                    193: 
                    194: 
1.1.1.5 ! root      195: #define        YYFINAL         1276
1.1       root      196: #define        YYFLAG          -32768
1.1.1.5 ! root      197: #define        YYNTBASE        110
1.1       root      198: 
1.1.1.5 ! root      199: #define YYTRANSLATE(x) ((unsigned)(x) <= 340 ? yytranslate[x] : 304)
1.1       root      200: 
                    201: static const char yytranslate[] = {     0,
                    202:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    203:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    204:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.5 ! root      205:      2,     2,   108,     2,     2,     2,    73,    61,     2,    83,
        !           206:    104,    71,    69,    51,    70,    81,    72,     2,     2,     2,
        !           207:      2,     2,     2,     2,     2,     2,     2,    55,   105,    65,
        !           208:     53,    66,    54,     2,     2,     2,     2,     2,     2,     2,
1.1       root      209:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    210:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.5 ! root      211:     84,     2,   109,    60,     2,     2,     2,     2,     2,     2,
1.1       root      212:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    213:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.5 ! root      214:      2,     2,    50,    59,   106,   107,     2,     2,     2,     2,
1.1       root      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,     2,     2,     2,     2,     2,     2,     2,     2,
                    218:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    219:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    220:      2,     2,     2,     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:      2,     2,     2,     2,     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,     2,     2,     2,     2,     2,     2,     2,     2,
                    227:      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
                    228:      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
                    229:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
                    230:     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
                    231:     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1.1.1.5 ! root      232:     46,    47,    48,    49,    52,    56,    57,    58,    62,    63,
        !           233:     64,    67,    68,    74,    75,    76,    77,    78,    79,    80,
        !           234:     82,    85,    86,    87,    88,    89,    90,    91,    92,    93,
        !           235:     94,    95,    96,    97,    98,    99,   100,   101,   102,   103
1.1       root      236: };
                    237: 
                    238: static const short yyprhs[] = {     0,
                    239:      0,     1,     3,     4,     7,    10,    11,    12,    14,    16,
1.1.1.5 ! root      240:     18,    20,    22,    24,    30,    35,    39,    44,    49,    51,
        !           241:     52,    58,    60,    64,    67,    72,    76,    78,    82,    84,
        !           242:     88,    89,    95,    96,   102,   103,   109,   110,   116,   120,
        !           243:    124,   131,   139,   144,   148,   152,   154,   156,   158,   160,
        !           244:    162,   165,   169,   173,   177,   181,   184,   187,   190,   193,
        !           245:    195,   199,   204,   208,   214,   219,   223,   227,   230,   234,
        !           246:    238,   241,   248,   255,   260,   265,   267,   274,   279,   283,
        !           247:    290,   295,   299,   302,   305,   307,   311,   316,   319,   323,
        !           248:    324,   325,   327,   331,   334,   338,   340,   345,   348,   353,
        !           249:    356,   361,   364,   370,   374,   376,   378,   380,   382,   384,
        !           250:    386,   388,   390,   392,   395,   397,   401,   406,   411,   413,
        !           251:    415,   416,   417,   419,   423,   425,   427,   428,   435,   436,
        !           252:    438,   439,   442,   444,   446,   448,   450,   452,   454,   456,
        !           253:    458,   462,   464,   468,   472,   474,   475,   479,   482,   485,
        !           254:    488,   491,   494,   497,   502,   505,   510,   514,   521,   528,
        !           255:    538,   543,   551,   557,   566,   576,   586,   593,   603,   610,
        !           256:    620,   624,   631,   634,   639,   645,   647,   652,   660,   665,
        !           257:    670,   675,   677,   681,   685,   689,   693,   697,   701,   705,
        !           258:    709,   713,   717,   721,   725,   729,   733,   737,   741,   745,
        !           259:    751,   755,   759,   763,   766,   768,   770,   772,   774,   778,
        !           260:    782,   783,   788,   789,   796,   799,   804,   807,   811,   814,
        !           261:    817,   819,   824,   829,   832,   838,   842,   845,   848,   851,
        !           262:    857,   861,   867,   871,   878,   883,   885,   890,   893,   899,
        !           263:    900,   902,   904,   907,   909,   912,   913,   916,   919,   922,
        !           264:    926,   930,   934,   938,   941,   944,   946,   948,   951,   954,
        !           265:    956,   959,   962,   966,   968,   970,   973,   976,   978,   980,
        !           266:    983,   986,   988,   991,   994,   998,  1000,  1003,  1005,  1007,
        !           267:   1009,  1011,  1016,  1021,  1023,  1025,  1027,  1029,  1031,  1035,
        !           268:   1037,  1041,  1042,  1047,  1048,  1056,  1061,  1062,  1070,  1075,
        !           269:   1076,  1084,  1089,  1090,  1097,  1099,  1103,  1105,  1110,  1119,
        !           270:   1121,  1125,  1127,  1130,  1134,  1139,  1141,  1143,  1147,  1152,
        !           271:   1159,  1163,  1169,  1170,  1178,  1183,  1184,  1191,  1195,  1198,
        !           272:   1203,  1205,  1206,  1208,  1209,  1211,  1213,  1216,  1222,  1225,
        !           273:   1228,  1231,  1234,  1237,  1240,  1243,  1247,  1251,  1254,  1255,
        !           274:   1259,  1260,  1264,  1267,  1269,  1271,  1272,  1274,  1277,  1279,
        !           275:   1283,  1285,  1287,  1290,  1293,  1296,  1300,  1302,  1304,  1306,
        !           276:   1309,  1312,  1314,  1315,  1317,  1322,  1326,  1328,  1331,  1334,
        !           277:   1338,  1344,  1350,  1354,  1358,  1362,  1366,  1370,  1376,  1382,
        !           278:   1386,  1390,  1394,  1398,  1400,  1403,  1406,  1410,  1414,  1415,
        !           279:   1417,  1421,  1426,  1433,  1438,  1442,  1445,  1450,  1457,  1462,
        !           280:   1466,  1469,  1471,  1475,  1477,  1481,  1484,  1487,  1488,  1490,
        !           281:   1493,  1495,  1498,  1499,  1502,  1503,  1506,  1512,  1518,  1522,
        !           282:   1528,  1533,  1537,  1541,  1547,  1549,  1551,  1557,  1561,  1565,
        !           283:   1567,  1573,  1579,  1583,  1589,  1594,  1598,  1602,  1604,  1606,
        !           284:   1610,  1614,  1620,  1626,  1630,  1636,  1640,  1644,  1648,  1653,
        !           285:   1657,  1659,  1661,  1664,  1667,  1670,  1674,  1678,  1686,  1694,
        !           286:   1700,  1708,  1712,  1720,  1728,  1734,  1742,  1746,  1748,  1751,
        !           287:   1754,  1756,  1759,  1763,  1767,  1770,  1772,  1776,  1780,  1783,
        !           288:   1789,  1793,  1798,  1802,  1807,  1810,  1814,  1817,  1821,  1826,
        !           289:   1830,  1835,  1841,  1847,  1849,  1851,  1854,  1857,  1860,  1861,
        !           290:   1862,  1864,  1866,  1869,  1873,  1875,  1878,  1881,  1887,  1893,
        !           291:   1894,  1895,  1901,  1903,  1906,  1908,  1910,  1912,  1915,  1916,
        !           292:   1921,  1923,  1924,  1925,  1931,  1932,  1933,  1941,  1942,  1943,
        !           293:   1944,  1954,  1955,  1956,  1957,  1967,  1968,  1975,  1976,  1982,
        !           294:   1983,  1991,  1992,  1997,  2000,  2003,  2006,  2010,  2017,  2026,
        !           295:   2037,  2050,  2055,  2059,  2062,  2065,  2067,  2070,  2074,  2081,
        !           296:   2086,  2093,  2098,  2102,  2103,  2111,  2114,  2115,  2121,  2125,
        !           297:   2127,  2130,  2134,  2138,  2141,  2144,  2146,  2147,  2152,  2155,
        !           298:   2159,  2163,  2164,  2165,  2170,  2171,  2172,  2177,  2178,  2183,
        !           299:   2184,  2186,  2187,  2188,  2197,  2201,  2206,  2211,  2215,  2220,
        !           300:   2227,  2234,  2235,  2237,  2238,  2240,  2242,  2243,  2245,  2247,
        !           301:   2251,  2256,  2258,  2262,  2263,  2265,  2269,  2272,  2274,  2276,
        !           302:   2279,  2282,  2284,  2288,  2292,  2298,  2302,  2308,  2312,  2316,
        !           303:   2318,  2320,  2323,  2325,  2326,  2328,  2329,  2332,  2337,  2339,
        !           304:   2341,  2343,  2346,  2349,  2352,  2354,  2356,  2358,  2362,  2364,
        !           305:   2368,  2371,  2374,  2377,  2380,  2383,  2386,  2389,  2392,  2395,
        !           306:   2398,  2401,  2404,  2407,  2410,  2413,  2416,  2419,  2422,  2425,
        !           307:   2428,  2431,  2434,  2437,  2441,  2444,  2447,  2450,  2454,  2457,
        !           308:   2461,  2464,  2467,  2471
1.1       root      309: };
                    310: 
                    311: static const short yyrhs[] = {    -1,
1.1.1.5 ! root      312:    111,     0,     0,   112,   116,     0,   111,   116,     0,     0,
        !           313:      0,    26,     0,    27,     0,   131,     0,   130,     0,   124,
        !           314:      0,   122,     0,   115,    83,   167,   104,   105,     0,   117,
        !           315:     50,   111,   106,     0,   117,    50,   106,     0,   117,   113,
        !           316:    131,   114,     0,   117,   113,   130,   114,     0,    97,     0,
        !           317:      0,    45,    65,   119,   120,    66,     0,   121,     0,   120,
        !           318:     51,   121,     0,   200,   140,     0,   200,   141,    55,   212,
        !           319:      0,   200,    49,   212,     0,   293,     0,    39,   123,   105,
        !           320:      0,     3,     0,   123,    51,     3,     0,     0,   118,   201,
        !           321:     50,   125,   105,     0,     0,   118,   202,    50,   126,   105,
        !           322:      0,     0,   118,   201,    55,   127,   105,     0,     0,   118,
        !           323:    202,    55,   128,   105,     0,   118,   201,   105,     0,   118,
        !           324:    202,   105,     0,   118,   231,   298,   182,   189,   129,     0,
        !           325:    118,   173,   172,   298,   182,   189,   129,     0,   118,   175,
        !           326:    172,   129,     0,   118,     1,   106,     0,   118,     1,   105,
        !           327:      0,    50,     0,    55,     0,   105,     0,    53,     0,    24,
        !           328:      0,   181,   105,     0,   175,   181,   105,     0,   175,   172,
        !           329:    105,     0,   173,   180,   105,     0,   173,   172,   105,     0,
        !           330:    175,   105,     0,   173,   105,     0,     1,   105,     0,     1,
        !           331:    106,     0,   105,     0,   132,   136,   244,     0,   132,   135,
        !           332:    136,   244,     0,   132,   168,   244,     0,   132,   135,   105,
        !           333:    168,   244,     0,   132,   135,   168,   244,     0,   173,   172,
        !           334:      1,     0,   175,   231,     1,     0,   231,     1,     0,   173,
        !           335:    172,   298,     0,   175,   231,   298,     0,   231,   298,     0,
        !           336:      4,    83,   291,   104,   226,   298,     0,   234,    83,   291,
        !           337:    104,   226,   298,     0,     4,    44,   226,   298,     0,   234,
        !           338:     44,   226,   298,     0,    96,     0,   173,    83,   291,   104,
        !           339:    226,   298,     0,   173,    44,   226,   298,     0,   173,   172,
        !           340:    298,     0,   175,    83,   291,   104,   226,   298,     0,   175,
        !           341:     44,   226,   298,     0,   175,   172,   298,     0,   231,   298,
        !           342:      0,    24,     3,     0,   134,     0,   134,    53,   193,     0,
        !           343:    134,    83,   156,   104,     0,   134,    44,     0,    55,   137,
        !           344:    138,     0,     0,     0,   139,     0,   138,    51,   139,     0,
        !           345:    138,     1,     0,    83,   156,   104,     0,    44,     0,   140,
        !           346:     83,   156,   104,     0,   140,    44,     0,   144,    83,   156,
        !           347:    104,     0,   144,    44,     0,   234,    83,   156,   104,     0,
        !           348:    234,    44,     0,   232,   140,    83,   156,   104,     0,   232,
        !           349:    140,    44,     0,     3,     0,     4,     0,    95,     0,   101,
        !           350:      0,   100,     0,   102,     0,     3,     0,     4,     0,    95,
        !           351:      0,   107,   140,     0,   303,     0,   144,   145,   151,     0,
        !           352:     95,    65,   147,    66,     0,     4,    65,   147,    66,     0,
        !           353:     50,     0,    55,     0,     0,     0,   148,     0,   147,    51,
        !           354:    148,     0,   223,     0,   160,     0,     0,    99,   208,   150,
        !           355:    214,   215,   106,     0,     0,   149,     0,     0,   149,   152,
        !           356:      0,    70,     0,    69,     0,    75,     0,    76,     0,   108,
        !           357:      0,   156,     0,   160,     0,    44,     0,    83,   154,   104,
        !           358:      0,   160,     0,   156,    51,   160,     0,   156,    51,     1,
        !           359:      0,   161,     0,     0,    33,   158,   159,     0,    71,   159,
        !           360:      0,    61,   159,     0,   107,   159,     0,   153,   159,     0,
        !           361:     58,   140,     0,    12,   157,     0,    12,    83,   223,   104,
        !           362:      0,    29,   157,     0,    29,    83,   223,   104,     0,   165,
        !           363:    164,   223,     0,   165,   164,    83,   156,   104,   223,     0,
        !           364:    165,   164,   178,    83,   156,   104,     0,   165,   164,    83,
        !           365:    156,   104,   178,    83,   156,   104,     0,   165,   164,   178,
        !           366:     44,     0,   165,   164,    83,   156,   104,   178,    44,     0,
        !           367:    165,   164,   223,    53,   193,     0,   165,   164,    83,   156,
        !           368:    104,   223,    53,   193,     0,   165,   164,    83,   176,   224,
        !           369:    104,    84,   227,   109,     0,   165,   164,    83,   225,   224,
        !           370:    104,    84,   227,   109,     0,   165,   164,    83,   176,   224,
        !           371:    104,     0,   165,   164,    83,   156,   104,    83,   176,   224,
        !           372:    104,     0,   165,   164,    83,   225,   224,   104,     0,   165,
        !           373:    164,    83,   156,   104,    83,   225,   224,   104,     0,   165,
        !           374:    164,    49,     0,   165,   164,    83,   156,   104,    49,     0,
        !           375:    166,   159,     0,   166,    84,   109,   159,     0,   166,    84,
        !           376:    154,   109,   159,     0,   157,     0,    83,   223,   104,   160,
        !           377:      0,    83,   223,   104,    50,   194,   198,   106,     0,    30,
        !           378:     83,   154,   104,     0,    31,    83,   154,   104,     0,    31,
        !           379:     83,     4,   104,     0,   159,     0,   160,    69,   160,     0,
        !           380:    160,    70,   160,     0,   160,    71,   160,     0,   160,    72,
        !           381:    160,     0,   160,    73,   160,     0,   160,    67,   160,     0,
        !           382:    160,    68,   160,     0,   160,    64,   160,     0,   160,    65,
        !           383:    160,     0,   160,    66,   160,     0,   160,    63,   160,     0,
        !           384:    160,    62,   160,     0,   160,    61,   160,     0,   160,    59,
        !           385:    160,     0,   160,    60,   160,     0,   160,    58,   160,     0,
        !           386:    160,    57,   160,     0,   160,    54,   286,    55,   160,     0,
        !           387:    160,    53,   160,     0,   160,    52,   160,     0,   161,    82,
        !           388:    160,     0,   170,   160,     0,     3,     0,   303,     0,     9,
        !           389:      0,   167,     0,    83,   154,   104,     0,    83,     1,   104,
        !           390:      0,     0,    83,   162,   245,   104,     0,     0,   161,    83,
        !           391:    156,   104,   163,   152,     0,   161,    44,     0,   161,    84,
        !           392:    154,   109,     0,   169,   142,     0,   169,   232,   142,     0,
        !           393:    161,    75,     0,   161,    76,     0,    40,     0,     8,    83,
        !           394:    156,   104,     0,   178,    83,   156,   104,     0,   178,    44,
        !           395:      0,    46,   178,    83,   156,   104,     0,    46,   178,    44,
        !           396:      0,    46,     3,     0,    46,   303,     0,   232,   142,     0,
        !           397:    232,   142,    83,   156,   104,     0,   232,   142,    44,     0,
        !           398:    169,   142,    83,   156,   104,     0,   169,   142,    44,     0,
        !           399:    169,   232,   142,    83,   156,   104,     0,   169,   232,   142,
        !           400:     44,     0,    38,     0,    38,    50,   156,   106,     0,    38,
        !           401:     42,     0,    38,    42,    83,   167,   104,     0,     0,    46,
        !           402:      0,    37,     0,    46,   166,     0,    10,     0,   167,    10,
        !           403:      0,     0,   161,    81,     0,   161,    79,     0,   161,    80,
        !           404:      0,   173,   180,   105,     0,   173,   172,   105,     0,   175,
        !           405:    181,   105,     0,   175,   172,   105,     0,   173,   105,     0,
        !           406:    175,   105,     0,   229,     0,   231,     0,    47,   229,     0,
        !           407:     47,   231,     0,   178,     0,   175,   178,     0,   178,   174,
        !           408:      0,   175,   178,   174,     0,   179,     0,     6,     0,   174,
        !           409:    179,     0,   174,     6,     0,     8,     0,     6,     0,   175,
        !           410:      8,     0,   175,     6,     0,   178,     0,   225,   178,     0,
        !           411:    178,   177,     0,   225,   178,   177,     0,   179,     0,   177,
        !           412:    179,     0,   195,     0,     7,     0,     4,     0,   234,     0,
        !           413:     28,    83,   154,   104,     0,    28,    83,   223,   104,     0,
        !           414:    143,     0,     7,     0,     8,     0,   195,     0,   183,     0,
        !           415:    180,    51,   185,     0,   187,     0,   181,    51,   185,     0,
        !           416:      0,   115,    83,   167,   104,     0,     0,   172,   298,   182,
        !           417:    189,    53,   184,   193,     0,   172,   298,   182,   189,     0,
        !           418:      0,   172,   298,   182,   189,    53,   186,   193,     0,   172,
        !           419:    298,   182,   189,     0,     0,   231,   298,   182,   189,    53,
        !           420:    188,   193,     0,   231,   298,   182,   189,     0,     0,    32,
        !           421:     83,    83,   190,   104,   104,     0,   191,     0,   190,    51,
        !           422:    191,     0,     3,     0,     3,    83,     9,   104,     0,     3,
        !           423:     83,     3,    51,     9,    51,     9,   104,     0,   140,     0,
        !           424:    192,    51,   140,     0,   160,     0,    50,   106,     0,    50,
        !           425:    194,   106,     0,    50,   194,    51,   106,     0,     1,     0,
        !           426:    193,     0,   194,    51,   193,     0,    84,   160,   109,   193,
        !           427:      0,   194,    51,    20,   160,    55,   193,     0,   140,    55,
        !           428:    193,     0,   194,    51,   140,    55,   193,     0,     0,    13,
        !           429:    140,    50,   196,   221,   199,   106,     0,    13,   140,    50,
        !           430:    106,     0,     0,    13,    50,   197,   221,   199,   106,     0,
        !           431:     13,    50,   106,     0,    13,   140,     0,   207,   214,   215,
        !           432:    106,     0,   207,     0,     0,    51,     0,     0,    51,     0,
        !           433:     35,     0,    42,    35,     0,    42,    83,   167,   104,    35,
        !           434:      0,   200,     6,     0,   200,     7,     0,   200,     8,     0,
        !           435:    200,    35,     0,   200,   140,     0,   200,   144,     0,   200,
        !           436:     49,     0,   200,   144,    50,     0,   200,   144,    55,     0,
        !           437:    200,   141,     0,     0,   201,   204,   208,     0,     0,   202,
        !           438:    205,   208,     0,   200,    50,     0,   206,     0,   203,     0,
        !           439:      0,    55,     0,    55,   209,     0,   210,     0,   209,    51,
        !           440:    210,     0,   212,     0,   211,     0,   213,   212,     0,   213,
        !           441:    211,     0,   212,     5,     0,   144,   146,   151,     0,   140,
        !           442:      0,    36,     0,     6,     0,   213,    36,     0,   213,     6,
        !           443:      0,    50,     0,     0,   216,     0,   215,    36,    55,   216,
        !           444:      0,   215,    36,    55,     0,   217,     0,   216,   217,     0,
        !           445:    216,   105,     0,   173,   218,   105,     0,   173,    83,   291,
        !           446:    104,   105,     0,   173,    83,   291,   104,   106,     0,   173,
        !           447:     44,   105,     0,   173,    44,   106,     0,   175,   218,   105,
        !           448:      0,   175,   172,   105,     0,   175,   218,   106,     0,   175,
        !           449:     83,   291,   104,   105,     0,   175,    83,   291,   104,   106,
        !           450:      0,   175,    44,   105,     0,   175,    44,   106,     0,    55,
        !           451:    160,   105,     0,    55,   160,   106,     0,     1,     0,   133,
        !           452:     55,     0,   133,    50,     0,   231,   298,   105,     0,   231,
        !           453:    298,   106,     0,     0,   219,     0,   218,    51,   220,     0,
        !           454:    172,   298,   182,   189,     0,   172,   298,   182,   189,    53,
        !           455:    193,     0,     3,    55,   160,   189,     0,    49,   160,   189,
        !           456:      0,    55,   160,     0,   172,   298,   182,   189,     0,   172,
        !           457:    298,   182,   189,    53,   193,     0,     3,    55,   160,   189,
        !           458:      0,    49,   160,   189,     0,    55,   160,     0,   222,     0,
        !           459:    221,    51,   222,     0,   140,     0,   140,    53,   160,     0,
        !           460:    176,   224,     0,   225,   224,     0,     0,   235,     0,    47,
        !           461:    235,     0,     8,     0,   225,     8,     0,     0,   226,     8,
        !           462:      0,     0,   228,   154,     0,   229,    83,   156,   104,   226,
        !           463:      0,   229,    83,   291,   104,   226,     0,   229,    44,   226,
        !           464:      0,   229,    83,     1,   104,   226,     0,   229,    84,   227,
        !           465:    109,     0,   229,    84,   109,     0,    83,   230,   104,     0,
        !           466:     83,    71,   226,   229,   104,     0,    78,     0,   237,     0,
        !           467:     83,    61,   226,   229,   104,     0,    71,   226,   229,     0,
        !           468:     61,   226,   229,     0,     4,     0,   230,    83,   156,   104,
        !           469:    226,     0,   230,    83,   291,   104,   226,     0,   230,    44,
        !           470:    226,     0,   230,    83,     1,   104,   226,     0,   230,    84,
        !           471:    227,   109,     0,   230,    84,   109,     0,    83,   230,   104,
        !           472:      0,    78,     0,   237,     0,    71,   226,   229,     0,    61,
        !           473:    226,   229,     0,   231,    83,   156,   104,   226,     0,   231,
        !           474:     83,   291,   104,   226,     0,   231,    44,   226,     0,   231,
        !           475:     83,     1,   104,   226,     0,    83,   231,   104,     0,    71,
        !           476:    226,   231,     0,    61,   226,   231,     0,   231,    84,   227,
        !           477:    109,     0,   231,    84,   109,     0,     3,     0,   303,     0,
        !           478:    107,     4,     0,   107,     3,     0,   107,    95,     0,   232,
        !           479:    295,   231,     0,   232,   295,     4,     0,   232,   295,     4,
        !           480:     83,   156,   104,   226,     0,   232,   295,     4,    83,   291,
        !           481:    104,   226,     0,   232,   295,     4,    44,   226,     0,   232,
        !           482:    295,     4,    83,     1,   104,   226,     0,   232,   295,    95,
        !           483:      0,   232,   295,    95,    83,   156,   104,   226,     0,   232,
        !           484:    295,    95,    83,   291,   104,   226,     0,   232,   295,    95,
        !           485:     44,   226,     0,   232,   295,    95,    83,     1,   104,   226,
        !           486:      0,    46,   295,   231,     0,   233,     0,   143,    46,     0,
        !           487:      4,    46,     0,     5,     0,   143,     5,     0,    83,   235,
        !           488:    104,     0,    71,   226,   235,     0,    71,   226,     0,    78,
        !           489:      0,    83,   236,   104,     0,    61,   226,   235,     0,    61,
        !           490:    226,     0,   235,    83,   291,   104,   226,     0,   235,    44,
        !           491:    226,     0,   235,    84,   227,   109,     0,   235,    84,   109,
        !           492:      0,    83,   291,   104,   226,     0,    44,   226,     0,    84,
        !           493:    227,   109,     0,    84,   109,     0,   232,    71,   226,     0,
        !           494:    232,    71,   226,   235,     0,   232,    61,   226,     0,   232,
        !           495:     61,   226,   235,     0,   232,   295,    71,   226,   229,     0,
        !           496:    232,   295,    61,   226,   229,     0,   250,     0,   239,     0,
        !           497:    238,   250,     0,   238,   239,     0,     1,   105,     0,     0,
        !           498:      0,   242,     0,   243,     0,   242,   243,     0,    34,   192,
        !           499:    105,     0,   245,     0,     1,   245,     0,    50,   106,     0,
        !           500:     50,   240,   241,   238,   106,     0,    50,   240,   241,     1,
        !           501:    106,     0,     0,     0,    14,   247,   155,   248,   249,     0,
        !           502:    245,     0,   240,   251,     0,   245,     0,   251,     0,   171,
        !           503:      0,   154,   105,     0,     0,   246,    15,   252,   249,     0,
        !           504:    246,     0,     0,     0,    16,   253,   155,   254,   249,     0,
        !           505:      0,     0,    17,   255,   249,    16,   256,   155,   105,     0,
        !           506:      0,     0,     0,   283,   257,   286,   105,   258,   286,   104,
        !           507:    259,   249,     0,     0,     0,     0,   284,   260,   286,   105,
        !           508:    261,   286,   104,   262,   249,     0,     0,    19,    83,   154,
        !           509:    104,   263,   249,     0,     0,    20,   154,    55,   264,   250,
        !           510:      0,     0,    20,   154,    56,   154,    55,   265,   250,     0,
        !           511:      0,    21,    55,   266,   250,     0,    22,   105,     0,    23,
        !           512:    105,     0,    24,   105,     0,    24,   154,   105,     0,   115,
        !           513:    285,    83,   167,   104,   105,     0,   115,   285,    83,   167,
        !           514:     55,   287,   104,   105,     0,   115,   285,    83,   167,    55,
        !           515:    287,    55,   287,   104,   105,     0,   115,   285,    83,   167,
        !           516:     55,   287,    55,   287,    55,   290,   104,   105,     0,    25,
        !           517:     71,   154,   105,     0,    25,   140,   105,     0,   270,   250,
        !           518:      0,   270,   106,     0,   105,     0,    93,   105,     0,    93,
        !           519:    154,   105,     0,    91,   299,    83,   156,   104,   105,     0,
        !           520:     91,   299,    44,   105,     0,    85,   299,    83,   156,   104,
        !           521:    105,     0,    85,   299,    44,   105,     0,    85,   140,   105,
        !           522:      0,     0,   269,    89,   140,    50,   267,   277,   106,     0,
        !           523:    269,     1,     0,     0,   273,   274,   274,   268,   281,     0,
        !           524:    269,    87,   301,     0,   269,     0,   271,   106,     0,   271,
        !           525:    238,   106,     0,   271,     1,   106,     0,     3,    55,     0,
        !           526:     95,    55,     0,    49,     0,     0,    88,    50,   272,   240,
        !           527:      0,   275,   106,     0,   275,   238,   106,     0,   275,     1,
        !           528:    106,     0,     0,     0,    92,    50,   276,   240,     0,     0,
        !           529:      0,   277,   299,   278,   245,     0,     0,   277,    21,   279,
        !           530:    245,     0,     0,   140,     0,     0,     0,   281,    90,    83,
        !           531:    223,   280,   104,   282,   245,     0,    18,    83,   105,     0,
        !           532:     18,    83,   154,   105,     0,    18,    83,    50,   106,     0,
        !           533:     18,    83,   171,     0,    18,    83,     1,   105,     0,    18,
        !           534:     83,    50,   240,   238,   106,     0,    18,    83,    50,   240,
        !           535:      1,   106,     0,     0,     8,     0,     0,   154,     0,     1,
        !           536:      0,     0,   288,     0,   289,     0,   288,    51,   289,     0,
        !           537:     10,    83,   154,   104,     0,    10,     0,   290,    51,    10,
        !           538:      0,     0,   292,     0,   292,    51,    11,     0,   292,    11,
        !           539:      0,    11,     0,    94,     0,   292,    94,     0,   292,    55,
        !           540:      0,   293,     0,   293,    53,   193,     0,   292,    51,   293,
        !           541:      0,   292,    51,   293,    53,   193,     0,   292,    51,   297,
        !           542:      0,   292,    51,   297,    53,   193,     0,   173,   296,   294,
        !           543:      0,   175,   296,   294,     0,   224,     0,   231,     0,    47,
        !           544:    231,     0,   226,     0,     0,   294,     0,     0,    86,   301,
        !           545:      0,    93,    83,   302,   104,     0,    98,     0,     3,     0,
        !           546:      4,     0,    46,     3,     0,    46,     4,     0,   232,     3,
        !           547:      0,   234,     0,   223,     0,   299,     0,   301,    51,   299,
        !           548:      0,   300,     0,   302,    51,   300,     0,    41,    71,     0,
        !           549:     41,    72,     0,    41,    73,     0,    41,    69,     0,    41,
        !           550:     70,     0,    41,    61,     0,    41,    59,     0,    41,    60,
        !           551:      0,    41,   107,     0,    41,    51,     0,    41,    64,     0,
        !           552:     41,    65,     0,    41,    66,     0,    41,    63,     0,    41,
        !           553:     52,     0,    41,    53,     0,    41,    67,     0,    41,    68,
        !           554:      0,    41,    75,     0,    41,    76,     0,    41,    58,     0,
        !           555:     41,    57,     0,    41,   108,     0,    41,    54,    55,     0,
        !           556:     41,    62,     0,    41,    79,     0,    41,    80,     0,    41,
        !           557:     43,   226,     0,    41,    44,     0,    41,    84,   109,     0,
        !           558:     41,    38,     0,    41,    37,     0,    41,   176,   224,     0,
        !           559:     41,     1,     0
1.1       root      560: };
                    561: 
                    562: #if YYDEBUG != 0
                    563: static const short yyrline[] = { 0,
1.1.1.5 ! root      564:    283,   284,   292,   294,   295,   299,   304,   308,   311,   314,
        !           565:    317,   319,   321,   322,   325,   327,   329,   332,   337,   342,
        !           566:    345,   349,   352,   356,   369,   376,   383,   386,   391,   393,
        !           567:    397,   403,   403,   406,   406,   409,   409,   422,   422,   427,
        !           568:    432,   447,   470,   479,   480,   483,   484,   485,   486,   487,
        !           569:    490,   496,   499,   504,   510,   517,   519,   537,   538,   539,
        !           570:    542,   556,   569,   572,   575,   578,   580,   582,   586,   592,
        !           571:    597,   602,   607,   612,   617,   622,   628,   638,   647,   654,
        !           572:    663,   672,   679,   688,   696,   698,   700,   702,   706,   715,
        !           573:    738,   741,   743,   744,   747,   754,   761,   765,   767,   769,
        !           574:    771,   773,   775,   779,   785,   787,   788,   791,   793,   794,
        !           575:    797,   799,   800,   804,   805,   808,   837,   840,   844,   848,
        !           576:    849,   853,   858,   861,   865,   868,   871,   903,   922,   925,
        !           577:    929,   932,   936,   938,   940,   942,   944,   948,   951,   954,
        !           578:    959,   963,   966,   968,   972,   979,   982,   985,   987,   989,
        !           579:    991,   997,  1002,  1022,  1024,  1057,  1060,  1062,  1064,  1066,
        !           580:   1068,  1070,  1072,  1074,  1082,  1092,  1095,  1097,  1099,  1101,
        !           581:   1104,  1106,  1109,  1137,  1156,  1181,  1183,  1186,  1201,  1203,
        !           582:   1205,  1216,  1218,  1220,  1222,  1224,  1226,  1228,  1230,  1232,
        !           583:   1234,  1236,  1238,  1240,  1242,  1244,  1246,  1248,  1250,  1252,
        !           584:   1254,  1256,  1263,  1266,  1281,  1284,  1299,  1300,  1302,  1304,
        !           585:   1306,  1314,  1329,  1334,  1341,  1351,  1401,  1403,  1419,  1421,
        !           586:   1425,  1448,  1492,  1494,  1496,  1498,  1500,  1539,  1546,  1548,
        !           587:   1550,  1552,  1555,  1558,  1560,  1602,  1604,  1609,  1611,  1615,
        !           588:   1618,  1622,  1624,  1632,  1634,  1638,  1647,  1662,  1668,  1671,
        !           589:   1678,  1686,  1689,  1696,  1701,  1708,  1710,  1711,  1713,  1721,
        !           590:   1724,  1726,  1728,  1732,  1736,  1741,  1743,  1754,  1758,  1760,
        !           591:   1763,  1778,  1781,  1783,  1785,  1789,  1792,  1800,  1801,  1802,
        !           592:   1803,  1804,  1808,  1812,  1817,  1818,  1819,  1822,  1824,  1827,
        !           593:   1829,  1832,  1835,  1839,  1847,  1849,  1858,  1864,  1865,  1871,
        !           594:   1879,  1881,  1892,  1895,  1900,  1902,  1907,  1912,  1923,  1938,
        !           595:   1941,  1945,  1947,  1952,  1955,  1958,  1964,  1967,  1970,  1972,
        !           596:   1974,  1976,  1980,  1984,  1988,  1991,  1994,  1998,  2001,  2005,
        !           597:   2060,  2075,  2077,  2080,  2082,  2087,  2088,  2090,  2092,  2095,
        !           598:   2098,  2101,  2106,  2109,  2111,  2113,  2119,  2123,  2128,  2133,
        !           599:   2140,  2145,  2154,  2159,  2159,  2161,  2164,  2166,  2170,  2172,
        !           600:   2176,  2181,  2185,  2189,  2195,  2204,  2218,  2221,  2223,  2227,
        !           601:   2253,  2262,  2288,  2291,  2293,  2295,  2298,  2301,  2304,  2309,
        !           602:   2374,  2376,  2380,  2382,  2386,  2389,  2392,  2396,  2398,  2402,
        !           603:   2404,  2408,  2410,  2414,  2419,  2421,  2423,  2425,  2431,  2434,
        !           604:   2435,  2446,  2451,  2455,  2459,  2463,  2468,  2472,  2475,  2478,
        !           605:   2481,  2489,  2491,  2495,  2498,  2502,  2505,  2509,  2512,  2513,
        !           606:   2517,  2520,  2524,  2527,  2535,  2537,  2541,  2544,  2546,  2548,
        !           607:   2550,  2552,  2554,  2556,  2558,  2560,  2561,  2563,  2565,  2567,
        !           608:   2570,  2573,  2575,  2577,  2579,  2581,  2583,  2585,  2587,  2588,
        !           609:   2590,  2597,  2600,  2602,  2604,  2606,  2608,  2610,  2612,  2614,
        !           610:   2616,  2620,  2623,  2629,  2631,  2633,  2642,  2644,  2646,  2648,
        !           611:   2650,  2653,  2655,  2657,  2659,  2661,  2663,  2667,  2675,  2692,
        !           612:   2695,  2696,  2717,  2722,  2724,  2726,  2728,  2730,  2732,  2734,
        !           613:   2736,  2738,  2740,  2742,  2744,  2746,  2748,  2752,  2760,  2767,
        !           614:   2774,  2783,  2791,  2804,  2806,  2807,  2808,  2811,  2818,  2828,
        !           615:   2830,  2835,  2837,  2840,  2854,  2857,  2860,  2862,  2867,  2874,
        !           616:   2878,  2881,  2883,  2886,  2893,  2896,  2899,  2902,  2915,  2918,
        !           617:   2920,  2923,  2929,  2931,  2933,  2937,  2940,  2946,  2951,  2954,
        !           618:   2959,  2965,  2969,  2972,  2978,  2993,  3000,  3003,  3053,  3053,
        !           619:   3132,  3132,  3148,  3148,  3152,  3156,  3159,  3164,  3171,  3180,
        !           620:   3189,  3198,  3201,  3207,  3209,  3213,  3217,  3218,  3219,  3222,
        !           621:   3225,  3228,  3231,  3234,  3246,  3275,  3285,  3298,  3326,  3357,
        !           622:   3369,  3377,  3382,  3389,  3397,  3399,  3406,  3408,  3408,  3416,
        !           623:   3421,  3428,  3429,  3431,  3431,  3434,  3455,  3471,  3490,  3508,
        !           624:   3511,  3513,  3516,  3533,  3551,  3554,  3556,  3560,  3563,  3565,
        !           625:   3567,  3573,  3576,  3580,  3583,  3584,  3590,  3592,  3595,  3597,
        !           626:   3601,  3606,  3609,  3618,  3625,  3630,  3635,  3639,  3646,  3650,
        !           627:   3654,  3668,  3671,  3673,  3675,  3677,  3679,  3687,  3703,  3708,
        !           628:   3709,  3710,  3714,  3718,  3736,  3744,  3747,  3749,  3753,  3756,
        !           629:   3758,  3760,  3762,  3764,  3766,  3769,  3774,  3776,  3783,  3785,
        !           630:   3792,  3795,  3797,  3799,  3801,  3803,  3805,  3807,  3809,  3811,
        !           631:   3813,  3815,  3817,  3819,  3821,  3823,  3832,  3834,  3836,  3838,
        !           632:   3840,  3842,  3844,  3846,  3848,  3850,  3862,  3874,  3905,  3917,
        !           633:   3929,  3942,  3958,  3960
1.1       root      634: };
                    635: 
                    636: static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
                    637: "TYPENAME","SCOPED_TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING",
                    638: "ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
1.1.1.5 ! root      639: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD","TYPEOF",
        !           640: "ALIGNOF","HEADOF","CLASSOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC",
        !           641: "DELETE","NEW","OVERLOAD","THIS","OPERATOR","DYNAMIC","POINTSAT_LEFT_RIGHT",
        !           642: "LEFT_RIGHT","TEMPLATE","SCOPE","START_DECLARATOR","EMPTY","TYPENAME_COLON",
        !           643: "'{'","','","ASSIGN","'='","'?'","':'","RANGE","OROR","ANDAND","'|'","'^'","'&'",
        !           644: "MIN_MAX","EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'",
        !           645: "'*'","'/'","'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","PAREN_STAR_PAREN",
        !           646: "POINTSAT","POINTSAT_STAR","'.'","DOT_STAR","'('","'['","RAISE","RAISES","RERAISE",
        !           647: "TRY","EXCEPT","CATCH","THROW","ANSI_TRY","ANSI_THROW","TYPENAME_ELLIPSIS","PTYPENAME",
        !           648: "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
        !           649: "TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN","END_OF_SAVED_INPUT","')'",
        !           650: "';'","'}'","'~'","'!'","']'","program","extdefs","@1",".hush_warning",".warning_ok",
        !           651: "asm_keyword","extdef","extern_lang_string","template_header","@2","template_parm_list",
        !           652: "template_parm","overloaddef","ov_identifiers","template_def","@3","@4","@5",
        !           653: "@6","fn_tmpl_end","datadef","fndef","fn.def1","fn.def2","return_id","return_init",
        !           654: "base_init",".set_base_init","member_init_list","member_init","identifier","identifier_defn",
        !           655: "identifier_or_opname","template_type","template_type_name","tmpl.1","tmpl.2",
        !           656: "template_arg_list","template_arg","template_instantiate_once","@7","template_instantiation",
        !           657: "template_instantiate_some","unop","expr","paren_expr_or_null","nonnull_exprlist",
1.1.1.2   root      658: "unary_expr","@8","cast_expr","expr_no_commas","primary","@9","@10","new",".scope",
1.1       root      659: "delete","string","nodecls","object","object_star","decl","declarator","typed_declspecs",
                    660: "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
                    661: "typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl0",
1.1.1.2   root      662: "@11","initdcl","@12","notype_initdcl0","@13","maybe_attribute","attribute_list",
1.1.1.3   root      663: "attrib","identifiers_or_typenames","init","initlist","structsp","@14","@15",
                    664: "maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
                    665: "named_class_head","@16","@17","unnamed_class_head","class_head","maybe_base_class_list",
1.1.1.4   root      666: "base_class_list","base_class","scoped_base_class","base_class.1","base_class_visibility_list",
                    667: "left_curly","opt.component_decl_list","component_decl_list","component_decl",
                    668: "components","component_declarator0","component_declarator","enumlist","enumerator",
                    669: "typename","absdcl","nonempty_type_quals","type_quals","nonmomentary_expr","@18",
                    670: "after_type_declarator","after_type_declarator_no_typename","notype_declarator",
                    671: "scoped_id","typename_scope","scoped_typename","absdcl1","abs_member_declarator",
                    672: "after_type_member_declarator","stmts","errstmt",".pushlevel","maybe_label_decls",
                    673: "label_decls","label_decl","compstmt_or_error","compstmt","simple_if","@19",
1.1.1.5 ! root      674: "@20","implicitly_scoped_stmt","stmt","simple_stmt","@21","@22","@23","@24",
        !           675: "@25","@26","@27","@28","@29","@30","@31","@32","@33","@34","@35","@36","@37",
        !           676: "try","label_colon","try_head","@38","ansi_try","ansi_dummy","ansi_try_head",
        !           677: "@39","except_stmts","@40","@41","optional_identifier","ansi_except_stmts","@42",
        !           678: "forhead.1","forhead.2","maybe_type_qual","xexpr","asm_operands","nonnull_asm_operands",
        !           679: "asm_operand","asm_clobbers","parmlist","parms","parm","abs_or_notype_decl",
        !           680: "see_typename","dont_see_typename","bad_parm","maybe_raises","raise_identifier",
        !           681: "ansi_raise_identifier","raise_identifiers","ansi_raise_identifiers","operator_name",
        !           682: ""
1.1       root      683: };
                    684: #endif
                    685: 
                    686: static const short yyr1[] = {     0,
1.1.1.5 ! root      687:    110,   110,   112,   111,   111,   113,   114,   115,   115,   116,
        !           688:    116,   116,   116,   116,   116,   116,   116,   116,   117,   119,
        !           689:    118,   120,   120,   121,   121,   121,   121,   122,   123,   123,
        !           690:    125,   124,   126,   124,   127,   124,   128,   124,   124,   124,
        !           691:    124,   124,   124,   124,   124,   129,   129,   129,   129,   129,
        !           692:    130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
        !           693:    131,   131,   131,   131,   131,   131,   131,   131,   132,   132,
        !           694:    132,   132,   132,   132,   132,   132,   133,   133,   133,   133,
        !           695:    133,   133,   133,   134,   135,   135,   135,   135,   136,   137,
        !           696:    138,   138,   138,   138,   139,   139,   139,   139,   139,   139,
        !           697:    139,   139,   139,   139,   140,   140,   140,   141,   141,   141,
        !           698:    142,   142,   142,   142,   142,   143,   144,   144,   145,   145,
        !           699:    145,   146,   147,   147,   148,   148,   150,   149,   151,   151,
        !           700:    152,   152,   153,   153,   153,   153,   153,   154,   154,   155,
        !           701:    155,   156,   156,   156,   157,   158,   157,   157,   157,   157,
1.1.1.4   root      702:    157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
                    703:    157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
1.1.1.5 ! root      704:    157,   157,   157,   157,   157,   159,   159,   159,   159,   159,
        !           705:    159,   160,   160,   160,   160,   160,   160,   160,   160,   160,
        !           706:    160,   160,   160,   160,   160,   160,   160,   160,   160,   160,
        !           707:    160,   160,   160,   160,   161,   161,   161,   161,   161,   161,
        !           708:    162,   161,   163,   161,   161,   161,   161,   161,   161,   161,
        !           709:    161,   161,   161,   161,   161,   161,   161,   161,   161,   161,
        !           710:    161,   161,   161,   161,   161,   164,   164,   164,   164,   165,
        !           711:    165,   166,   166,   167,   167,   168,   169,   169,   170,   171,
        !           712:    171,   171,   171,   171,   171,   172,   172,   172,   172,   173,
        !           713:    173,   173,   173,   174,   174,   174,   174,   175,   175,   175,
        !           714:    175,   176,   176,   176,   176,   177,   177,   178,   178,   178,
        !           715:    178,   178,   178,   178,   179,   179,   179,   180,   180,   181,
        !           716:    181,   182,   182,   184,   183,   183,   186,   185,   185,   188,
        !           717:    187,   187,   189,   189,   190,   190,   191,   191,   191,   192,
        !           718:    192,   193,   193,   193,   193,   193,   194,   194,   194,   194,
        !           719:    194,   194,   196,   195,   195,   197,   195,   195,   195,   195,
        !           720:    195,   198,   198,   199,   199,   200,   200,   200,   200,   200,
        !           721:    200,   200,   201,   201,   201,   201,   201,   202,   204,   203,
        !           722:    205,   203,   206,   207,   207,   208,   208,   208,   209,   209,
        !           723:    210,   210,   210,   210,   211,   212,   212,   213,   213,   213,
        !           724:    213,   214,   215,   215,   215,   215,   216,   216,   216,   217,
        !           725:    217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
        !           726:    217,   217,   217,   217,   217,   217,   217,   217,   218,   218,
        !           727:    218,   219,   219,   219,   219,   219,   220,   220,   220,   220,
        !           728:    220,   221,   221,   222,   222,   223,   223,   224,   224,   224,
        !           729:    225,   225,   226,   226,   228,   227,   229,   229,   229,   229,
        !           730:    229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
        !           731:    230,   230,   230,   230,   230,   230,   230,   230,   230,   230,
        !           732:    230,   231,   231,   231,   231,   231,   231,   231,   231,   231,
        !           733:    231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
        !           734:    231,   231,   231,   231,   231,   231,   231,   232,   232,   233,
        !           735:    234,   234,   235,   235,   235,   235,   235,   235,   235,   235,
        !           736:    235,   235,   235,   235,   235,   235,   235,   236,   236,   236,
        !           737:    236,   237,   237,   238,   238,   238,   238,   239,   240,   241,
        !           738:    241,   242,   242,   243,   244,   244,   245,   245,   245,   247,
        !           739:    248,   246,   249,   249,   250,   250,   251,   251,   252,   251,
        !           740:    251,   253,   254,   251,   255,   256,   251,   257,   258,   259,
        !           741:    251,   260,   261,   262,   251,   263,   251,   264,   251,   265,
        !           742:    251,   266,   251,   251,   251,   251,   251,   251,   251,   251,
        !           743:    251,   251,   251,   251,   251,   251,   251,   251,   251,   251,
        !           744:    251,   251,   251,   267,   251,   251,   268,   251,   251,   251,
        !           745:    269,   269,   269,   270,   270,   270,   272,   271,   273,   273,
        !           746:    273,   274,   276,   275,   277,   278,   277,   279,   277,   280,
        !           747:    280,   281,   282,   281,   283,   283,   283,   284,   284,   284,
        !           748:    284,   285,   285,   286,   286,   286,   287,   287,   288,   288,
        !           749:    289,   290,   290,   291,   291,   291,   291,   291,   291,   291,
        !           750:    291,   292,   292,   292,   292,   292,   292,   293,   293,   294,
        !           751:    294,   294,   295,   296,   297,   298,   298,   298,   299,   299,
        !           752:    299,   299,   299,   299,   299,   300,   301,   301,   302,   302,
        !           753:    303,   303,   303,   303,   303,   303,   303,   303,   303,   303,
        !           754:    303,   303,   303,   303,   303,   303,   303,   303,   303,   303,
        !           755:    303,   303,   303,   303,   303,   303,   303,   303,   303,   303,
        !           756:    303,   303,   303,   303
1.1       root      757: };
                    758: 
                    759: static const short yyr2[] = {     0,
                    760:      0,     1,     0,     2,     2,     0,     0,     1,     1,     1,
1.1.1.5 ! root      761:      1,     1,     1,     5,     4,     3,     4,     4,     1,     0,
        !           762:      5,     1,     3,     2,     4,     3,     1,     3,     1,     3,
        !           763:      0,     5,     0,     5,     0,     5,     0,     5,     3,     3,
        !           764:      6,     7,     4,     3,     3,     1,     1,     1,     1,     1,
        !           765:      2,     3,     3,     3,     3,     2,     2,     2,     2,     1,
        !           766:      3,     4,     3,     5,     4,     3,     3,     2,     3,     3,
        !           767:      2,     6,     6,     4,     4,     1,     6,     4,     3,     6,
        !           768:      4,     3,     2,     2,     1,     3,     4,     2,     3,     0,
        !           769:      0,     1,     3,     2,     3,     1,     4,     2,     4,     2,
        !           770:      4,     2,     5,     3,     1,     1,     1,     1,     1,     1,
        !           771:      1,     1,     1,     2,     1,     3,     4,     4,     1,     1,
        !           772:      0,     0,     1,     3,     1,     1,     0,     6,     0,     1,
        !           773:      0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
        !           774:      3,     1,     3,     3,     1,     0,     3,     2,     2,     2,
        !           775:      2,     2,     2,     4,     2,     4,     3,     6,     6,     9,
        !           776:      4,     7,     5,     8,     9,     9,     6,     9,     6,     9,
        !           777:      3,     6,     2,     4,     5,     1,     4,     7,     4,     4,
        !           778:      4,     1,     3,     3,     3,     3,     3,     3,     3,     3,
        !           779:      3,     3,     3,     3,     3,     3,     3,     3,     3,     5,
        !           780:      3,     3,     3,     2,     1,     1,     1,     1,     3,     3,
        !           781:      0,     4,     0,     6,     2,     4,     2,     3,     2,     2,
        !           782:      1,     4,     4,     2,     5,     3,     2,     2,     2,     5,
        !           783:      3,     5,     3,     6,     4,     1,     4,     2,     5,     0,
        !           784:      1,     1,     2,     1,     2,     0,     2,     2,     2,     3,
        !           785:      3,     3,     3,     2,     2,     1,     1,     2,     2,     1,
        !           786:      2,     2,     3,     1,     1,     2,     2,     1,     1,     2,
        !           787:      2,     1,     2,     2,     3,     1,     2,     1,     1,     1,
        !           788:      1,     4,     4,     1,     1,     1,     1,     1,     3,     1,
        !           789:      3,     0,     4,     0,     7,     4,     0,     7,     4,     0,
        !           790:      7,     4,     0,     6,     1,     3,     1,     4,     8,     1,
        !           791:      3,     1,     2,     3,     4,     1,     1,     3,     4,     6,
        !           792:      3,     5,     0,     7,     4,     0,     6,     3,     2,     4,
        !           793:      1,     0,     1,     0,     1,     1,     2,     5,     2,     2,
        !           794:      2,     2,     2,     2,     2,     3,     3,     2,     0,     3,
        !           795:      0,     3,     2,     1,     1,     0,     1,     2,     1,     3,
        !           796:      1,     1,     2,     2,     2,     3,     1,     1,     1,     2,
        !           797:      2,     1,     0,     1,     4,     3,     1,     2,     2,     3,
        !           798:      5,     5,     3,     3,     3,     3,     3,     5,     5,     3,
        !           799:      3,     3,     3,     1,     2,     2,     3,     3,     0,     1,
        !           800:      3,     4,     6,     4,     3,     2,     4,     6,     4,     3,
        !           801:      2,     1,     3,     1,     3,     2,     2,     0,     1,     2,
        !           802:      1,     2,     0,     2,     0,     2,     5,     5,     3,     5,
        !           803:      4,     3,     3,     5,     1,     1,     5,     3,     3,     1,
        !           804:      5,     5,     3,     5,     4,     3,     3,     1,     1,     3,
        !           805:      3,     5,     5,     3,     5,     3,     3,     3,     4,     3,
        !           806:      1,     1,     2,     2,     2,     3,     3,     7,     7,     5,
        !           807:      7,     3,     7,     7,     5,     7,     3,     1,     2,     2,
        !           808:      1,     2,     3,     3,     2,     1,     3,     3,     2,     5,
        !           809:      3,     4,     3,     4,     2,     3,     2,     3,     4,     3,
        !           810:      4,     5,     5,     1,     1,     2,     2,     2,     0,     0,
        !           811:      1,     1,     2,     3,     1,     2,     2,     5,     5,     0,
        !           812:      0,     5,     1,     2,     1,     1,     1,     2,     0,     4,
        !           813:      1,     0,     0,     5,     0,     0,     7,     0,     0,     0,
        !           814:      9,     0,     0,     0,     9,     0,     6,     0,     5,     0,
        !           815:      7,     0,     4,     2,     2,     2,     3,     6,     8,    10,
        !           816:     12,     4,     3,     2,     2,     1,     2,     3,     6,     4,
        !           817:      6,     4,     3,     0,     7,     2,     0,     5,     3,     1,
        !           818:      2,     3,     3,     2,     2,     1,     0,     4,     2,     3,
        !           819:      3,     0,     0,     4,     0,     0,     4,     0,     4,     0,
        !           820:      1,     0,     0,     8,     3,     4,     4,     3,     4,     6,
        !           821:      6,     0,     1,     0,     1,     1,     0,     1,     1,     3,
        !           822:      4,     1,     3,     0,     1,     3,     2,     1,     1,     2,
        !           823:      2,     1,     3,     3,     5,     3,     5,     3,     3,     1,
        !           824:      1,     2,     1,     0,     1,     0,     2,     4,     1,     1,
        !           825:      1,     2,     2,     2,     1,     1,     1,     3,     1,     3,
1.1.1.2   root      826:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.5 ! root      827:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           828:      2,     2,     2,     3,     2,     2,     2,     3,     2,     3,
        !           829:      2,     2,     3,     2
1.1       root      830: };
                    831: 
                    832: static const short yydefact[] = {     3,
1.1.1.5 ! root      833:      0,     0,     0,   461,   280,   481,   269,   279,   268,     0,
        !           834:      8,     9,     0,   336,     0,     0,     0,     0,   423,   423,
        !           835:    423,     0,     0,    76,    19,    60,     0,     0,     5,     6,
        !           836:      0,    13,    12,    11,    10,   246,   284,   121,     0,     0,
        !           837:    260,     0,   290,   278,     0,   349,   351,   355,   354,   331,
        !           838:      0,   423,   478,   281,   462,     4,    58,    59,   423,   480,
        !           839:    240,   624,   105,   106,   326,   107,   329,   240,    29,     0,
        !           840:    694,   280,   421,   692,   691,   423,   689,   670,   675,   676,
        !           841:      0,   682,   681,   667,   668,   666,   685,   674,   671,   672,
        !           842:    673,   677,   678,   664,   665,   661,   662,   663,   679,   680,
        !           843:    686,   687,     0,   669,   683,   284,   418,   272,     0,   281,
        !           844:    337,     0,    20,   643,     0,     0,     0,     0,     0,     0,
        !           845:    240,   464,   463,   465,     0,     3,     0,     0,   280,     0,
        !           846:      0,   349,   351,   646,     0,    90,    85,   246,     0,     0,
        !           847:    482,   479,   119,   120,   129,   440,     0,   423,   423,   435,
        !           848:      0,    57,     0,     0,   288,   256,   257,   423,   436,   280,
        !           849:    271,   270,    56,     0,   261,     0,     0,   265,   285,   286,
        !           850:    262,   264,   287,     0,    51,   106,   339,   340,   341,   342,
        !           851:    345,   353,   107,   109,   108,   110,   343,   348,   344,   356,
        !           852:    356,   372,     0,    68,   423,     0,   425,     0,     0,    71,
        !           853:      0,   423,   624,   646,   205,   421,   207,   244,   240,   240,
        !           854:      0,     0,   146,   242,   221,   241,     0,   240,   134,   133,
        !           855:    240,   135,   136,     0,   240,   137,     0,   123,   240,   176,
        !           856:    182,   126,   145,     0,   240,   208,     0,   240,   418,   272,
        !           857:    125,   418,     0,   206,   628,   629,   644,   644,     0,   625,
        !           858:    632,   328,     0,   323,     0,   138,   139,     0,     0,    28,
        !           859:    688,   684,   690,   423,     0,   423,   423,   486,   624,   425,
        !           860:    693,   419,   274,   276,   422,   273,     0,     0,   424,   477,
        !           861:    458,   457,   456,     0,     0,    16,     0,     7,     7,    45,
        !           862:     44,   646,     0,    31,    35,    39,    33,    37,    40,   292,
        !           863:     84,    91,    88,     0,   240,   246,     0,     0,     0,   509,
        !           864:     61,   515,    63,   356,   130,   116,   258,   259,     0,     0,
        !           865:    423,   423,   448,     0,     0,   449,    66,    55,    69,     0,
        !           866:     54,   423,     0,   425,     0,    53,   263,    52,    67,    70,
        !           867:    267,   266,   646,   291,   346,   347,   357,   350,   352,   394,
        !           868:    240,     0,   399,   399,     0,     0,   377,   646,   454,     0,
        !           869:    268,     0,   142,   260,     0,   460,     0,   240,   650,   651,
        !           870:      0,   649,     0,     0,   655,   657,   647,     0,     0,   303,
        !           871:    467,   472,   466,   646,     0,    74,   240,     0,     0,   153,
        !           872:    145,     0,     0,   155,   240,   240,   240,   227,     0,   243,
        !           873:      0,   228,   152,   149,   148,     0,     0,     0,     0,   150,
        !           874:    240,   118,   151,   240,   240,     0,   240,   240,   240,   240,
        !           875:    240,   240,   240,   240,   240,   240,   240,   240,   240,   240,
        !           876:    240,   240,   240,   215,   219,   220,   248,   249,   247,   240,
        !           877:    240,   240,   236,     0,   240,   173,   245,   111,   112,   113,
        !           878:      0,   217,     0,   115,   204,   416,   224,   240,   417,   112,
        !           879:    113,   229,   418,   418,   423,   627,   418,   631,   630,     0,
        !           880:    414,   334,   412,   325,     0,   282,     0,   283,    30,   495,
        !           881:    420,   489,   485,     0,     0,     0,     0,   497,     0,   423,
        !           882:    624,   425,   277,   275,     0,     0,    22,     0,    27,   117,
        !           883:      0,    15,    18,    17,   292,    50,    46,    49,    47,    48,
        !           884:     43,     0,     0,     0,     0,   303,   106,    96,   240,     0,
        !           885:     92,     0,   121,     0,     0,   316,     0,   312,    86,     0,
        !           886:      0,    62,    65,   516,   517,   510,   127,   439,   438,     0,
        !           887:      0,   423,   423,     0,   423,     0,   425,   433,   303,   289,
        !           888:    429,     0,     0,     0,   432,     0,   423,   423,   292,   369,
        !           889:    368,   367,   122,   358,   359,   362,   361,     0,     0,   396,
        !           890:    395,   461,   423,   240,   240,   624,   646,     0,   400,   423,
        !           891:    624,   646,     0,     0,   330,   379,   378,    83,   423,   423,
        !           892:    423,   459,   426,   652,   653,   654,     0,   656,   659,     0,
        !           893:      0,     0,   302,   423,     0,   423,     0,    75,   423,     0,
        !           894:      0,     0,     0,   280,     0,   147,   226,   240,   210,   209,
        !           895:      0,   240,   124,   202,   201,   616,   615,     0,   199,   198,
        !           896:    196,   197,   195,   194,   193,   190,   191,   192,   188,   189,
        !           897:    183,   184,   185,   186,   187,   203,     0,     0,   238,   240,
        !           898:    171,   240,   272,   157,   240,     0,   114,   233,   240,   218,
        !           899:      0,   231,   240,     0,   423,   423,   624,   640,   641,   638,
        !           900:    639,   646,   626,   634,   645,   636,   633,   240,   335,     0,
        !           901:    334,   144,   143,   488,   484,   423,   423,   483,   487,   423,
        !           902:    496,   491,     0,   493,     0,   338,     0,    21,   345,   343,
        !           903:    348,    14,   303,    32,    36,    34,    38,     0,     0,    94,
        !           904:      0,    98,   240,   100,   240,     0,   102,   240,   205,   280,
        !           905:    240,   313,     0,   317,     0,    87,    64,     0,     0,   511,
        !           906:    512,     0,     0,     0,     0,     0,   447,   443,     0,     0,
        !           907:      0,   446,     0,   296,   423,   423,   423,   431,     0,     0,
        !           908:    303,   129,     0,   365,   371,   370,   364,   363,   392,   393,
        !           909:    240,   383,   384,   646,   303,   406,     0,   292,     0,   380,
        !           910:    390,   391,   646,     0,   386,   292,   385,   387,     0,   397,
        !           911:    398,   455,   452,   453,   658,     0,   648,     0,     0,   300,
        !           912:    470,     0,     0,     0,   475,     0,     0,     0,   646,   222,
        !           913:    154,   156,   179,   181,   180,     0,   212,     0,   177,   240,
        !           914:    213,   216,     0,     0,     0,   418,   418,   161,   240,     0,
        !           915:    174,   240,     0,   235,   240,   223,     0,   642,   489,   485,
        !           916:    423,    72,     0,     0,   415,   413,   327,     0,   500,   498,
        !           917:    494,   423,   492,    23,    26,     0,     0,    41,    95,    93,
        !           918:      0,     0,   104,   240,     0,     0,     0,     0,   314,   310,
        !           919:      0,     0,   205,   520,   532,   535,     0,     0,   240,     0,
        !           920:      0,     0,   240,     0,   586,     0,     0,     0,     0,   240,
        !           921:      0,   566,   612,     0,   527,     0,     0,     0,   505,   525,
        !           922:    531,   504,   526,     0,   240,     0,   592,     0,   538,   542,
        !           923:    513,     0,   437,   434,   451,   450,   423,   423,   423,   445,
        !           924:    294,   430,   427,   428,   503,   502,   299,   366,   360,   303,
        !           925:     78,   405,   423,   303,   461,   240,   240,   646,   401,    81,
        !           926:    423,     0,   660,   293,     0,     0,   423,   423,   423,   423,
        !           927:    423,   423,    73,   225,   332,   200,   131,     0,   237,     0,
        !           928:      0,     0,     0,   163,   175,   232,     0,   230,   635,   637,
        !           929:    324,   501,   499,   490,    25,    42,    97,    99,     0,   101,
        !           930:      0,   321,   240,   315,     0,   318,     0,   514,   508,   519,
        !           931:    584,     0,     0,   509,     0,   240,     0,   552,   554,   555,
        !           932:    556,     0,   240,     0,   650,   651,     0,     0,   587,     0,
        !           933:    593,   567,     0,   585,   613,     0,   528,   254,   646,     0,
        !           934:    255,     0,     0,   646,     0,   518,   507,   506,   529,   576,
        !           935:      0,     0,   565,   564,     0,   581,     0,   592,     0,   589,
        !           936:      0,     0,     0,     0,   444,   441,   442,     0,   297,   404,
        !           937:    381,   382,   646,   402,   240,   303,   411,   292,   388,   389,
        !           938:    646,   307,     0,   305,   301,   471,   468,   469,   476,   473,
        !           939:    474,     0,     0,   131,   214,   239,   172,     0,   272,   158,
        !           940:    167,   169,   159,   234,   103,   319,     0,     0,   311,   140,
        !           941:    240,   521,   533,   240,   523,     0,     0,   509,   605,     0,
        !           942:    608,     0,   548,   240,   240,   557,     0,   563,   573,     0,
        !           943:    240,   509,     0,   240,   509,   568,     0,   251,   292,   250,
        !           944:    253,   252,   292,   509,   579,     0,   583,   582,   577,   591,
        !           945:    590,     0,     0,   128,   295,     0,    77,     0,   303,   410,
        !           946:    303,    80,     0,     0,     0,   178,   132,   418,   418,   162,
        !           947:    240,     0,   425,   425,     0,   322,     0,   509,   509,   524,
        !           948:    536,   609,   607,     0,   606,   546,   240,     0,   553,   562,
        !           949:    572,     0,   588,   570,     0,   594,     0,   530,   574,   602,
        !           950:    539,   543,   298,   403,   409,   407,     0,     0,   306,   304,
        !           951:      0,     0,     0,   164,     0,     0,   320,   141,   522,   534,
        !           952:      0,     0,     0,   509,   549,   550,     0,     0,   617,     0,
        !           953:    595,   578,     0,     0,     0,     0,   308,   168,   170,   160,
        !           954:    165,   166,     0,   611,   610,   547,   240,   571,   569,     0,
        !           955:      0,   618,   619,   558,     0,     0,     0,     0,   408,     0,
        !           956:    537,   551,   240,   617,     0,     0,   598,   575,   596,     0,
        !           957:    540,   544,     0,     0,     0,   559,   620,     0,     0,   600,
        !           958:    509,   509,     0,   621,     0,     0,   599,   597,   601,     0,
        !           959:    541,   545,   309,   622,     0,   560,   603,     0,     0,     0,
        !           960:    623,   561,   604,     0,     0,     0
1.1       root      961: };
                    962: 
1.1.1.5 ! root      963: static const short yydefgoto[] = {  1274,
        !           964:      1,     2,   127,   503,   883,    29,    30,    31,   278,   496,
        !           965:    497,    32,    70,    33,   512,   514,   513,   515,   511,    34,
        !           966:     35,    36,   352,   137,   138,   139,   302,   520,   521,   562,
        !           967:    188,   452,    37,    38,   145,   752,   227,   228,   315,   732,
        !           968:    316,  1065,   229,   884,  1082,   256,   230,   397,   231,   257,
        !           969:    233,   408,   947,   444,   234,   235,   236,   140,   237,   238,
        !           970:    885,   343,   247,   171,   248,   239,   273,   392,   274,   154,
        !           971:     42,   380,   155,  1038,   344,  1126,    43,   936,   603,  1053,
        !           972:   1054,   861,   724,   725,    44,   475,   253,  1063,   680,    45,
        !           973:     46,    47,    48,   190,   191,    49,    50,   348,   564,   565,
        !           974:    566,   567,   568,   193,   355,   356,   357,   578,   579,   929,
        !           975:    472,   473,   241,   668,   242,   114,   367,   368,   156,   325,
        !           976:    157,   243,    53,   110,   272,   486,   159,   888,   889,  1084,
        !           977:    729,   730,   731,   311,   890,   891,   982,  1148,  1086,   892,
        !           978:    893,  1114,   983,  1149,   984,  1191,  1032,  1203,  1251,  1033,
        !           979:   1204,  1252,  1194,  1157,  1217,  1095,  1201,  1170,   894,   895,
        !           980:    896,  1102,   897,  1028,   898,  1105,  1225,  1249,  1248,  1260,
        !           981:   1202,  1270,   899,   900,  1006,   628,  1221,  1222,  1223,  1265,
        !           982:    487,   250,   251,   670,   201,   463,   676,   200,   376,   599,
        !           983:    377,   600,   244
1.1       root      984: };
                    985: 
1.1.1.5 ! root      986: static const short yypact[] = {    85,
        !           987:   1781,  1492,   152,-32768,   749,-32768,-32768,-32768,-32768,   321,
        !           988: -32768,-32768,    16,-32768,   116,  2019,    74,    82,-32768,-32768,
        !           989: -32768,  1140,   151,-32768,-32768,-32768,    84,   177,-32768,   285,
        !           990:    559,-32768,-32768,-32768,-32768,    62,   108,   182,   723,   839,
        !           991:    997,    92,-32768,-32768,  1078,-32768,-32768,-32768,-32768,   301,
        !           992:   1615,-32768,-32768,    39,-32768,-32768,-32768,-32768,-32768,-32768,
        !           993:   5696,  5379,-32768,-32768,   202,-32768,   310,  5696,-32768,   189,
        !           994: -32768,   312,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !           995:    325,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1       root      996: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.5 ! root      997: -32768,-32768,   316,-32768,-32768,   389,  1204,  1494,  1248,-32768,
        !           998: -32768,   427,-32768,   510,  1140,   500,   500,    51,   523,    49,
        !           999:   5696,-32768,-32768,-32768,   427,   450,  4946,   437,    51,  2378,
        !          1000:   1433,    60,   194,   651,   574,-32768,   536,   160,   411,   411,
        !          1001: -32768,-32768,-32768,-32768,   503,    51,  2063,-32768,-32768,-32768,
        !          1002:   3444,-32768,  1265,   212,-32768,   675,   677,-32768,-32768,  2129,
        !          1003: -32768,-32768,-32768,   508,   997,   238,  1746,-32768,-32768,-32768,
        !          1004:   1665,-32768,-32768,  2378,-32768,   312,-32768,-32768,-32768,-32768,
        !          1005: -32768,-32768,   151,-32768,-32768,-32768,-32768,-32768,   473,   566,
        !          1006:    566,-32768,  4861,-32768,-32768,  3380,   506,   103,   540,   494,
        !          1007:   2391,-32768,  5379,   240,-32768,   543,-32768,-32768,  5902,  5979,
        !          1008:    562,   600,-32768,-32768,-32768,  5413,   123,  5777,-32768,-32768,
        !          1009:   5777,-32768,-32768,  4331,  5777,-32768,   195,-32768,  5777,-32768,
        !          1010: -32768,  6505,  1349,   605,  5369,   683,   266,  5777,  1204,   546,
        !          1011: -32768,  6305,   272,-32768,-32768,-32768,-32768,  3429,   606,   303,
        !          1012:    660,-32768,   123,   611,   627,   653,  6439,   637,   742,-32768,
        !          1013:    510,-32768,-32768,-32768,   887,-32768,-32768,-32768,  6261,   641,
        !          1014: -32768,   695,  1494,-32768,-32768,  1494,    48,  3537,-32768,-32768,
        !          1015:    677,   677,-32768,   354,    64,-32768,  1886,-32768,-32768,-32768,
        !          1016: -32768,   341,    70,-32768,-32768,-32768,-32768,-32768,-32768,   591,
        !          1017: -32768,   179,-32768,  4412,  5777,-32768,   411,   411,   704,   681,
        !          1018: -32768,-32768,-32768,   566,-32768,-32768,   675,   677,  1539,  1539,
        !          1019: -32768,-32768,-32768,  3552,   318,-32768,-32768,-32768,   494,  2378,
        !          1020: -32768,-32768,  3488,   657,  3660,-32768,  1665,-32768,-32768,   494,
        !          1021: -32768,-32768,   341,-32768,-32768,-32768,   338,-32768,-32768,-32768,
        !          1022:   5777,   548,  1894,  6023,    42,  1648,-32768,   651,   510,   692,
        !          1023:    543,   175,  6483,   967,   708,-32768,   690,  5777,-32768,    51,
        !          1024:    644,-32768,   108,   805,-32768,-32768,   772,  2568,   748,   809,
        !          1025:     51,   151,-32768,   240,   735,-32768,  5777,   543,  4331,-32768,
        !          1026:   1530,   190,  4331,-32768,  5777,  5858,  5777,-32768,    54,-32768,
        !          1027:    409,-32768,-32768,-32768,-32768,   745,   747,   704,   759,-32768,
        !          1028:   5696,-32768,-32768,  5777,  5777,  4493,  5777,  5777,  5777,  5777,
        !          1029:   5777,  5777,  5777,  5777,  5777,  5777,  5777,  5777,  5777,  5777,
        !          1030:   5777,  5777,  5777,-32768,-32768,-32768,-32768,-32768,-32768,  5777,
        !          1031:   5777,  5777,   465,  1367,  4817,-32768,-32768,-32768,    51,   151,
        !          1032:    123,   541,   272,-32768,-32768,-32768,-32768,  5777,-32768,-32768,
        !          1033: -32768,   646,   702,   702,-32768,-32768,  6085,-32768,-32768,  4412,
        !          1034:    830,   843,-32768,-32768,   123,-32768,  4736,-32768,-32768,   510,
        !          1035:    695,  1298,  1298,    50,   355,   792,   799,-32768,   810,-32768,
        !          1036:   5379,   816,-32768,  1494,   874,   446,-32768,  1102,-32768,-32768,
        !          1037:    824,-32768,-32768,-32768,   591,-32768,-32768,-32768,-32768,-32768,
        !          1038: -32768,   834,   840,   842,   849,   809,    51,-32768,  5777,   448,
        !          1039: -32768,   679,   806,   123,   684,-32768,  3920,  6483,-32768,   178,
        !          1040:    411,-32768,-32768,-32768,-32768,   880,-32768,   675,   675,  1539,
        !          1041:   1539,-32768,-32768,   362,-32768,  3596,   855,-32768,   809,-32768,
        !          1042:    510,   868,   216,   872,-32768,   875,-32768,-32768,   591,-32768,
        !          1043: -32768,-32768,-32768,   926,-32768,-32768,   976,   383,  6366,-32768,
        !          1044: -32768,   931,   602,  5777,  5777,  6192,   341,   258,-32768,   619,
        !          1045:   6192,   731,    -1,   932,-32768,-32768,-32768,   669,-32768,-32768,
        !          1046: -32768,-32768,-32768,-32768,-32768,-32768,   103,-32768,-32768,   314,
        !          1047:    427,   906,   939,-32768,  3704,-32768,  3812,-32768,-32768,   317,
        !          1048:    890,   891,   892,    33,   893,-32768,-32768,  5777,-32768,-32768,
        !          1049:    902,  5453,-32768,  6483,  6483,-32768,-32768,   952,  6541,  6556,
        !          1050:   3766,  3333,  3872,  1802,  1790,  1891,  1891,  1891,  1118,  1118,
        !          1051:    800,   800,-32768,-32768,-32768,-32768,   353,   907,   940,  5777,
        !          1052: -32768,  5696,  1089,   962,  5777,   913,-32768,-32768,  5777,   698,
        !          1053:    356,-32768,  5777,  2362,-32768,-32768,  6130,-32768,   677,-32768,
        !          1054: -32768,   240,-32768,   971,-32768,   972,-32768,  5777,   123,   921,
        !          1055:    843,-32768,  6483,   695,   695,-32768,-32768,-32768,-32768,-32768,
        !          1056: -32768,   510,   927,-32768,   924,-32768,  3537,-32768,   947,   468,
        !          1057:    980,-32768,   809,-32768,-32768,-32768,-32768,    70,   372,-32768,
        !          1058:    179,-32768,  5777,-32768,  5777,   709,-32768,  5777,   989,   814,
        !          1059:   5777,-32768,   993,-32768,    89,-32768,-32768,   123,  3164,   880,
        !          1060: -32768,   301,   492,   592,  1539,  1539,-32768,   510,   950,   375,
        !          1061:    956,-32768,   942,  1003,-32768,-32768,-32768,-32768,  1539,  1539,
        !          1062:    809,   503,   338,-32768,-32768,-32768,-32768,   976,-32768,-32768,
        !          1063:   5777,-32768,-32768,   240,  6416,  6483,   957,   807,  1122,-32768,
        !          1064: -32768,-32768,   240,   960,-32768,   964,-32768,-32768,  4930,-32768,
        !          1065: -32768,   510,   510,   510,-32768,  2568,-32768,    65,   982,-32768,
        !          1066:    510,   965,   418,   968,   510,   970,   431,   973,   240,-32768,
        !          1067: -32768,-32768,-32768,-32768,-32768,   478,-32768,  4247,-32768,  5777,
        !          1068: -32768,-32768,   427,    99,   482,  1204,  6305,-32768,  5777,  4412,
        !          1069: -32768,  5777,   487,-32768,  5777,-32768,   489,   677,  2208,  2208,
        !          1070:     50,-32768,  4412,  4412,  6483,-32768,-32768,   974,  1298,  1298,
        !          1071:    510,-32768,-32768,-32768,-32768,   252,    70,-32768,-32768,-32768,
        !          1072:    555,   560,-32768,  5777,   563,  6344,  4412,  4004,-32768,-32768,
        !          1073:    283,   697,  1011,-32768,-32768,-32768,   996,  1000,  5777,  1034,
        !          1074:    985,   986,  5534,   281,-32768,   300,  1043,   103,  1044,  5615,
        !          1075:    284,-32768,  1087,   994,-32768,  2397,  6236,  2516,-32768,-32768,
        !          1076:   1085,-32768,-32768,  2322,  5051,  2624,-32768,  2732,-32768,-32768,
        !          1077: -32768,  4861,-32768,-32768,   675,   675,-32768,-32768,-32768,-32768,
        !          1078: -32768,   510,   510,   510,   675,   675,  1054,-32768,-32768,  6416,
        !          1079: -32768,-32768,   787,   809,  1056,  5777,  5777,   341,-32768,-32768,
        !          1080:    822,  2195,-32768,-32768,  1111,  4412,-32768,-32768,-32768,-32768,
        !          1081: -32768,-32768,-32768,-32768,  1064,  6525,   503,    67,-32768,  3324,
        !          1082:   1015,  1018,   577,-32768,-32768,-32768,   580,-32768,-32768,-32768,
        !          1083: -32768,   695,   695,   510,-32768,-32768,-32768,-32768,   581,-32768,
        !          1084:   4412,-32768,  5777,-32768,  1075,-32768,   123,-32768,-32768,-32768,
        !          1085: -32768,   721,   721,   704,  4085,  5777,   856,-32768,-32768,-32768,
        !          1086: -32768,  1029,  5777,  1030,  1031,    24,  1033,   727,-32768,   744,
        !          1087: -32768,-32768,  1035,-32768,-32768,  1058,-32768,-32768,   782,   286,
        !          1088: -32768,  1042,   324,   388,  1045,-32768,-32768,-32768,-32768,-32768,
        !          1089:    103,   123,-32768,-32768,   827,-32768,  2840,-32768,   831,-32768,
        !          1090:   2948,  4574,  4574,   124,   510,   510,   510,  4412,-32768,-32768,
        !          1091: -32768,-32768,   240,  1095,  5777,  6416,  6483,   591,-32768,-32768,
        !          1092:    240,  1066,   588,-32768,-32768,   510,   510,   510,   510,   510,
        !          1093:    510,  4166,  1047,   503,-32768,-32768,-32768,  2568,  1407,  1101,
        !          1094:   1071,  1074,-32768,-32768,-32768,-32768,  6461,  4412,-32768,-32768,
        !          1095:   5777,-32768,-32768,  5263,-32768,  1143,  1059,  1055,-32768,  1060,
        !          1096: -32768,  1063,-32768,  5777,  5157,-32768,  1065,-32768,-32768,  1070,
        !          1097:   5777,-32768,  1079,  5777,-32768,-32768,   427,-32768,   591,-32768,
        !          1098: -32768,-32768,   591,   704,   772,  1126,-32768,-32768,-32768,-32768,
        !          1099: -32768,  1090,  1093,-32768,-32768,  4412,-32768,  4412,  6416,-32768,
        !          1100:    809,-32768,   502,  1111,  1103,-32768,-32768,  1204,  6305,-32768,
        !          1101:   5777,  4412,-32768,-32768,  4412,-32768,  1104,   704,   704,-32768,
        !          1102: -32768,-32768,-32768,  3272,-32768,-32768,  5157,  1139,-32768,-32768,
        !          1103: -32768,   590,-32768,-32768,   598,-32768,    47,-32768,-32768,-32768,
        !          1104: -32768,-32768,-32768,-32768,-32768,  1153,  1158,  1106,-32768,-32768,
        !          1105:   1110,  1112,   636,-32768,  1113,  1115,-32768,-32768,-32768,-32768,
        !          1106:    721,   846,  3056,   704,-32768,-32768,  1114,  1120,  1216,  1123,
        !          1107: -32768,  1137,  4655,  4655,  4412,  1221,-32768,-32768,-32768,-32768,
        !          1108: -32768,-32768,  1128,-32768,-32768,-32768,  5157,-32768,-32768,  1148,
        !          1109:    360,  1183,-32768,-32768,   527,  1154,  1132,  1138,-32768,  1198,
        !          1110: -32768,-32768,  5777,  1216,  1145,  1216,-32768,-32768,-32768,  2568,
        !          1111: -32768,-32768,  1249,  1156,   380,-32768,-32768,   704,   704,   123,
        !          1112:    704,   704,  1159,-32768,  1247,  1157,-32768,-32768,-32768,  1160,
        !          1113: -32768,-32768,-32768,-32768,   652,-32768,-32768,  1257,  1164,   704,
        !          1114: -32768,-32768,-32768,  1277,  1279,-32768
1.1       root     1115: };
                   1116: 
                   1117: static const short yypgoto[] = {-32768,
1.1.1.5 ! root     1118:   1146,-32768,-32768,   991,    53,  1284,-32768,-32768,-32768,-32768,
        !          1119:    584,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  -662,  1166,
        !          1120:   1169,-32768,-32768,-32768,-32768,  1161,-32768,-32768,   587,   -10,
        !          1121:    802,  -220,   535,   -31,-32768,-32768,  1180,   894,  -900,-32768,
        !          1122:    550,   243,-32768,    35,  -955,  -163,   752,-32768,  -145,   908,
        !          1123:   -169,-32768,-32768,-32768,-32768,  -177,   -99,   -93,-32768,-32768,
        !          1124:    323,    56,    28,  1144,    61,   -15,  1037,     3,    -9,   424,
        !          1125:    -29,  -293,-32768,-32768,   981,-32768,-32768,-32768,  -468,-32768,
        !          1126:    180,-32768,  -160,   509,   -26,-32768,-32768,-32768,   643,  -261,
        !          1127:   1313,  1314,-32768,-32768,-32768,-32768,-32768,  -140,-32768,   593,
        !          1128:    779,  -496,-32768,   618,   451,   575,  -340,  1001,-32768,-32768,
        !          1129:    881,   678,   -66,  -101,    -6,  1574,  -267,-32768,   -78,  1036,
        !          1130:   1272,   171,-32768,    19,  -151,-32768,  -133,  -854,  -864,  -283,
        !          1131: -32768,-32768,   631,  -118,  -131,-32768,-32768,-32768, -1013,  -827,
        !          1132:    289,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1       root     1133: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.5 ! root     1134: -32768,-32768,-32768,   339,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1135: -32768,-32768,-32768,-32768,-32768,  -995,   134,-32768,   141,-32768,
        !          1136:    -37,-32768,  -247,  -336,    34,  1131,-32768,    27,  -585,   604,
        !          1137:    363,-32768,  1361
1.1       root     1138: };
                   1139: 
                   1140: 
1.1.1.5 ! root     1141: #define        YYLAST          6629
1.1       root     1142: 
                   1143: 
1.1.1.5 ! root     1144: static const short yytable[] = {    67,
        !          1145:    107,   258,   489,    41,    41,   271,   516,   312,   312,   109,
        !          1146:    166,   785,   277,   189,   173,   587,   498,   326,   108,    54,
        !          1147:     54,   313,   462,  1017,   249,   285,   536,  1083,    39,    39,
        !          1148:    499,   172,   362,    41,   187,   549,  1122,  1123,   400,   391,
        !          1149:    391,  1027,   165,  1031,   308,   848,  1064,   708,   391,   769,
        !          1150:    349,   391,   115,    28,    28,   391,   447,   447,   130,   391,
        !          1151:   1018,    40,    40,   240,    41,   391,   556,  1024,   317,    60,
        !          1152:    240,   758,   404,   447,   447,   405,   447,   584,    60,   410,
        !          1153:    744,   173,   202,   413,    -1,   135,   122,   123,    61,   446,
        !          1154:    214,   131,   195,   506,   153,   164,    60,    61,    68,   399,
        !          1155:   1168,  1199,   255,   777,   778,   369,   370,     6,   111,   294,
        !          1156:    686,   276,   141,   481,   295,    61,   136,   485,    69,   507,
        !          1157:    687,   203,   508,   240,   509,    63,    64,   671,  -106,    41,
        !          1158:    675,   196,   197,   165,  1189,  1190,   804,   456,   173,   858,
        !          1159:    459,   530,   174,   529,   173,    54,   113,   585,   371,   477,
        !          1160:   1200,   495,   283,   142,    39,   172,   112,   409,   365,   584,
        !          1161:    300,   342,  1017,  1064,   296,   385,  1017,   501,   934,   553,
        !          1162:   1066,    52,    52,   537,   510,   312,   312,   534,   124,   329,
        !          1163:   1216,    63,   517,     6,   966,   292,   293,    40,   532,   533,
        !          1164:    326,   335,    52,   340,   859,    41,   175,    23,   364,  1018,
        !          1165:    372,    52,   845,  1018,   949,    41,   403,  1227,  1228,   158,
        !          1166:    158,   703,   531,   173,   136,   121,   375,    66,   401,   674,
        !          1167:    353,   400,   518,   610,   695,   477,   240,   391,   477,  1124,
        !          1168:    386,   143,   660,   457,   847,  1213,   144,  1261,  1262,   259,
        !          1169:    538,   539,   471,   297,   276,   411,   173,   279,   298,   173,
        !          1170:    165,   616,   379,   354,    63,   176,    57,    58,   407,   125,
        !          1171:    412,   519,   330,   493,   306,   751,   477,  1159,   448,   449,
        !          1172:    523,    41,   458,   183,   448,   460,   621,   647,   590,   743,
        !          1173:     41,   726,   917,    63,    64,    52,    52,    52,   174,    41,
        !          1174:    998,   522,  1000,   260,   661,   554,   922,    52,   299,  1193,
        !          1175:    158,   158,   995,   996,     6,    54,    16,   252,   769,   677,
        !          1176:    173,   598,    16,   466,    39,   563,   331,   158,   505,   746,
        !          1177:    525,   158,   611,    63,    64,   198,   612,   342,  1017,  1195,
        !          1178:    684,   685,   199,   977,   126,   364,   330,   173,  1004,    28,
        !          1179:     63,   176,   338,   560,   158,   371,   183,    40,   121,   965,
        !          1180:    192,   993,   379,   467,   172,   709,   165,   468,    41,   254,
        !          1181:    450,   545,   770,    52,   786,  1018,   461,   477,   374,   559,
        !          1182:     65,    52,   451,   561,   174,    66,    61,   654,   451,   262,
        !          1183:    108,   379,   740,   353,   588,    63,   176,   978,   755,  1232,
        !          1184:   1110,   240,   379,   141,   183,   240,   469,   372,   490,   312,
        !          1185:    546,   547,   593,   477,   411,   545,   477,   453,   577,   582,
        !          1186:    608,   309,   727,   240,  1234,    66,   354,   787,   756,   500,
        !          1187:    800,   548,   477,   407,   263,   477,   198,   407,  1112,   613,
        !          1188:    615,   195,   183,   199,  1255,   498,   208,   491,   492,   484,
        !          1189:    657,   793,   326,   797,   546,   547,   653,   326,   710,   499,
        !          1190:    627,  1040,   617,   693,   806,  1044,   811,    52,   688,   826,
        !          1191:    310,   733,   734,  1235,   471,   737,   189,   173,   477,    41,
        !          1192:    196,   197,   524,   198,   924,   849,   648,   183,   908,   656,
        !          1193:    199,   477,   924,  1256,   493,   391,   814,   700,   815,   158,
        !          1194:    158,   618,  -257,    41,   158,   823,   697,   -89,   711,   827,
        !          1195:    158,   788,     4,   118,  1177,    52,   649,   279,   741,   821,
        !          1196:   1178,   698,   481,   716,   650,   485,   723,   279,   -24,    11,
        !          1197:     12,   938,   345,   158,   158,  -292,    52,   346,   477,   369,
        !          1198:    370,     6,   477,   -24,   941,   332,   563,   477,   767,   477,
        !          1199:     16,   290,   291,   774,  -292,    19,  -292,  1237,   364,   851,
        !          1200:    106,   852,   169,   170,   855,   286,   119,   379,    10,   128,
        !          1201:     20,     4,   129,     6,     7,     8,     9,   794,   142,   798,
        !          1202:     21,    10,   371,   119,   333,   334,   301,  1130,    41,   303,
        !          1203:     14,   944,    22,    41,   658,   950,    13,    17,   304,   457,
        !          1204:    956,   587,   958,    14,    23,   903,   106,   570,  -292,    16,
        !          1205:     17,   314,   571,   768,    19,   477,    27,   364,   776,   364,
        !          1206:    477,   379,   336,   477,   366,   375,    11,    12,   305,    20,
        !          1207:    347,    23,   378,   659,   372,   387,   173,   477,   458,    21,
        !          1208:    477,   477,  1238,    52,    52,   332,   816,    52,  1134,  1239,
        !          1209:    477,    22,   443,   106,   395,   817,   594,   595,   477,   119,
        !          1210:    119,   119,   391,    23,   240,   953,   905,   906,   967,   954,
        !          1211:   1175,   957,  1176,   968,   119,    27,   970,   563,   471,    41,
        !          1212:    915,   916,   959,   960,   333,   334,   955,   684,   685,   523,
        !          1213:   1073,   119,   396,  1074,  1075,   119,   477,   962,   963,   662,
        !          1214:    969,  1135,   447,  1197,   195,   904,   972,   976,   832,    41,
        !          1215:    522,  1198,  1268,   477,     4,   118,   762,   763,   119,   465,
        !          1216:    158,   158,   470,   948,   951,   952,   474,   860,   332,   598,
        !          1217:    195,   563,   712,   771,   772,     4,   146,   717,   663,   525,
        !          1218:    476,   364,   373,   196,   197,   119,   198,   106,   490,  1210,
        !          1219:    478,   824,    16,   199,   479,   264,   158,    19,   664,   488,
        !          1220:    106,   158,   853,   310,  1131,  1269,   886,   333,   334,   196,
        !          1221:    197,   713,   665,    16,  1080,   555,   718,   374,    19,   147,
        !          1222:   1100,   119,   666,   780,   781,  1055,   106,   491,   492,   268,
        !          1223:    825,    41,   106,   148,   667,   270,   535,  1103,   108,   887,
        !          1224:    921,   854,    59,   149,    60,   589,    23,   723,   592,   930,
        !          1225:    150,   979,   980,  1081,  1154,   151,   353,   596,    27,  1101,
        !          1226:   1076,   591,   106,    61,   563,   549,   198,    23,  1163,   276,
        !          1227:    379,  1166,   597,   199,   928,   943,  1104,   152,   379,    27,
        !          1228:    601,    62,    11,    12,    52,   775,   373,   831,   609,   354,
        !          1229:    602,     4,   160,     6,   161,     8,   162,   975,   619,   714,
        !          1230:    620,    10,  1085,   119,   119,   143,   -79,  1013,   119,    60,
        !          1231:    144,   -79,   622,   994,   119,   997,    13,   198,  -106,   119,
        !          1232:    431,   432,   433,    14,   199,  1185,  1186,  1125,    61,    16,
        !          1233:     17,   524,   678,  1070,    19,   147,  1108,   119,   715,   165,
        !          1234:    364,  1041,  1042,   679,   375,   689,   375,   364,   364,   148,
        !          1235:    364,   976,   690,   987,    41,   158,   158,   992,   696,   149,
        !          1236:   1093,  1094,   106,   728,  1003,   886,   150,  1146,   691,   158,
        !          1237:    158,   151,   886,   886,   694,   886,  1049,  1050,   702,   353,
        !          1238:    264,   979,  1117,    23,    41,   979,  1120,  1162,   704,   158,
        !          1239:   1165,  1009,  1012,   163,   705,    27,   706,   266,   887,    52,
        !          1240:    979,  1214,  1069,   707,  1048,   887,   887,   267,   887,   353,
        !          1241:    390,   394,   354,   742,   268,  1173,  1079,  1174,   232,   269,
        !          1242:    270,   745,   168,   169,   170,   747,   753,  1183,   106,    10,
        !          1243:    754,  1184,  1085,   748,  1187,   761,   779,   364,   789,    11,
        !          1244:     12,   790,   354,   801,   802,   803,   805,   119,   119,    52,
        !          1245:     52,    14,   168,   169,   170,   807,   810,  1167,    17,    10,
        !          1246:    457,  1116,   886,   -82,   820,   812,  1085,  1085,   -82,  1090,
        !          1247:   1092,   822,   813,   833,   834,   106,   837,  1097,   232,   364,
        !          1248:    842,    14,   843,   364,   846,  1109,  1181,  1182,    17,   375,
        !          1249:   1113,   183,   173,  -105,  1229,   887,   374,   857,   374,   458,
        !          1250:    910,   975,  1138,   907,   886,   911,   158,   158,   886,   909,
        !          1251:    923,  1139,  1085,   931,   935,   981,   627,   627,   937,  1127,
        !          1252:    108,   939,    52,   940,   119,   119,   942,  1132,   985,   961,
        !          1253:     63,   176,   986,   177,   178,   179,   364,   887,   988,   989,
        !          1254:    990,   887,   999,  1001,  1005,   169,   170,   364,  1007,  1019,
        !          1255:    379,    10,    52,   363,    63,   176,  1039,   177,   178,   179,
        !          1256:   1045,   886,   180,  1052,  1062,  1147,  1257,  1258,  1071,  1085,
        !          1257:   1085,  1072,   886,    14,   925,   146,   181,   182,  1158,  1078,
        !          1258:     17,   373,   818,  1096,  1098,  -105,   180,  1099,  1273,  1106,
        !          1259:   1107,   276,     4,   118,   887,   455,  1111,  1128,  1133,   979,
        !          1260:    699,   182,  1136,  1142,  1143,   887,   364,  1144,  1151,   364,
        !          1261:   1153,   379,    16,  1152,  1155,   379,  1156,    19,   147,  1160,
        !          1262:    926,   819,   183,  1250,  1161,  1169,   927,   184,   185,   186,
        !          1263:     16,   886,   148,  1164,   886,    19,   429,   430,   431,   432,
        !          1264:    433,   374,   149,  1196,  1171,   364,   183,  1172,   119,   150,
        !          1265:     20,   184,   185,   186,   151,  1205,  1180,  1188,  1206,  1207,
        !          1266:     21,   528,   363,  1208,   887,  1209,    23,   887,  1218,   364,
        !          1267:    886,  1211,    22,  1212,  1219,  1220,  1226,  1224,    27,  1230,
        !          1268:   1233,   106,  1231,  1236,    23,  1241,  1240,   627,   627,  1259,
        !          1269:    363,  1242,   108,   375,   886,   373,    27,   264,  1243,  1246,
        !          1270:    265,    72,     6,   887,     8,   275,  1264,  1253,   569,  1254,
        !          1271:     10,  1266,  1263,  1267,   266,   327,  1271,  1244,  1272,   119,
        !          1272:    119,   287,    51,    51,   267,    13,  1275,   887,  1276,   504,
        !          1273:    844,   268,    14,   119,   119,    56,   269,   270,  -646,    17,
        !          1274:   -646,  -646,   288,   120,   363,   289,  -646,   850,   307,   701,
        !          1275:    284,   918,   134,   119,   623,   279,  1137,  1091,   337,  1010,
        !          1276:    550,   167,   494,  1179,  -646,  -646,   945,  -646,   232,  -646,
        !          1277:    106,   624,   625,   838,   629,   630,   631,   632,   633,   634,
        !          1278:    635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
        !          1279:    645,   264,    23,   132,   133,   919,   757,   646,   363,   902,
        !          1280:    198,   106,  1034,   932,   583,   681,   836,   199,   266,   544,
        !          1281:    901,    55,    55,   119,   119,   363,  1119,  1245,   267,   328,
        !          1282:     72,     6,  1150,     8,    73,   268,  1247,   528,   464,    10,
        !          1283:    269,   270,    55,  1115,   683,     0,   280,   281,   282,   933,
        !          1284:      0,    55,   434,     0,    13,   374,     0,     0,    51,    55,
        !          1285:     55,    14,     0,     0,     0,     0,     0,     0,    17,     0,
        !          1286:    373,     0,   373,   169,   170,   651,     0,     0,   318,    10,
        !          1287:    119,     0,   120,   435,   436,     0,   363,   437,   438,   439,
        !          1288:    440,   441,   442,     0,   528,     4,   160,     6,   161,     8,
        !          1289:    162,    14,     0,     0,     0,    10,     0,     0,    17,   652,
        !          1290:   1140,     0,     0,   363,     0,     0,     0,     0,     0,     0,
        !          1291:     13,    23,     0,     0,   358,     0,     0,    14,     0,     0,
        !          1292:      0,     0,   383,    16,    17,    55,    55,    55,    19,   147,
        !          1293:      0,   765,   766,     0,   106,     0,     0,    55,     0,  1141,
        !          1294:     55,    55,     3,   148,     4,     5,     6,     7,     8,     9,
        !          1295:    169,   170,     0,   149,    10,     0,    10,    55,     0,     0,
        !          1296:    150,    55,   363,     0,   363,   151,     0,    11,    12,    13,
        !          1297:      0,     0,     0,     0,     0,   363,    14,    23,    14,   809,
        !          1298:     15,     0,    16,    17,    55,    17,    18,    19,     0,    27,
        !          1299:      0,     4,   146,     0,     0,     0,   279,     0,     0,     0,
        !          1300:      0,     0,    20,    55,     0,   373,     0,   363,    51,   363,
        !          1301:      0,    55,    21,     0,     0,     0,   363,     0,     0,     0,
        !          1302:    363,     0,     0,   434,    22,     0,   402,     0,     0,    16,
        !          1303:      0,     0,     0,     0,    19,   835,    23,    24,    25,     0,
        !          1304:    281,   282,     0,   116,   117,   120,    26,   454,    27,   148,
        !          1305:      0,     0,   106,   454,   435,   436,   383,     0,   437,   149,
        !          1306:    439,     0,   441,   442,     0,   194,   150,     0,     0,     0,
        !          1307:    363,   151,   363,     0,     0,   363,     0,   358,   856,     0,
        !          1308:      0,     0,   204,    23,     0,     0,     0,     0,  -646,     0,
        !          1309:   -646,  -646,     0,     0,     0,    27,  -646,    55,   350,   261,
        !          1310:      4,   129,     6,     7,     8,     9,     0,     0,   195,     0,
        !          1311:     10,     0,     0,     0,  -646,  -646,     0,  -646,   920,  -646,
        !          1312:    341,   169,   170,   106,     0,    13,     0,    10,     0,    55,
        !          1313:     55,     0,    14,  -374,    55,     0,     0,     0,    16,    17,
        !          1314:     55,     0,     0,    19,     0,    55,     0,   196,   197,    14,
        !          1315:    198,     0,   351,     0,     0,     0,    17,   199,    20,     0,
        !          1316:      0,     0,     0,    55,    55,   528,    55,   946,    21,  -646,
        !          1317:      0,   319,   320,     0,     0,     0,   363,   528,     0,     0,
        !          1318:     22,     0,   363,     0,   669,   669,     0,     0,   669,     0,
        !          1319:    528,   528,    23,     0,     0,     0,   339,     0,     0,     0,
        !          1320:      0,     0,   586,  -374,    27,     0,     0,     0,     0,   373,
        !          1321:      0,   363,     0,     0,   528,   528,     0,     0,   359,  -646,
        !          1322:      0,  -646,  -646,     0,   106,   384,     0,  -646,     0,     0,
        !          1323:     -2,     3,     0,     4,     5,     6,     7,     8,     9,   195,
        !          1324:      0,     0,     0,    10,     0,  -646,  -646,     0,  -646,     0,
        !          1325:   -646,     0,     0,     0,     0,     0,    11,    12,    13,     0,
        !          1326:      0,   281,   282,   454,     0,    14,     0,     0,     0,    15,
        !          1327:      0,    16,    17,    55,    55,    18,    19,    55,   196,   197,
        !          1328:      0,   198,     0,  1046,  1047,     0,     0,   480,   199,   482,
        !          1329:    483,    20,     0,   528,     0,     0,     0,   120,     0,     0,
        !          1330:   -257,    21,   120,   424,   425,   426,   427,   428,   429,   430,
        !          1331:    431,   432,   433,    22,   423,   424,   425,   426,   427,   428,
        !          1332:    429,   430,   431,   432,   433,    23,    24,    25,   528,     0,
        !          1333:   1077,     0,     0,     0,     0,    26,     3,    27,     4,     5,
        !          1334:      6,     7,     8,     9,   540,   541,   572,   146,    10,     0,
        !          1335:     55,    55,     0,     0,     0,   551,     0,     0,     0,     0,
        !          1336:      0,    11,    12,    13,     0,     0,     0,     0,     0,     0,
        !          1337:     14,     0,     0,     0,    15,     0,    16,    17,     0,     0,
        !          1338:     18,    19,     0,     0,    16,   828,    55,   573,   120,    19,
        !          1339:    147,    55,   574,     0,     0,   528,    20,     0,   575,     0,
        !          1340:      0,     0,  1129,     0,   148,     0,    21,   427,   428,   429,
        !          1341:    430,   431,   432,   433,   149,     0,     0,     0,    22,   528,
        !          1342:      0,   150,     0,     0,     0,     0,   576,     0,     0,     0,
        !          1343:     23,    24,    25,     0,     0,   528,     0,     0,    23,     0,
        !          1344:     26,   502,    27,     0,     0,     0,     0,     0,     0,     0,
        !          1345:     27,     0,     0,     0,     0,     0,   281,   282,   363,     0,
        !          1346:      0,   363,     0,     0,     0,     0,     0,     0,     0,    71,
        !          1347:    281,   282,    72,     6,    55,     8,    73,    55,     0,     0,
        !          1348:      0,    10,     0,   528,     0,   528,     0,     0,   672,     0,
        !          1349:      0,     0,     0,     0,     0,     0,    13,     0,   363,   528,
        !          1350:    358,     0,   528,    14,     0,    74,    75,     0,     0,     0,
        !          1351:     17,    76,    77,   692,     0,     4,   146,     0,     0,    78,
        !          1352:     79,    80,    81,     0,     0,    82,    83,    84,    85,    86,
1.1.1.4   root     1353:     87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1.1.1.5 ! root     1354:     97,    98,     0,    99,   100,    55,    55,   101,   102,     0,
        !          1355:    281,   282,   103,    16,     0,     0,     0,     0,    19,    55,
        !          1356:     55,     0,   528,    23,     0,   735,   736,     0,   738,     0,
        !          1357:      0,     0,     0,   148,     0,   104,   105,     0,     0,    55,
        !          1358:    749,   750,     0,   149,     0,     0,     0,     0,     0,    55,
        !          1359:    150,     0,     0,     0,     0,   151,   764,     0,     0,     0,
        !          1360:      0,     0,  -440,   773,  -440,  -440,     0,    23,  1014,     0,
        !          1361:   -440,     0,   782,   783,   784,     0,     0,     0,     0,    27,
        !          1362:      0,     0,     0,   358,    60,     0,     0,   791,  -440,   795,
        !          1363:      0,  -440,   799,     0,     0,     0,     0,     0,     0,    55,
        !          1364:     55,     0,     0,    61,     0,   350,     0,     4,   129,     6,
        !          1365:      7,     8,     9,   358,     0,     0,     0,    10,     0,     0,
        !          1366:      4,   118,  -440,     0,  -440,   279,     0,     0,     0,     0,
        !          1367:      0,  -440,    13,     0,     0,     0,     0,     0,     0,    14,
        !          1368:   -375,     0,     0,     0,  -440,    16,    17,     0,   829,   830,
        !          1369:     19,     0,     0,     0,     0,     0,    55,    55,    16,   351,
        !          1370:      0,   264,     0,    19,     0,    20,     0,     0,     0,   839,
        !          1371:    840,     0,    55,   841,     0,    21,     0,     0,   665,     0,
        !          1372:      0,     0,     0,     0,     0,     0,     0,    22,   666,     0,
        !          1373:      0,     0,     0,     0,     0,   268,     0,     0,     0,    23,
        !          1374:    667,   270,    55,     0,     0,     0,     0,     0,     0,   586,
        !          1375:   -375,    27,    23,     0,     0,     0,     0,     0,     0,     0,
        !          1376:      0,     0,     0,     0,    27,     0,     0,     0,   912,   913,
        !          1377:    914,     0,  1020,     0,  -580,  -580,  -580,  -580,  -580,  -580,
        !          1378:   -580,  -580,     0,  -580,  -580,  -580,  -580,  -580,  -580,  -580,
        !          1379:   -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,  -580,
        !          1380:   -580,  -580,  -580,     0,  -580,     0,  -580,     0,  -580,  -580,
        !          1381:      0,  -580,  -580,  -580,     4,   118,     0,  -580,     0,     0,
        !          1382:   -580,  -580,     0,     0,     0,     0,     0,     0,     0,  -580,
        !          1383:      4,   146,  -580,     0,     0,     0,     0,     0,     0,     0,
        !          1384:   -580,  -580,  -580,     4,   381,     0,  -580,  -580,     0,     4,
        !          1385:    146,     0,    16,     0,  -580,   264,  -580,    19,  1021,  -580,
        !          1386:   1022,     0,  -580,  -580,  -580,   964,  -580,     0,    16,     0,
        !          1387:      0,     0,   665,    19,   147,     0,  -580,  -580,  -580,  -580,
        !          1388:      0,    16,   666,     0,     0,     0,    19,    16,   148,   268,
        !          1389:      0,     0,    19,   147,   667,   270,     0,     0,   149,     0,
        !          1390:      0,    20,     0,     0,     0,   150,    23,   148,     0,     0,
        !          1391:    151,    21,     0,     0,     0,     0,     0,   149,    27,     0,
        !          1392:      0,     0,    23,    22,   150,     0,     0,     0,     0,   151,
        !          1393:   1035,  1036,  1037,     0,    27,   382,     0,     0,     0,     0,
        !          1394:      0,    23,     0,     0,     0,     0,  1043,    27,     0,     0,
        !          1395:      0,  1008,     0,    27,  1051,     0,     0,     0,     0,     0,
        !          1396:   1056,  1057,  1058,  1059,  1060,  1061,  1015,     0,   863,   129,
        !          1397:      6,     7,     8,   361,   207,   208,     0,   209,    10,   864,
        !          1398:      0,   865,   866,   867,   868,   869,   870,   871,   872,   873,
        !          1399:    874,    11,    12,    13,   210,   211,   212,     0,   213,     0,
        !          1400:     14,     0,   214,  -240,     0,   215,    16,    17,     0,     0,
        !          1401:      0,   216,     0,     0,   875,   310,     0,     0,     0,     0,
        !          1402:      0,    72,     6,   217,     8,    73,   218,     0,     0,     0,
        !          1403:     10,     0,     0,     0,   219,   220,   221,     0,     0,     0,
        !          1404:    222,   223,     0,     0,     0,    13,     0,     0,   224,     0,
        !          1405:    876,     0,    14,   877,     0,     0,   878,   879,   880,    17,
        !          1406:    881,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1407:    882,  1016,   225,   226,  1025,     0,   863,   129,     6,     7,
        !          1408:      8,   361,   207,   208,     0,   209,    10,   864,     0,   865,
        !          1409:    866,   867,   868,   869,   870,   871,   872,   873,   874,    11,
        !          1410:     12,    13,   210,   211,   212,     0,   213,     0,    14,     0,
        !          1411:    214,  -240,    23,   215,    16,    17,     0,     0,     0,   216,
        !          1412:      0,     0,   875,   310,     0,     0,     0,     0,     0,     0,
        !          1413:      0,   217,     0,     0,   218,     0,     0,     0,     0,     0,
        !          1414:      0,     0,   219,   220,   221,     0,     0,     0,   222,   223,
        !          1415:      0,     0,     0,     0,     0,     0,   224,     0,   876,     0,
        !          1416:      0,   877,     0,     0,   878,   879,   880,     0,   881,     0,
        !          1417:      0,     0,     0,     0,     0,     0,     0,     0,   882,  1026,
        !          1418:    225,   226,  1029,     0,   863,   129,     6,     7,     8,   361,
        !          1419:    207,   208,     0,   209,    10,   864,     0,   865,   866,   867,
        !          1420:    868,   869,   870,   871,   872,   873,   874,    11,    12,    13,
        !          1421:    210,   211,   212,     0,   213,     0,    14,     0,   214,  -240,
        !          1422:      0,   215,    16,    17,     0,     0,     0,   216,     0,     0,
        !          1423:    875,   310,     0,     0,     0,     0,     0,     0,     0,   217,
        !          1424:      0,     0,   218,     0,     0,     0,     0,     0,     0,     0,
        !          1425:    219,   220,   221,     0,     0,     0,   222,   223,     0,     0,
        !          1426:      0,     0,     0,     0,   224,     0,   876,     0,     0,   877,
        !          1427:      0,     0,   878,   879,   880,     0,   881,     0,     0,     0,
        !          1428:      0,     0,     0,     0,     0,     0,   882,  1030,   225,   226,
        !          1429:   1015,     0,   863,   129,     6,     7,     8,   361,   207,   208,
        !          1430:      0,   209,    10,   864,     0,   865,   866,   867,   868,   869,
        !          1431:    870,   871,   872,   873,   874,    11,    12,    13,   210,   211,
        !          1432:    212,     0,   213,     0,    14,     0,   214,  -240,     0,   215,
        !          1433:     16,    17,     0,     0,     0,   216,     0,     0,   875,   310,
        !          1434:      0,     0,     0,     0,     0,     0,     0,   217,     0,     0,
        !          1435:    218,     0,     0,     0,     0,     0,     0,     0,   219,   220,
        !          1436:    221,     0,     0,     0,   222,   223,     0,     0,     0,     0,
        !          1437:      0,     0,   224,     0,   876,     0,     0,   877,     0,     0,
        !          1438:    878,   879,   880,     0,   881,     0,     0,     0,     0,     0,
        !          1439:      0,     0,     0,     0,   882,  1118,   225,   226,  1015,     0,
        !          1440:    863,   129,     6,     7,     8,   361,   207,   208,     0,   209,
        !          1441:     10,   864,     0,   865,   866,   867,   868,   869,   870,   871,
        !          1442:    872,   873,   874,    11,    12,    13,   210,   211,   212,     0,
        !          1443:    213,     0,    14,     0,   214,  -240,     0,   215,    16,    17,
        !          1444:      0,     0,     0,   216,     0,     0,   875,   310,     0,     0,
        !          1445:      0,     0,     0,     0,     0,   217,     0,     0,   218,     0,
        !          1446:      0,     0,     0,     0,     0,     0,   219,   220,   221,     0,
        !          1447:      0,     0,   222,   223,     0,     0,     0,     0,     0,     0,
        !          1448:    224,     0,   876,     0,     0,   877,     0,     0,   878,   879,
        !          1449:    880,     0,   881,     0,     0,     0,     0,     0,     0,     0,
        !          1450:      0,     0,   882,  1121,   225,   226,  1015,     0,   863,   129,
        !          1451:      6,     7,     8,   361,   207,   208,     0,   209,    10,   864,
        !          1452:      0,   865,   866,   867,   868,   869,   870,   871,   872,   873,
        !          1453:    874,    11,    12,    13,   210,   211,   212,     0,   213,     0,
        !          1454:     14,     0,   214,  -240,     0,   215,    16,    17,     0,     0,
        !          1455:      0,   216,     0,     0,   875,   310,     0,     0,     0,     0,
        !          1456:      0,     0,     0,   217,     0,     0,   218,     0,     0,     0,
        !          1457:      0,     0,     0,     0,   219,   220,   221,     0,     0,     0,
        !          1458:    222,   223,     0,     0,     0,     0,     0,     0,   224,     0,
        !          1459:    876,     0,     0,   877,     0,     0,   878,   879,   880,     0,
        !          1460:    881,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1461:    882,  1215,   225,   226,   862,     0,   863,   129,     6,     7,
        !          1462:      8,   361,   207,   208,     0,   209,    10,   864,     0,   865,
        !          1463:    866,   867,   868,   869,   870,   871,   872,   873,   874,    11,
        !          1464:     12,    13,   210,   211,   212,     0,   213,     0,    14,     0,
        !          1465:    214,  -240,     0,   215,    16,    17,     0,     0,     0,   216,
        !          1466:      0,     0,   875,   310,     0,     0,     0,     0,     0,     0,
        !          1467:      0,   217,     0,     0,   218,     0,     0,     0,     0,     0,
        !          1468:      0,     0,   219,   220,   221,     0,     0,     0,   222,   223,
        !          1469:      0,     0,     0,     0,     0,     0,   224,     0,   876,     0,
        !          1470:      0,   877,     0,     0,   878,   879,   880,     0,   881,     0,
        !          1471:      0,     0,     0,     0,     0,     0,     0,     0,   882,     0,
        !          1472:    225,   226,  1192,     0,   863,   129,     6,     7,     8,   361,
        !          1473:    207,   208,     0,   209,    10,   864,     0,   865,   866,   867,
        !          1474:    868,   869,   870,   871,   872,   873,   874,    11,    12,    13,
        !          1475:    210,   211,   212,     0,   213,     0,    14,     0,   214,  -240,
        !          1476:      0,   215,    16,    17,     0,     0,     0,   216,     0,     0,
        !          1477:    875,   310,     0,     0,     0,     0,     0,    72,     6,   217,
        !          1478:      8,    73,   218,     0,     0,     0,    10,     0,     0,     0,
        !          1479:    219,   220,   221,     0,     0,     0,   222,   223,     0,     0,
        !          1480:      0,    13,     0,     0,   224,     0,   876,     0,    14,   877,
        !          1481:      0,     0,   878,   879,   880,    17,   881,     0,     0,     0,
        !          1482:      0,     0,  1067,     0,     0,     0,   882,     0,   225,   226,
        !          1483:    360,     0,   205,   129,     6,     7,     8,   361,   207,   208,
        !          1484:    245,   209,    10,   421,   422,   423,   424,   425,   426,   427,
        !          1485:    428,   429,   430,   431,   432,   433,  1068,    13,   210,   211,
        !          1486:    212,     0,   213,     0,    14,     0,   214,  -240,    23,   215,
        !          1487:     16,    17,     0,     0,     0,   216,     0,     0,     0,     0,
        !          1488:      0,     0,    72,     6,   161,     8,   162,   217,     0,     0,
        !          1489:    218,    10,     0,     0,     0,     0,     4,   118,   219,   220,
        !          1490:    221,     0,     0,     0,   222,   223,    13,     0,     0,     0,
        !          1491:      0,     0,   224,    14,     0,     0,     0,     0,     0,     0,
        !          1492:     17,     0,     0,   246,    23,     0,     0,     0,     0,     0,
        !          1493:      0,     0,     0,  -624,    16,     0,   225,   226,   552,    19,
        !          1494:    205,   129,     6,     7,     8,   361,   207,   208,   245,   209,
        !          1495:     10,     0,     0,     0,   321,     0,     0,     0,     0,     0,
        !          1496:      0,     0,     0,     0,   322,    13,   210,   211,   212,     0,
        !          1497:    213,   323,    14,    23,   214,  -240,   324,   215,    16,    17,
        !          1498:      0,     0,     0,   216,     0,     0,     0,     0,    23,     0,
        !          1499:     72,     6,     7,     8,     9,   217,     0,     0,   218,    10,
        !          1500:     27,     0,     0,     0,     4,   118,   219,   220,   221,     0,
        !          1501:      0,     0,   222,   223,    13,     0,     0,     0,     0,     0,
        !          1502:    224,    14,     0,     0,     0,     0,     0,     0,    17,     0,
        !          1503:      0,   246,    23,     0,     0,     0,     0,     0,     0,     0,
        !          1504:      0,  -624,    16,     0,   225,   226,   739,    19,   205,   129,
        !          1505:      6,     7,     8,   361,   207,   208,   245,   209,    10,     0,
        !          1506:      0,     0,   542,     0,     0,     0,     0,     0,     0,     0,
        !          1507:      0,     0,   543,    13,   210,   211,   212,     0,   213,   323,
        !          1508:     14,    23,   214,  -240,   324,   215,    16,    17,     0,     0,
        !          1509:      0,   216,     0,     0,     0,     0,    23,     0,     0,     0,
        !          1510:      0,     0,     0,   217,     0,     0,   218,     0,    27,     0,
        !          1511:      0,     0,     4,   381,   219,   220,   221,     0,     0,     0,
        !          1512:    222,   223,     0,     0,     0,     0,     0,     0,   224,     0,
        !          1513:      0,     0,     0,     0,     0,     0,     0,     0,     0,   246,
        !          1514:     23,     0,     0,     0,     0,     0,     0,     0,     0,  -624,
        !          1515:     16,     0,   225,   226,   792,    19,   205,   129,     6,     7,
        !          1516:      8,   361,   207,   208,   245,   209,    10,     0,     0,     0,
        !          1517:    557,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1518:    558,    13,   210,   211,   212,     0,   213,     0,    14,     0,
        !          1519:    214,  -240,    22,   215,    16,    17,     0,     0,     0,   216,
        !          1520:      0,     0,     0,     0,   382,     0,     0,     0,     0,     0,
        !          1521:      0,   217,     0,     0,   218,     0,    27,     0,     0,     0,
        !          1522:      0,     0,   219,   220,   221,     0,     0,     0,   222,   223,
        !          1523:      0,     0,     0,     0,     0,     0,   224,     0,     0,     0,
        !          1524:      0,     0,     0,     0,     0,     0,     0,   246,    23,     0,
        !          1525:      0,     0,     0,     0,     0,     0,     0,  -624,     0,     0,
        !          1526:    225,   226,   796,     0,   205,   129,     6,     7,     8,   361,
        !          1527:    207,   208,   245,   209,    10,   420,   421,   422,   423,   424,
        !          1528:    425,   426,   427,   428,   429,   430,   431,   432,   433,    13,
        !          1529:    210,   211,   212,     0,   213,     0,    14,     0,   214,  -240,
        !          1530:      0,   215,    16,    17,     0,     0,     0,   216,     0,     0,
        !          1531:      0,     0,     0,     0,     0,     0,     0,     0,     0,   217,
        !          1532:      0,     0,   218,     0,     0,     0,     0,     0,     0,     0,
        !          1533:    219,   220,   221,     0,     0,     0,   222,   223,     0,     0,
        !          1534:      0,     0,     0,     0,   224,     0,     0,     0,     0,     0,
        !          1535:      0,     0,     0,     0,     0,   246,    23,     0,     0,     0,
        !          1536:      0,     0,     0,     0,     0,  -624,     0,     0,   225,   226,
        !          1537:    526,     0,   719,   720,     6,     0,     8,   388,   207,   208,
        !          1538:      0,   209,    10,   422,   423,   424,   425,   426,   427,   428,
        !          1539:    429,   430,   431,   432,   433,     0,     0,    13,   210,   211,
        !          1540:    212,     0,   213,     0,    14,     0,   214,  -240,     0,   215,
        !          1541:     16,    17,     0,     0,     0,   216,     0,     0,     0,   527,
        !          1542:      0,     0,     0,     0,     0,     0,     0,   217,     0,     0,
        !          1543:    218,     0,     0,     0,     0,     0,     0,     0,   219,   220,
        !          1544:    221,     0,     0,     0,   222,   223,     0,     0,     0,     0,
        !          1545:      0,     0,   224,   721,   526,     0,   719,   720,     6,     0,
        !          1546:      8,   388,   207,   208,   183,   209,    10,     0,     0,     0,
        !          1547:      0,     0,     0,   973,     0,   722,   225,   226,     0,     0,
        !          1548:      0,    13,   210,   211,   212,     0,   213,     0,    14,     0,
        !          1549:    214,  -240,     0,   215,    16,    17,     0,     0,     0,   216,
        !          1550:      0,     0,     0,   527,     0,     0,     0,     0,     0,     0,
        !          1551:      0,   217,     0,     0,   218,     0,     0,     0,     0,     0,
        !          1552:      0,     0,   219,   220,   221,     0,     0,     0,   222,   223,
        !          1553:      0,     0,     0,     0,     0,  1087,   224,   205,   129,     6,
        !          1554:      7,     8,   361,   207,   208,     0,   209,    10,   183,     0,
        !          1555:      0,     0,     0,     0,     0,     0,     0,     0,     0,   974,
        !          1556:    225,   226,    13,   210,   211,   212,     0,   213,     0,    14,
        !          1557:      0,   214,  -240,     0,   215,    16,    17,     0,     0,     0,
        !          1558:    216,     0,     0,     0,  1088,     0,     0,     0,     0,     0,
        !          1559:      0,     0,   217,     0,     0,   218,     0,     0,     0,     0,
        !          1560:      0,     0,     0,   219,   220,   221,     0,     0,     0,   222,
        !          1561:    223,     0,     0,     0,     0,     0,   526,   224,   719,   720,
        !          1562:      6,     0,     8,   388,   207,   208,     0,   209,    10,    23,
        !          1563:      0,     0,     0,     0,     0,   973,     0,     0,     0,  1089,
        !          1564:      0,   225,   226,    13,   210,   211,   212,     0,   213,     0,
        !          1565:     14,     0,   214,  -240,     0,   215,    16,    17,     0,     0,
        !          1566:      0,   216,     0,     0,     0,   527,     0,     0,     0,     0,
        !          1567:      0,     0,     0,   217,     0,     0,   218,     0,     0,     0,
        !          1568:      0,     0,     0,     0,   219,   220,   221,     0,     0,     0,
        !          1569:    222,   223,     0,     0,     0,     0,     0,   526,   224,   719,
        !          1570:    720,     6,     0,     8,   388,   207,   208,     0,   209,    10,
        !          1571:    183,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1572:      0,  -333,   225,   226,    13,   210,   211,   212,     0,   213,
        !          1573:      0,    14,     0,   214,  -240,     0,   215,    16,    17,     0,
        !          1574:      0,     0,   216,     0,     0,     0,   527,     0,     0,     0,
        !          1575:      0,     0,     0,     0,   217,     0,     0,   218,     0,     0,
        !          1576:      0,     0,     0,     0,     0,   219,   220,   221,     0,     0,
        !          1577:      0,   222,   223,     0,     0,     0,     0,     0,     0,   224,
        !          1578:    721,   406,     0,   205,   129,     6,     0,     8,   206,   207,
        !          1579:    208,   183,   209,    10,     0,     0,     0,     0,     0,     0,
        !          1580:      0,     0,     0,   225,   226,     0,     0,     0,    13,   210,
        !          1581:    211,   212,     0,   213,     0,    14,     0,   214,  -240,     0,
        !          1582:    215,    16,    17,     0,     0,     0,   216,     0,     0,     0,
        !          1583:   -211,     0,     0,     0,     0,     0,     0,     0,   217,     0,
        !          1584:      0,   218,     0,     0,     0,     0,     0,     0,     0,   219,
        !          1585:    220,   221,     0,     0,     0,   222,   223,     0,     0,     0,
        !          1586:      0,     0,   526,   224,   205,   129,     6,     0,     8,   388,
        !          1587:    207,   208,     0,   209,    10,    23,     0,     0,     0,     0,
        !          1588:      0,     0,     0,     0,     0,     0,     0,   225,   226,    13,
        !          1589:    210,   211,   212,     0,   213,     0,    14,     0,   214,  -240,
        !          1590:      0,   215,    16,    17,     0,     0,     0,   216,     0,     0,
        !          1591:      0,   527,     0,     0,     0,     0,     0,     0,     0,   217,
        !          1592:      0,     0,   218,     0,     0,     0,     0,     0,     0,     0,
        !          1593:    219,   220,   221,     0,     0,     0,   222,   223,     0,     0,
        !          1594:      0,     0,     0,   626,   224,   205,   129,     6,     0,     8,
        !          1595:    388,   207,   208,     0,   209,    10,    23,     0,     0,     0,
        !          1596:      0,     0,     0,     0,     0,     0,     0,     0,   225,   226,
        !          1597:     13,   210,   211,   212,     0,   213,     0,    14,     0,   214,
        !          1598:   -240,     0,   215,    16,    17,     0,     0,     0,   216,     0,
        !          1599:      0,     0,     0,     0,     0,     0,     0,  -614,     0,     0,
        !          1600:    217,     0,     0,   218,     0,     0,     0,     0,     0,     0,
        !          1601:      0,   219,   220,   221,     0,     0,     0,   222,   223,     0,
        !          1602:      0,     0,     0,     0,   626,   224,   205,   129,     6,     0,
        !          1603:      8,   388,   207,   208,     0,   209,    10,    23,     0,     0,
        !          1604:      0,     0,     0,     0,     0,     0,     0,     0,     0,   225,
        !          1605:    226,    13,   210,   211,   212,     0,   213,     0,    14,     0,
        !          1606:    214,  -240,     0,   215,    16,    17,     0,     0,     0,   216,
1.1.1.3   root     1607:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.5 ! root     1608:      0,   217,     0,     0,   218,     0,     0,     0,     0,     0,
        !          1609:      0,     0,   219,   220,   221,     0,     0,     0,   222,   223,
        !          1610:      0,     0,     0,     0,     0,   626,   224,   205,   129,     6,
        !          1611:      0,     8,   388,   207,   208,     0,   209,    10,    23,     0,
        !          1612:      0,     0,     0,     0,     0,     0,     0,     0,  -614,     0,
        !          1613:    225,   226,    13,   210,   211,   212,     0,   213,     0,    14,
        !          1614:      0,   214,  -240,     0,   215,    16,    17,     0,     0,     0,
        !          1615:    216,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1616:      0,     0,   217,     0,     0,   218,     0,     0,     0,     0,
        !          1617:      0,     0,     0,   219,   220,   221,     0,     0,     0,   222,
        !          1618:    223,     0,     0,     0,     0,     0,   682,   224,   205,   129,
        !          1619:      6,     0,     8,   388,   207,   208,     0,   209,    10,    23,
        !          1620:      0,     0,     0,     0,     0,     0,     0,     0,  -614,     0,
        !          1621:      0,   225,   226,    13,   210,   211,   212,     0,   213,     0,
        !          1622:     14,     0,   214,  -240,     0,   215,    16,    17,     0,     0,
        !          1623:      0,   216,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1624:      0,     0,     0,   217,     0,     0,   218,     0,     0,     0,
        !          1625:      0,     0,     0,     0,   219,   220,   221,     0,     0,     0,
        !          1626:    222,   223,     0,     0,     0,     0,     0,     0,   224,   205,
        !          1627:    129,     6,     0,     8,   388,   207,   208,     0,   209,    10,
        !          1628:     23,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1629:      0,     0,   225,   226,    13,   210,   211,   212,     0,   213,
        !          1630:      0,    14,     0,   214,     0,     0,   215,    16,    17,     0,
        !          1631:      0,   350,   216,     4,   129,     6,     7,     8,     9,     0,
        !          1632:      0,     0,     0,    10,   217,     0,     0,   218,     0,     0,
        !          1633:      0,     0,     0,     0,     0,   219,   220,   221,    13,     0,
        !          1634:      0,   222,   223,     0,     0,    14,  -373,     0,     0,   224,
        !          1635:      0,    16,    17,     0,     0,     0,    19,     0,     0,     0,
        !          1636:      0,    23,     0,     0,     0,   351,     0,     0,     0,     0,
        !          1637:      0,    20,     0,   225,   226,   655,     0,     0,     0,     0,
        !          1638:    350,    21,     4,   129,     6,     7,     8,     9,     0,     0,
        !          1639:      0,     0,    10,    22,     0,     0,     3,     0,     4,     5,
        !          1640:      6,     7,     8,     9,     0,    23,     0,    13,    10,     0,
        !          1641:      0,     0,     0,     0,    14,  -376,  -373,    27,     0,     0,
        !          1642:     16,    17,     0,    13,     0,    19,     0,     0,     0,     0,
        !          1643:     14,     0,     0,     0,   351,     0,    16,    17,     0,     0,
        !          1644:     20,    19,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1645:     21,     0,     0,     0,     0,     0,    20,     0,     0,     0,
        !          1646:      0,     0,    22,     0,     0,     0,    21,     0,     0,     0,
        !          1647:      0,     0,     0,     0,    23,     0,     0,     0,    22,     0,
        !          1648:      0,     0,     0,     0,     0,  -376,    27,     0,     0,     0,
        !          1649:     23,    24,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1650:     26,     0,    27,   863,   129,     6,     7,     8,   361,   207,
        !          1651:    208,     0,   209,    10,   864,     0,   865,   866,   867,   868,
        !          1652:    869,   870,   871,   872,   873,   874,    11,    12,    13,   210,
        !          1653:    211,   212,     0,   213,     0,    14,     0,   214,     0,     0,
        !          1654:    215,    16,    17,     0,     0,     0,   216,     0,     0,   875,
        !          1655:    310,     0,     0,     0,     0,     0,     0,     0,   217,     0,
        !          1656:      0,   218,     0,     0,     0,     0,     0,     0,     0,   219,
        !          1657:    220,   221,     0,     0,     0,   222,   223,     0,     0,     0,
        !          1658:      0,     0,     0,   224,     0,   876,     0,     0,   877,     0,
        !          1659:      0,   878,   879,   880,     0,   881,     0,     0,     0,     0,
        !          1660:      0,     0,     0,     0,     0,   882,  1023,   225,   226,   863,
        !          1661:    129,     6,     7,     8,   361,   207,   208,     0,   209,    10,
        !          1662:    864,     0,   865,   866,   867,   868,   869,   870,   871,   872,
        !          1663:    873,   874,    11,    12,    13,   210,   211,   212,     0,   213,
        !          1664:      0,    14,     0,   214,     0,     0,   215,    16,    17,     0,
        !          1665:      0,     0,   216,     0,     0,   875,   310,     0,     0,     0,
        !          1666:      0,     0,     0,     0,   217,     0,     0,   218,     0,     0,
        !          1667:      0,     0,     0,     0,     0,   219,   220,   221,     0,     0,
        !          1668:      0,   222,   223,     0,     0,     0,     0,     0,     0,   224,
        !          1669:      0,   876,     0,     0,   877,     0,     0,   878,   879,   880,
        !          1670:      0,   881,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1671:      0,   882,     0,   225,   226,   863,   129,     6,     7,     8,
        !          1672:    361,   207,   208,     0,   209,    10,   864,     0,   865,   866,
        !          1673:    867,   868,   869,   870,   871,   872,   873,   874,    11,    12,
        !          1674:     13,   210,   211,   212,     0,   213,     0,    14,     0,   214,
        !          1675:      0,     0,   215,    16,    17,     0,     0,     0,   216,     0,
        !          1676:      0,   875,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1677:    217,     0,     0,   218,     0,     0,     0,     0,     0,     0,
        !          1678:      0,   219,   220,   221,     0,     0,     0,   222,   223,     0,
        !          1679:      0,     0,     0,     0,     0,   224,     0,   876,     0,     0,
        !          1680:    877,     0,     0,   878,   879,   880,     0,   881,     0,     0,
        !          1681:      0,     0,     0,     0,     0,     0,     0,   882,     0,   225,
        !          1682:    226,   205,   129,     6,     0,     8,   388,   207,   208,     0,
        !          1683:    209,    10,    72,     6,     7,     8,     9,     0,     0,   245,
        !          1684:      0,    10,     0,     0,     0,     0,    13,   210,   211,   212,
        !          1685:      0,   213,     0,    14,     0,   214,    13,     0,   215,    16,
        !          1686:     17,     0,     0,    14,   216,   398,    72,     6,     0,     8,
        !          1687:     17,     0,     0,     0,     0,    10,   217,     0,     0,   218,
        !          1688:      0,     0,     0,     0,     0,     0,     0,   219,   220,   221,
        !          1689:     13,     0,     0,   222,   223,     0,     0,    14,     0,   214,
        !          1690:      0,   224,   445,    16,    17,   205,   129,     6,   399,     8,
        !          1691:    388,   207,   208,    23,   209,    10,     0,     0,     0,     0,
        !          1692:      0,     0,   246,    23,     0,   225,   226,     0,     0,     0,
        !          1693:     13,   210,   211,   212,     0,   213,     0,    14,     0,   214,
        !          1694:      0,     0,   215,    16,    17,     0,     0,     0,   216,     0,
        !          1695:      0,     0,   808,     0,     0,     0,     0,    23,     0,     0,
        !          1696:    217,     0,     0,   218,     0,     0,     0,     0,     0,     0,
        !          1697:      0,   219,   220,   221,     0,     0,     0,   222,   223,     0,
        !          1698:      0,     0,     0,     0,     0,   224,   205,   129,     6,     0,
        !          1699:      8,   388,   207,   208,     0,   209,    10,    23,     0,     0,
        !          1700:      0,     0,     0,     0,     0,     0,     0,     0,     0,   225,
        !          1701:    226,    13,   210,   211,   212,     0,   213,     0,    14,     0,
        !          1702:    214,     0,     0,   215,    16,    17,     0,     0,     0,   216,
1.1.1.2   root     1703:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.5 ! root     1704:      0,   217,     0,     0,   218,     0,     0,     0,     0,     0,
        !          1705:      0,     0,   219,   220,   221,     0,     0,     0,   222,   223,
        !          1706:      0,     0,     0,     0,     0,     0,   224,   205,   129,     6,
        !          1707:      0,     8,   388,   207,   208,     0,   209,    10,    23,     0,
        !          1708:      0,     0,     0,     0,     0,     0,     0,     0,   991,     0,
        !          1709:    225,   226,    13,   210,   211,   212,     0,   213,     0,    14,
        !          1710:      0,   214,     0,     0,   215,    16,    17,     0,     0,     0,
        !          1711:    216,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1712:      0,     0,   217,     0,     0,   218,     0,     0,     0,     0,
        !          1713:      0,     0,     0,   219,   220,   221,     0,     0,     0,   222,
        !          1714:    223,     0,     0,     0,     0,     0,     0,   224,   205,   129,
        !          1715:      6,     0,     8,   206,   207,   208,     0,   209,    10,    23,
        !          1716:      0,     0,     0,     0,     0,     0,     0,     0,     0,  1002,
        !          1717:      0,   225,   226,    13,   210,   211,   212,     0,   213,     0,
        !          1718:     14,     0,   214,     0,     0,   215,    16,    17,     0,     0,
        !          1719:      0,   216,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1720:      0,     0,     0,   217,     0,     0,   218,     0,     0,     0,
        !          1721:      0,     0,     0,     0,   219,   220,   221,     0,     0,     0,
        !          1722:    222,   223,     0,     0,     0,     0,     0,     0,   224,   205,
        !          1723:    129,     6,     0,     8,   388,   207,   208,     0,   209,    10,
        !          1724:     23,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1725:      0,     0,   225,   226,    13,   210,   211,   212,     0,   213,
        !          1726:      0,    14,     0,   214,     0,     0,   215,    16,    17,     0,
1.1.1.4   root     1727:      0,     0,   216,     0,     0,     0,     0,     0,     0,     0,
1.1.1.5 ! root     1728:      0,     0,     0,     0,   217,     0,     0,   218,     0,     0,
        !          1729:      0,     0,     0,     0,     0,   219,   220,   221,     0,     0,
        !          1730:      0,   222,   223,     0,     0,     0,     0,     0,     0,   224,
        !          1731:    205,   614,     6,     0,     8,   388,   207,   208,     0,   209,
        !          1732:     10,    23,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1733:      0,     0,     0,   225,   226,    13,   210,   211,   212,     0,
        !          1734:    213,     0,    14,     0,   214,     0,     0,   215,    16,    17,
        !          1735:      0,     0,     0,   216,   205,   129,     6,     0,     8,   388,
        !          1736:    207,   208,     0,   209,    10,   217,     0,     0,   218,     0,
        !          1737:      0,     0,     0,     0,     0,     0,   219,   220,   221,    13,
        !          1738:    210,     0,   222,   223,   213,     0,    14,     0,   214,     0,
        !          1739:    224,   215,    16,    17,     0,     0,     0,   216,     0,     0,
        !          1740:      0,     0,    23,     0,     0,     0,     0,     0,     0,   217,
        !          1741:      0,     0,   218,     0,   225,   226,     0,     0,     0,     0,
        !          1742:    219,   220,   221,     0,     0,     0,   222,   223,     0,     0,
        !          1743:      0,   205,   129,     6,   389,     8,   388,   207,   208,     0,
        !          1744:    209,    10,     0,     0,     0,     0,    23,     0,     0,     0,
        !          1745:      0,     0,     0,     0,     0,     0,    13,   210,   225,   226,
        !          1746:      0,   213,     0,    14,     0,   214,     0,     0,   215,    16,
        !          1747:     17,     0,     0,     0,   216,   572,   160,     6,   161,     8,
        !          1748:    162,     0,     0,     0,     0,    10,   217,     0,     0,   218,
        !          1749:      0,     0,     0,     0,     0,     0,     0,   219,   220,   221,
        !          1750:     13,     0,     0,   222,   223,     0,     0,    14,     0,     0,
        !          1751:      0,   393,     0,    16,    17,     0,   580,     0,    19,   147,
        !          1752:      0,   574,     0,    23,     0,     0,     0,   575,     0,     0,
        !          1753:      0,     0,     0,   148,     0,   225,   226,     4,   129,     6,
        !          1754:      7,     8,     9,   149,     0,   673,     0,    10,     0,     0,
        !          1755:    150,     0,     0,     0,     0,   581,     0,     0,     0,     0,
        !          1756:      0,     0,    13,     0,     0,     0,     0,    23,     0,    14,
        !          1757:      0,     0,     0,     0,     0,    16,    17,     0,   264,    27,
        !          1758:     19,   664,     4,   129,     6,     7,     8,     9,     0,     0,
        !          1759:    245,     0,    10,     0,     0,   665,     0,     0,     0,     0,
        !          1760:      0,     0,     0,     0,     0,   666,     0,    13,     0,     0,
        !          1761:      0,     0,   268,     0,    14,     0,     0,   667,   270,     0,
        !          1762:     16,    17,     0,   264,     0,    19,     0,     0,     0,    23,
1.1       root     1763:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.5 ! root     1764:    665,    27,     0,     0,     4,   129,     6,     7,     8,     9,
        !          1765:    666,     0,   245,     0,    10,     0,     0,   268,     0,     0,
        !          1766:      0,     0,   667,   270,     0,     0,     0,     0,     0,    13,
        !          1767:      0,     0,     0,   246,    23,     0,    14,     0,     0,     0,
        !          1768:      0,     0,    16,    17,     0,     0,    27,    19,     4,   160,
        !          1769:      6,   161,     8,   162,     0,     0,     0,     0,    10,     0,
        !          1770:      0,     0,   321,     0,     0,     0,     0,     0,     0,     0,
        !          1771:      0,     0,   322,    13,   129,     6,     7,     8,     9,   323,
        !          1772:     14,   245,     0,    10,   324,     0,    16,    17,     0,     0,
        !          1773:      0,    19,   147,     0,     0,   246,    23,     0,    13,     0,
        !          1774:      0,     0,     0,     0,     0,    14,   148,     0,    27,     0,
        !          1775:      0,     0,    17,     0,   264,     0,   149,     0,    72,     6,
        !          1776:      0,     8,   275,   150,     0,     0,     0,    10,   151,     0,
        !          1777:      0,   266,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1778:     23,   267,    13,     0,     0,     0,     0,     0,   268,    14,
        !          1779:   1011,     0,    27,   269,   270,     0,    17,     0,   264,     0,
        !          1780:      0,   265,     0,     0,   246,    23,     0,     0,     0,     0,
        !          1781:      0,     0,     0,     0,     0,   266,     0,     0,     0,     0,
        !          1782:      0,     0,     0,     0,     0,   267,     0,     0,     0,     0,
        !          1783:      0,     0,   268,     0,     0,     0,     0,   269,   270,     0,
        !          1784:      0,     0,     0,     0,     0,   414,   415,   416,     0,    23,
        !          1785:    417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
        !          1786:    427,   428,   429,   430,   431,   432,   433,   414,   415,   416,
        !          1787:      0,     0,   417,   418,   419,   420,   421,   422,   423,   424,
        !          1788:    425,   426,   427,   428,   429,   430,   431,   432,   433,     0,
        !          1789:      0,     0,     0,     0,     0,     0,     0,   602,     0,     0,
        !          1790:      0,     0,   971,     0,     0,     0,     0,     0,     0,     0,
        !          1791:      0,     0,     0,     0,     0,     0,     0,   414,   415,   416,
        !          1792:    759,   760,   417,   418,   419,   420,   421,   422,   423,   424,
        !          1793:    425,   426,   427,   428,   429,   430,   431,   432,   433,  -142,
        !          1794:    414,   415,   416,     0,     0,   417,   418,   419,   420,   421,
        !          1795:    422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
        !          1796:    432,   433,   414,   415,   416,  1145,     0,   417,   418,   419,
        !          1797:    420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
        !          1798:    430,   431,   432,   433,   414,   415,   416,     0,     0,   417,
1.1.1.4   root     1799:    418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
1.1.1.5 ! root     1800:    428,   429,   430,   431,   432,   433,   414,   415,   416,     0,
        !          1801:      0,   417,   418,   419,   420,   421,   422,   423,   424,   425,
        !          1802:      0,   427,   428,   429,   430,   431,   432,   433,   416,     0,
        !          1803:      0,   417,   418,   419,   420,   421,   422,   423,   424,   425,
        !          1804:    426,   427,   428,   429,   430,   431,   432,   433,   418,   419,
        !          1805:    420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
        !          1806:    430,   431,   432,   433,   419,   420,   421,   422,   423,   424,
        !          1807:    425,   426,   427,   428,   429,   430,   431,   432,   433
1.1       root     1808: };
                   1809: 
1.1.1.5 ! root     1810: static const short yycheck[] = {    10,
        !          1811:     16,    68,   270,     1,     2,   107,   300,   139,   140,    16,
        !          1812:     40,   597,   112,    45,    41,   356,   278,   151,    16,     1,
        !          1813:      2,   140,   243,   888,    62,   125,   310,   983,     1,     2,
        !          1814:    278,    41,   196,    31,    45,   329,  1032,  1033,   216,   209,
        !          1815:    210,   896,    40,   898,   138,   708,   947,   516,   218,    51,
        !          1816:    191,   221,    19,     1,     2,   225,    10,    10,    31,   229,
        !          1817:    888,     1,     2,    61,    62,   235,   334,   895,   147,    46,
        !          1818:     68,   568,   218,    10,    10,   221,    10,    36,    46,   225,
        !          1819:    549,   108,    44,   229,     0,    24,     3,     4,    65,   235,
        !          1820:     37,    31,    44,    24,    39,    40,    46,    65,    83,    46,
        !          1821:   1114,    55,    68,   105,   106,     3,     4,     5,    35,    50,
        !          1822:     61,   109,     5,   265,    55,    65,    55,   269,     3,    50,
        !          1823:     71,    83,    53,   121,    55,     3,     4,   464,   105,   127,
        !          1824:    467,    83,    84,   131,  1148,  1149,   104,   239,   165,    51,
        !          1825:    242,   305,    51,   304,   171,   127,    65,   106,    46,    51,
        !          1826:    104,   104,   104,    46,   127,   165,    83,   224,   196,    36,
        !          1827:    134,   171,  1027,  1064,   105,   203,  1031,   104,   104,   333,
        !          1828:    104,     1,     2,   314,   105,   307,   308,   309,    95,   153,
        !          1829:   1194,     3,     4,     5,   847,   130,   131,   127,   307,   308,
        !          1830:    324,   158,    22,   167,   106,   193,   105,    95,   196,  1027,
        !          1831:     98,    31,   699,  1031,   106,   203,   217,  1203,  1204,    39,
        !          1832:     40,   505,   306,   240,    55,    65,   198,    95,   216,   467,
        !          1833:    193,   399,    44,   387,   492,    51,   224,   397,    51,   106,
        !          1834:    204,    50,   453,    44,   703,  1191,    55,  1251,  1252,    51,
        !          1835:    319,   320,   253,    50,   242,    51,   273,     8,    55,   276,
        !          1836:    248,   397,   200,   193,     3,     4,   105,   106,   224,    83,
        !          1837:     66,    83,    51,   273,   105,   559,    51,  1095,     3,     4,
        !          1838:    302,   269,    83,    95,     3,     4,   408,   441,   104,   547,
        !          1839:    278,   104,   751,     3,     4,   115,   116,   117,    51,   287,
        !          1840:    876,   302,   878,   105,   458,   333,   765,   127,   105,  1154,
        !          1841:    130,   131,     3,     4,     5,   287,    41,   106,    51,   470,
        !          1842:    337,   378,    41,    11,   287,   347,   105,   147,   292,   104,
        !          1843:    302,   151,   389,     3,     4,    86,   393,   337,  1193,  1157,
        !          1844:    482,   483,    93,    51,    50,   333,    51,   364,    55,   287,
        !          1845:      3,     4,   105,     6,   174,    46,    95,   287,    65,   846,
        !          1846:     50,    71,   300,    51,   364,   519,   354,    55,   356,    50,
        !          1847:     95,    44,   105,   193,    51,  1193,    95,    51,   198,   343,
        !          1848:     50,   201,   107,    36,    51,    95,    65,   444,   107,    55,
        !          1849:    378,   329,   546,   356,   358,     3,     4,   105,     6,  1217,
        !          1850:    105,   389,   340,     5,    95,   393,    94,    98,    44,   531,
        !          1851:     83,    84,   368,    51,    51,    44,    51,   237,   353,   354,
        !          1852:    384,     1,   531,   411,    55,    95,   356,   104,    36,    66,
        !          1853:    104,   104,    51,   389,   109,    51,    86,   393,   105,   395,
        !          1854:    396,    44,    95,    93,    55,   697,    10,    83,    84,   269,
        !          1855:    451,   605,   576,   607,    83,    84,   444,   581,     1,   697,
        !          1856:    416,   920,    44,   491,   618,   924,   104,   287,   104,   104,
        !          1857:     50,   540,   541,   104,   475,   104,   498,   494,    51,   467,
        !          1858:     83,    84,   302,    86,   768,   104,   442,    95,   104,   445,
        !          1859:     93,    51,   776,   104,   494,   655,   650,   498,   652,   319,
        !          1860:    320,    83,   105,   491,   324,   659,    51,    50,    51,   663,
        !          1861:    330,   601,     3,     4,     3,   335,    42,     8,   546,   655,
        !          1862:      9,    66,   664,   524,    50,   667,   527,     8,    51,    26,
        !          1863:     27,   104,    50,   353,   354,    32,   356,    55,    51,     3,
        !          1864:      4,     5,    51,    66,   104,    44,   568,    51,   576,    51,
        !          1865:     41,   105,   106,   581,    51,    46,    53,    21,   546,   713,
        !          1866:     16,   715,     7,     8,   718,   106,    22,   505,    13,     1,
        !          1867:     61,     3,     4,     5,     6,     7,     8,   605,    46,   607,
        !          1868:     71,    13,    46,    39,    83,    84,     3,  1046,   576,    44,
        !          1869:     35,   104,    83,   581,    44,   104,    28,    42,    53,    44,
        !          1870:    104,   932,   104,    35,    95,   104,    62,    50,   105,    41,
        !          1871:     42,    99,    55,   577,    46,    51,   107,   605,   582,   607,
        !          1872:     51,   559,   105,    51,   109,   597,    26,    27,    83,    61,
        !          1873:     55,    95,    83,    83,    98,    83,   653,    51,    83,    71,
        !          1874:     51,    51,   106,   463,   464,    44,   652,   467,    51,  1225,
        !          1875:     51,    83,    38,   109,    83,   652,     3,     4,    51,   115,
        !          1876:    116,   117,   822,    95,   652,   819,   735,   736,   104,   820,
        !          1877:   1129,   825,  1131,   104,   130,   107,   104,   699,   679,   667,
        !          1878:    749,   750,   833,   834,    83,    84,   822,   829,   830,   711,
        !          1879:    104,   147,    83,   104,   104,   151,    51,   839,   840,    44,
        !          1880:    854,   104,    10,   104,    44,   104,   857,   858,   672,   697,
        !          1881:    711,   104,    51,    51,     3,     4,   105,   106,   174,   104,
        !          1882:    540,   541,    53,   813,   816,   817,   106,   728,    44,   786,
        !          1883:     44,   753,    44,   105,   106,     3,     4,    44,    83,   711,
        !          1884:    104,   729,   198,    83,    84,   201,    86,   203,    44,   104,
        !          1885:    104,    44,    41,    93,     3,    44,   576,    46,    47,   109,
        !          1886:    216,   581,    44,    50,  1048,   104,   729,    83,    84,    83,
        !          1887:     84,    83,    61,    41,    44,   109,    83,   597,    46,    47,
        !          1888:     44,   237,    71,   105,   106,   936,   242,    83,    84,    78,
        !          1889:     83,   779,   248,    61,    83,    84,   106,    44,   786,   729,
        !          1890:    764,    83,    44,    71,    46,   104,    95,   808,   109,   773,
        !          1891:     78,   105,   106,    83,  1088,    83,   779,     3,   107,    83,
        !          1892:    971,   104,   278,    65,   846,  1109,    86,    95,  1102,   817,
        !          1893:    768,  1105,    51,    93,   769,   799,    83,   105,   776,   107,
        !          1894:     83,    83,    26,    27,   664,   105,   302,   667,   104,   779,
        !          1895:     32,     3,     4,     5,     6,     7,     8,   858,   104,    44,
        !          1896:    104,    13,   984,   319,   320,    50,    50,   887,   324,    46,
        !          1897:     55,    55,   104,   874,   330,   876,    28,    86,    55,   335,
        !          1898:     71,    72,    73,    35,    93,  1143,  1144,  1038,    65,    41,
        !          1899:     42,   711,    53,   950,    46,    47,   105,   353,    83,   887,
        !          1900:    888,   105,   106,    51,   876,   104,   878,   895,   896,    61,
        !          1901:    898,  1062,   104,   869,   902,   735,   736,   873,    35,    71,
        !          1902:     55,    56,   378,    34,   880,   888,    78,  1078,   109,   749,
        !          1903:    750,    83,   895,   896,   109,   898,   105,   106,   105,   902,
        !          1904:     44,   105,   106,    95,   932,   105,   106,  1101,   105,   769,
        !          1905:   1104,   886,   887,   105,   105,   107,   105,    61,   888,   779,
        !          1906:    105,   106,   950,   105,   928,   895,   896,    71,   898,   932,
        !          1907:    209,   210,   902,   109,    78,  1126,   977,  1128,    61,    83,
        !          1908:     84,   104,     6,     7,     8,   104,    51,  1141,   444,    13,
        !          1909:      5,  1142,  1114,   109,  1145,    55,    55,   985,    83,    26,
        !          1910:     27,    53,   932,   104,   104,   104,   104,   463,   464,   829,
        !          1911:    830,    35,     6,     7,     8,   104,    55,  1107,    42,    13,
        !          1912:     44,  1022,   985,    50,    53,   109,  1148,  1149,    55,   985,
        !          1913:    986,   109,    83,    53,    53,   491,   106,   993,   121,  1027,
        !          1914:    104,    35,   109,  1031,    55,  1009,  1138,  1139,    42,  1021,
        !          1915:   1014,    95,  1069,    55,  1205,   985,   876,    55,   878,    83,
        !          1916:    109,  1062,  1068,   104,  1027,    53,   886,   887,  1031,   104,
        !          1917:    104,  1068,  1194,   104,    83,    55,  1032,  1033,   104,  1043,
        !          1918:   1068,   104,   902,   104,   540,   541,   104,  1051,    83,   106,
        !          1919:      3,     4,    83,     6,     7,     8,  1084,  1027,    55,   105,
        !          1920:    105,  1031,    50,    50,     8,     7,     8,  1095,   105,    15,
        !          1921:   1048,    13,   932,   196,     3,     4,    53,     6,     7,     8,
        !          1922:     55,  1084,    35,     3,    51,  1081,  1248,  1249,   104,  1251,
        !          1923:   1252,   104,  1095,    35,     3,     4,    49,    50,  1094,    55,
        !          1924:     42,   597,    44,   105,   105,   105,    35,   105,  1270,   105,
        !          1925:     83,  1139,     3,     4,  1084,   238,   105,    53,    83,   105,
        !          1926:     49,    50,   106,    53,    84,  1095,  1154,    84,    16,  1157,
        !          1927:    106,  1109,    41,   105,   105,  1113,   104,    46,    47,   105,
        !          1928:     49,    83,    95,  1240,   105,    50,    55,   100,   101,   102,
        !          1929:     41,  1154,    61,   105,  1157,    46,    69,    70,    71,    72,
        !          1930:     73,  1021,    71,    55,   105,  1193,    95,   105,   664,    78,
        !          1931:     61,   100,   101,   102,    83,    53,   104,   104,    51,   104,
        !          1932:     71,   304,   305,   104,  1154,   104,    95,  1157,   105,  1217,
        !          1933:   1193,   109,    83,   109,   105,    10,    90,   105,   107,     9,
        !          1934:     83,   697,   105,    51,    95,   104,    83,  1203,  1204,  1250,
        !          1935:    333,   104,  1240,  1225,  1217,   711,   107,    44,    51,   105,
        !          1936:     47,     4,     5,  1193,     7,     8,    10,     9,   351,   104,
        !          1937:     13,   105,   104,   104,    61,     1,    10,  1233,   105,   735,
        !          1938:    736,   126,     1,     2,    71,    28,     0,  1217,     0,   289,
        !          1939:    697,    78,    35,   749,   750,     2,    83,    84,    24,    42,
        !          1940:     26,    27,   127,    22,   387,   127,    32,   711,   138,   498,
        !          1941:    121,   752,    31,   769,   411,     8,  1064,   985,   165,   886,
        !          1942:    330,    40,   276,  1134,    50,    51,   808,    53,   411,    55,
        !          1943:    786,   414,   415,   681,   417,   418,   419,   420,   421,   422,
        !          1944:    423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
        !          1945:    433,    44,    95,    31,    31,   753,   568,   440,   441,   732,
        !          1946:     86,   817,   902,   779,   354,   475,   679,    93,    61,   324,
        !          1947:    730,     1,     2,   829,   830,   458,  1028,  1234,    71,   105,
        !          1948:      4,     5,  1084,     7,     8,    78,  1236,   470,   248,    13,
        !          1949:     83,    84,    22,  1021,   477,    -1,   115,   116,   117,   786,
        !          1950:     -1,    31,    44,    -1,    28,  1225,    -1,    -1,   127,    39,
        !          1951:     40,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
        !          1952:    876,    -1,   878,     7,     8,    49,    -1,    -1,   147,    13,
        !          1953:    886,    -1,   151,    75,    76,    -1,   519,    79,    80,    81,
        !          1954:     82,    83,    84,    -1,   527,     3,     4,     5,     6,     7,
        !          1955:      8,    35,    -1,    -1,    -1,    13,    -1,    -1,    42,    83,
        !          1956:     44,    -1,    -1,   546,    -1,    -1,    -1,    -1,    -1,    -1,
        !          1957:     28,    95,    -1,    -1,   193,    -1,    -1,    35,    -1,    -1,
        !          1958:     -1,    -1,   201,    41,    42,   115,   116,   117,    46,    47,
        !          1959:     -1,   574,   575,    -1,   950,    -1,    -1,   127,    -1,    83,
        !          1960:    130,   131,     1,    61,     3,     4,     5,     6,     7,     8,
        !          1961:      7,     8,    -1,    71,    13,    -1,    13,   147,    -1,    -1,
        !          1962:     78,   151,   605,    -1,   607,    83,    -1,    26,    27,    28,
        !          1963:     -1,    -1,    -1,    -1,    -1,   618,    35,    95,    35,   622,
        !          1964:     39,    -1,    41,    42,   174,    42,    45,    46,    -1,   107,
        !          1965:     -1,     3,     4,    -1,    -1,    -1,     8,    -1,    -1,    -1,
        !          1966:     -1,    -1,    61,   193,    -1,  1021,    -1,   650,   287,   652,
        !          1967:     -1,   201,    71,    -1,    -1,    -1,   659,    -1,    -1,    -1,
        !          1968:    663,    -1,    -1,    44,    83,    -1,   216,    -1,    -1,    41,
        !          1969:     -1,    -1,    -1,    -1,    46,   678,    95,    96,    97,    -1,
        !          1970:    319,   320,    -1,    20,    21,   324,   105,   237,   107,    61,
        !          1971:     -1,    -1,  1068,   243,    75,    76,   335,    -1,    79,    71,
        !          1972:     81,    -1,    83,    84,    -1,     1,    78,    -1,    -1,    -1,
        !          1973:    713,    83,   715,    -1,    -1,   718,    -1,   356,   721,    -1,
        !          1974:     -1,    -1,    59,    95,    -1,    -1,    -1,    -1,    24,    -1,
        !          1975:     26,    27,    -1,    -1,    -1,   107,    32,   287,     1,    76,
        !          1976:      3,     4,     5,     6,     7,     8,    -1,    -1,    44,    -1,
        !          1977:     13,    -1,    -1,    -1,    50,    51,    -1,    53,   761,    55,
        !          1978:      6,     7,     8,  1139,    -1,    28,    -1,    13,    -1,   319,
        !          1979:    320,    -1,    35,    36,   324,    -1,    -1,    -1,    41,    42,
        !          1980:    330,    -1,    -1,    46,    -1,   335,    -1,    83,    84,    35,
        !          1981:     86,    -1,    55,    -1,    -1,    -1,    42,    93,    61,    -1,
        !          1982:     -1,    -1,    -1,   353,   354,   808,   356,   810,    71,   105,
        !          1983:     -1,   148,   149,    -1,    -1,    -1,   819,   820,    -1,    -1,
        !          1984:     83,    -1,   825,    -1,   463,   464,    -1,    -1,   467,    -1,
        !          1985:    833,   834,    95,    -1,    -1,    -1,     1,    -1,    -1,    -1,
        !          1986:     -1,    -1,   105,   106,   107,    -1,    -1,    -1,    -1,  1225,
        !          1987:     -1,   854,    -1,    -1,   857,   858,    -1,    -1,   195,    24,
        !          1988:     -1,    26,    27,    -1,  1240,   202,    -1,    32,    -1,    -1,
        !          1989:      0,     1,    -1,     3,     4,     5,     6,     7,     8,    44,
        !          1990:     -1,    -1,    -1,    13,    -1,    50,    51,    -1,    53,    -1,
        !          1991:     55,    -1,    -1,    -1,    -1,    -1,    26,    27,    28,    -1,
        !          1992:     -1,   540,   541,   453,    -1,    35,    -1,    -1,    -1,    39,
        !          1993:     -1,    41,    42,   463,   464,    45,    46,   467,    83,    84,
        !          1994:     -1,    86,    -1,   926,   927,    -1,    -1,   264,    93,   266,
        !          1995:    267,    61,    -1,   936,    -1,    -1,    -1,   576,    -1,    -1,
        !          1996:    105,    71,   581,    64,    65,    66,    67,    68,    69,    70,
        !          1997:     71,    72,    73,    83,    63,    64,    65,    66,    67,    68,
        !          1998:     69,    70,    71,    72,    73,    95,    96,    97,   971,    -1,
        !          1999:    973,    -1,    -1,    -1,    -1,   105,     1,   107,     3,     4,
        !          2000:      5,     6,     7,     8,   321,   322,     3,     4,    13,    -1,
        !          2001:    540,   541,    -1,    -1,    -1,   332,    -1,    -1,    -1,    -1,
        !          2002:     -1,    26,    27,    28,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2003:     35,    -1,    -1,    -1,    39,    -1,    41,    42,    -1,    -1,
        !          2004:     45,    46,    -1,    -1,    41,   664,   576,    44,   667,    46,
        !          2005:     47,   581,    49,    -1,    -1,  1038,    61,    -1,    55,    -1,
        !          2006:     -1,    -1,  1045,    -1,    61,    -1,    71,    67,    68,    69,
        !          2007:     70,    71,    72,    73,    71,    -1,    -1,    -1,    83,  1062,
        !          2008:     -1,    78,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
        !          2009:     95,    96,    97,    -1,    -1,  1078,    -1,    -1,    95,    -1,
        !          2010:    105,   106,   107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2011:    107,    -1,    -1,    -1,    -1,    -1,   735,   736,  1101,    -1,
        !          2012:     -1,  1104,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
        !          2013:    749,   750,     4,     5,   664,     7,     8,   667,    -1,    -1,
        !          2014:     -1,    13,    -1,  1126,    -1,  1128,    -1,    -1,   465,    -1,
        !          2015:     -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,  1141,  1142,
        !          2016:    779,    -1,  1145,    35,    -1,    37,    38,    -1,    -1,    -1,
        !          2017:     42,    43,    44,   490,    -1,     3,     4,    -1,    -1,    51,
        !          2018:     52,    53,    54,    -1,    -1,    57,    58,    59,    60,    61,
        !          2019:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
        !          2020:     72,    73,    -1,    75,    76,   735,   736,    79,    80,    -1,
        !          2021:    829,   830,    84,    41,    -1,    -1,    -1,    -1,    46,   749,
        !          2022:    750,    -1,  1205,    95,    -1,   542,   543,    -1,   545,    -1,
        !          2023:     -1,    -1,    -1,    61,    -1,   107,   108,    -1,    -1,   769,
        !          2024:    557,   558,    -1,    71,    -1,    -1,    -1,    -1,    -1,   779,
        !          2025:     78,    -1,    -1,    -1,    -1,    83,   573,    -1,    -1,    -1,
        !          2026:     -1,    -1,    24,   580,    26,    27,    -1,    95,   887,    -1,
        !          2027:     32,    -1,   589,   590,   591,    -1,    -1,    -1,    -1,   107,
        !          2028:     -1,    -1,    -1,   902,    46,    -1,    -1,   604,    50,   606,
        !          2029:     -1,    53,   609,    -1,    -1,    -1,    -1,    -1,    -1,   829,
        !          2030:    830,    -1,    -1,    65,    -1,     1,    -1,     3,     4,     5,
        !          2031:      6,     7,     8,   932,    -1,    -1,    -1,    13,    -1,    -1,
        !          2032:      3,     4,    84,    -1,    86,     8,    -1,    -1,    -1,    -1,
        !          2033:     -1,    93,    28,    -1,    -1,    -1,    -1,    -1,    -1,    35,
        !          2034:     36,    -1,    -1,    -1,   106,    41,    42,    -1,   665,   666,
        !          2035:     46,    -1,    -1,    -1,    -1,    -1,   886,   887,    41,    55,
        !          2036:     -1,    44,    -1,    46,    -1,    61,    -1,    -1,    -1,   686,
        !          2037:    687,    -1,   902,   690,    -1,    71,    -1,    -1,    61,    -1,
        !          2038:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    83,    71,    -1,
        !          2039:     -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    95,
        !          2040:     83,    84,   932,    -1,    -1,    -1,    -1,    -1,    -1,   105,
        !          2041:    106,   107,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2042:     -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,   745,   746,
        !          2043:    747,    -1,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2044:      9,    10,    -1,    12,    13,    14,    15,    16,    17,    18,
1.1.1.2   root     2045:     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1.1.1.5 ! root     2046:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          2047:     -1,    40,    41,    42,     3,     4,    -1,    46,    -1,    -1,
        !          2048:     49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
        !          2049:      3,     4,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2050:     69,    70,    71,     3,     4,    -1,    75,    76,    -1,     3,
        !          2051:      4,    -1,    41,    -1,    83,    44,    85,    46,    87,    88,
        !          2052:     89,    -1,    91,    92,    93,   842,    95,    -1,    41,    -1,
        !          2053:     -1,    -1,    61,    46,    47,    -1,   105,   106,   107,   108,
        !          2054:     -1,    41,    71,    -1,    -1,    -1,    46,    41,    61,    78,
        !          2055:     -1,    -1,    46,    47,    83,    84,    -1,    -1,    71,    -1,
        !          2056:     -1,    61,    -1,    -1,    -1,    78,    95,    61,    -1,    -1,
        !          2057:     83,    71,    -1,    -1,    -1,    -1,    -1,    71,   107,    -1,
        !          2058:     -1,    -1,    95,    83,    78,    -1,    -1,    -1,    -1,    83,
        !          2059:    907,   908,   909,    -1,   107,    95,    -1,    -1,    -1,    -1,
        !          2060:     -1,    95,    -1,    -1,    -1,    -1,   923,   107,    -1,    -1,
        !          2061:     -1,   105,    -1,   107,   931,    -1,    -1,    -1,    -1,    -1,
        !          2062:    937,   938,   939,   940,   941,   942,     1,    -1,     3,     4,
1.1.1.3   root     2063:      5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
                   2064:     -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1.1.1.5 ! root     2065:     25,    26,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2066:     35,    -1,    37,    38,    -1,    40,    41,    42,    -1,    -1,
        !          2067:     -1,    46,    -1,    -1,    49,    50,    -1,    -1,    -1,    -1,
        !          2068:     -1,     4,     5,    58,     7,     8,    61,    -1,    -1,    -1,
        !          2069:     13,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,
        !          2070:     75,    76,    -1,    -1,    -1,    28,    -1,    -1,    83,    -1,
        !          2071:     85,    -1,    35,    88,    -1,    -1,    91,    92,    93,    42,
        !          2072:     95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2073:    105,   106,   107,   108,     1,    -1,     3,     4,     5,     6,
        !          2074:      7,     8,     9,    10,    -1,    12,    13,    14,    -1,    16,
        !          2075:     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
        !          2076:     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2077:     37,    38,    95,    40,    41,    42,    -1,    -1,    -1,    46,
        !          2078:     -1,    -1,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2079:     -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
        !          2080:     -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,
        !          2081:     -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,
        !          2082:     -1,    88,    -1,    -1,    91,    92,    93,    -1,    95,    -1,
        !          2083:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,
        !          2084:    107,   108,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2085:      9,    10,    -1,    12,    13,    14,    -1,    16,    17,    18,
        !          2086:     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
        !          2087:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          2088:     -1,    40,    41,    42,    -1,    -1,    -1,    46,    -1,    -1,
        !          2089:     49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
        !          2090:     -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2091:     69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,
        !          2092:     -1,    -1,    -1,    -1,    83,    -1,    85,    -1,    -1,    88,
        !          2093:     -1,    -1,    91,    92,    93,    -1,    95,    -1,    -1,    -1,
        !          2094:     -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,
1.1.1.2   root     2095:      1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
1.1.1.3   root     2096:     -1,    12,    13,    14,    -1,    16,    17,    18,    19,    20,
                   2097:     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1.1.1.5 ! root     2098:     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
        !          2099:     41,    42,    -1,    -1,    -1,    46,    -1,    -1,    49,    50,
        !          2100:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
        !          2101:     61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
        !          2102:     71,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,
        !          2103:     -1,    -1,    83,    -1,    85,    -1,    -1,    88,    -1,    -1,
        !          2104:     91,    92,    93,    -1,    95,    -1,    -1,    -1,    -1,    -1,
        !          2105:     -1,    -1,    -1,    -1,   105,   106,   107,   108,     1,    -1,
        !          2106:      3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
        !          2107:     13,    14,    -1,    16,    17,    18,    19,    20,    21,    22,
        !          2108:     23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
        !          2109:     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    42,
        !          2110:     -1,    -1,    -1,    46,    -1,    -1,    49,    50,    -1,    -1,
        !          2111:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,
        !          2112:     -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,
        !          2113:     -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2114:     83,    -1,    85,    -1,    -1,    88,    -1,    -1,    91,    92,
        !          2115:     93,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2116:     -1,    -1,   105,   106,   107,   108,     1,    -1,     3,     4,
        !          2117:      5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
        !          2118:     -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
        !          2119:     25,    26,    27,    28,    29,    30,    31,    -1,    33,    -1,
        !          2120:     35,    -1,    37,    38,    -1,    40,    41,    42,    -1,    -1,
        !          2121:     -1,    46,    -1,    -1,    49,    50,    -1,    -1,    -1,    -1,
        !          2122:     -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,
        !          2123:     -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,
        !          2124:     75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,
        !          2125:     85,    -1,    -1,    88,    -1,    -1,    91,    92,    93,    -1,
        !          2126:     95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2127:    105,   106,   107,   108,     1,    -1,     3,     4,     5,     6,
        !          2128:      7,     8,     9,    10,    -1,    12,    13,    14,    -1,    16,
        !          2129:     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
        !          2130:     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2131:     37,    38,    -1,    40,    41,    42,    -1,    -1,    -1,    46,
        !          2132:     -1,    -1,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2133:     -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
        !          2134:     -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,
        !          2135:     -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,
        !          2136:     -1,    88,    -1,    -1,    91,    92,    93,    -1,    95,    -1,
        !          2137:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,
        !          2138:    107,   108,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2139:      9,    10,    -1,    12,    13,    14,    -1,    16,    17,    18,
        !          2140:     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
        !          2141:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          2142:     -1,    40,    41,    42,    -1,    -1,    -1,    46,    -1,    -1,
        !          2143:     49,    50,    -1,    -1,    -1,    -1,    -1,     4,     5,    58,
        !          2144:      7,     8,    61,    -1,    -1,    -1,    13,    -1,    -1,    -1,
        !          2145:     69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,
        !          2146:     -1,    28,    -1,    -1,    83,    -1,    85,    -1,    35,    88,
        !          2147:     -1,    -1,    91,    92,    93,    42,    95,    -1,    -1,    -1,
        !          2148:     -1,    -1,    49,    -1,    -1,    -1,   105,    -1,   107,   108,
        !          2149:      1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
        !          2150:     11,    12,    13,    61,    62,    63,    64,    65,    66,    67,
        !          2151:     68,    69,    70,    71,    72,    73,    83,    28,    29,    30,
        !          2152:     31,    -1,    33,    -1,    35,    -1,    37,    38,    95,    40,
        !          2153:     41,    42,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,
        !          2154:     -1,    -1,     4,     5,     6,     7,     8,    58,    -1,    -1,
        !          2155:     61,    13,    -1,    -1,    -1,    -1,     3,     4,    69,    70,
        !          2156:     71,    -1,    -1,    -1,    75,    76,    28,    -1,    -1,    -1,
        !          2157:     -1,    -1,    83,    35,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2158:     42,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,
        !          2159:     -1,    -1,    -1,   104,    41,    -1,   107,   108,     1,    46,
1.1.1.3   root     2160:      3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
1.1.1.5 ! root     2161:     13,    -1,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
        !          2162:     -1,    -1,    -1,    -1,    71,    28,    29,    30,    31,    -1,
        !          2163:     33,    78,    35,    95,    37,    38,    83,    40,    41,    42,
        !          2164:     -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,    95,    -1,
        !          2165:      4,     5,     6,     7,     8,    58,    -1,    -1,    61,    13,
        !          2166:    107,    -1,    -1,    -1,     3,     4,    69,    70,    71,    -1,
        !          2167:     -1,    -1,    75,    76,    28,    -1,    -1,    -1,    -1,    -1,
        !          2168:     83,    35,    -1,    -1,    -1,    -1,    -1,    -1,    42,    -1,
        !          2169:     -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2170:     -1,   104,    41,    -1,   107,   108,     1,    46,     3,     4,
        !          2171:      5,     6,     7,     8,     9,    10,    11,    12,    13,    -1,
        !          2172:     -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2173:     -1,    -1,    71,    28,    29,    30,    31,    -1,    33,    78,
        !          2174:     35,    95,    37,    38,    83,    40,    41,    42,    -1,    -1,
        !          2175:     -1,    46,    -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,
        !          2176:     -1,    -1,    -1,    58,    -1,    -1,    61,    -1,   107,    -1,
        !          2177:     -1,    -1,     3,     4,    69,    70,    71,    -1,    -1,    -1,
        !          2178:     75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,
        !          2179:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,
        !          2180:     95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
        !          2181:     41,    -1,   107,   108,     1,    46,     3,     4,     5,     6,
        !          2182:      7,     8,     9,    10,    11,    12,    13,    -1,    -1,    -1,
        !          2183:     61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2184:     71,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2185:     37,    38,    83,    40,    41,    42,    -1,    -1,    -1,    46,
        !          2186:     -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,
        !          2187:     -1,    58,    -1,    -1,    61,    -1,   107,    -1,    -1,    -1,
        !          2188:     -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,
        !          2189:     -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,
        !          2190:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    95,    -1,
        !          2191:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,
        !          2192:    107,   108,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2193:      9,    10,    11,    12,    13,    60,    61,    62,    63,    64,
        !          2194:     65,    66,    67,    68,    69,    70,    71,    72,    73,    28,
        !          2195:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          2196:     -1,    40,    41,    42,    -1,    -1,    -1,    46,    -1,    -1,
        !          2197:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
        !          2198:     -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2199:     69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,
        !          2200:     -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,
        !          2201:     -1,    -1,    -1,    -1,    -1,    94,    95,    -1,    -1,    -1,
        !          2202:     -1,    -1,    -1,    -1,    -1,   104,    -1,    -1,   107,   108,
1.1.1.2   root     2203:      1,    -1,     3,     4,     5,    -1,     7,     8,     9,    10,
1.1.1.5 ! root     2204:     -1,    12,    13,    62,    63,    64,    65,    66,    67,    68,
        !          2205:     69,    70,    71,    72,    73,    -1,    -1,    28,    29,    30,
        !          2206:     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
        !          2207:     41,    42,    -1,    -1,    -1,    46,    -1,    -1,    -1,    50,
        !          2208:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
        !          2209:     61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
        !          2210:     71,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,
        !          2211:     -1,    -1,    83,    84,     1,    -1,     3,     4,     5,    -1,
        !          2212:      7,     8,     9,    10,    95,    12,    13,    -1,    -1,    -1,
        !          2213:     -1,    -1,    -1,    20,    -1,   106,   107,   108,    -1,    -1,
        !          2214:     -1,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2215:     37,    38,    -1,    40,    41,    42,    -1,    -1,    -1,    46,
        !          2216:     -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2217:     -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
        !          2218:     -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,
        !          2219:     -1,    -1,    -1,    -1,    -1,     1,    83,     3,     4,     5,
        !          2220:      6,     7,     8,     9,    10,    -1,    12,    13,    95,    -1,
        !          2221:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,
        !          2222:    107,   108,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2223:     -1,    37,    38,    -1,    40,    41,    42,    -1,    -1,    -1,
        !          2224:     46,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
        !          2225:     -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,
        !          2226:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,
        !          2227:     76,    -1,    -1,    -1,    -1,    -1,     1,    83,     3,     4,
        !          2228:      5,    -1,     7,     8,     9,    10,    -1,    12,    13,    95,
        !          2229:     -1,    -1,    -1,    -1,    -1,    20,    -1,    -1,    -1,   105,
        !          2230:     -1,   107,   108,    28,    29,    30,    31,    -1,    33,    -1,
        !          2231:     35,    -1,    37,    38,    -1,    40,    41,    42,    -1,    -1,
        !          2232:     -1,    46,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,
        !          2233:     -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,
        !          2234:     -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,
        !          2235:     75,    76,    -1,    -1,    -1,    -1,    -1,     1,    83,     3,
        !          2236:      4,     5,    -1,     7,     8,     9,    10,    -1,    12,    13,
        !          2237:     95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2238:     -1,   106,   107,   108,    28,    29,    30,    31,    -1,    33,
        !          2239:     -1,    35,    -1,    37,    38,    -1,    40,    41,    42,    -1,
        !          2240:     -1,    -1,    46,    -1,    -1,    -1,    50,    -1,    -1,    -1,
        !          2241:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
        !          2242:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
        !          2243:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
        !          2244:     84,     1,    -1,     3,     4,     5,    -1,     7,     8,     9,
        !          2245:     10,    95,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2246:     -1,    -1,    -1,   107,   108,    -1,    -1,    -1,    28,    29,
        !          2247:     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
        !          2248:     40,    41,    42,    -1,    -1,    -1,    46,    -1,    -1,    -1,
        !          2249:     50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,
        !          2250:     -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
        !          2251:     70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,
        !          2252:     -1,    -1,     1,    83,     3,     4,     5,    -1,     7,     8,
        !          2253:      9,    10,    -1,    12,    13,    95,    -1,    -1,    -1,    -1,
        !          2254:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,   108,    28,
        !          2255:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
        !          2256:     -1,    40,    41,    42,    -1,    -1,    -1,    46,    -1,    -1,
        !          2257:     -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
        !          2258:     -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2259:     69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,
        !          2260:     -1,    -1,    -1,     1,    83,     3,     4,     5,    -1,     7,
        !          2261:      8,     9,    10,    -1,    12,    13,    95,    -1,    -1,    -1,
        !          2262:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,   108,
        !          2263:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2264:     38,    -1,    40,    41,    42,    -1,    -1,    -1,    46,    -1,
        !          2265:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    55,    -1,    -1,
        !          2266:     58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2267:     -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,
        !          2268:     -1,    -1,    -1,    -1,     1,    83,     3,     4,     5,    -1,
        !          2269:      7,     8,     9,    10,    -1,    12,    13,    95,    -1,    -1,
        !          2270:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
        !          2271:    108,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2272:     37,    38,    -1,    40,    41,    42,    -1,    -1,    -1,    46,
1.1.1.4   root     2273:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5 ! root     2274:     -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
        !          2275:     -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,
        !          2276:     -1,    -1,    -1,    -1,    -1,     1,    83,     3,     4,     5,
        !          2277:     -1,     7,     8,     9,    10,    -1,    12,    13,    95,    -1,
        !          2278:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,
        !          2279:    107,   108,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2280:     -1,    37,    38,    -1,    40,    41,    42,    -1,    -1,    -1,
        !          2281:     46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2282:     -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,
        !          2283:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,
        !          2284:     76,    -1,    -1,    -1,    -1,    -1,     1,    83,     3,     4,
        !          2285:      5,    -1,     7,     8,     9,    10,    -1,    12,    13,    95,
        !          2286:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,    -1,
        !          2287:     -1,   107,   108,    28,    29,    30,    31,    -1,    33,    -1,
        !          2288:     35,    -1,    37,    38,    -1,    40,    41,    42,    -1,    -1,
        !          2289:     -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2290:     -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,
        !          2291:     -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,
        !          2292:     75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,     3,
        !          2293:      4,     5,    -1,     7,     8,     9,    10,    -1,    12,    13,
        !          2294:     95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2295:     -1,    -1,   107,   108,    28,    29,    30,    31,    -1,    33,
        !          2296:     -1,    35,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
        !          2297:     -1,     1,    46,     3,     4,     5,     6,     7,     8,    -1,
        !          2298:     -1,    -1,    -1,    13,    58,    -1,    -1,    61,    -1,    -1,
        !          2299:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    28,    -1,
        !          2300:     -1,    75,    76,    -1,    -1,    35,    36,    -1,    -1,    83,
        !          2301:     -1,    41,    42,    -1,    -1,    -1,    46,    -1,    -1,    -1,
        !          2302:     -1,    95,    -1,    -1,    -1,    55,    -1,    -1,    -1,    -1,
        !          2303:     -1,    61,    -1,   107,   108,   109,    -1,    -1,    -1,    -1,
        !          2304:      1,    71,     3,     4,     5,     6,     7,     8,    -1,    -1,
        !          2305:     -1,    -1,    13,    83,    -1,    -1,     1,    -1,     3,     4,
        !          2306:      5,     6,     7,     8,    -1,    95,    -1,    28,    13,    -1,
        !          2307:     -1,    -1,    -1,    -1,    35,    36,   106,   107,    -1,    -1,
        !          2308:     41,    42,    -1,    28,    -1,    46,    -1,    -1,    -1,    -1,
        !          2309:     35,    -1,    -1,    -1,    55,    -1,    41,    42,    -1,    -1,
        !          2310:     61,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2311:     71,    -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    -1,
        !          2312:     -1,    -1,    83,    -1,    -1,    -1,    71,    -1,    -1,    -1,
        !          2313:     -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,    83,    -1,
        !          2314:     -1,    -1,    -1,    -1,    -1,   106,   107,    -1,    -1,    -1,
        !          2315:     95,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2316:    105,    -1,   107,     3,     4,     5,     6,     7,     8,     9,
        !          2317:     10,    -1,    12,    13,    14,    -1,    16,    17,    18,    19,
        !          2318:     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
        !          2319:     30,    31,    -1,    33,    -1,    35,    -1,    37,    -1,    -1,
        !          2320:     40,    41,    42,    -1,    -1,    -1,    46,    -1,    -1,    49,
        !          2321:     50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,
        !          2322:     -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
        !          2323:     70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,
        !          2324:     -1,    -1,    -1,    83,    -1,    85,    -1,    -1,    88,    -1,
        !          2325:     -1,    91,    92,    93,    -1,    95,    -1,    -1,    -1,    -1,
        !          2326:     -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,     3,
        !          2327:      4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
        !          2328:     14,    -1,    16,    17,    18,    19,    20,    21,    22,    23,
        !          2329:     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
        !          2330:     -1,    35,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
        !          2331:     -1,    -1,    46,    -1,    -1,    49,    50,    -1,    -1,    -1,
        !          2332:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
        !          2333:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
        !          2334:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
        !          2335:     -1,    85,    -1,    -1,    88,    -1,    -1,    91,    92,    93,
        !          2336:     -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2337:     -1,   105,    -1,   107,   108,     3,     4,     5,     6,     7,
        !          2338:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
        !          2339:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
        !          2340:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2341:     -1,    -1,    40,    41,    42,    -1,    -1,    -1,    46,    -1,
        !          2342:     -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2343:     58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2344:     -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,
        !          2345:     -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,    -1,
        !          2346:     88,    -1,    -1,    91,    92,    93,    -1,    95,    -1,    -1,
        !          2347:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,   107,
        !          2348:    108,     3,     4,     5,    -1,     7,     8,     9,    10,    -1,
        !          2349:     12,    13,     4,     5,     6,     7,     8,    -1,    -1,    11,
        !          2350:     -1,    13,    -1,    -1,    -1,    -1,    28,    29,    30,    31,
        !          2351:     -1,    33,    -1,    35,    -1,    37,    28,    -1,    40,    41,
        !          2352:     42,    -1,    -1,    35,    46,     3,     4,     5,    -1,     7,
        !          2353:     42,    -1,    -1,    -1,    -1,    13,    58,    -1,    -1,    61,
        !          2354:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,
        !          2355:     28,    -1,    -1,    75,    76,    -1,    -1,    35,    -1,    37,
        !          2356:     -1,    83,    84,    41,    42,     3,     4,     5,    46,     7,
        !          2357:      8,     9,    10,    95,    12,    13,    -1,    -1,    -1,    -1,
        !          2358:     -1,    -1,    94,    95,    -1,   107,   108,    -1,    -1,    -1,
        !          2359:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2360:     -1,    -1,    40,    41,    42,    -1,    -1,    -1,    46,    -1,
        !          2361:     -1,    -1,    50,    -1,    -1,    -1,    -1,    95,    -1,    -1,
        !          2362:     58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2363:     -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,
        !          2364:     -1,    -1,    -1,    -1,    -1,    83,     3,     4,     5,    -1,
        !          2365:      7,     8,     9,    10,    -1,    12,    13,    95,    -1,    -1,
        !          2366:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
        !          2367:    108,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2368:     37,    -1,    -1,    40,    41,    42,    -1,    -1,    -1,    46,
1.1.1.4   root     2369:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5 ! root     2370:     -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
        !          2371:     -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,
        !          2372:     -1,    -1,    -1,    -1,    -1,    -1,    83,     3,     4,     5,
        !          2373:     -1,     7,     8,     9,    10,    -1,    12,    13,    95,    -1,
        !          2374:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,
        !          2375:    107,   108,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2376:     -1,    37,    -1,    -1,    40,    41,    42,    -1,    -1,    -1,
        !          2377:     46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2378:     -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,
        !          2379:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,
        !          2380:     76,    -1,    -1,    -1,    -1,    -1,    -1,    83,     3,     4,
        !          2381:      5,    -1,     7,     8,     9,    10,    -1,    12,    13,    95,
        !          2382:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
        !          2383:     -1,   107,   108,    28,    29,    30,    31,    -1,    33,    -1,
        !          2384:     35,    -1,    37,    -1,    -1,    40,    41,    42,    -1,    -1,
        !          2385:     -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2386:     -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,
        !          2387:     -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,
        !          2388:     75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,     3,
        !          2389:      4,     5,    -1,     7,     8,     9,    10,    -1,    12,    13,
        !          2390:     95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2391:     -1,    -1,   107,   108,    28,    29,    30,    31,    -1,    33,
        !          2392:     -1,    35,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
        !          2393:     -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2394:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
        !          2395:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
        !          2396:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
        !          2397:      3,     4,     5,    -1,     7,     8,     9,    10,    -1,    12,
        !          2398:     13,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2399:     -1,    -1,    -1,   107,   108,    28,    29,    30,    31,    -1,
        !          2400:     33,    -1,    35,    -1,    37,    -1,    -1,    40,    41,    42,
        !          2401:     -1,    -1,    -1,    46,     3,     4,     5,    -1,     7,     8,
        !          2402:      9,    10,    -1,    12,    13,    58,    -1,    -1,    61,    -1,
        !          2403:     -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,    28,
        !          2404:     29,    -1,    75,    76,    33,    -1,    35,    -1,    37,    -1,
        !          2405:     83,    40,    41,    42,    -1,    -1,    -1,    46,    -1,    -1,
        !          2406:     -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    58,
        !          2407:     -1,    -1,    61,    -1,   107,   108,    -1,    -1,    -1,    -1,
        !          2408:     69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,
        !          2409:     -1,     3,     4,     5,    83,     7,     8,     9,    10,    -1,
        !          2410:     12,    13,    -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,
        !          2411:     -1,    -1,    -1,    -1,    -1,    -1,    28,    29,   107,   108,
        !          2412:     -1,    33,    -1,    35,    -1,    37,    -1,    -1,    40,    41,
        !          2413:     42,    -1,    -1,    -1,    46,     3,     4,     5,     6,     7,
        !          2414:      8,    -1,    -1,    -1,    -1,    13,    58,    -1,    -1,    61,
        !          2415:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,
        !          2416:     28,    -1,    -1,    75,    76,    -1,    -1,    35,    -1,    -1,
        !          2417:     -1,    83,    -1,    41,    42,    -1,    44,    -1,    46,    47,
        !          2418:     -1,    49,    -1,    95,    -1,    -1,    -1,    55,    -1,    -1,
        !          2419:     -1,    -1,    -1,    61,    -1,   107,   108,     3,     4,     5,
        !          2420:      6,     7,     8,    71,    -1,    11,    -1,    13,    -1,    -1,
        !          2421:     78,    -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,
        !          2422:     -1,    -1,    28,    -1,    -1,    -1,    -1,    95,    -1,    35,
        !          2423:     -1,    -1,    -1,    -1,    -1,    41,    42,    -1,    44,   107,
        !          2424:     46,    47,     3,     4,     5,     6,     7,     8,    -1,    -1,
        !          2425:     11,    -1,    13,    -1,    -1,    61,    -1,    -1,    -1,    -1,
        !          2426:     -1,    -1,    -1,    -1,    -1,    71,    -1,    28,    -1,    -1,
        !          2427:     -1,    -1,    78,    -1,    35,    -1,    -1,    83,    84,    -1,
        !          2428:     41,    42,    -1,    44,    -1,    46,    -1,    -1,    -1,    95,
1.1.1.4   root     2429:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5 ! root     2430:     61,   107,    -1,    -1,     3,     4,     5,     6,     7,     8,
        !          2431:     71,    -1,    11,    -1,    13,    -1,    -1,    78,    -1,    -1,
        !          2432:     -1,    -1,    83,    84,    -1,    -1,    -1,    -1,    -1,    28,
        !          2433:     -1,    -1,    -1,    94,    95,    -1,    35,    -1,    -1,    -1,
        !          2434:     -1,    -1,    41,    42,    -1,    -1,   107,    46,     3,     4,
        !          2435:      5,     6,     7,     8,    -1,    -1,    -1,    -1,    13,    -1,
        !          2436:     -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2437:     -1,    -1,    71,    28,     4,     5,     6,     7,     8,    78,
        !          2438:     35,    11,    -1,    13,    83,    -1,    41,    42,    -1,    -1,
        !          2439:     -1,    46,    47,    -1,    -1,    94,    95,    -1,    28,    -1,
        !          2440:     -1,    -1,    -1,    -1,    -1,    35,    61,    -1,   107,    -1,
        !          2441:     -1,    -1,    42,    -1,    44,    -1,    71,    -1,     4,     5,
        !          2442:     -1,     7,     8,    78,    -1,    -1,    -1,    13,    83,    -1,
        !          2443:     -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2444:     95,    71,    28,    -1,    -1,    -1,    -1,    -1,    78,    35,
        !          2445:    105,    -1,   107,    83,    84,    -1,    42,    -1,    44,    -1,
        !          2446:     -1,    47,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,
        !          2447:     -1,    -1,    -1,    -1,    -1,    61,    -1,    -1,    -1,    -1,
        !          2448:     -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,
        !          2449:     -1,    -1,    78,    -1,    -1,    -1,    -1,    83,    84,    -1,
        !          2450:     -1,    -1,    -1,    -1,    -1,    52,    53,    54,    -1,    95,
1.1.1.2   root     2451:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1.1.1.5 ! root     2452:     67,    68,    69,    70,    71,    72,    73,    52,    53,    54,
        !          2453:     -1,    -1,    57,    58,    59,    60,    61,    62,    63,    64,
        !          2454:     65,    66,    67,    68,    69,    70,    71,    72,    73,    -1,
        !          2455:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,
        !          2456:     -1,    -1,   109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2457:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    52,    53,    54,
        !          2458:    105,   106,    57,    58,    59,    60,    61,    62,    63,    64,
        !          2459:     65,    66,    67,    68,    69,    70,    71,    72,    73,    51,
        !          2460:     52,    53,    54,    -1,    -1,    57,    58,    59,    60,    61,
1.1.1.4   root     2461:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1.1.1.5 ! root     2462:     72,    73,    52,    53,    54,    55,    -1,    57,    58,    59,
1.1.1.4   root     2463:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1.1.1.5 ! root     2464:     70,    71,    72,    73,    52,    53,    54,    -1,    -1,    57,
        !          2465:     58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
        !          2466:     68,    69,    70,    71,    72,    73,    52,    53,    54,    -1,
        !          2467:     -1,    57,    58,    59,    60,    61,    62,    63,    64,    65,
        !          2468:     -1,    67,    68,    69,    70,    71,    72,    73,    54,    -1,
        !          2469:     -1,    57,    58,    59,    60,    61,    62,    63,    64,    65,
        !          2470:     66,    67,    68,    69,    70,    71,    72,    73,    58,    59,
1.1.1.4   root     2471:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1.1.1.5 ! root     2472:     70,    71,    72,    73,    59,    60,    61,    62,    63,    64,
        !          2473:     65,    66,    67,    68,    69,    70,    71,    72,    73
1.1       root     2474: };
                   2475: /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
                   2476: #line 3 "bison.simple"
                   2477: 
                   2478: /* Skeleton output parser for bison,
                   2479:    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
                   2480: 
                   2481:    This program is free software; you can redistribute it and/or modify
                   2482:    it under the terms of the GNU General Public License as published by
                   2483:    the Free Software Foundation; either version 1, or (at your option)
                   2484:    any later version.
                   2485: 
                   2486:    This program is distributed in the hope that it will be useful,
                   2487:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                   2488:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                   2489:    GNU General Public License for more details.
                   2490: 
                   2491:    You should have received a copy of the GNU General Public License
                   2492:    along with this program; if not, write to the Free Software
                   2493:    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
                   2494: 
                   2495: 
                   2496: #ifndef alloca
                   2497: #ifdef __GNUC__
                   2498: #define alloca __builtin_alloca
                   2499: #else /* not GNU C.  */
                   2500: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
                   2501: #include <alloca.h>
                   2502: #else /* not sparc */
                   2503: #if defined (MSDOS) && !defined (__TURBOC__)
                   2504: #include <malloc.h>
                   2505: #else /* not MSDOS, or __TURBOC__ */
                   2506: #if defined(_AIX)
                   2507: #include <malloc.h>
1.1.1.3   root     2508:  #pragma alloca
1.1       root     2509: #endif /* not _AIX */
                   2510: #endif /* not MSDOS, or __TURBOC__ */
                   2511: #endif /* not sparc.  */
                   2512: #endif /* not GNU C.  */
                   2513: #endif /* alloca not defined.  */
                   2514: 
                   2515: /* This is the parser code that is written into each bison parser
                   2516:   when the %semantic_parser declaration is not specified in the grammar.
                   2517:   It was written by Richard Stallman by simplifying the hairy parser
                   2518:   used when %semantic_parser is specified.  */
                   2519: 
                   2520: /* Note: there must be only one dollar sign in this file.
                   2521:    It is replaced by the list of actions, each action
                   2522:    as one case of the switch.  */
                   2523: 
                   2524: #define yyerrok                (yyerrstatus = 0)
                   2525: #define yyclearin      (yychar = YYEMPTY)
                   2526: #define YYEMPTY                -2
                   2527: #define YYEOF          0
                   2528: #define YYACCEPT       return(0)
                   2529: #define YYABORT        return(1)
                   2530: #define YYERROR                goto yyerrlab1
                   2531: /* Like YYERROR except do call yyerror.
                   2532:    This remains here temporarily to ease the
                   2533:    transition to the new meaning of YYERROR, for GCC.
                   2534:    Once GCC version 2 has supplanted version 1, this can go.  */
                   2535: #define YYFAIL         goto yyerrlab
                   2536: #define YYRECOVERING()  (!!yyerrstatus)
                   2537: #define YYBACKUP(token, value) \
                   2538: do                                                             \
                   2539:   if (yychar == YYEMPTY && yylen == 1)                         \
                   2540:     { yychar = (token), yylval = (value);                      \
                   2541:       yychar1 = YYTRANSLATE (yychar);                          \
                   2542:       YYPOPSTACK;                                              \
                   2543:       goto yybackup;                                           \
                   2544:     }                                                          \
                   2545:   else                                                         \
                   2546:     { yyerror ("syntax error: cannot back up"); YYERROR; }     \
                   2547: while (0)
                   2548: 
                   2549: #define YYTERROR       1
                   2550: #define YYERRCODE      256
                   2551: 
                   2552: #ifndef YYPURE
                   2553: #define YYLEX          yylex()
                   2554: #endif
                   2555: 
                   2556: #ifdef YYPURE
                   2557: #ifdef YYLSP_NEEDED
                   2558: #define YYLEX          yylex(&yylval, &yylloc)
                   2559: #else
                   2560: #define YYLEX          yylex(&yylval)
                   2561: #endif
                   2562: #endif
                   2563: 
                   2564: /* If nonreentrant, generate the variables here */
                   2565: 
                   2566: #ifndef YYPURE
                   2567: 
                   2568: int    yychar;                 /*  the lookahead symbol                */
                   2569: YYSTYPE        yylval;                 /*  the semantic value of the           */
                   2570:                                /*  lookahead symbol                    */
                   2571: 
                   2572: #ifdef YYLSP_NEEDED
                   2573: YYLTYPE yylloc;                        /*  location data for the lookahead     */
                   2574:                                /*  symbol                              */
                   2575: #endif
                   2576: 
                   2577: int yynerrs;                   /*  number of parse errors so far       */
                   2578: #endif  /* not YYPURE */
                   2579: 
                   2580: #if YYDEBUG != 0
                   2581: int yydebug;                   /*  nonzero means print parse trace     */
                   2582: /* Since this is uninitialized, it does not stop multiple parsers
                   2583:    from coexisting.  */
                   2584: #endif
                   2585: 
                   2586: /*  YYINITDEPTH indicates the initial size of the parser's stacks      */
                   2587: 
                   2588: #ifndef        YYINITDEPTH
                   2589: #define YYINITDEPTH 200
                   2590: #endif
                   2591: 
                   2592: /*  YYMAXDEPTH is the maximum size the stacks can grow to
                   2593:     (effective only if the built-in stack extension method is used).  */
                   2594: 
                   2595: #if YYMAXDEPTH == 0
                   2596: #undef YYMAXDEPTH
                   2597: #endif
                   2598: 
                   2599: #ifndef YYMAXDEPTH
                   2600: #define YYMAXDEPTH 10000
                   2601: #endif
                   2602: 
                   2603: #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
                   2604: #define __yy_bcopy(FROM,TO,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
                   2605: #else                          /* not GNU C or C++ */
                   2606: #ifndef __cplusplus
                   2607: 
                   2608: /* This is the most reliable way to avoid incompatibilities
                   2609:    in available built-in functions on various systems.  */
                   2610: static void
                   2611: __yy_bcopy (from, to, count)
                   2612:      char *from;
                   2613:      char *to;
                   2614:      int count;
                   2615: {
                   2616:   register char *f = from;
                   2617:   register char *t = to;
                   2618:   register int i = count;
                   2619: 
                   2620:   while (i-- > 0)
                   2621:     *t++ = *f++;
                   2622: }
                   2623: 
                   2624: #else /* __cplusplus */
                   2625: 
                   2626: /* This is the most reliable way to avoid incompatibilities
                   2627:    in available built-in functions on various systems.  */
                   2628: static void
                   2629: __yy_bcopy (char *from, char *to, int count)
                   2630: {
                   2631:   register char *f = from;
                   2632:   register char *t = to;
                   2633:   register int i = count;
                   2634: 
                   2635:   while (i-- > 0)
                   2636:     *t++ = *f++;
                   2637: }
                   2638: 
                   2639: #endif
                   2640: #endif
                   2641: 
                   2642: #line 169 "bison.simple"
                   2643: int
                   2644: yyparse()
                   2645: {
                   2646:   register int yystate;
                   2647:   register int yyn;
                   2648:   register short *yyssp;
                   2649:   register YYSTYPE *yyvsp;
                   2650:   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
                   2651:   int yychar1;         /*  lookahead token as an internal (translated) token number */
                   2652: 
                   2653:   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
                   2654:   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
                   2655: 
                   2656:   short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
                   2657:   YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
                   2658: 
                   2659: #ifdef YYLSP_NEEDED
                   2660:   YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
                   2661:   YYLTYPE *yyls = yylsa;
                   2662:   YYLTYPE *yylsp;
                   2663: 
1.1.1.3   root     2664: #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
1.1       root     2665: #else
1.1.1.3   root     2666: #define YYPOPSTACK   (yyvsp--, yyssp--)
1.1       root     2667: #endif
                   2668: 
                   2669:   int yystacksize = YYINITDEPTH;
                   2670: 
                   2671: #ifdef YYPURE
                   2672:   int yychar;
                   2673:   YYSTYPE yylval;
                   2674:   int yynerrs;
                   2675: #ifdef YYLSP_NEEDED
                   2676:   YYLTYPE yylloc;
                   2677: #endif
                   2678: #endif
                   2679: 
                   2680:   YYSTYPE yyval;               /*  the variable used to return         */
                   2681:                                /*  semantic values from the action     */
                   2682:                                /*  routines                            */
                   2683: 
                   2684:   int yylen;
                   2685: 
                   2686: #if YYDEBUG != 0
                   2687:   if (yydebug)
                   2688:     fprintf(stderr, "Starting parse\n");
                   2689: #endif
                   2690: 
                   2691:   yystate = 0;
                   2692:   yyerrstatus = 0;
                   2693:   yynerrs = 0;
                   2694:   yychar = YYEMPTY;            /* Cause a token to be read.  */
                   2695: 
                   2696:   /* Initialize stack pointers.
                   2697:      Waste one element of value and location stack
                   2698:      so that they stay on the same level as the state stack.  */
                   2699: 
                   2700:   yyssp = yyss - 1;
                   2701:   yyvsp = yyvs;
                   2702: #ifdef YYLSP_NEEDED
                   2703:   yylsp = yyls;
                   2704: #endif
                   2705: 
                   2706: /* Push a new state, which is found in  yystate  .  */
                   2707: /* In all cases, when you get here, the value and location stacks
                   2708:    have just been pushed. so pushing a state here evens the stacks.  */
                   2709: yynewstate:
                   2710: 
                   2711:   *++yyssp = yystate;
                   2712: 
                   2713:   if (yyssp >= yyss + yystacksize - 1)
                   2714:     {
                   2715:       /* Give user a chance to reallocate the stack */
                   2716:       /* Use copies of these so that the &'s don't force the real ones into memory. */
                   2717:       YYSTYPE *yyvs1 = yyvs;
                   2718:       short *yyss1 = yyss;
                   2719: #ifdef YYLSP_NEEDED
                   2720:       YYLTYPE *yyls1 = yyls;
                   2721: #endif
                   2722: 
                   2723:       /* Get the current used size of the three stacks, in elements.  */
                   2724:       int size = yyssp - yyss + 1;
                   2725: 
                   2726: #ifdef yyoverflow
                   2727:       /* Each stack pointer address is followed by the size of
                   2728:         the data in use in that stack, in bytes.  */
                   2729:       yyoverflow("parser stack overflow",
                   2730:                 &yyss1, size * sizeof (*yyssp),
                   2731:                 &yyvs1, size * sizeof (*yyvsp),
                   2732: #ifdef YYLSP_NEEDED
                   2733:                 &yyls1, size * sizeof (*yylsp),
                   2734: #endif
                   2735:                 &yystacksize);
                   2736: 
                   2737:       yyss = yyss1; yyvs = yyvs1;
                   2738: #ifdef YYLSP_NEEDED
                   2739:       yyls = yyls1;
                   2740: #endif
                   2741: #else /* no yyoverflow */
                   2742:       /* Extend the stack our own way.  */
                   2743:       if (yystacksize >= YYMAXDEPTH)
                   2744:        {
                   2745:          yyerror("parser stack overflow");
                   2746:          return 2;
                   2747:        }
                   2748:       yystacksize *= 2;
                   2749:       if (yystacksize > YYMAXDEPTH)
                   2750:        yystacksize = YYMAXDEPTH;
                   2751:       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
                   2752:       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
                   2753:       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
                   2754:       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
                   2755: #ifdef YYLSP_NEEDED
                   2756:       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
                   2757:       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
                   2758: #endif
                   2759: #endif /* no yyoverflow */
                   2760: 
                   2761:       yyssp = yyss + size - 1;
                   2762:       yyvsp = yyvs + size - 1;
                   2763: #ifdef YYLSP_NEEDED
                   2764:       yylsp = yyls + size - 1;
                   2765: #endif
                   2766: 
                   2767: #if YYDEBUG != 0
                   2768:       if (yydebug)
                   2769:        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
                   2770: #endif
                   2771: 
                   2772:       if (yyssp >= yyss + yystacksize - 1)
                   2773:        YYABORT;
                   2774:     }
                   2775: 
                   2776: #if YYDEBUG != 0
                   2777:   if (yydebug)
                   2778:     fprintf(stderr, "Entering state %d\n", yystate);
                   2779: #endif
                   2780: 
                   2781:  yybackup:
                   2782: 
                   2783: /* Do appropriate processing given the current state.  */
                   2784: /* Read a lookahead token if we need one and don't already have one.  */
                   2785: /* yyresume: */
                   2786: 
                   2787:   /* First try to decide what to do without reference to lookahead token.  */
                   2788: 
                   2789:   yyn = yypact[yystate];
                   2790:   if (yyn == YYFLAG)
                   2791:     goto yydefault;
                   2792: 
                   2793:   /* Not known => get a lookahead token if don't already have one.  */
                   2794: 
                   2795:   /* yychar is either YYEMPTY or YYEOF
                   2796:      or a valid token in external form.  */
                   2797: 
                   2798:   if (yychar == YYEMPTY)
                   2799:     {
                   2800: #if YYDEBUG != 0
                   2801:       if (yydebug)
                   2802:        fprintf(stderr, "Reading a token: ");
                   2803: #endif
                   2804:       yychar = YYLEX;
                   2805:     }
                   2806: 
                   2807:   /* Convert token to internal form (in yychar1) for indexing tables with */
                   2808: 
                   2809:   if (yychar <= 0)             /* This means end of input. */
                   2810:     {
                   2811:       yychar1 = 0;
                   2812:       yychar = YYEOF;          /* Don't call YYLEX any more */
                   2813: 
                   2814: #if YYDEBUG != 0
                   2815:       if (yydebug)
                   2816:        fprintf(stderr, "Now at end of input.\n");
                   2817: #endif
                   2818:     }
                   2819:   else
                   2820:     {
                   2821:       yychar1 = YYTRANSLATE(yychar);
                   2822: 
                   2823: #if YYDEBUG != 0
                   2824:       if (yydebug)
                   2825:        {
                   2826:          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
                   2827:          /* Give the individual parser a way to print the precise meaning
                   2828:             of a token, for further debugging info.  */
                   2829: #ifdef YYPRINT
                   2830:          YYPRINT (stderr, yychar, yylval);
                   2831: #endif
                   2832:          fprintf (stderr, ")\n");
                   2833:        }
                   2834: #endif
                   2835:     }
                   2836: 
                   2837:   yyn += yychar1;
                   2838:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
                   2839:     goto yydefault;
                   2840: 
                   2841:   yyn = yytable[yyn];
                   2842: 
                   2843:   /* yyn is what to do for this token type in this state.
                   2844:      Negative => reduce, -yyn is rule number.
                   2845:      Positive => shift, yyn is new state.
                   2846:        New state is final state => don't bother to shift,
                   2847:        just return success.
                   2848:      0, or most negative number => error.  */
                   2849: 
                   2850:   if (yyn < 0)
                   2851:     {
                   2852:       if (yyn == YYFLAG)
                   2853:        goto yyerrlab;
                   2854:       yyn = -yyn;
                   2855:       goto yyreduce;
                   2856:     }
                   2857:   else if (yyn == 0)
                   2858:     goto yyerrlab;
                   2859: 
                   2860:   if (yyn == YYFINAL)
                   2861:     YYACCEPT;
                   2862: 
                   2863:   /* Shift the lookahead token.  */
                   2864: 
                   2865: #if YYDEBUG != 0
                   2866:   if (yydebug)
                   2867:     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
                   2868: #endif
                   2869: 
                   2870:   /* Discard the token being shifted unless it is eof.  */
                   2871:   if (yychar != YYEOF)
                   2872:     yychar = YYEMPTY;
                   2873: 
                   2874:   *++yyvsp = yylval;
                   2875: #ifdef YYLSP_NEEDED
                   2876:   *++yylsp = yylloc;
                   2877: #endif
                   2878: 
                   2879:   /* count tokens shifted since error; after three, turn off error status.  */
                   2880:   if (yyerrstatus) yyerrstatus--;
                   2881: 
                   2882:   yystate = yyn;
                   2883:   goto yynewstate;
                   2884: 
                   2885: /* Do the default action for the current state.  */
                   2886: yydefault:
                   2887: 
                   2888:   yyn = yydefact[yystate];
                   2889:   if (yyn == 0)
                   2890:     goto yyerrlab;
                   2891: 
                   2892: /* Do a reduction.  yyn is the number of a rule to reduce with.  */
                   2893: yyreduce:
                   2894:   yylen = yyr2[yyn];
                   2895:   yyval = yyvsp[1-yylen]; /* implement default value of the action */
                   2896: 
                   2897: #if YYDEBUG != 0
                   2898:   if (yydebug)
                   2899:     {
                   2900:       int i;
                   2901: 
                   2902:       fprintf (stderr, "Reducing via rule %d (line %d), ",
                   2903:               yyn, yyrline[yyn]);
                   2904: 
                   2905:       /* Print the symboles being reduced, and their result.  */
                   2906:       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
                   2907:        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
                   2908:       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
                   2909:     }
                   2910: #endif
                   2911: 
                   2912: 
                   2913:   switch (yyn) {
                   2914: 
                   2915: case 2:
1.1.1.5 ! root     2916: #line 285 "cp-parse.y"
1.1       root     2917: { finish_file (); ;
                   2918:     break;}
                   2919: case 3:
1.1.1.5 ! root     2920: #line 293 "cp-parse.y"
1.1       root     2921: { yyval.ttype = NULL_TREE; ;
                   2922:     break;}
                   2923: case 4:
1.1.1.5 ! root     2924: #line 294 "cp-parse.y"
1.1       root     2925: {yyval.ttype = NULL_TREE; ;
                   2926:     break;}
                   2927: case 5:
1.1.1.5 ! root     2928: #line 296 "cp-parse.y"
1.1       root     2929: {yyval.ttype = NULL_TREE; ;
                   2930:     break;}
                   2931: case 6:
1.1.1.5 ! root     2932: #line 300 "cp-parse.y"
1.1.1.2   root     2933: { have_extern_spec = 1;
1.1.1.4   root     2934:                  used_extern_spec = 0;
1.1.1.2   root     2935:                  yyval.ttype = NULL_TREE; ;
1.1       root     2936:     break;}
                   2937: case 7:
1.1.1.5 ! root     2938: #line 305 "cp-parse.y"
1.1       root     2939: { have_extern_spec = 0; ;
                   2940:     break;}
                   2941: case 8:
1.1.1.5 ! root     2942: #line 309 "cp-parse.y"
        !          2943: { if (pedantic)
        !          2944:                      pedwarn ("ANSI C++ forbids use of `asm' keyword"); ;
1.1       root     2945:     break;}
1.1.1.5 ! root     2946: case 10:
        !          2947: #line 316 "cp-parse.y"
1.1       root     2948: { if (pending_inlines) do_pending_inlines (); ;
                   2949:     break;}
1.1.1.5 ! root     2950: case 11:
        !          2951: #line 318 "cp-parse.y"
1.1       root     2952: { if (pending_inlines) do_pending_inlines (); ;
                   2953:     break;}
                   2954: case 12:
1.1.1.5 ! root     2955: #line 320 "cp-parse.y"
        !          2956: { if (pending_inlines) do_pending_inlines (); ;
        !          2957:     break;}
        !          2958: case 14:
        !          2959: #line 323 "cp-parse.y"
        !          2960: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
1.1       root     2961:                  assemble_asm (yyvsp[-2].ttype); ;
                   2962:     break;}
1.1.1.5 ! root     2963: case 15:
        !          2964: #line 326 "cp-parse.y"
1.1       root     2965: { pop_lang_context (); ;
                   2966:     break;}
1.1.1.5 ! root     2967: case 16:
        !          2968: #line 328 "cp-parse.y"
1.1       root     2969: { pop_lang_context (); ;
                   2970:     break;}
1.1.1.5 ! root     2971: case 17:
        !          2972: #line 330 "cp-parse.y"
1.1       root     2973: { if (pending_inlines) do_pending_inlines ();
                   2974:                  pop_lang_context (); ;
                   2975:     break;}
1.1.1.5 ! root     2976: case 18:
        !          2977: #line 333 "cp-parse.y"
1.1       root     2978: { if (pending_inlines) do_pending_inlines ();
                   2979:                  pop_lang_context (); ;
                   2980:     break;}
1.1.1.5 ! root     2981: case 19:
        !          2982: #line 339 "cp-parse.y"
1.1       root     2983: { push_lang_context (yyvsp[0].ttype); ;
                   2984:     break;}
1.1.1.5 ! root     2985: case 20:
        !          2986: #line 344 "cp-parse.y"
1.1       root     2987: { begin_template_parm_list (); ;
                   2988:     break;}
1.1.1.5 ! root     2989: case 21:
        !          2990: #line 346 "cp-parse.y"
1.1       root     2991: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
                   2992:     break;}
1.1.1.5 ! root     2993: case 22:
        !          2994: #line 351 "cp-parse.y"
        !          2995: { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
1.1       root     2996:     break;}
1.1.1.5 ! root     2997: case 23:
        !          2998: #line 353 "cp-parse.y"
1.1       root     2999: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   3000:     break;}
1.1.1.5 ! root     3001: case 24:
        !          3002: #line 364 "cp-parse.y"
1.1       root     3003: {
1.1.1.2   root     3004:                  if (yyvsp[-1].ttype != class_type_node)
1.1       root     3005:                    error ("template type parameter must use keyword `class'");
                   3006:                  yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
                   3007:                ;
                   3008:     break;}
1.1.1.5 ! root     3009: case 25:
        !          3010: #line 370 "cp-parse.y"
1.1       root     3011: {
1.1.1.2   root     3012:                  if (yyvsp[-3].ttype != class_type_node)
1.1       root     3013:                    error ("template type parameter must use keyword `class'");
                   3014:                  warning ("restricted template type parameters not yet implemented");
                   3015:                  yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
                   3016:                ;
                   3017:     break;}
1.1.1.5 ! root     3018: case 26:
        !          3019: #line 377 "cp-parse.y"
1.1       root     3020: {
1.1.1.2   root     3021:                  if (yyvsp[-2].ttype != class_type_node)
1.1       root     3022:                    error ("template type parameter must use keyword `class'");
                   3023:                  warning ("restricted template type parameters not yet implemented");
                   3024:                  yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
                   3025:                ;
                   3026:     break;}
                   3027: case 28:
1.1.1.5 ! root     3028: #line 388 "cp-parse.y"
        !          3029: { warning ("use of `overload' is an anachronism"); ;
1.1       root     3030:     break;}
                   3031: case 29:
1.1.1.5 ! root     3032: #line 392 "cp-parse.y"
        !          3033: { declare_overloaded (yyvsp[0].ttype); ;
        !          3034:     break;}
        !          3035: case 30:
        !          3036: #line 394 "cp-parse.y"
        !          3037: { declare_overloaded (yyvsp[0].ttype); ;
1.1       root     3038:     break;}
                   3039: case 31:
1.1.1.5 ! root     3040: #line 401 "cp-parse.y"
1.1       root     3041: { yychar = '{'; goto template1; ;
                   3042:     break;}
                   3043: case 33:
1.1.1.5 ! root     3044: #line 404 "cp-parse.y"
        !          3045: { yychar = '{'; goto template1; ;
1.1       root     3046:     break;}
                   3047: case 35:
1.1.1.5 ! root     3048: #line 407 "cp-parse.y"
        !          3049: { yychar = ':'; goto template1; ;
        !          3050:     break;}
        !          3051: case 37:
        !          3052: #line 410 "cp-parse.y"
1.1       root     3053: {
                   3054:                  yychar = ':';
                   3055:                template1:
                   3056:                  if (current_aggr == exception_type_node)
                   3057:                    error ("template type must define an aggregate or union");
                   3058:                  /* Maybe pedantic warning for union?
                   3059:                     How about an enum? :-)  */
                   3060:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3061:                  reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
                   3062:                  yychar = YYEMPTY;
                   3063:                ;
                   3064:     break;}
1.1.1.5 ! root     3065: case 39:
        !          3066: #line 423 "cp-parse.y"
1.1       root     3067: {
                   3068:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3069:                  /* declare $2 as template name with $1 parm list */
                   3070:                ;
                   3071:     break;}
1.1.1.5 ! root     3072: case 40:
        !          3073: #line 428 "cp-parse.y"
1.1       root     3074: {
                   3075:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3076:                  /* declare $2 as template name with $1 parm list */
                   3077:                ;
                   3078:     break;}
1.1.1.5 ! root     3079: case 41:
        !          3080: #line 435 "cp-parse.y"
1.1       root     3081: {
                   3082:                  tree d;
                   3083:                  int momentary;
                   3084:                  momentary = suspend_momentary ();
1.1.1.5 ! root     3085:                  d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/NULL_TREE, 0, yyvsp[-3].ttype);
1.1.1.4   root     3086:                  cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3   root     3087:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1       root     3088:                  end_template_decl (yyvsp[-5].ttype, d, 0);
                   3089:                  if (yyvsp[0].itype != ';')
1.1.1.5 ! root     3090:                    reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-5].ttype, d);
1.1       root     3091:                  resume_momentary (momentary);
                   3092:                ;
                   3093:     break;}
1.1.1.5 ! root     3094: case 42:
        !          3095: #line 450 "cp-parse.y"
1.1       root     3096: {
                   3097:                  tree d;
                   3098:                  int momentary;
                   3099: 
                   3100:                  current_declspecs = yyvsp[-5].ttype;
                   3101:                  momentary = suspend_momentary ();
1.1.1.5 ! root     3102:                  d = start_decl (yyvsp[-4].ttype, current_declspecs,
        !          3103:                                  0, yyvsp[-3].ttype);
1.1.1.4   root     3104:                  cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3   root     3105:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1       root     3106:                  end_exception_decls ();
                   3107:                  end_template_decl (yyvsp[-6].ttype, d, 0);
                   3108:                  if (yyvsp[0].itype != ';')
                   3109:                    {
1.1.1.5 ! root     3110:                      reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-6].ttype, d);
1.1       root     3111:                      yychar = YYEMPTY;
                   3112:                    }
                   3113:                  note_list_got_semicolon (yyvsp[-5].ttype);
                   3114:                  resume_momentary (momentary);
                   3115:                ;
                   3116:     break;}
1.1.1.5 ! root     3117: case 43:
        !          3118: #line 471 "cp-parse.y"
1.1       root     3119: {
                   3120:                  tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
1.1.1.3   root     3121:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3122:                  end_template_decl (yyvsp[-3].ttype, d, 0);
                   3123:                  if (yyvsp[0].itype != ';')
1.1.1.5 ! root     3124:                    reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-3].ttype, d);
1.1       root     3125:                ;
                   3126:     break;}
1.1.1.5 ! root     3127: case 44:
        !          3128: #line 479 "cp-parse.y"
1.1.1.2   root     3129: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3130:     break;}
1.1.1.5 ! root     3131: case 45:
        !          3132: #line 480 "cp-parse.y"
1.1.1.2   root     3133: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3134:     break;}
1.1.1.5 ! root     3135: case 46:
        !          3136: #line 483 "cp-parse.y"
1.1.1.2   root     3137: { yyval.itype = '{'; ;
1.1       root     3138:     break;}
1.1.1.5 ! root     3139: case 47:
        !          3140: #line 484 "cp-parse.y"
1.1.1.2   root     3141: { yyval.itype = ':'; ;
1.1       root     3142:     break;}
1.1.1.5 ! root     3143: case 48:
        !          3144: #line 485 "cp-parse.y"
1.1.1.2   root     3145: { yyval.itype = ';'; ;
1.1       root     3146:     break;}
1.1.1.5 ! root     3147: case 49:
        !          3148: #line 486 "cp-parse.y"
1.1.1.2   root     3149: { yyval.itype = '='; ;
                   3150:     break;}
1.1.1.5 ! root     3151: case 50:
        !          3152: #line 487 "cp-parse.y"
1.1.1.2   root     3153: { yyval.itype = RETURN; ;
                   3154:     break;}
1.1.1.5 ! root     3155: case 51:
        !          3156: #line 492 "cp-parse.y"
1.1       root     3157: { if (pedantic)
1.1.1.4   root     3158:                    pedwarn ("ANSI C++ forbids data definition with no type or storage class");
1.1       root     3159:                  else if (! flag_traditional && ! have_extern_spec)
                   3160:                    warning ("data definition has no type or storage class"); ;
                   3161:     break;}
1.1.1.5 ! root     3162: case 52:
        !          3163: #line 497 "cp-parse.y"
1.1       root     3164: {;
                   3165:     break;}
1.1.1.5 ! root     3166: case 53:
        !          3167: #line 500 "cp-parse.y"
1.1       root     3168: { tree d;
                   3169:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     3170:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3171:                ;
                   3172:     break;}
1.1.1.5 ! root     3173: case 54:
        !          3174: #line 505 "cp-parse.y"
1.1       root     3175: {
                   3176:                  end_exception_decls ();
                   3177:                  note_list_got_semicolon (yyval.ttype);
                   3178:                ;
                   3179:     break;}
1.1.1.5 ! root     3180: case 55:
        !          3181: #line 511 "cp-parse.y"
1.1       root     3182: { tree d;
                   3183:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     3184:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3185:                  end_exception_decls ();
                   3186:                  note_list_got_semicolon (yyval.ttype);
                   3187:                ;
                   3188:     break;}
1.1.1.5 ! root     3189: case 56:
        !          3190: #line 518 "cp-parse.y"
1.1.1.4   root     3191: { pedwarn ("empty declaration"); ;
1.1       root     3192:     break;}
1.1.1.5 ! root     3193: case 57:
        !          3194: #line 520 "cp-parse.y"
1.1       root     3195: {
                   3196:            tree t = yyval.ttype;
                   3197:            shadow_tag (t);
                   3198:            if (TREE_CODE (t) == TREE_LIST
                   3199:                && TREE_PURPOSE (t) == NULL_TREE)
                   3200:              {
                   3201:                t = TREE_VALUE (t);
                   3202:                if (TREE_CODE (t) == RECORD_TYPE)
                   3203:                  {
                   3204:                    if (CLASSTYPE_USE_TEMPLATE (t) == 0)
                   3205:                      CLASSTYPE_USE_TEMPLATE (t) = 2;
                   3206:                    else if (CLASSTYPE_USE_TEMPLATE (t) == 1)
                   3207:                      error ("override declaration for already-expanded template");
                   3208:                  }
                   3209:              }
                   3210:            note_list_got_semicolon (yyval.ttype);
                   3211:          ;
                   3212:     break;}
1.1.1.5 ! root     3213: case 61:
        !          3214: #line 544 "cp-parse.y"
1.1       root     3215: {
                   3216:                  finish_function (lineno, 1);
                   3217:                  /* finish_function performs these three statements:
                   3218: 
                   3219:                     expand_end_bindings (getdecls (), 1, 0);
                   3220:                     poplevel (1, 1, 0);
                   3221: 
                   3222:                     expand_end_bindings (0, 0, 0);
                   3223:                     poplevel (0, 0, 1);
                   3224:                     */
                   3225:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3226:                ;
                   3227:     break;}
1.1.1.5 ! root     3228: case 62:
        !          3229: #line 557 "cp-parse.y"
1.1       root     3230: {
                   3231:                  finish_function (lineno, 1);
                   3232:                  /* finish_function performs these three statements:
                   3233: 
                   3234:                     expand_end_bindings (getdecls (), 1, 0);
                   3235:                     poplevel (1, 1, 0);
                   3236: 
                   3237:                     expand_end_bindings (0, 0, 0);
                   3238:                     poplevel (0, 0, 1);
                   3239:                     */
                   3240:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3241:                ;
                   3242:     break;}
1.1.1.5 ! root     3243: case 63:
        !          3244: #line 570 "cp-parse.y"
1.1       root     3245: { finish_function (lineno, 0);
                   3246:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3247:     break;}
1.1.1.5 ! root     3248: case 64:
        !          3249: #line 573 "cp-parse.y"
1.1       root     3250: { finish_function (lineno, 0);
                   3251:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3252:     break;}
1.1.1.5 ! root     3253: case 65:
        !          3254: #line 576 "cp-parse.y"
1.1       root     3255: { finish_function (lineno, 0);
                   3256:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3257:     break;}
1.1.1.5 ! root     3258: case 66:
        !          3259: #line 579 "cp-parse.y"
1.1       root     3260: {;
                   3261:     break;}
1.1.1.5 ! root     3262: case 67:
        !          3263: #line 581 "cp-parse.y"
1.1       root     3264: {;
                   3265:     break;}
1.1.1.5 ! root     3266: case 68:
        !          3267: #line 583 "cp-parse.y"
1.1       root     3268: {;
                   3269:     break;}
1.1.1.5 ! root     3270: case 69:
        !          3271: #line 588 "cp-parse.y"
1.1       root     3272: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3273:                    YYERROR1;
                   3274:                  reinit_parse_for_function ();
                   3275:                  yyval.ttype = NULL_TREE; ;
                   3276:     break;}
1.1.1.5 ! root     3277: case 70:
        !          3278: #line 593 "cp-parse.y"
1.1       root     3279: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3280:                    YYERROR1;
                   3281:                  reinit_parse_for_function ();
                   3282:                  yyval.ttype = NULL_TREE; ;
                   3283:     break;}
1.1.1.5 ! root     3284: case 71:
        !          3285: #line 598 "cp-parse.y"
1.1       root     3286: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
                   3287:                    YYERROR1;
                   3288:                  reinit_parse_for_function ();
                   3289:                  yyval.ttype = NULL_TREE; ;
                   3290:     break;}
1.1.1.5 ! root     3291: case 72:
        !          3292: #line 603 "cp-parse.y"
1.1       root     3293: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3294:                    YYERROR1;
                   3295:                  reinit_parse_for_function ();
                   3296:                  yyval.ttype = NULL_TREE; ;
                   3297:     break;}
1.1.1.5 ! root     3298: case 73:
        !          3299: #line 608 "cp-parse.y"
1.1       root     3300: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3301:                    YYERROR1;
                   3302:                  reinit_parse_for_function ();
                   3303:                  yyval.ttype = NULL_TREE; ;
                   3304:     break;}
1.1.1.5 ! root     3305: case 74:
        !          3306: #line 613 "cp-parse.y"
1.1       root     3307: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3308:                    YYERROR1;
                   3309:                  reinit_parse_for_function ();
                   3310:                  yyval.ttype = NULL_TREE; ;
                   3311:     break;}
1.1.1.5 ! root     3312: case 75:
        !          3313: #line 618 "cp-parse.y"
1.1       root     3314: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3315:                    YYERROR1;
                   3316:                  reinit_parse_for_function ();
                   3317:                  yyval.ttype = NULL_TREE; ;
                   3318:     break;}
1.1.1.5 ! root     3319: case 76:
        !          3320: #line 623 "cp-parse.y"
1.1       root     3321: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
                   3322:                  reinit_parse_for_function (); ;
                   3323:     break;}
1.1.1.5 ! root     3324: case 77:
        !          3325: #line 630 "cp-parse.y"
1.1       root     3326: {
                   3327:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3328:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3329:                  if (! yyval.ttype)
                   3330:                    YYERROR1;
                   3331:                  if (yychar == YYEMPTY)
                   3332:                    yychar = YYLEX;
                   3333:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3334:     break;}
1.1.1.5 ! root     3335: case 78:
        !          3336: #line 639 "cp-parse.y"
1.1       root     3337: {
                   3338:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3339:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3340:                  if (! yyval.ttype)
                   3341:                    YYERROR1;
                   3342:                  if (yychar == YYEMPTY)
                   3343:                    yychar = YYLEX;
                   3344:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3345:     break;}
1.1.1.5 ! root     3346: case 79:
        !          3347: #line 648 "cp-parse.y"
1.1       root     3348: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3349:                  if (! yyval.ttype)
                   3350:                    YYERROR1;
                   3351:                  if (yychar == YYEMPTY)
                   3352:                    yychar = YYLEX;
                   3353:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3354:     break;}
1.1.1.5 ! root     3355: case 80:
        !          3356: #line 655 "cp-parse.y"
1.1       root     3357: {
                   3358:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3359:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3360:                  if (! yyval.ttype)
                   3361:                    YYERROR1;
                   3362:                  if (yychar == YYEMPTY)
                   3363:                    yychar = YYLEX;
                   3364:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3365:     break;}
1.1.1.5 ! root     3366: case 81:
        !          3367: #line 664 "cp-parse.y"
1.1       root     3368: {
                   3369:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3370:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3371:                  if (! yyval.ttype)
                   3372:                    YYERROR1;
                   3373:                  if (yychar == YYEMPTY)
                   3374:                    yychar = YYLEX;
                   3375:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3376:     break;}
1.1.1.5 ! root     3377: case 82:
        !          3378: #line 673 "cp-parse.y"
1.1       root     3379: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3380:                  if (! yyval.ttype)
                   3381:                    YYERROR1;
                   3382:                  if (yychar == YYEMPTY)
                   3383:                    yychar = YYLEX;
                   3384:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3385:     break;}
1.1.1.5 ! root     3386: case 83:
        !          3387: #line 680 "cp-parse.y"
1.1       root     3388: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype);
                   3389:                  if (! yyval.ttype)
                   3390:                    YYERROR1;
                   3391:                  if (yychar == YYEMPTY)
                   3392:                    yychar = YYLEX;
                   3393:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3394:     break;}
1.1.1.5 ! root     3395: case 84:
        !          3396: #line 689 "cp-parse.y"
1.1       root     3397: {
                   3398:                  if (! current_function_parms_stored)
                   3399:                    store_parm_decls ();
                   3400:                  yyval.ttype = yyvsp[0].ttype;
                   3401:                ;
                   3402:     break;}
1.1.1.5 ! root     3403: case 85:
        !          3404: #line 697 "cp-parse.y"
1.1       root     3405: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3406:     break;}
1.1.1.5 ! root     3407: case 86:
        !          3408: #line 699 "cp-parse.y"
1.1.1.4   root     3409: { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     3410:     break;}
1.1.1.5 ! root     3411: case 87:
        !          3412: #line 701 "cp-parse.y"
1.1       root     3413: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
                   3414:     break;}
1.1.1.5 ! root     3415: case 88:
        !          3416: #line 703 "cp-parse.y"
1.1       root     3417: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3418:     break;}
1.1.1.5 ! root     3419: case 89:
        !          3420: #line 708 "cp-parse.y"
1.1       root     3421: {
                   3422:                  if (yyvsp[0].itype == 0)
                   3423:                    error ("no base initializers given following ':'");
                   3424:                  setup_vtbl_ptr ();
                   3425:                ;
                   3426:     break;}
1.1.1.5 ! root     3427: case 90:
        !          3428: #line 717 "cp-parse.y"
1.1       root     3429: {
                   3430:                  if (! current_function_parms_stored)
                   3431:                    store_parm_decls ();
                   3432: 
                   3433:                  /* Flag that we are processing base and member initializers.  */
                   3434:                  current_vtable_decl = error_mark_node;
                   3435: 
                   3436:                  if (DECL_CONSTRUCTOR_P (current_function_decl))
                   3437:                    {
                   3438:                      /* Make a contour for the initializer list.  */
                   3439:                      pushlevel (0);
                   3440:                      clear_last_expr ();
                   3441:                      expand_start_bindings (0);
                   3442:                    }
                   3443:                  else if (current_class_type == NULL_TREE)
                   3444:                    error ("base initializers not allowed for non-member functions");
                   3445:                  else if (! DECL_CONSTRUCTOR_P (current_function_decl))
                   3446:                    error ("only constructors take base initializers");
                   3447:                ;
                   3448:     break;}
1.1.1.5 ! root     3449: case 91:
        !          3450: #line 740 "cp-parse.y"
1.1       root     3451: { yyval.itype = 0; ;
                   3452:     break;}
1.1.1.5 ! root     3453: case 92:
        !          3454: #line 742 "cp-parse.y"
1.1       root     3455: { yyval.itype = 1; ;
                   3456:     break;}
1.1.1.5 ! root     3457: case 95:
        !          3458: #line 748 "cp-parse.y"
1.1       root     3459: {
1.1.1.4   root     3460:                  if (current_class_name && !flag_traditional)
                   3461:                    pedwarn ("ANSI C++ forbids old style base class initialization",
1.1       root     3462:                             IDENTIFIER_POINTER (current_class_name));
                   3463:                  expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
                   3464:                ;
                   3465:     break;}
1.1.1.5 ! root     3466: case 96:
        !          3467: #line 755 "cp-parse.y"
1.1       root     3468: {
1.1.1.4   root     3469:                  if (current_class_name && !flag_traditional)
                   3470:                    pedwarn ("ANSI C++ forbids old style base class initialization",
1.1       root     3471:                             IDENTIFIER_POINTER (current_class_name));
                   3472:                  expand_member_init (C_C_D, NULL_TREE, void_type_node);
                   3473:                ;
                   3474:     break;}
1.1.1.5 ! root     3475: case 97:
        !          3476: #line 762 "cp-parse.y"
1.1       root     3477: {
                   3478:                  expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype);
                   3479:                ;
                   3480:     break;}
1.1.1.2   root     3481: case 98:
1.1.1.5 ! root     3482: #line 766 "cp-parse.y"
1.1.1.2   root     3483: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3484:     break;}
                   3485: case 99:
1.1.1.5 ! root     3486: #line 768 "cp-parse.y"
1.1.1.4   root     3487: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
                   3488:     break;}
                   3489: case 100:
1.1.1.5 ! root     3490: #line 770 "cp-parse.y"
1.1.1.4   root     3491: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3492:     break;}
                   3493: case 101:
1.1.1.5 ! root     3494: #line 772 "cp-parse.y"
        !          3495: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
        !          3496:     break;}
        !          3497: case 102:
        !          3498: #line 774 "cp-parse.y"
        !          3499: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
        !          3500:     break;}
        !          3501: case 103:
        !          3502: #line 776 "cp-parse.y"
1.1       root     3503: {
                   3504:                  do_member_init (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3505:                ;
                   3506:     break;}
1.1.1.5 ! root     3507: case 104:
        !          3508: #line 780 "cp-parse.y"
1.1       root     3509: {
                   3510:                  do_member_init (yyval.ttype, yyvsp[-1].ttype, void_type_node);
                   3511:                ;
                   3512:     break;}
1.1.1.5 ! root     3513: case 114:
        !          3514: #line 804 "cp-parse.y"
1.1.1.4   root     3515: { yyval.ttype = build_parse_node (BIT_NOT_EXPR,yyvsp[0].ttype);;
1.1       root     3516:     break;}
1.1.1.5 ! root     3517: case 116:
        !          3518: #line 810 "cp-parse.y"
1.1       root     3519: {
1.1.1.4   root     3520:                  extern tree template_type_seen_before_scope;
                   3521: 
1.1       root     3522:                  if (yyvsp[0].ttype) 
                   3523:                    yyval.ttype = yyvsp[0].ttype;
                   3524:                  else if (yyval.ttype != error_mark_node)
                   3525:                    yyval.ttype = IDENTIFIER_TYPE_VALUE (yyval.ttype);
1.1.1.4   root     3526:                  /* This is a kludge: In order to detect nested types inside
                   3527:                   * template classes, we have to tell the lexer that it should
                   3528:                   * try to replace a following SCOPE token with the correct
                   3529:                   * SCOPED_TYPENAME for the nested type.  This SCOPED_TYPENAME
                   3530:                   * token will be handled in the rule "scoped_typename".
                   3531:                   * - [email protected] */
1.1.1.5 ! root     3532:                  if (yychar == SCOPE)
        !          3533:                    {
        !          3534:                      /* We set template_type_seen_before_scope to be
        !          3535:                         an error_mark_node so we can avoid meaningless
        !          3536:                         and unhelpful syntax errors later.  */
        !          3537:                      if (yyval.ttype != error_mark_node)
        !          3538:                        template_type_seen_before_scope = TYPE_IDENTIFIER (yyval.ttype);
        !          3539:                      else
        !          3540:                        template_type_seen_before_scope = error_mark_node;
        !          3541:                      yychar = YYLEX;
        !          3542:                    }
1.1       root     3543:                ;
                   3544:     break;}
1.1.1.5 ! root     3545: case 117:
        !          3546: #line 839 "cp-parse.y"
        !          3547: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1       root     3548:     break;}
1.1.1.5 ! root     3549: case 118:
        !          3550: #line 841 "cp-parse.y"
        !          3551: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1.1.4   root     3552:     break;}
1.1.1.5 ! root     3553: case 119:
        !          3554: #line 847 "cp-parse.y"
1.1       root     3555: { yyungetc ('{', 1); yyval.ttype = 0; ;
                   3556:     break;}
1.1.1.5 ! root     3557: case 120:
        !          3558: #line 848 "cp-parse.y"
1.1       root     3559: { yyungetc (':', 1); yyval.ttype = 0; ;
                   3560:     break;}
1.1.1.5 ! root     3561: case 121:
        !          3562: #line 850 "cp-parse.y"
1.1       root     3563: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3564:     break;}
1.1.1.5 ! root     3565: case 122:
        !          3566: #line 855 "cp-parse.y"
1.1       root     3567: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3568:     break;}
1.1.1.5 ! root     3569: case 123:
        !          3570: #line 860 "cp-parse.y"
1.1       root     3571: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3572:     break;}
1.1.1.5 ! root     3573: case 124:
        !          3574: #line 862 "cp-parse.y"
1.1       root     3575: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3576:     break;}
1.1.1.5 ! root     3577: case 125:
        !          3578: #line 867 "cp-parse.y"
1.1       root     3579: { yyval.ttype = groktypename (yyval.ttype); ;
                   3580:     break;}
1.1.1.5 ! root     3581: case 127:
        !          3582: #line 873 "cp-parse.y"
1.1       root     3583: {
                   3584:                  tree t, decl, id, tmpl;
                   3585: 
                   3586:                  id = TREE_VALUE (yyvsp[-1].ttype);
                   3587:                  tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (id));
                   3588:                  t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, id, yyvsp[0].ttype);
                   3589:                  set_current_level_tags_transparency (1);
1.1.1.4   root     3590:                  my_friendly_assert (TREE_CODE (t) == RECORD_TYPE, 257);
1.1       root     3591:                  yyval.ttype = t;
                   3592: 
                   3593:                  /* Now, put a copy of the decl in global scope, to avoid
                   3594:                     recursive expansion.  */
                   3595:                  decl = IDENTIFIER_LOCAL_VALUE (id);
                   3596:                  if (!decl)
                   3597:                    decl = IDENTIFIER_CLASS_VALUE (id);
                   3598:                  /* Now, put a copy of the decl in global scope, to avoid
                   3599:                     recursive expansion.  */
                   3600:                   if (decl)
                   3601:                     {
                   3602:                      /* Need to copy it to clear the chain pointer,
                   3603:                         and need to get it into permanent storage.  */
1.1.1.4   root     3604:                       my_friendly_assert (TREE_CODE (decl) == TYPE_DECL, 258);
1.1       root     3605:                      push_obstacks (&permanent_obstack, &permanent_obstack);
                   3606:                       decl = copy_node (decl);
                   3607:                      if (DECL_LANG_SPECIFIC (decl))
                   3608:                        copy_lang_decl (decl);
                   3609:                      pop_obstacks ();
                   3610:                      pushdecl_top_level (decl);
                   3611:                    }
                   3612:                ;
                   3613:     break;}
1.1.1.5 ! root     3614: case 128:
        !          3615: #line 904 "cp-parse.y"
1.1       root     3616: {
1.1.1.4   root     3617:                  int old_interface = interface_unknown;
1.1       root     3618: 
1.1.1.4   root     3619:                  interface_unknown = 1;
1.1.1.5 ! root     3620:                  yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0);
1.1       root     3621: 
                   3622:                  pop_obstacks ();
                   3623:                  end_template_instantiation (yyvsp[-5].ttype, yyvsp[-3].ttype);
                   3624: 
                   3625:                   /* Now go after the methods & class data.  */
1.1.1.4   root     3626:                  old_interface = interface_unknown;
                   3627:                  interface_unknown = 1;
1.1       root     3628:                   instantiate_member_templates (yyvsp[-5].ttype);
1.1.1.4   root     3629:                  interface_unknown = old_interface;
                   3630:                  CLASSTYPE_GOT_SEMICOLON (yyval.ttype) = 1;
1.1       root     3631:                ;
                   3632:     break;}
1.1.1.5 ! root     3633: case 129:
        !          3634: #line 924 "cp-parse.y"
1.1       root     3635: { yyval.ttype = NULL_TREE; ;
                   3636:     break;}
1.1.1.5 ! root     3637: case 130:
        !          3638: #line 926 "cp-parse.y"
1.1       root     3639: { yyval.ttype = yyvsp[0].ttype; ;
                   3640:     break;}
1.1.1.5 ! root     3641: case 131:
        !          3642: #line 931 "cp-parse.y"
1.1       root     3643: { yyval.ttype = NULL_TREE; /* never used from here... */;
                   3644:     break;}
1.1.1.5 ! root     3645: case 132:
        !          3646: #line 933 "cp-parse.y"
1.1       root     3647: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
                   3648:     break;}
1.1.1.5 ! root     3649: case 133:
        !          3650: #line 937 "cp-parse.y"
1.1       root     3651: { yyval.code = NEGATE_EXPR; ;
                   3652:     break;}
1.1.1.5 ! root     3653: case 134:
        !          3654: #line 939 "cp-parse.y"
1.1       root     3655: { yyval.code = CONVERT_EXPR; ;
                   3656:     break;}
1.1.1.5 ! root     3657: case 135:
        !          3658: #line 941 "cp-parse.y"
1.1       root     3659: { yyval.code = PREINCREMENT_EXPR; ;
                   3660:     break;}
1.1.1.5 ! root     3661: case 136:
        !          3662: #line 943 "cp-parse.y"
1.1       root     3663: { yyval.code = PREDECREMENT_EXPR; ;
                   3664:     break;}
1.1.1.5 ! root     3665: case 137:
        !          3666: #line 945 "cp-parse.y"
1.1       root     3667: { yyval.code = TRUTH_NOT_EXPR; ;
                   3668:     break;}
1.1.1.5 ! root     3669: case 138:
        !          3670: #line 949 "cp-parse.y"
1.1       root     3671: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
                   3672:     break;}
1.1.1.5 ! root     3673: case 140:
        !          3674: #line 956 "cp-parse.y"
        !          3675: { error ("ANSI C++ forbids an empty condition for `%s'",
        !          3676:                         cond_stmt_keyword);
        !          3677:                  yyval.ttype = integer_zero_node; ;
        !          3678:     break;}
        !          3679: case 141:
        !          3680: #line 960 "cp-parse.y"
        !          3681: { yyval.ttype = yyvsp[-1].ttype; ;
        !          3682:     break;}
        !          3683: case 142:
        !          3684: #line 965 "cp-parse.y"
1.1       root     3685: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3686:     break;}
1.1.1.5 ! root     3687: case 143:
        !          3688: #line 967 "cp-parse.y"
1.1       root     3689: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3690:     break;}
1.1.1.5 ! root     3691: case 144:
        !          3692: #line 969 "cp-parse.y"
1.1       root     3693: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
                   3694:     break;}
1.1.1.5 ! root     3695: case 145:
        !          3696: #line 974 "cp-parse.y"
1.1       root     3697: {
                   3698:                  if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
                   3699:                    yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
                   3700:                ;
                   3701:     break;}
1.1.1.5 ! root     3702: case 146:
        !          3703: #line 980 "cp-parse.y"
1.1.1.2   root     3704: { yyvsp[0].itype = pedantic;
                   3705:                  pedantic = 0; ;
                   3706:     break;}
1.1.1.5 ! root     3707: case 147:
        !          3708: #line 983 "cp-parse.y"
1.1.1.2   root     3709: { yyval.ttype = yyvsp[0].ttype;
                   3710:                  pedantic = yyvsp[-2].itype; ;
                   3711:     break;}
1.1.1.5 ! root     3712: case 148:
        !          3713: #line 986 "cp-parse.y"
1.1       root     3714: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
                   3715:     break;}
1.1.1.5 ! root     3716: case 149:
        !          3717: #line 988 "cp-parse.y"
1.1       root     3718: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
                   3719:     break;}
1.1.1.5 ! root     3720: case 150:
        !          3721: #line 990 "cp-parse.y"
1.1       root     3722: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
                   3723:     break;}
1.1.1.5 ! root     3724: case 151:
        !          3725: #line 992 "cp-parse.y"
        !          3726: { yyval.ttype = build_x_unary_op ((enum tree_code) yyval.ttype, yyvsp[0].ttype);
1.1       root     3727:                  if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
                   3728:                    TREE_NEGATED_INT (yyval.ttype) = 1;
                   3729:                ;
                   3730:     break;}
1.1.1.5 ! root     3731: case 152:
        !          3732: #line 998 "cp-parse.y"
1.1.1.4   root     3733: { tree label = lookup_label (yyvsp[0].ttype);
                   3734:                  TREE_USED (label) = 1;
                   3735:                  yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
                   3736:                  TREE_CONSTANT (yyval.ttype) = 1; ;
                   3737:     break;}
1.1.1.5 ! root     3738: case 153:
        !          3739: #line 1003 "cp-parse.y"
1.1       root     3740: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3741:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3742:                    error ("sizeof applied to a bit-field");
                   3743:                  /* ANSI says arrays and functions are converted inside comma.
                   3744:                     But we can't really convert them in build_compound_expr
                   3745:                     because that would break commas in lvalues.
                   3746:                     So do the conversion here if operand was a comma.  */
                   3747:                  if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3748:                      && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3749:                          || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3750:                    yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
1.1.1.5 ! root     3751:                  else if (TREE_CODE (yyvsp[0].ttype) == TREE_LIST)
        !          3752:                    {
        !          3753:                      tree t = TREE_VALUE (yyvsp[0].ttype);
        !          3754:                      if (t != NULL_TREE
        !          3755:                          && TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE)
        !          3756:                        pedwarn ("ANSI C++ forbids using sizeof() on a function");
        !          3757:                    }
1.1       root     3758:                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
                   3759:     break;}
1.1.1.5 ! root     3760: case 154:
        !          3761: #line 1023 "cp-parse.y"
1.1       root     3762: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
                   3763:     break;}
1.1.1.5 ! root     3764: case 155:
        !          3765: #line 1025 "cp-parse.y"
1.1       root     3766: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3767:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3768:                    error ("`__alignof' applied to a bit-field");
                   3769:                  if (TREE_CODE (yyvsp[0].ttype) == INDIRECT_REF)
                   3770:                    {
                   3771:                      tree t = TREE_OPERAND (yyvsp[0].ttype, 0);
                   3772:                      tree best = t;
                   3773:                      int bestalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3774:                      while (TREE_CODE (t) == NOP_EXPR
                   3775:                             && TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 0))) == POINTER_TYPE)
                   3776:                        {
                   3777:                          int thisalign;
                   3778:                          t = TREE_OPERAND (t, 0);
                   3779:                          thisalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3780:                          if (thisalign > bestalign)
                   3781:                            best = t, bestalign = thisalign;
                   3782:                        }
                   3783:                      yyval.ttype = c_alignof (TREE_TYPE (TREE_TYPE (best)));
                   3784:                    }
                   3785:                  else
                   3786:                    {
                   3787:                      /* ANSI says arrays and fns are converted inside comma.
                   3788:                         But we can't convert them in build_compound_expr
                   3789:                         because that would break commas in lvalues.
                   3790:                         So do the conversion here if operand was a comma.  */
                   3791:                      if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3792:                          && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3793:                              || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3794:                        yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
                   3795:                      yyval.ttype = c_alignof (TREE_TYPE (yyvsp[0].ttype));
                   3796:                    }
                   3797:                ;
                   3798:     break;}
1.1.1.4   root     3799: case 156:
1.1.1.5 ! root     3800: #line 1058 "cp-parse.y"
        !          3801: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
1.1.1.4   root     3802:     break;}
                   3803: case 157:
1.1.1.5 ! root     3804: #line 1061 "cp-parse.y"
        !          3805: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1       root     3806:     break;}
1.1.1.4   root     3807: case 158:
1.1.1.5 ! root     3808: #line 1063 "cp-parse.y"
        !          3809: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4   root     3810:     break;}
                   3811: case 159:
1.1.1.5 ! root     3812: #line 1065 "cp-parse.y"
        !          3813: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype != NULL_TREE); ;
1.1       root     3814:     break;}
1.1.1.4   root     3815: case 160:
1.1.1.5 ! root     3816: #line 1067 "cp-parse.y"
        !          3817: { yyval.ttype = build_new (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype != NULL_TREE); ;
1.1.1.4   root     3818:     break;}
1.1.1.2   root     3819: case 161:
1.1.1.5 ! root     3820: #line 1069 "cp-parse.y"
        !          3821: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
        !          3822:     break;}
        !          3823: case 162:
        !          3824: #line 1071 "cp-parse.y"
        !          3825: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
        !          3826:     break;}
        !          3827: case 163:
        !          3828: #line 1073 "cp-parse.y"
        !          3829: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype != NULL_TREE); ;
        !          3830:     break;}
        !          3831: case 164:
        !          3832: #line 1075 "cp-parse.y"
        !          3833: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype != NULL_TREE); ;
        !          3834:     break;}
        !          3835: case 165:
        !          3836: #line 1083 "cp-parse.y"
1.1       root     3837: {
                   3838:                  tree absdcl, typename;
                   3839: 
                   3840:                illegal_new_array:
                   3841:                  absdcl = build_parse_node (ARRAY_REF, yyvsp[-4].ttype, yyvsp[-1].ttype);
                   3842:                  typename = build_decl_list (yyvsp[-5].ttype, absdcl);
1.1.1.4   root     3843:                  pedwarn ("ANSI C++ forbids array dimensions with parenthesized type");
1.1.1.5 ! root     3844:                  yyval.ttype = build_new (yyvsp[-7].ttype, typename, NULL_TREE, yyval.ttype != NULL_TREE);
1.1       root     3845:                ;
                   3846:     break;}
1.1.1.5 ! root     3847: case 166:
        !          3848: #line 1093 "cp-parse.y"
1.1       root     3849: { goto illegal_new_array; ;
                   3850:     break;}
1.1.1.5 ! root     3851: case 167:
        !          3852: #line 1096 "cp-parse.y"
        !          3853: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1       root     3854:     break;}
1.1.1.5 ! root     3855: case 168:
        !          3856: #line 1098 "cp-parse.y"
        !          3857: { yyval.ttype = build_new (yyvsp[-5].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1       root     3858:     break;}
1.1.1.5 ! root     3859: case 169:
        !          3860: #line 1100 "cp-parse.y"
        !          3861: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1       root     3862:     break;}
1.1.1.5 ! root     3863: case 170:
        !          3864: #line 1102 "cp-parse.y"
        !          3865: { yyval.ttype = build_new (yyvsp[-5].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4   root     3866:     break;}
1.1.1.5 ! root     3867: case 171:
        !          3868: #line 1105 "cp-parse.y"
        !          3869: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4   root     3870:     break;}
1.1.1.5 ! root     3871: case 172:
        !          3872: #line 1107 "cp-parse.y"
        !          3873: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4   root     3874:     break;}
1.1.1.5 ! root     3875: case 173:
        !          3876: #line 1110 "cp-parse.y"
1.1       root     3877: { tree expr = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3878:                  tree type = TREE_TYPE (expr);
                   3879: 
1.1.1.4   root     3880:                  if (TREE_CODE (type) != POINTER_TYPE)
1.1       root     3881:                    {
                   3882:                      error ("non-pointer type to `delete'");
                   3883:                      yyval.ttype = error_mark_node;
                   3884:                      break;
                   3885:                    }
1.1.1.4   root     3886:                  else if (integer_zerop (expr))
                   3887:                    {
                   3888:                      /* ANSI C++ June 5 1992 WP 5.3.4.  Deleting a pointer
                   3889:                         with the value zero is legal and has no effect.  */
                   3890:                      yyval.ttype = build1 (NOP_EXPR, void_type_node, expr);
                   3891:                      break;
                   3892:                    }
                   3893:                  else if (TREE_READONLY (TREE_TYPE (type)))
                   3894:                    {
                   3895:                      error ("`const *' cannot be deleted");
                   3896:                      yyval.ttype = error_mark_node;
                   3897:                      break;
                   3898:                    }
1.1       root     3899:                  yyval.ttype = build_delete (type, expr, integer_three_node,
                   3900:                                     LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
1.1.1.4   root     3901:                                     TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)),
                   3902:                                     0);
1.1       root     3903:                ;
                   3904:     break;}
1.1.1.5 ! root     3905: case 174:
        !          3906: #line 1138 "cp-parse.y"
1.1       root     3907: {
                   3908:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
1.1.1.4   root     3909:                  tree type = TREE_TYPE (exp);
                   3910:                  tree elt_size = c_sizeof (type);
1.1       root     3911: 
                   3912:                  if (yychar == YYEMPTY)
                   3913:                    yychar = YYLEX;
                   3914: 
1.1.1.4   root     3915:                  if (TREE_CODE (type) == POINTER_TYPE
                   3916:                      && TREE_READONLY (TREE_TYPE (type)))
                   3917:                    {
                   3918:                      error ("`const *' cannot be deleted");
                   3919:                      yyval.ttype = error_mark_node;
                   3920:                      break;
                   3921:                    }
1.1       root     3922:                  yyval.ttype = build_vec_delete (exp, NULL_TREE, elt_size, NULL_TREE,
                   3923:                                         integer_one_node, integer_two_node);
                   3924:                ;
                   3925:     break;}
1.1.1.5 ! root     3926: case 175:
        !          3927: #line 1157 "cp-parse.y"
1.1       root     3928: {
                   3929:                  tree maxindex = build_binary_op (MINUS_EXPR, yyvsp[-2].ttype,
1.1.1.5 ! root     3930:                                                   integer_one_node, 1);
1.1       root     3931:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
1.1.1.4   root     3932:                  tree type = TREE_TYPE (exp);
                   3933:                  tree elt_size = c_sizeof (type);
1.1       root     3934: 
                   3935:                  if (yychar == YYEMPTY)
                   3936:                    yychar = YYLEX;
                   3937: 
1.1.1.4   root     3938:                  if (! flag_traditional)
                   3939:                    pedwarn ("ANSI C++ forbids array size in vector delete");
                   3940:                  if (TREE_CODE (type) == POINTER_TYPE
                   3941:                      && TREE_READONLY (TREE_TYPE (type)))
                   3942:                    {
                   3943:                      error ("`const *' cannot be deleted");
                   3944:                      yyval.ttype = error_mark_node;
                   3945:                      break;
                   3946:                    }
1.1       root     3947:                  yyval.ttype = build_vec_delete (exp, maxindex, elt_size, NULL_TREE,
                   3948:                                         integer_one_node, integer_two_node);
                   3949:                ;
                   3950:     break;}
1.1.1.5 ! root     3951: case 177:
        !          3952: #line 1184 "cp-parse.y"
1.1       root     3953: { tree type = groktypename (yyvsp[-2].ttype);
                   3954:                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
                   3955:     break;}
1.1.1.5 ! root     3956: case 178:
        !          3957: #line 1187 "cp-parse.y"
1.1       root     3958: { tree type = groktypename (yyvsp[-5].ttype);
                   3959:                  tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   3960:                  if (pedantic)
1.1.1.4   root     3961:                    pedwarn ("ANSI C++ forbids constructor-expressions");
1.1       root     3962:                  /* Indicate that this was a GNU C constructor expression.  */
                   3963:                  TREE_HAS_CONSTRUCTOR (init) = 1;
1.1.1.5 ! root     3964:                  yyval.ttype = digest_init (type, init, (tree *) 0);
1.1       root     3965:                  if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
                   3966:                    {
                   3967:                      int failure = complete_array_type (type, yyval.ttype, 1);
                   3968:                      if (failure)
1.1.1.3   root     3969:                        my_friendly_abort (78);
1.1       root     3970:                    }
                   3971:                ;
                   3972:     break;}
1.1.1.5 ! root     3973: case 179:
        !          3974: #line 1202 "cp-parse.y"
1.1       root     3975: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
                   3976:     break;}
1.1.1.5 ! root     3977: case 180:
        !          3978: #line 1204 "cp-parse.y"
1.1       root     3979: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
                   3980:     break;}
1.1.1.5 ! root     3981: case 181:
        !          3982: #line 1206 "cp-parse.y"
1.1       root     3983: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
                   3984:                    {
                   3985:                      tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
                   3986:                      yyval.ttype = CLASSTYPE_DOSSIER (type);
                   3987:                    }
                   3988:                  else
                   3989:                    yyval.ttype = error_mark_node;
                   3990:                ;
                   3991:     break;}
1.1.1.2   root     3992: case 183:
1.1.1.5 ! root     3993: #line 1219 "cp-parse.y"
1.1       root     3994: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3995:     break;}
1.1.1.2   root     3996: case 184:
1.1.1.5 ! root     3997: #line 1221 "cp-parse.y"
1.1.1.4   root     3998: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     3999:     break;}
1.1.1.2   root     4000: case 185:
1.1.1.5 ! root     4001: #line 1223 "cp-parse.y"
1.1.1.4   root     4002: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4003:     break;}
1.1.1.2   root     4004: case 186:
1.1.1.5 ! root     4005: #line 1225 "cp-parse.y"
1.1       root     4006: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4007:     break;}
1.1.1.2   root     4008: case 187:
1.1.1.5 ! root     4009: #line 1227 "cp-parse.y"
        !          4010: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4011:     break;}
1.1.1.2   root     4012: case 188:
1.1.1.5 ! root     4013: #line 1229 "cp-parse.y"
        !          4014: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4015:     break;}
1.1.1.2   root     4016: case 189:
1.1.1.5 ! root     4017: #line 1231 "cp-parse.y"
1.1       root     4018: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4019:     break;}
1.1.1.2   root     4020: case 190:
1.1.1.5 ! root     4021: #line 1233 "cp-parse.y"
1.1       root     4022: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4023:     break;}
1.1.1.2   root     4024: case 191:
1.1.1.5 ! root     4025: #line 1235 "cp-parse.y"
        !          4026: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4027:     break;}
1.1.1.2   root     4028: case 192:
1.1.1.5 ! root     4029: #line 1237 "cp-parse.y"
        !          4030: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4031:     break;}
1.1.1.2   root     4032: case 193:
1.1.1.5 ! root     4033: #line 1239 "cp-parse.y"
1.1.1.4   root     4034: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4035:     break;}
1.1.1.2   root     4036: case 194:
1.1.1.5 ! root     4037: #line 1241 "cp-parse.y"
        !          4038: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4039:     break;}
1.1.1.2   root     4040: case 195:
1.1.1.5 ! root     4041: #line 1243 "cp-parse.y"
        !          4042: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1.1.4   root     4043:     break;}
                   4044: case 196:
1.1.1.5 ! root     4045: #line 1245 "cp-parse.y"
        !          4046: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1.1.4   root     4047:     break;}
                   4048: case 197:
1.1.1.5 ! root     4049: #line 1247 "cp-parse.y"
        !          4050: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1.1.4   root     4051:     break;}
                   4052: case 198:
1.1.1.5 ! root     4053: #line 1249 "cp-parse.y"
        !          4054: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
        !          4055:     break;}
        !          4056: case 199:
        !          4057: #line 1251 "cp-parse.y"
        !          4058: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
        !          4059:     break;}
        !          4060: case 200:
        !          4061: #line 1253 "cp-parse.y"
        !          4062: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          4063:     break;}
        !          4064: case 201:
        !          4065: #line 1255 "cp-parse.y"
        !          4066: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
        !          4067:     break;}
        !          4068: case 202:
        !          4069: #line 1257 "cp-parse.y"
1.1       root     4070: { register tree rval;
1.1.1.4   root     4071:                  if (rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype,
1.1.1.5 ! root     4072:                                             make_node (yyvsp[-1].code)))
1.1       root     4073:                    yyval.ttype = rval;
                   4074:                  else
                   4075:                    yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
                   4076:     break;}
1.1.1.5 ! root     4077: case 203:
        !          4078: #line 1264 "cp-parse.y"
1.1       root     4079: { yyval.ttype = build_m_component_ref (yyval.ttype, build_indirect_ref (yyvsp[0].ttype, 0)); ;
                   4080:     break;}
1.1.1.5 ! root     4081: case 204:
        !          4082: #line 1267 "cp-parse.y"
1.1       root     4083: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
                   4084:     break;}
1.1.1.5 ! root     4085: case 205:
        !          4086: #line 1283 "cp-parse.y"
1.1       root     4087: { yyval.ttype = do_identifier (yyval.ttype); ;
                   4088:     break;}
1.1.1.5 ! root     4089: case 206:
        !          4090: #line 1285 "cp-parse.y"
1.1       root     4091: {
                   4092:                  tree op = yyval.ttype;
                   4093:                  if (TREE_CODE (op) != IDENTIFIER_NODE)
                   4094:                    yyval.ttype = op;
                   4095:                  else
                   4096:                    {
1.1.1.4   root     4097:                      yyval.ttype = lookup_name (op, 0);
1.1       root     4098:                      if (yyval.ttype == NULL_TREE)
                   4099:                        {
                   4100:                          error ("operator %s not defined", operator_name_string (op));
                   4101:                          yyval.ttype = error_mark_node;
                   4102:                        }
                   4103:                    }
                   4104:                ;
                   4105:     break;}
1.1.1.5 ! root     4106: case 208:
        !          4107: #line 1301 "cp-parse.y"
1.1       root     4108: { yyval.ttype = combine_strings (yyval.ttype); ;
                   4109:     break;}
1.1.1.5 ! root     4110: case 209:
        !          4111: #line 1303 "cp-parse.y"
1.1       root     4112: { yyval.ttype = yyvsp[-1].ttype; ;
                   4113:     break;}
1.1.1.5 ! root     4114: case 210:
        !          4115: #line 1305 "cp-parse.y"
1.1       root     4116: { yyval.ttype = error_mark_node; ;
                   4117:     break;}
1.1.1.5 ! root     4118: case 211:
        !          4119: #line 1307 "cp-parse.y"
1.1       root     4120: { if (current_function_decl == 0)
                   4121:                    {
                   4122:                      error ("braced-group within expression allowed only inside a function");
                   4123:                      YYERROR;
                   4124:                    }
                   4125:                  keep_next_level ();
                   4126:                  yyval.ttype = expand_start_stmt_expr (); ;
                   4127:     break;}
1.1.1.5 ! root     4128: case 212:
        !          4129: #line 1315 "cp-parse.y"
1.1       root     4130: { tree rtl_exp;
                   4131:                  if (pedantic)
1.1.1.4   root     4132:                    pedwarn ("ANSI C++ forbids braced-groups within expressions");
1.1       root     4133:                  rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
                   4134:                  /* The statements have side effects, so the group does.  */
                   4135:                  TREE_SIDE_EFFECTS (rtl_exp) = 1;
                   4136:                  /* Make a BIND_EXPR for the BLOCK already made.  */
                   4137:                  yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
                   4138:                              NULL_TREE, rtl_exp, yyvsp[-1].ttype);
1.1.1.4   root     4139:                  /* Remove the block from the tree at this point.
                   4140:                     It gets put back at the proper place
                   4141:                     when the BIND_EXPR is expanded.  */
                   4142:                  delete_block (yyvsp[-1].ttype);
1.1       root     4143:                ;
                   4144:     break;}
1.1.1.5 ! root     4145: case 213:
        !          4146: #line 1330 "cp-parse.y"
1.1       root     4147: { /* [eichin:19911016.1902EST] */
                   4148:                   yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
                   4149:                   /* here we instantiate_class_template as needed... */
1.1.1.4   root     4150:                   do_pending_templates ();
1.1       root     4151:                 ;
                   4152:     break;}
1.1.1.5 ! root     4153: case 214:
        !          4154: #line 1334 "cp-parse.y"
1.1       root     4155: {
                   4156:                   if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
                   4157:                       && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
                   4158:                    yyval.ttype = require_complete_type (yyvsp[-1].ttype);
                   4159:                   else
                   4160:                     yyval.ttype = yyvsp[-1].ttype;
                   4161:                 ;
                   4162:     break;}
1.1.1.5 ! root     4163: case 215:
        !          4164: #line 1342 "cp-parse.y"
        !          4165: {
        !          4166:                  if (yyval.ttype != error_mark_node)
        !          4167:                    {
        !          4168:                      yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
        !          4169:                      if (TREE_CODE (yyval.ttype) == CALL_EXPR
        !          4170:                          && TREE_TYPE (yyval.ttype) != void_type_node)
        !          4171:                        yyval.ttype = require_complete_type (yyval.ttype);
        !          4172:                    }
1.1       root     4173:                 ;
                   4174:     break;}
1.1.1.5 ! root     4175: case 216:
        !          4176: #line 1352 "cp-parse.y"
1.1       root     4177: {
                   4178:                do_array:
                   4179:                  {
                   4180:                    tree array_expr = yyval.ttype;
                   4181:                    tree index_exp = yyvsp[-1].ttype;
                   4182:                    tree type = TREE_TYPE (array_expr);
                   4183:                    if (type == error_mark_node || index_exp == error_mark_node)
                   4184:                      yyval.ttype = error_mark_node;
                   4185:                    else if (type == NULL_TREE)
                   4186:                      {
                   4187:                        /* Something has gone very wrong.  Assume we
                   4188:                           are mistakenly reducing an expression
                   4189:                           instead of a declaration.  */
                   4190:                        error ("parser may be lost: is there a '{' missing somewhere?");
                   4191:                        yyval.ttype = NULL_TREE;
                   4192:                      }
                   4193:                    else
                   4194:                      {
                   4195:                        if (TREE_CODE (type) == OFFSET_TYPE)
                   4196:                          type = TREE_TYPE (type);
                   4197:                        if (TREE_CODE (type) == REFERENCE_TYPE)
                   4198:                          type = TREE_TYPE (type);
                   4199: 
                   4200:                        if (TYPE_LANG_SPECIFIC (type)
                   4201:                            && TYPE_OVERLOADS_ARRAY_REF (type))
1.1.1.5 ! root     4202:                          yyval.ttype = build_opfncall (ARRAY_REF, LOOKUP_NORMAL, array_expr, index_exp, NULL_TREE);
1.1       root     4203:                        else if (TREE_CODE (type) == POINTER_TYPE
                   4204:                                 || TREE_CODE (type) == ARRAY_TYPE)
                   4205:                          yyval.ttype = build_array_ref (array_expr, index_exp);
                   4206:                        else
                   4207:                          {
                   4208:                            type = TREE_TYPE (index_exp);
                   4209:                            if (TREE_CODE (type) == OFFSET_TYPE)
                   4210:                              type = TREE_TYPE (type);
                   4211:                            if (TREE_CODE (type) == REFERENCE_TYPE)
                   4212:                              type = TREE_TYPE (type);
                   4213:                            
                   4214:                            if (TYPE_LANG_SPECIFIC (type)
                   4215:                                && TYPE_OVERLOADS_ARRAY_REF (type))
                   4216:                              error ("array expression backwards");
                   4217:                            else if (TREE_CODE (type) == POINTER_TYPE
                   4218:                                     || TREE_CODE (type) == ARRAY_TYPE)
                   4219:                              yyval.ttype = build_array_ref (index_exp, array_expr);
                   4220:                            else
                   4221:                              error("[] applied to non-pointer type");
                   4222:                          }
                   4223:                      }
                   4224:                  }
                   4225:                ;
                   4226:     break;}
1.1.1.5 ! root     4227: case 217:
        !          4228: #line 1402 "cp-parse.y"
1.1       root     4229: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
                   4230:     break;}
1.1.1.5 ! root     4231: case 218:
        !          4232: #line 1404 "cp-parse.y"
1.1       root     4233: {
                   4234:                  tree basetype = yyvsp[-1].ttype;
                   4235:                  if (is_aggr_typedef (basetype, 1))
                   4236:                    {
                   4237:                      basetype = IDENTIFIER_TYPE_VALUE (basetype);
                   4238: 
                   4239:                      if (yyval.ttype == error_mark_node)
                   4240:                        ;
                   4241:                      else if (binfo_or_else (basetype, TREE_TYPE (yyval.ttype)))
                   4242:                        yyval.ttype = build_component_ref (build_scoped_ref (yyval.ttype, yyvsp[-1].ttype), yyvsp[0].ttype, NULL_TREE, 1);
                   4243:                      else
                   4244:                        yyval.ttype = error_mark_node;
                   4245:                    }
                   4246:                  else yyval.ttype = error_mark_node;
                   4247:                ;
                   4248:     break;}
1.1.1.5 ! root     4249: case 219:
        !          4250: #line 1420 "cp-parse.y"
1.1       root     4251: { yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
                   4252:     break;}
1.1.1.5 ! root     4253: case 220:
        !          4254: #line 1422 "cp-parse.y"
1.1       root     4255: { yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
                   4256:     break;}
1.1.1.5 ! root     4257: case 221:
        !          4258: #line 1426 "cp-parse.y"
1.1       root     4259: { if (current_class_decl)
                   4260:                    {
                   4261: #ifdef WARNING_ABOUT_CCD
                   4262:                      TREE_USED (current_class_decl) = 1;
                   4263: #endif
                   4264:                      yyval.ttype = current_class_decl;
                   4265:                    }
                   4266:                  else if (current_function_decl
                   4267:                           && DECL_STATIC_FUNCTION_P (current_function_decl))
                   4268:                    {
                   4269:                      error ("`this' is unavailable for static member functions");
                   4270:                      yyval.ttype = error_mark_node;
                   4271:                    }
                   4272:                  else
                   4273:                    {
                   4274:                      if (current_function_decl)
                   4275:                        error ("invalid use of `this' in non-member function");
                   4276:                      else
                   4277:                        error ("invalid use of `this' at top level");
                   4278:                      yyval.ttype = error_mark_node;
                   4279:                    }
                   4280:                ;
                   4281:     break;}
1.1.1.5 ! root     4282: case 222:
        !          4283: #line 1449 "cp-parse.y"
1.1       root     4284: {
                   4285:                  tree type;
                   4286:                  tree id = yyval.ttype;
                   4287: 
                   4288:                  /* This is a C cast in C++'s `functional' notation.  */
                   4289:                  if (yyvsp[-1].ttype == error_mark_node)
                   4290:                    {
                   4291:                      yyval.ttype = error_mark_node;
                   4292:                      break;
                   4293:                    }
                   4294: #if 0
                   4295:                  if (yyvsp[-1].ttype == NULL_TREE)
                   4296:                    {
                   4297:                      error ("cannot cast null list to type `%s'",
                   4298:                             IDENTIFIER_POINTER (TYPE_NAME (id)));
                   4299:                      yyval.ttype = error_mark_node;
                   4300:                      break;
                   4301:                    }
                   4302: #endif
1.1.1.4   root     4303: #if 0
                   4304:                  /* type is not set! (mrs) */
1.1       root     4305:                  if (type == error_mark_node)
                   4306:                    yyval.ttype = error_mark_node;
                   4307:                  else
1.1.1.4   root     4308: #endif
1.1       root     4309:                    {
                   4310:                      if (id == ridpointers[(int) RID_CONST])
                   4311:                        type = build_type_variant (integer_type_node, 1, 0);
                   4312:                      else if (id == ridpointers[(int) RID_VOLATILE])
                   4313:                        type = build_type_variant (integer_type_node, 0, 1);
1.1.1.4   root     4314: #if 0
                   4315:                      /* should not be able to get here (mrs) */
1.1       root     4316:                      else if (id == ridpointers[(int) RID_FRIEND])
                   4317:                        {
                   4318:                          error ("cannot cast expression to `friend' type");
                   4319:                          yyval.ttype = error_mark_node;
                   4320:                          break;
                   4321:                        }
1.1.1.4   root     4322: #endif
1.1.1.3   root     4323:                      else my_friendly_abort (79);
1.1       root     4324:                      yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
                   4325:                    }
                   4326:                ;
                   4327:     break;}
1.1.1.5 ! root     4328: case 223:
        !          4329: #line 1493 "cp-parse.y"
1.1       root     4330: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
                   4331:     break;}
1.1.1.5 ! root     4332: case 224:
        !          4333: #line 1495 "cp-parse.y"
1.1       root     4334: { yyval.ttype = build_functional_cast (yyval.ttype, NULL_TREE); ;
                   4335:     break;}
1.1.1.5 ! root     4336: case 225:
        !          4337: #line 1497 "cp-parse.y"
1.1.1.4   root     4338: { yyval.ttype = build_functional_cast (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4339:     break;}
1.1.1.5 ! root     4340: case 226:
        !          4341: #line 1499 "cp-parse.y"
1.1.1.4   root     4342: { yyval.ttype = build_functional_cast (yyvsp[-1].ttype, NULL_TREE); ;
                   4343:     break;}
1.1.1.5 ! root     4344: case 227:
        !          4345: #line 1501 "cp-parse.y"
1.1       root     4346: {
                   4347:                do_scoped_id:
                   4348:                  yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
                   4349:                  if (yychar == YYEMPTY)
                   4350:                    yychar = YYLEX;
                   4351:                  if (! yyval.ttype)
                   4352:                    {
                   4353:                      if (yychar == '(' || yychar == LEFT_RIGHT)
                   4354:                        yyval.ttype = implicitly_declare (yyvsp[0].ttype);
                   4355:                      else
                   4356:                        {
                   4357:                          if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
                   4358:                            error ("undeclared variable `%s' (first use here)",
                   4359:                                   IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4360:                          yyval.ttype = error_mark_node;
                   4361:                          /* Prevent repeated error messages.  */
                   4362:                          IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
                   4363:                        }
                   4364:                    }
                   4365:                  else
                   4366:                    {
1.1.1.5 ! root     4367:                      if (TREE_CODE (yyval.ttype) == ADDR_EXPR)
        !          4368:                        assemble_external (TREE_OPERAND (yyval.ttype, 0));
        !          4369:                      else
        !          4370:                        assemble_external (yyval.ttype);
1.1       root     4371:                      TREE_USED (yyval.ttype) = 1;
                   4372:                    }
                   4373:                  if (TREE_CODE (yyval.ttype) == CONST_DECL)
1.1.1.4   root     4374:                    {
                   4375:                      /* XXX CHS - should we set TREE_USED of the constant? */
                   4376:                      yyval.ttype = DECL_INITIAL (yyval.ttype);
                   4377:                      /* This is to prevent an enum whose value is 0
                   4378:                         from being considered a null pointer constant.  */
                   4379:                      yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
                   4380:                      TREE_CONSTANT (yyval.ttype) = 1;
                   4381:                    }
                   4382: 
1.1       root     4383:                ;
                   4384:     break;}
1.1.1.5 ! root     4385: case 228:
        !          4386: #line 1540 "cp-parse.y"
1.1       root     4387: {
                   4388:                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                   4389:                    goto do_scoped_id;
                   4390:                do_scoped_operator:
                   4391:                  yyval.ttype = yyvsp[0].ttype;
                   4392:                ;
                   4393:     break;}
1.1.1.5 ! root     4394: case 229:
        !          4395: #line 1547 "cp-parse.y"
1.1       root     4396: { yyval.ttype = build_offset_ref (yyval.ttype, yyvsp[0].ttype); ;
                   4397:     break;}
1.1.1.5 ! root     4398: case 230:
        !          4399: #line 1549 "cp-parse.y"
1.1       root     4400: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4401:     break;}
1.1.1.5 ! root     4402: case 231:
        !          4403: #line 1551 "cp-parse.y"
1.1       root     4404: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4405:     break;}
1.1.1.5 ! root     4406: case 232:
        !          4407: #line 1553 "cp-parse.y"
1.1       root     4408: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
                   4409:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4410:     break;}
1.1.1.5 ! root     4411: case 233:
        !          4412: #line 1556 "cp-parse.y"
1.1       root     4413: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
                   4414:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4415:     break;}
1.1.1.5 ! root     4416: case 234:
        !          4417: #line 1559 "cp-parse.y"
1.1       root     4418: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4419:     break;}
1.1.1.5 ! root     4420: case 235:
        !          4421: #line 1561 "cp-parse.y"
1.1       root     4422: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4423:     break;}
1.1.1.5 ! root     4424: case 236:
        !          4425: #line 1603 "cp-parse.y"
1.1       root     4426: { yyval.ttype = NULL_TREE; ;
                   4427:     break;}
1.1.1.5 ! root     4428: case 237:
        !          4429: #line 1605 "cp-parse.y"
1.1.1.4   root     4430: {
                   4431:                  yyval.ttype = yyvsp[-1].ttype;
                   4432:                  pedwarn ("old style placement syntax, use () instead");
                   4433:                ;
1.1       root     4434:     break;}
1.1.1.5 ! root     4435: case 238:
        !          4436: #line 1610 "cp-parse.y"
1.1       root     4437: { yyval.ttype = void_type_node; ;
                   4438:     break;}
1.1.1.5 ! root     4439: case 239:
        !          4440: #line 1612 "cp-parse.y"
1.1       root     4441: { yyval.ttype = combine_strings (yyvsp[-1].ttype); ;
                   4442:     break;}
1.1.1.5 ! root     4443: case 240:
        !          4444: #line 1617 "cp-parse.y"
1.1       root     4445: { yyval.itype = 0; ;
                   4446:     break;}
1.1.1.5 ! root     4447: case 241:
        !          4448: #line 1619 "cp-parse.y"
1.1       root     4449: { yyval.itype = 1; ;
                   4450:     break;}
1.1.1.5 ! root     4451: case 242:
        !          4452: #line 1623 "cp-parse.y"
1.1       root     4453: { yyval.ttype = NULL_TREE; ;
                   4454:     break;}
1.1.1.5 ! root     4455: case 243:
        !          4456: #line 1625 "cp-parse.y"
1.1       root     4457: { if (yyvsp[0].ttype)
                   4458:                    error ("extra `::' before `delete' ignored");
                   4459:                  yyval.ttype = error_mark_node;
                   4460:                ;
                   4461:     break;}
1.1.1.5 ! root     4462: case 245:
        !          4463: #line 1635 "cp-parse.y"
1.1       root     4464: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4465:     break;}
1.1.1.5 ! root     4466: case 246:
        !          4467: #line 1640 "cp-parse.y"
1.1       root     4468: {
                   4469:                  if (! current_function_parms_stored)
                   4470:                    store_parm_decls ();
                   4471:                  setup_vtbl_ptr ();
                   4472:                ;
                   4473:     break;}
1.1.1.5 ! root     4474: case 247:
        !          4475: #line 1648 "cp-parse.y"
1.1       root     4476: {
                   4477:                  if (yyval.ttype == error_mark_node)
                   4478:                    ;
                   4479:                  else
                   4480:                    {
                   4481:                      tree type = TREE_TYPE (yyval.ttype);
                   4482: 
                   4483:                      if (! PROMOTES_TO_AGGR_TYPE (type, REFERENCE_TYPE))
                   4484:                        {
                   4485:                          error ("object in '.' expression is not of aggregate type");
                   4486:                          yyval.ttype = error_mark_node;
                   4487:                        }
                   4488:                    }
                   4489:                ;
                   4490:     break;}
1.1.1.5 ! root     4491: case 248:
        !          4492: #line 1663 "cp-parse.y"
1.1       root     4493: {
1.1.1.4   root     4494:                  yyval.ttype = build_x_arrow (yyval.ttype);
1.1       root     4495:                ;
                   4496:     break;}
1.1.1.5 ! root     4497: case 250:
        !          4498: #line 1673 "cp-parse.y"
1.1       root     4499: {
                   4500:                  resume_momentary (yyvsp[-1].itype);
                   4501:                  note_list_got_semicolon (yyval.ttype);
                   4502:                ;
                   4503:     break;}
1.1.1.5 ! root     4504: case 251:
        !          4505: #line 1679 "cp-parse.y"
1.1       root     4506: { tree d;
                   4507:                  int yes = suspend_momentary ();
                   4508:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     4509:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     4510:                  resume_momentary (yes);
                   4511:                  note_list_got_semicolon (yyval.ttype);
                   4512:                ;
                   4513:     break;}
1.1.1.5 ! root     4514: case 252:
        !          4515: #line 1687 "cp-parse.y"
        !          4516: { resume_momentary ((int) yyvsp[-1].itype); ;
1.1       root     4517:     break;}
1.1.1.5 ! root     4518: case 253:
        !          4519: #line 1690 "cp-parse.y"
1.1       root     4520: { tree d;
                   4521:                  int yes = suspend_momentary ();
                   4522:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     4523:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     4524:                  resume_momentary (yes);
                   4525:                ;
                   4526:     break;}
1.1.1.5 ! root     4527: case 254:
        !          4528: #line 1697 "cp-parse.y"
1.1       root     4529: {
                   4530:                  shadow_tag (yyval.ttype);
                   4531:                  note_list_got_semicolon (yyval.ttype);
                   4532:                ;
                   4533:     break;}
1.1.1.5 ! root     4534: case 255:
        !          4535: #line 1702 "cp-parse.y"
1.1       root     4536: { warning ("empty declaration"); ;
                   4537:     break;}
1.1.1.5 ! root     4538: case 258:
        !          4539: #line 1712 "cp-parse.y"
1.1       root     4540: { yyval.ttype = yyvsp[0].ttype; ;
                   4541:     break;}
1.1.1.5 ! root     4542: case 259:
        !          4543: #line 1714 "cp-parse.y"
1.1       root     4544: { yyval.ttype = yyvsp[0].ttype; ;
                   4545:     break;}
1.1.1.5 ! root     4546: case 260:
        !          4547: #line 1723 "cp-parse.y"
1.1       root     4548: { yyval.ttype = list_hash_lookup_or_cons (yyval.ttype); ;
                   4549:     break;}
1.1.1.5 ! root     4550: case 261:
        !          4551: #line 1725 "cp-parse.y"
1.1       root     4552: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4553:     break;}
1.1.1.5 ! root     4554: case 262:
        !          4555: #line 1727 "cp-parse.y"
1.1       root     4556: { yyval.ttype = hash_tree_chain (yyval.ttype, yyvsp[0].ttype); ;
                   4557:     break;}
1.1.1.5 ! root     4558: case 263:
        !          4559: #line 1729 "cp-parse.y"
1.1       root     4560: { yyval.ttype = hash_tree_chain (yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4561:     break;}
1.1.1.5 ! root     4562: case 264:
        !          4563: #line 1735 "cp-parse.y"
1.1       root     4564: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   4565:     break;}
1.1.1.5 ! root     4566: case 265:
        !          4567: #line 1737 "cp-parse.y"
1.1.1.4   root     4568: { if (extra_warnings)
                   4569:                    warning ("`%s' is not at beginning of declaration",
                   4570:                             IDENTIFIER_POINTER (yyval.ttype));
                   4571:                  yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
1.1       root     4572:     break;}
1.1.1.5 ! root     4573: case 266:
        !          4574: #line 1742 "cp-parse.y"
1.1       root     4575: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4576:     break;}
1.1.1.5 ! root     4577: case 267:
        !          4578: #line 1744 "cp-parse.y"
1.1.1.4   root     4579: { if (extra_warnings)
                   4580:                    warning ("`%s' is not at beginning of declaration",
                   4581:                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4582:                  yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
1.1       root     4583:     break;}
1.1.1.5 ! root     4584: case 268:
        !          4585: #line 1756 "cp-parse.y"
1.1.1.4   root     4586: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype);
                   4587:                  TREE_STATIC (yyval.ttype) = 1; ;
1.1       root     4588:     break;}
1.1.1.5 ! root     4589: case 269:
        !          4590: #line 1759 "cp-parse.y"
1.1       root     4591: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   4592:     break;}
1.1.1.5 ! root     4593: case 270:
        !          4594: #line 1761 "cp-parse.y"
1.1.1.4   root     4595: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
                   4596:                  TREE_STATIC (yyval.ttype) = 1; ;
1.1       root     4597:     break;}
1.1.1.5 ! root     4598: case 271:
        !          4599: #line 1764 "cp-parse.y"
1.1.1.4   root     4600: { if (extra_warnings && TREE_STATIC (yyval.ttype))
                   4601:                    warning ("`%s' is not at beginning of declaration",
                   4602:                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4603:                  yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
                   4604:                  TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
1.1       root     4605:     break;}
1.1.1.5 ! root     4606: case 272:
        !          4607: #line 1780 "cp-parse.y"
1.1       root     4608: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4609:     break;}
1.1.1.5 ! root     4610: case 273:
        !          4611: #line 1782 "cp-parse.y"
1.1       root     4612: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4613:     break;}
1.1.1.5 ! root     4614: case 274:
        !          4615: #line 1784 "cp-parse.y"
1.1       root     4616: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
                   4617:     break;}
1.1.1.5 ! root     4618: case 275:
        !          4619: #line 1786 "cp-parse.y"
1.1       root     4620: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4621:     break;}
1.1.1.5 ! root     4622: case 276:
        !          4623: #line 1791 "cp-parse.y"
1.1       root     4624: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4625:     break;}
1.1.1.5 ! root     4626: case 277:
        !          4627: #line 1793 "cp-parse.y"
1.1       root     4628: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4629:     break;}
1.1.1.5 ! root     4630: case 282:
        !          4631: #line 1805 "cp-parse.y"
1.1       root     4632: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
                   4633:                  if (pedantic)
1.1.1.4   root     4634:                    pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1       root     4635:     break;}
1.1.1.5 ! root     4636: case 283:
        !          4637: #line 1809 "cp-parse.y"
1.1       root     4638: { yyval.ttype = groktypename (yyvsp[-1].ttype);
                   4639:                  if (pedantic)
1.1.1.4   root     4640:                    pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1       root     4641:     break;}
1.1.1.5 ! root     4642: case 292:
        !          4643: #line 1834 "cp-parse.y"
1.1       root     4644: { yyval.ttype = NULL_TREE; ;
                   4645:     break;}
1.1.1.5 ! root     4646: case 293:
        !          4647: #line 1836 "cp-parse.y"
        !          4648: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
1.1       root     4649:     break;}
1.1.1.5 ! root     4650: case 294:
        !          4651: #line 1841 "cp-parse.y"
1.1       root     4652: { current_declspecs = yyvsp[-5].ttype;
                   4653:                  yyvsp[0].itype = suspend_momentary ();
1.1.1.3   root     4654:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4   root     4655:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4656:     break;}
1.1.1.5 ! root     4657: case 295:
        !          4658: #line 1847 "cp-parse.y"
1.1.1.3   root     4659: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1       root     4660:                  yyval.itype = yyvsp[-2].itype; ;
                   4661:     break;}
1.1.1.5 ! root     4662: case 296:
        !          4663: #line 1850 "cp-parse.y"
1.1       root     4664: { tree d;
                   4665:                  current_declspecs = yyvsp[-4].ttype;
                   4666:                  yyval.itype = suspend_momentary ();
                   4667:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4   root     4668:                  cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3   root     4669:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4670:     break;}
1.1.1.5 ! root     4671: case 297:
        !          4672: #line 1860 "cp-parse.y"
1.1.1.3   root     4673: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4   root     4674:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4675:     break;}
1.1.1.5 ! root     4676: case 298:
        !          4677: #line 1864 "cp-parse.y"
1.1.1.3   root     4678: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
1.1       root     4679:     break;}
1.1.1.5 ! root     4680: case 299:
        !          4681: #line 1866 "cp-parse.y"
        !          4682: { tree d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4   root     4683:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
1.1.1.3   root     4684:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4685:     break;}
1.1.1.5 ! root     4686: case 300:
        !          4687: #line 1873 "cp-parse.y"
1.1       root     4688: { current_declspecs = yyvsp[-5].ttype;
                   4689:                  yyvsp[0].itype = suspend_momentary ();
1.1.1.3   root     4690:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4   root     4691:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4692:     break;}
1.1.1.5 ! root     4693: case 301:
        !          4694: #line 1879 "cp-parse.y"
1.1.1.3   root     4695: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1       root     4696:                  yyval.itype = yyvsp[-2].itype; ;
                   4697:     break;}
1.1.1.5 ! root     4698: case 302:
        !          4699: #line 1882 "cp-parse.y"
1.1       root     4700: { tree d;
                   4701:                  current_declspecs = yyvsp[-4].ttype;
                   4702:                  yyval.itype = suspend_momentary ();
                   4703:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4   root     4704:                  cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3   root     4705:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4706:     break;}
1.1.1.5 ! root     4707: case 303:
        !          4708: #line 1894 "cp-parse.y"
1.1       root     4709: { yyval.ttype = NULL_TREE; ;
                   4710:     break;}
1.1.1.5 ! root     4711: case 304:
        !          4712: #line 1896 "cp-parse.y"
1.1       root     4713: { yyval.ttype = yyvsp[-2].ttype; ;
                   4714:     break;}
1.1.1.5 ! root     4715: case 305:
        !          4716: #line 1901 "cp-parse.y"
1.1.1.3   root     4717: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   4718:     break;}
1.1.1.5 ! root     4719: case 306:
        !          4720: #line 1903 "cp-parse.y"
1.1.1.3   root     4721: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   4722:     break;}
1.1.1.5 ! root     4723: case 307:
        !          4724: #line 1908 "cp-parse.y"
1.1.1.3   root     4725: { if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
                   4726:            warning ("`%s' attribute directive ignored",
                   4727:                     IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4728:          yyval.ttype = yyvsp[0].ttype; ;
1.1       root     4729:     break;}
1.1.1.5 ! root     4730: case 308:
        !          4731: #line 1913 "cp-parse.y"
1.1.1.3   root     4732: { /* if not "aligned(n)", then issue warning */
                   4733:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
                   4734:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   4735:            {
                   4736:              warning ("`%s' attribute directive ignored",
                   4737:                       IDENTIFIER_POINTER (yyvsp[-3].ttype));
                   4738:              yyval.ttype = yyvsp[-3].ttype;
                   4739:            }
                   4740:          else
1.1.1.4   root     4741:            yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1       root     4742:     break;}
1.1.1.5 ! root     4743: case 309:
        !          4744: #line 1924 "cp-parse.y"
1.1.1.3   root     4745: { /* if not "format(...)", then issue warning */
                   4746:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
                   4747:              || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
                   4748:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   4749:            {
                   4750:              warning ("`%s' attribute directive ignored",
                   4751:                       IDENTIFIER_POINTER (yyvsp[-7].ttype));
                   4752:              yyval.ttype = yyvsp[-7].ttype;
                   4753:            }
                   4754:          else
1.1.1.4   root     4755:            yyval.ttype = tree_cons (yyvsp[-7].ttype, tree_cons (yyvsp[-5].ttype, tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE), NULL_TREE), NULL_TREE); ;
1.1       root     4756:     break;}
1.1.1.5 ! root     4757: case 310:
        !          4758: #line 1940 "cp-parse.y"
1.1.1.2   root     4759: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   4760:     break;}
1.1.1.5 ! root     4761: case 311:
        !          4762: #line 1942 "cp-parse.y"
1.1.1.2   root     4763: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   4764:     break;}
1.1.1.5 ! root     4765: case 313:
        !          4766: #line 1948 "cp-parse.y"
1.1       root     4767: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
                   4768:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1;
                   4769:                  if (pedantic)
1.1.1.4   root     4770:                    pedwarn ("ANSI C++ forbids empty initializer braces"); ;
1.1       root     4771:     break;}
1.1.1.5 ! root     4772: case 314:
        !          4773: #line 1953 "cp-parse.y"
1.1       root     4774: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
                   4775:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4776:     break;}
1.1.1.5 ! root     4777: case 315:
        !          4778: #line 1956 "cp-parse.y"
1.1       root     4779: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   4780:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4781:     break;}
1.1.1.5 ! root     4782: case 316:
        !          4783: #line 1959 "cp-parse.y"
1.1       root     4784: { yyval.ttype = NULL_TREE; ;
                   4785:     break;}
1.1.1.5 ! root     4786: case 317:
        !          4787: #line 1966 "cp-parse.y"
1.1       root     4788: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   4789:     break;}
1.1.1.5 ! root     4790: case 318:
        !          4791: #line 1968 "cp-parse.y"
1.1       root     4792: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4793:     break;}
1.1.1.5 ! root     4794: case 319:
        !          4795: #line 1971 "cp-parse.y"
1.1       root     4796: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4797:     break;}
1.1.1.5 ! root     4798: case 320:
        !          4799: #line 1973 "cp-parse.y"
1.1       root     4800: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4801:     break;}
1.1.1.5 ! root     4802: case 321:
        !          4803: #line 1975 "cp-parse.y"
1.1       root     4804: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
                   4805:     break;}
1.1.1.5 ! root     4806: case 322:
        !          4807: #line 1977 "cp-parse.y"
1.1       root     4808: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4809:     break;}
1.1.1.5 ! root     4810: case 323:
        !          4811: #line 1982 "cp-parse.y"
1.1       root     4812: { yyvsp[0].itype = suspend_momentary ();
                   4813:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
                   4814:     break;}
1.1.1.5 ! root     4815: case 324:
        !          4816: #line 1985 "cp-parse.y"
1.1       root     4817: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
1.1.1.5 ! root     4818:                  resume_momentary ((int) yyvsp[-4].itype);
1.1       root     4819:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4820:     break;}
1.1.1.5 ! root     4821: case 325:
        !          4822: #line 1989 "cp-parse.y"
1.1       root     4823: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
                   4824:                  check_for_missing_semicolon (yyval.ttype); ;
                   4825:     break;}
1.1.1.5 ! root     4826: case 326:
        !          4827: #line 1992 "cp-parse.y"
1.1       root     4828: { yyvsp[0].itype = suspend_momentary ();
                   4829:                  yyval.ttype = start_enum (make_anon_name ()); ;
                   4830:     break;}
1.1.1.5 ! root     4831: case 327:
        !          4832: #line 1995 "cp-parse.y"
1.1       root     4833: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
1.1.1.5 ! root     4834:                  resume_momentary ((int) yyvsp[-5].itype);
1.1       root     4835:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4836:     break;}
1.1.1.5 ! root     4837: case 328:
        !          4838: #line 1999 "cp-parse.y"
1.1       root     4839: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
                   4840:                  check_for_missing_semicolon (yyval.ttype); ;
                   4841:     break;}
1.1.1.5 ! root     4842: case 329:
        !          4843: #line 2002 "cp-parse.y"
1.1       root     4844: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE); ;
                   4845:     break;}
1.1.1.5 ! root     4846: case 330:
        !          4847: #line 2006 "cp-parse.y"
1.1       root     4848: {
                   4849:                  int semi;
1.1.1.4   root     4850:                  tree id;
                   4851: 
1.1       root     4852: #if 0
                   4853:                  /* Need to rework class nesting in the
                   4854:                     presence of nested classes, etc.  */
                   4855:                  shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
                   4856: #endif
1.1.1.4   root     4857:                  if (yychar == YYEMPTY)
                   4858:                    yychar = YYLEX;
1.1       root     4859:                  semi = yychar == ';';
1.1.1.4   root     4860:                  /* finish_struct nukes this anyway; if
                   4861:                     finish_exception does too, then it can go. */
1.1       root     4862:                  if (semi)
                   4863:                    note_got_semicolon (yyval.ttype);
1.1.1.4   root     4864: 
1.1       root     4865:                  if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
                   4866:                    /* $$ = $1 from default rule.  */;
                   4867:                  else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
                   4868:                    {
                   4869:                      if (! semi)
                   4870:                        yyval.ttype = finish_exception (yyval.ttype, yyvsp[-1].ttype);
                   4871:                      else
                   4872:                        warning ("empty exception declaration\n");
                   4873:                    }
                   4874:                  else
1.1.1.4   root     4875:                    {
1.1.1.5 ! root     4876:                      yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi);
1.1.1.4   root     4877:                      if (semi) note_got_semicolon (yyval.ttype);
                   4878:                    }
1.1       root     4879: 
                   4880:                  pop_obstacks ();
1.1.1.4   root     4881: 
                   4882:                  id = TYPE_IDENTIFIER (yyval.ttype);
                   4883:                  if (IDENTIFIER_TEMPLATE (id))
                   4884:                    {
                   4885:                      tree decl;
                   4886: 
                   4887:                      /* I don't know if the copying of this TYPE_DECL is
                   4888:                       * really needed.  However, it's such a small per-
                   4889:                       * formance penalty that the extra safety is a bargain.
                   4890:                       * - [email protected]
                   4891:                       */
                   4892:                      push_obstacks (&permanent_obstack, &permanent_obstack);
1.1.1.5 ! root     4893:                      decl = copy_node (lookup_name (id, 0));
1.1.1.4   root     4894:                      if (DECL_LANG_SPECIFIC (decl))
                   4895:                        copy_lang_decl (decl);
                   4896:                      pop_obstacks ();
                   4897:                      undo_template_name_overload (id, 0);
                   4898:                      pushdecl_top_level (decl);
                   4899:                    }
1.1       root     4900:                  if (! semi)
                   4901:                    check_for_missing_semicolon (yyval.ttype); ;
                   4902:     break;}
1.1.1.5 ! root     4903: case 331:
        !          4904: #line 2061 "cp-parse.y"
1.1       root     4905: {
                   4906: #if 0
                   4907:   /* It's no longer clear what the following error is supposed to
                   4908:      accomplish.  If it turns out to be needed, add a comment why.  */
                   4909:                  if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
                   4910:                    {
                   4911:                      error ("incomplete definition of type `%s'",
                   4912:                             TYPE_NAME_STRING (yyval.ttype));
                   4913:                      yyval.ttype = error_mark_node;
                   4914:                    }
                   4915: #endif
                   4916:                ;
                   4917:     break;}
1.1.1.5 ! root     4918: case 335:
        !          4919: #line 2083 "cp-parse.y"
1.1.1.4   root     4920: { if (pedantic)
                   4921:                    pedwarn ("ANSI C++ forbids comma at end of enumerator list"); ;
1.1       root     4922:     break;}
1.1.1.5 ! root     4923: case 337:
        !          4924: #line 2089 "cp-parse.y"
1.1       root     4925: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   4926:     break;}
1.1.1.5 ! root     4927: case 338:
        !          4928: #line 2091 "cp-parse.y"
1.1       root     4929: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4930:     break;}
1.1.1.5 ! root     4931: case 339:
        !          4932: #line 2093 "cp-parse.y"
1.1       root     4933: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4934:                ;
                   4935:     break;}
1.1.1.5 ! root     4936: case 340:
        !          4937: #line 2096 "cp-parse.y"
1.1       root     4938: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4939:                ;
                   4940:     break;}
1.1.1.5 ! root     4941: case 341:
        !          4942: #line 2099 "cp-parse.y"
1.1       root     4943: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4944:                ;
                   4945:     break;}
1.1.1.5 ! root     4946: case 342:
        !          4947: #line 2102 "cp-parse.y"
1.1       root     4948: { error ("no body nor ';' separates two class, struct or union declarations");
                   4949:                ;
                   4950:     break;}
1.1.1.5 ! root     4951: case 343:
        !          4952: #line 2108 "cp-parse.y"
1.1       root     4953: { aggr1: current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4954:     break;}
1.1.1.5 ! root     4955: case 344:
        !          4956: #line 2110 "cp-parse.y"
1.1       root     4957: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4958:     break;}
1.1.1.5 ! root     4959: case 345:
        !          4960: #line 2112 "cp-parse.y"
1.1       root     4961: { yyungetc (':', 1); goto aggr1; ;
                   4962:     break;}
1.1.1.5 ! root     4963: case 346:
        !          4964: #line 2114 "cp-parse.y"
1.1       root     4965: { yyungetc ('{', 1);
                   4966:                aggr2:
                   4967:                  current_aggr = yyval.ttype;
1.1.1.4   root     4968:                  yyval.ttype = yyvsp[-1].ttype;
                   4969:                  overload_template_name (yyval.ttype, 0); ;
1.1       root     4970:     break;}
1.1.1.5 ! root     4971: case 347:
        !          4972: #line 2120 "cp-parse.y"
1.1       root     4973: { yyungetc (':', 1); goto aggr2; ;
                   4974:     break;}
1.1.1.5 ! root     4975: case 348:
        !          4976: #line 2125 "cp-parse.y"
1.1       root     4977: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4978:     break;}
1.1.1.5 ! root     4979: case 349:
        !          4980: #line 2130 "cp-parse.y"
1.1       root     4981: {
                   4982:                  yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4983:                ;
                   4984:     break;}
1.1.1.5 ! root     4985: case 350:
        !          4986: #line 2134 "cp-parse.y"
1.1       root     4987: {
                   4988:                  if (yyvsp[0].ttype)
                   4989:                    yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   4990:                  else
                   4991:                    yyval.ttype = yyvsp[-1].ttype;
                   4992:                ;
                   4993:     break;}
1.1.1.5 ! root     4994: case 351:
        !          4995: #line 2142 "cp-parse.y"
1.1       root     4996: {
                   4997:                  yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4998:                ;
                   4999:     break;}
1.1.1.5 ! root     5000: case 352:
        !          5001: #line 2146 "cp-parse.y"
1.1       root     5002: {
                   5003:                  if (yyvsp[0].ttype)
                   5004:                    yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   5005:                  else
                   5006:                    yyval.ttype = yyvsp[-1].ttype;
                   5007:                ;
                   5008:     break;}
1.1.1.5 ! root     5009: case 353:
        !          5010: #line 2155 "cp-parse.y"
1.1       root     5011: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE);
                   5012:                  yyungetc ('{', 1); ;
                   5013:     break;}
1.1.1.5 ! root     5014: case 356:
        !          5015: #line 2163 "cp-parse.y"
1.1       root     5016: { yyval.ttype = NULL_TREE; ;
                   5017:     break;}
1.1.1.5 ! root     5018: case 357:
        !          5019: #line 2165 "cp-parse.y"
1.1       root     5020: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
                   5021:     break;}
1.1.1.5 ! root     5022: case 358:
        !          5023: #line 2167 "cp-parse.y"
1.1       root     5024: { yyval.ttype = yyvsp[0].ttype; ;
                   5025:     break;}
1.1.1.5 ! root     5026: case 360:
        !          5027: #line 2173 "cp-parse.y"
1.1       root     5028: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   5029:     break;}
1.1.1.5 ! root     5030: case 361:
        !          5031: #line 2178 "cp-parse.y"
1.1       root     5032: { if (! is_aggr_typedef (yyval.ttype, 1))
                   5033:                    yyval.ttype = NULL_TREE;
                   5034:                  else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   5035:     break;}
1.1.1.5 ! root     5036: case 362:
        !          5037: #line 2182 "cp-parse.y"
1.1.1.4   root     5038: { if (! is_aggr_typedef (yyval.ttype, 1))
                   5039:                    yyval.ttype = NULL_TREE;
                   5040:                  else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   5041:     break;}
1.1.1.5 ! root     5042: case 363:
        !          5043: #line 2186 "cp-parse.y"
1.1       root     5044: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
                   5045:                    yyval.ttype = NULL_TREE;
                   5046:                  else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
                   5047:     break;}
1.1.1.5 ! root     5048: case 364:
        !          5049: #line 2190 "cp-parse.y"
1.1.1.4   root     5050: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
                   5051:                    yyval.ttype = NULL_TREE;
                   5052:                  else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
                   5053:     break;}
1.1.1.5 ! root     5054: case 365:
        !          5055: #line 2197 "cp-parse.y"
1.1       root     5056: {
1.1.1.4   root     5057:                  /* Kludge!!! See rule "template_type" and the code
                   5058:                   * dealing with "template_type_seen_before_scope" in
                   5059:                   * yylex(). */
                   5060:                  yyval.ttype = yyvsp[0].ttype;
1.1       root     5061:                ;
                   5062:     break;}
1.1.1.5 ! root     5063: case 366:
        !          5064: #line 2206 "cp-parse.y"
1.1.1.4   root     5065: {
                   5066:                  extern tree template_type_seen_before_scope;
                   5067:                  tree id = yyvsp[0].ttype ? TYPE_IDENTIFIER (yyvsp[0].ttype) : yyvsp[-2].ttype;
                   5068: 
                   5069:                  /* Check the rule template_type to get this... */
                   5070:                  if (yychar == YYEMPTY)
                   5071:                    yychar = YYLEX;
                   5072:                  if (yychar == SCOPE) {
                   5073:                    template_type_seen_before_scope = id;
                   5074:                    yychar = YYLEX;
                   5075:                  }
                   5076:                ;
                   5077:     break;}
1.1.1.5 ! root     5078: case 369:
        !          5079: #line 2224 "cp-parse.y"
1.1       root     5080: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
                   5081:                    sorry ("non-virtual visibility");
                   5082:                  yyval.itype = visibility_default_virtual; ;
                   5083:     break;}
1.1.1.5 ! root     5084: case 370:
        !          5085: #line 2228 "cp-parse.y"
1.1       root     5086: { int err = 0;
                   5087:                  if (yyvsp[0].itype == visibility_protected)
                   5088:                    {
                   5089:                      warning ("`protected' visibility not implemented");
                   5090:                      yyvsp[0].itype = visibility_public;
                   5091:                      err++;
                   5092:                    }
                   5093:                  else if (yyvsp[0].itype == visibility_public)
                   5094:                    {
                   5095:                      if (yyvsp[-1].itype == visibility_private)
                   5096:                        {
                   5097:                        mixed:
                   5098:                          error ("base class cannot be public and private");
                   5099:                        }
                   5100:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   5101:                        yyval.itype = visibility_public_virtual;
                   5102:                    }
1.1.1.2   root     5103:                  else /* $2 == visibility_private */
1.1       root     5104:                    {
                   5105:                      if (yyvsp[-1].itype == visibility_public)
                   5106:                        goto mixed;
                   5107:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   5108:                        yyval.itype = visibility_private_virtual;
                   5109:                    }
                   5110:                ;
                   5111:     break;}
1.1.1.5 ! root     5112: case 371:
        !          5113: #line 2254 "cp-parse.y"
1.1       root     5114: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
                   5115:                    sorry ("non-virtual visibility");
                   5116:                  if (yyval.itype == visibility_public)
                   5117:                    yyval.itype = visibility_public_virtual;
                   5118:                  else if (yyval.itype == visibility_private)
                   5119:                    yyval.itype = visibility_private_virtual; ;
                   5120:     break;}
1.1.1.5 ! root     5121: case 372:
        !          5122: #line 2263 "cp-parse.y"
1.1       root     5123: { tree t;
                   5124:                  push_obstacks_nochange ();
                   5125:                  end_temporary_allocation ();
                   5126: 
                   5127:                  if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
                   5128:                    {
                   5129:                      yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
                   5130:                      TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
                   5131:                    }
                   5132:                  if (TYPE_SIZE (yyvsp[-1].ttype))
                   5133:                    duplicate_tag_error (yyvsp[-1].ttype);
                   5134:                   if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
                   5135:                     {
                   5136:                       t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
1.1.1.3   root     5137:                       pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t);
1.1       root     5138:                       yyvsp[-1].ttype = t;
                   5139:                     }
                   5140:                  pushclass (yyvsp[-1].ttype, 0);
                   5141:                  TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
1.1.1.3   root     5142:                  t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
1.1       root     5143:                  if (IDENTIFIER_TEMPLATE (t))
                   5144:                    overload_template_name (t, 1);
                   5145:                ;
                   5146:     break;}
1.1.1.5 ! root     5147: case 373:
        !          5148: #line 2290 "cp-parse.y"
1.1       root     5149: { yyval.ttype = NULL_TREE; ;
                   5150:     break;}
1.1.1.5 ! root     5151: case 374:
        !          5152: #line 2292 "cp-parse.y"
1.1       root     5153: { yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   5154:     break;}
1.1.1.5 ! root     5155: case 375:
        !          5156: #line 2294 "cp-parse.y"
1.1       root     5157: { yyval.ttype = chainon (yyval.ttype, build_tree_list ((tree) yyvsp[-2].itype, yyvsp[0].ttype)); ;
                   5158:     break;}
1.1.1.5 ! root     5159: case 377:
        !          5160: #line 2300 "cp-parse.y"
1.1       root     5161: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; ;
                   5162:     break;}
1.1.1.5 ! root     5163: case 378:
        !          5164: #line 2302 "cp-parse.y"
1.1       root     5165: { if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
                   5166:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   5167:     break;}
1.1.1.5 ! root     5168: case 379:
        !          5169: #line 2305 "cp-parse.y"
1.1       root     5170: { if (pedantic)
1.1.1.4   root     5171:                    pedwarn ("ANSI C++ forbids extra semicolons here"); ;
1.1       root     5172:     break;}
1.1.1.5 ! root     5173: case 380:
        !          5174: #line 2311 "cp-parse.y"
1.1       root     5175: {
                   5176:                do_components:
                   5177:                  if (yyvsp[-1].ttype == void_type_node)
                   5178:                    /* We just got some friends.
                   5179:                       They have been recorded elsewhere.  */
                   5180:                    yyval.ttype = NULL_TREE;
                   5181:                  else if (yyvsp[-1].ttype == NULL_TREE)
                   5182:                    {
                   5183:                      tree t = groktypename (build_decl_list (yyval.ttype, NULL_TREE));
                   5184:                      if (t == NULL_TREE)
                   5185:                        {
                   5186:                          error ("error in component specification");
                   5187:                          yyval.ttype = NULL_TREE;
                   5188:                        }
                   5189:                      else if (TREE_CODE (t) == UNION_TYPE)
                   5190:                        {
                   5191:                          /* handle anonymous unions */
1.1.1.4   root     5192:                          if (ANON_AGGRNAME_P (TYPE_IDENTIFIER (t)))
                   5193:                            yyval.ttype = build_lang_field_decl (FIELD_DECL,
                   5194:                                                        NULL_TREE, t);
                   5195:                          else
                   5196:                            {
                   5197:                              /* This is a local union decl with a name, but
                   5198:                                 no components, I think this is the right thing
                   5199:                                 to do.  (mrs)  */
                   5200: #if 0
                   5201:                              /* I copied this from below, it is probably
                   5202:                                 needed, but I cannot prove that to myself
                   5203:                                 right now, but if you find it is needed
                   5204:                                 please turn it on. (mrs)  */
                   5205:                              if (TYPE_LANG_SPECIFIC (t)
                   5206:                                  && CLASSTYPE_DECLARED_EXCEPTION (t))
                   5207:                                shadow_tag (yyval.ttype);
                   5208: #endif
                   5209:                              yyval.ttype = NULL_TREE;
                   5210:                            }
1.1       root     5211:                        }
                   5212:                      else if (TREE_CODE (t) == ENUMERAL_TYPE)
                   5213:                        yyval.ttype = grok_enum_decls (t, NULL_TREE);
                   5214:                      else if (TREE_CODE (t) == RECORD_TYPE)
                   5215:                        {
                   5216:                          if (TYPE_LANG_SPECIFIC (t)
                   5217:                              && CLASSTYPE_DECLARED_EXCEPTION (t))
                   5218:                            shadow_tag (yyval.ttype);
                   5219:                          yyval.ttype = NULL_TREE;
                   5220:                        }
                   5221:                      else if (t != void_type_node)
                   5222:                        {
                   5223:                          error ("empty component declaration");
                   5224:                          yyval.ttype = NULL_TREE;
                   5225:                        }
                   5226:                      else yyval.ttype = NULL_TREE;
                   5227:                    }
                   5228:                  else
                   5229:                    {
                   5230:                      tree t = TREE_TYPE (yyvsp[-1].ttype);
                   5231:                      if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
                   5232:                        yyval.ttype = grok_enum_decls (t, yyvsp[-1].ttype);
                   5233:                      else
                   5234:                        yyval.ttype = yyvsp[-1].ttype;
                   5235:                    }
                   5236:                  end_exception_decls ();
                   5237:                ;
                   5238:     break;}
1.1.1.5 ! root     5239: case 381:
        !          5240: #line 2375 "cp-parse.y"
1.1       root     5241: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5242:     break;}
1.1.1.5 ! root     5243: case 382:
        !          5244: #line 2377 "cp-parse.y"
1.1       root     5245: { error ("missing ';' before right brace");
                   5246:                  yyungetc ('}', 0);
                   5247:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5248:     break;}
1.1.1.5 ! root     5249: case 383:
        !          5250: #line 2381 "cp-parse.y"
1.1       root     5251: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5252:     break;}
1.1.1.5 ! root     5253: case 384:
        !          5254: #line 2383 "cp-parse.y"
1.1       root     5255: { error ("missing ';' before right brace");
                   5256:                  yyungetc ('}', 0);
                   5257:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5258:     break;}
1.1.1.5 ! root     5259: case 385:
        !          5260: #line 2387 "cp-parse.y"
1.1       root     5261: { goto do_components; ;
                   5262:     break;}
1.1.1.5 ! root     5263: case 386:
        !          5264: #line 2390 "cp-parse.y"
        !          5265: { yyval.ttype = grokfield (yyvsp[-1].ttype, yyval.ttype,
        !          5266:                                  NULL_TREE, NULL_TREE, NULL_TREE); ;
1.1       root     5267:     break;}
1.1.1.5 ! root     5268: case 387:
        !          5269: #line 2393 "cp-parse.y"
1.1       root     5270: { error ("missing ';' before right brace");
                   5271:                  yyungetc ('}', 0);
                   5272:                  goto do_components; ;
                   5273:     break;}
1.1.1.5 ! root     5274: case 388:
        !          5275: #line 2397 "cp-parse.y"
1.1       root     5276: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5277:     break;}
1.1.1.5 ! root     5278: case 389:
        !          5279: #line 2399 "cp-parse.y"
1.1       root     5280: { error ("missing ';' before right brace");
                   5281:                  yyungetc ('}', 0);
                   5282:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5283:     break;}
1.1.1.5 ! root     5284: case 390:
        !          5285: #line 2403 "cp-parse.y"
1.1       root     5286: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5287:     break;}
1.1.1.5 ! root     5288: case 391:
        !          5289: #line 2405 "cp-parse.y"
1.1       root     5290: { error ("missing ';' before right brace");
                   5291:                  yyungetc ('}', 0);
                   5292:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5293:     break;}
1.1.1.5 ! root     5294: case 392:
        !          5295: #line 2409 "cp-parse.y"
1.1       root     5296: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5297:     break;}
1.1.1.5 ! root     5298: case 393:
        !          5299: #line 2411 "cp-parse.y"
1.1       root     5300: { error ("missing ';' before right brace");
                   5301:                  yyungetc ('}', 0);
                   5302:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5303:     break;}
1.1.1.5 ! root     5304: case 394:
        !          5305: #line 2415 "cp-parse.y"
1.1       root     5306: { yyval.ttype = NULL_TREE; ;
                   5307:     break;}
1.1.1.5 ! root     5308: case 395:
        !          5309: #line 2420 "cp-parse.y"
1.1       root     5310: { yyval.ttype = finish_method (yyval.ttype); ;
                   5311:     break;}
1.1.1.5 ! root     5312: case 396:
        !          5313: #line 2422 "cp-parse.y"
1.1       root     5314: { yyval.ttype = finish_method (yyval.ttype); ;
                   5315:     break;}
1.1.1.5 ! root     5316: case 397:
        !          5317: #line 2424 "cp-parse.y"
1.1       root     5318: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5319:     break;}
1.1.1.5 ! root     5320: case 398:
        !          5321: #line 2426 "cp-parse.y"
1.1       root     5322: { error ("missing ';' before right brace");
                   5323:                  yyungetc ('}', 0);
                   5324:                  yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5325:     break;}
1.1.1.5 ! root     5326: case 399:
        !          5327: #line 2433 "cp-parse.y"
1.1       root     5328: { yyval.ttype = NULL_TREE; ;
                   5329:     break;}
1.1.1.5 ! root     5330: case 401:
        !          5331: #line 2436 "cp-parse.y"
1.1       root     5332: {
                   5333:                  /* In this context, void_type_node encodes
                   5334:                     friends.  They have been recorded elsewhere.  */
                   5335:                  if (yyval.ttype == void_type_node)
                   5336:                    yyval.ttype = yyvsp[0].ttype;
                   5337:                  else
                   5338:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
                   5339:                ;
                   5340:     break;}
1.1.1.5 ! root     5341: case 402:
        !          5342: #line 2448 "cp-parse.y"
1.1.1.3   root     5343: { current_declspecs = yyvsp[-4].ttype;
                   5344:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4   root     5345:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1.1.3   root     5346:     break;}
1.1.1.5 ! root     5347: case 403:
        !          5348: #line 2452 "cp-parse.y"
1.1.1.3   root     5349: { current_declspecs = yyvsp[-6].ttype;
                   5350:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4   root     5351:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1.1.3   root     5352:     break;}
1.1.1.5 ! root     5353: case 404:
        !          5354: #line 2456 "cp-parse.y"
1.1.1.3   root     5355: { current_declspecs = yyvsp[-4].ttype;
                   5356:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4   root     5357:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5358:     break;}
1.1.1.5 ! root     5359: case 405:
        !          5360: #line 2460 "cp-parse.y"
1.1.1.3   root     5361: { current_declspecs = yyvsp[-3].ttype;
                   5362:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4   root     5363:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5364:     break;}
1.1.1.5 ! root     5365: case 406:
        !          5366: #line 2464 "cp-parse.y"
1.1.1.3   root     5367: { current_declspecs = yyvsp[-2].ttype;
                   5368:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
1.1       root     5369:     break;}
1.1.1.5 ! root     5370: case 407:
        !          5371: #line 2470 "cp-parse.y"
1.1.1.3   root     5372: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4   root     5373:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5374:     break;}
1.1.1.5 ! root     5375: case 408:
        !          5376: #line 2473 "cp-parse.y"
1.1.1.3   root     5377: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4   root     5378:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1       root     5379:     break;}
1.1.1.5 ! root     5380: case 409:
        !          5381: #line 2476 "cp-parse.y"
1.1.1.3   root     5382: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4   root     5383:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5384:     break;}
1.1.1.5 ! root     5385: case 410:
        !          5386: #line 2479 "cp-parse.y"
1.1.1.3   root     5387: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4   root     5388:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5389:     break;}
1.1.1.5 ! root     5390: case 411:
        !          5391: #line 2482 "cp-parse.y"
1.1       root     5392: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
                   5393:     break;}
1.1.1.5 ! root     5394: case 413:
        !          5395: #line 2492 "cp-parse.y"
1.1       root     5396: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   5397:     break;}
1.1.1.5 ! root     5398: case 414:
        !          5399: #line 2497 "cp-parse.y"
1.1       root     5400: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
                   5401:     break;}
1.1.1.5 ! root     5402: case 415:
        !          5403: #line 2499 "cp-parse.y"
1.1       root     5404: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
                   5405:     break;}
1.1.1.5 ! root     5406: case 416:
        !          5407: #line 2504 "cp-parse.y"
1.1       root     5408: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5409:     break;}
1.1.1.5 ! root     5410: case 417:
        !          5411: #line 2506 "cp-parse.y"
1.1       root     5412: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5413:     break;}
1.1.1.5 ! root     5414: case 418:
        !          5415: #line 2511 "cp-parse.y"
1.1       root     5416: { yyval.ttype = NULL_TREE; ;
                   5417:     break;}
1.1.1.5 ! root     5418: case 420:
        !          5419: #line 2514 "cp-parse.y"
1.1       root     5420: { yyval.ttype = yyvsp[0].ttype; ;
                   5421:     break;}
1.1.1.5 ! root     5422: case 421:
        !          5423: #line 2519 "cp-parse.y"
1.1       root     5424: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   5425:     break;}
1.1.1.5 ! root     5426: case 422:
        !          5427: #line 2521 "cp-parse.y"
1.1       root     5428: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5429:     break;}
1.1.1.5 ! root     5430: case 423:
        !          5431: #line 2526 "cp-parse.y"
1.1       root     5432: { yyval.ttype = NULL_TREE; ;
                   5433:     break;}
1.1.1.5 ! root     5434: case 424:
        !          5435: #line 2528 "cp-parse.y"
1.1       root     5436: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5437:     break;}
1.1.1.5 ! root     5438: case 425:
        !          5439: #line 2536 "cp-parse.y"
1.1       root     5440: { yyval.itype = suspend_momentary (); ;
                   5441:     break;}
1.1.1.5 ! root     5442: case 426:
        !          5443: #line 2537 "cp-parse.y"
        !          5444: { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
1.1       root     5445:     break;}
1.1.1.5 ! root     5446: case 427:
        !          5447: #line 2543 "cp-parse.y"
1.1       root     5448: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5449:     break;}
1.1.1.5 ! root     5450: case 428:
        !          5451: #line 2545 "cp-parse.y"
1.1       root     5452: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5453:     break;}
1.1.1.5 ! root     5454: case 429:
        !          5455: #line 2547 "cp-parse.y"
1.1       root     5456: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5457:     break;}
1.1.1.5 ! root     5458: case 430:
        !          5459: #line 2549 "cp-parse.y"
1.1       root     5460: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5461:     break;}
1.1.1.5 ! root     5462: case 431:
        !          5463: #line 2551 "cp-parse.y"
1.1       root     5464: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5465:     break;}
1.1.1.5 ! root     5466: case 432:
        !          5467: #line 2553 "cp-parse.y"
1.1       root     5468: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5469:     break;}
1.1.1.5 ! root     5470: case 433:
        !          5471: #line 2555 "cp-parse.y"
1.1       root     5472: { yyval.ttype = yyvsp[-1].ttype; ;
                   5473:     break;}
1.1.1.5 ! root     5474: case 434:
        !          5475: #line 2557 "cp-parse.y"
1.1       root     5476: { yyval.ttype = make_pointer_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5477:     break;}
1.1.1.5 ! root     5478: case 435:
        !          5479: #line 2559 "cp-parse.y"
1.1       root     5480: { see_typename (); ;
                   5481:     break;}
1.1.1.5 ! root     5482: case 437:
        !          5483: #line 2562 "cp-parse.y"
1.1       root     5484: { yyval.ttype = make_reference_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5485:     break;}
1.1.1.5 ! root     5486: case 438:
        !          5487: #line 2564 "cp-parse.y"
1.1       root     5488: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5489:     break;}
1.1.1.5 ! root     5490: case 439:
        !          5491: #line 2566 "cp-parse.y"
1.1       root     5492: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5493:     break;}
1.1.1.5 ! root     5494: case 441:
        !          5495: #line 2572 "cp-parse.y"
1.1       root     5496: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5497:     break;}
1.1.1.5 ! root     5498: case 442:
        !          5499: #line 2574 "cp-parse.y"
1.1       root     5500: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5501:     break;}
1.1.1.5 ! root     5502: case 443:
        !          5503: #line 2576 "cp-parse.y"
1.1       root     5504: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5505:     break;}
1.1.1.5 ! root     5506: case 444:
        !          5507: #line 2578 "cp-parse.y"
1.1       root     5508: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5509:     break;}
1.1.1.5 ! root     5510: case 445:
        !          5511: #line 2580 "cp-parse.y"
1.1       root     5512: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5513:     break;}
1.1.1.5 ! root     5514: case 446:
        !          5515: #line 2582 "cp-parse.y"
1.1       root     5516: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5517:     break;}
1.1.1.5 ! root     5518: case 447:
        !          5519: #line 2584 "cp-parse.y"
1.1       root     5520: { yyval.ttype = yyvsp[-1].ttype; ;
                   5521:     break;}
1.1.1.5 ! root     5522: case 448:
        !          5523: #line 2586 "cp-parse.y"
1.1       root     5524: { see_typename (); ;
                   5525:     break;}
1.1.1.5 ! root     5526: case 450:
        !          5527: #line 2589 "cp-parse.y"
1.1       root     5528: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5529:     break;}
1.1.1.5 ! root     5530: case 451:
        !          5531: #line 2591 "cp-parse.y"
1.1       root     5532: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5533:     break;}
1.1.1.5 ! root     5534: case 452:
        !          5535: #line 2599 "cp-parse.y"
1.1       root     5536: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5537:     break;}
1.1.1.5 ! root     5538: case 453:
        !          5539: #line 2601 "cp-parse.y"
1.1       root     5540: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5541:     break;}
1.1.1.5 ! root     5542: case 454:
        !          5543: #line 2603 "cp-parse.y"
1.1       root     5544: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5545:     break;}
1.1.1.5 ! root     5546: case 455:
        !          5547: #line 2605 "cp-parse.y"
1.1       root     5548: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5549:     break;}
1.1.1.5 ! root     5550: case 456:
        !          5551: #line 2607 "cp-parse.y"
1.1       root     5552: { yyval.ttype = yyvsp[-1].ttype; ;
                   5553:     break;}
1.1.1.5 ! root     5554: case 457:
        !          5555: #line 2609 "cp-parse.y"
1.1       root     5556: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5557:     break;}
1.1.1.5 ! root     5558: case 458:
        !          5559: #line 2611 "cp-parse.y"
1.1       root     5560: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5561:     break;}
1.1.1.5 ! root     5562: case 459:
        !          5563: #line 2613 "cp-parse.y"
1.1       root     5564: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5565:     break;}
1.1.1.5 ! root     5566: case 460:
        !          5567: #line 2615 "cp-parse.y"
1.1       root     5568: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5569:     break;}
1.1.1.5 ! root     5570: case 461:
        !          5571: #line 2617 "cp-parse.y"
1.1       root     5572: { see_typename (); ;
                   5573:     break;}
1.1.1.5 ! root     5574: case 462:
        !          5575: #line 2621 "cp-parse.y"
1.1       root     5576: { see_typename (); ;
                   5577:     break;}
1.1.1.5 ! root     5578: case 463:
        !          5579: #line 2624 "cp-parse.y"
1.1       root     5580: {
1.1.1.4   root     5581:                destructor_name:
1.1       root     5582:                  see_typename ();
1.1.1.4   root     5583:                  yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype);
1.1       root     5584:                ;
                   5585:     break;}
1.1.1.5 ! root     5586: case 464:
        !          5587: #line 2630 "cp-parse.y"
1.1.1.4   root     5588: { goto destructor_name; ;
1.1       root     5589:     break;}
1.1.1.5 ! root     5590: case 465:
        !          5591: #line 2632 "cp-parse.y"
1.1.1.4   root     5592: { goto destructor_name; ;
                   5593:     break;}
1.1.1.5 ! root     5594: case 466:
        !          5595: #line 2634 "cp-parse.y"
1.1       root     5596: { see_typename ();
                   5597:                  if (TREE_CODE (yyval.ttype) != SCOPE_REF)
                   5598:                    yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype);
                   5599:                  else if (TREE_OPERAND (yyval.ttype, 1) == NULL_TREE)
                   5600:                    TREE_OPERAND (yyval.ttype, 1) = yyvsp[0].ttype;
                   5601:                  else
                   5602:                    yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
                   5603:                ;
                   5604:     break;}
1.1.1.5 ! root     5605: case 467:
        !          5606: #line 2643 "cp-parse.y"
1.1       root     5607: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5608:     break;}
1.1.1.5 ! root     5609: case 468:
        !          5610: #line 2645 "cp-parse.y"
1.1       root     5611: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5612:     break;}
1.1.1.5 ! root     5613: case 469:
        !          5614: #line 2647 "cp-parse.y"
1.1       root     5615: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5616:     break;}
1.1.1.5 ! root     5617: case 470:
        !          5618: #line 2649 "cp-parse.y"
1.1       root     5619: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5620:     break;}
1.1.1.5 ! root     5621: case 471:
        !          5622: #line 2651 "cp-parse.y"
1.1       root     5623: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5624:     break;}
1.1.1.5 ! root     5625: case 472:
        !          5626: #line 2654 "cp-parse.y"
1.1       root     5627: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5628:     break;}
1.1.1.5 ! root     5629: case 473:
        !          5630: #line 2656 "cp-parse.y"
1.1       root     5631: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5632:     break;}
1.1.1.5 ! root     5633: case 474:
        !          5634: #line 2658 "cp-parse.y"
1.1       root     5635: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5636:     break;}
1.1.1.5 ! root     5637: case 475:
        !          5638: #line 2660 "cp-parse.y"
1.1       root     5639: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5640:     break;}
1.1.1.5 ! root     5641: case 476:
        !          5642: #line 2662 "cp-parse.y"
1.1       root     5643: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5644:     break;}
1.1.1.5 ! root     5645: case 477:
        !          5646: #line 2664 "cp-parse.y"
1.1       root     5647: { yyval.ttype = build_parse_node (SCOPE_REF, NULL_TREE, yyvsp[0].ttype); ;
                   5648:     break;}
1.1.1.5 ! root     5649: case 478:
        !          5650: #line 2668 "cp-parse.y"
1.1.1.2   root     5651: { yyval.ttype = resolve_scope_to_name (NULL_TREE, yyval.ttype);
                   5652:                  if (yyval.ttype == NULL_TREE)
                   5653:                    {
                   5654:                      error ("undefined explicitly scoped type");
                   5655:                      yyval.ttype = error_mark_node; 
                   5656:                    }
                   5657:                ;
1.1       root     5658:     break;}
1.1.1.5 ! root     5659: case 479:
        !          5660: #line 2676 "cp-parse.y"
1.1       root     5661: {
                   5662:                   if (yyval.ttype == error_mark_node)
                   5663:                     /* leave it alone */;
                   5664:                   else
                   5665:                    {
                   5666:                      yyval.ttype = resolve_scope_to_name (NULL_TREE, TYPE_IDENTIFIER (yyval.ttype));
1.1.1.2   root     5667:                      if (yyval.ttype == NULL_TREE)
                   5668:                        {
                   5669:                          error ("undefined explicitly scoped type");
                   5670:                          yyval.ttype = error_mark_node; 
                   5671:                        }
1.1       root     5672:                    }
1.1.1.4   root     5673: /*                  if ($3) popclass (1); */
1.1       root     5674:                ;
                   5675:     break;}
1.1.1.5 ! root     5676: case 482:
        !          5677: #line 2697 "cp-parse.y"
1.1.1.4   root     5678: {
                   5679:                  /* Kludge!!! See rule "template_type" and the code
                   5680:                   * dealing with "template_type_seen_before_scope" in
                   5681:                   * yylex(). */
                   5682:                  yyval.ttype = yyvsp[0].ttype;
                   5683:                ;
                   5684:     break;}
1.1.1.5 ! root     5685: case 483:
        !          5686: #line 2719 "cp-parse.y"
1.1       root     5687: { see_typename ();
                   5688:                  yyval.ttype = yyvsp[-1].ttype; ;
                   5689:     break;}
1.1.1.5 ! root     5690: case 484:
        !          5691: #line 2723 "cp-parse.y"
1.1       root     5692: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5693:     break;}
1.1.1.5 ! root     5694: case 485:
        !          5695: #line 2725 "cp-parse.y"
1.1       root     5696: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5697:     break;}
1.1.1.5 ! root     5698: case 486:
        !          5699: #line 2727 "cp-parse.y"
1.1       root     5700: { see_typename (); ;
                   5701:     break;}
1.1.1.5 ! root     5702: case 487:
        !          5703: #line 2729 "cp-parse.y"
1.1       root     5704: { yyval.ttype = yyvsp[-1].ttype; ;
                   5705:     break;}
1.1.1.5 ! root     5706: case 488:
        !          5707: #line 2731 "cp-parse.y"
1.1       root     5708: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5709:     break;}
1.1.1.5 ! root     5710: case 489:
        !          5711: #line 2733 "cp-parse.y"
1.1       root     5712: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5713:     break;}
1.1.1.5 ! root     5714: case 490:
        !          5715: #line 2735 "cp-parse.y"
1.1       root     5716: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5717:     break;}
1.1.1.5 ! root     5718: case 491:
        !          5719: #line 2737 "cp-parse.y"
1.1       root     5720: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5721:     break;}
1.1.1.5 ! root     5722: case 492:
        !          5723: #line 2739 "cp-parse.y"
1.1       root     5724: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5725:     break;}
1.1.1.5 ! root     5726: case 493:
        !          5727: #line 2741 "cp-parse.y"
1.1       root     5728: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5729:     break;}
1.1.1.5 ! root     5730: case 494:
        !          5731: #line 2743 "cp-parse.y"
1.1       root     5732: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5733:     break;}
1.1.1.5 ! root     5734: case 495:
        !          5735: #line 2745 "cp-parse.y"
1.1       root     5736: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (), yyvsp[0].ttype); ;
                   5737:     break;}
1.1.1.5 ! root     5738: case 496:
        !          5739: #line 2747 "cp-parse.y"
1.1       root     5740: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
                   5741:     break;}
1.1.1.5 ! root     5742: case 497:
        !          5743: #line 2749 "cp-parse.y"
1.1       root     5744: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
                   5745:     break;}
1.1.1.5 ! root     5746: case 498:
        !          5747: #line 2754 "cp-parse.y"
1.1       root     5748: { tree t;
                   5749:                  t = yyval.ttype;
                   5750:                  while (TREE_OPERAND (t, 1))
                   5751:                    t = TREE_OPERAND (t, 1);
                   5752:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, 0);
                   5753:                ;
                   5754:     break;}
1.1.1.5 ! root     5755: case 499:
        !          5756: #line 2761 "cp-parse.y"
1.1       root     5757: { tree t;
                   5758:                  t = yyval.ttype;
                   5759:                  while (TREE_OPERAND (t, 1))
                   5760:                    t = TREE_OPERAND (t, 1);
                   5761:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5762:                ;
                   5763:     break;}
1.1.1.5 ! root     5764: case 500:
        !          5765: #line 2768 "cp-parse.y"
1.1       root     5766: { tree t;
                   5767:                  t = yyval.ttype;
                   5768:                  while (TREE_OPERAND (t, 1))
                   5769:                    t = TREE_OPERAND (t, 1);
                   5770:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, 0);
                   5771:                ;
                   5772:     break;}
1.1.1.5 ! root     5773: case 501:
        !          5774: #line 2775 "cp-parse.y"
1.1       root     5775: { tree t;
                   5776:                  t = yyval.ttype;
                   5777:                  while (TREE_OPERAND (t, 1))
                   5778:                    t = TREE_OPERAND (t, 1);
                   5779:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5780:                ;
                   5781:     break;}
1.1.1.5 ! root     5782: case 502:
        !          5783: #line 2785 "cp-parse.y"
1.1       root     5784: { tree t;
                   5785:                  t = yyval.ttype;
                   5786:                  while (TREE_OPERAND (t, 1))
                   5787:                    t = TREE_OPERAND (t, 1);
                   5788:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5789:                ;
                   5790:     break;}
1.1.1.5 ! root     5791: case 503:
        !          5792: #line 2792 "cp-parse.y"
1.1       root     5793: { tree t;
                   5794:                  t = yyval.ttype;
                   5795:                  while (TREE_OPERAND (t, 1))
                   5796:                    t = TREE_OPERAND (t, 1);
                   5797:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5798:                ;
                   5799:     break;}
1.1.1.5 ! root     5800: case 509:
        !          5801: #line 2819 "cp-parse.y"
1.1.1.2   root     5802: { emit_line_note (input_filename, lineno);
1.1       root     5803:                  pushlevel (0);
                   5804:                  clear_last_expr ();
                   5805:                  push_momentary ();
1.1.1.5 ! root     5806:                  expand_start_bindings (0); ;
1.1.1.2   root     5807:     break;}
1.1.1.5 ! root     5808: case 511:
        !          5809: #line 2831 "cp-parse.y"
1.1.1.2   root     5810: { if (pedantic)
1.1.1.4   root     5811:                    pedwarn ("ANSI C++ forbids label declarations"); ;
1.1.1.2   root     5812:     break;}
1.1.1.5 ! root     5813: case 514:
        !          5814: #line 2842 "cp-parse.y"
1.1.1.2   root     5815: { tree link;
                   5816:                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                   5817:                    {
                   5818:                      tree label = shadow_label (TREE_VALUE (link));
                   5819:                      C_DECLARED_LABEL_FLAG (label) = 1;
                   5820:                      declare_nonlocal_label (label);
                   5821:                    }
1.1       root     5822:                ;
                   5823:     break;}
1.1.1.5 ! root     5824: case 515:
        !          5825: #line 2856 "cp-parse.y"
1.1       root     5826: {;
                   5827:     break;}
1.1.1.5 ! root     5828: case 517:
        !          5829: #line 2861 "cp-parse.y"
1.1       root     5830: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
                   5831:     break;}
1.1.1.5 ! root     5832: case 518:
        !          5833: #line 2863 "cp-parse.y"
1.1       root     5834: { pop_implicit_try_blocks (NULL_TREE);
                   5835:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5836:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
                   5837:                  pop_momentary (); ;
                   5838:     break;}
1.1.1.5 ! root     5839: case 519:
        !          5840: #line 2868 "cp-parse.y"
1.1       root     5841: { pop_implicit_try_blocks (NULL_TREE);
                   5842:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5843:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   5844:                  pop_momentary (); ;
                   5845:     break;}
1.1.1.5 ! root     5846: case 520:
        !          5847: #line 2876 "cp-parse.y"
        !          5848: { cond_stmt_keyword = "if"; ;
        !          5849:     break;}
        !          5850: case 521:
        !          5851: #line 2878 "cp-parse.y"
1.1       root     5852: { emit_line_note (input_filename, lineno);
1.1.1.5 ! root     5853:                  expand_start_cond (truthvalue_conversion (yyvsp[0].ttype), 0); ;
1.1       root     5854:     break;}
1.1.1.5 ! root     5855: case 523:
        !          5856: #line 2885 "cp-parse.y"
        !          5857: { finish_stmt (); ;
1.1       root     5858:     break;}
1.1.1.5 ! root     5859: case 524:
        !          5860: #line 2887 "cp-parse.y"
        !          5861: { pop_implicit_try_blocks (NULL_TREE);
        !          5862:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          5863:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
        !          5864:                  pop_momentary (); ;
        !          5865:     break;}
        !          5866: case 525:
        !          5867: #line 2895 "cp-parse.y"
1.1       root     5868: { finish_stmt (); ;
                   5869:     break;}
1.1.1.5 ! root     5870: case 527:
        !          5871: #line 2901 "cp-parse.y"
        !          5872: { finish_stmt (); ;
1.1       root     5873:     break;}
1.1.1.5 ! root     5874: case 528:
        !          5875: #line 2903 "cp-parse.y"
1.1       root     5876: {
                   5877:                  tree expr = yyvsp[-1].ttype;
                   5878:                  emit_line_note (input_filename, lineno);
                   5879:                  /* Do default conversion if safe and possibly important,
                   5880:                     in case within ({...}).  */
                   5881:                  if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
                   5882:                       && lvalue_p (expr))
                   5883:                      || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
                   5884:                    expr = default_conversion (expr);
                   5885:                  cplus_expand_expr_stmt (expr);
                   5886:                  clear_momentary ();
                   5887:                  finish_stmt (); ;
                   5888:     break;}
1.1.1.5 ! root     5889: case 529:
        !          5890: #line 2916 "cp-parse.y"
        !          5891: { expand_start_else (); ;
1.1       root     5892:     break;}
1.1.1.5 ! root     5893: case 530:
        !          5894: #line 2918 "cp-parse.y"
1.1       root     5895: { expand_end_cond ();
                   5896:                  finish_stmt (); ;
                   5897:     break;}
1.1.1.5 ! root     5898: case 531:
        !          5899: #line 2921 "cp-parse.y"
1.1       root     5900: { expand_end_cond ();
                   5901:                  finish_stmt (); ;
                   5902:     break;}
1.1.1.5 ! root     5903: case 532:
        !          5904: #line 2924 "cp-parse.y"
1.1       root     5905: { emit_nop ();
                   5906:                  emit_line_note (input_filename, lineno);
1.1.1.5 ! root     5907:                  expand_start_loop (1);
        !          5908:                  cond_stmt_keyword = "while"; ;
1.1       root     5909:     break;}
1.1.1.5 ! root     5910: case 533:
        !          5911: #line 2929 "cp-parse.y"
        !          5912: { expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[0].ttype)); ;
        !          5913:     break;}
        !          5914: case 534:
        !          5915: #line 2931 "cp-parse.y"
        !          5916: { expand_end_loop ();
1.1       root     5917:                  finish_stmt (); ;
                   5918:     break;}
1.1.1.5 ! root     5919: case 535:
        !          5920: #line 2934 "cp-parse.y"
1.1       root     5921: { emit_nop ();
                   5922:                  emit_line_note (input_filename, lineno);
1.1.1.5 ! root     5923:                  expand_start_loop_continue_elsewhere (1); ;
1.1       root     5924:     break;}
1.1.1.5 ! root     5925: case 536:
        !          5926: #line 2938 "cp-parse.y"
        !          5927: { expand_loop_continue_here ();
        !          5928:                  cond_stmt_keyword = "do"; ;
1.1       root     5929:     break;}
1.1.1.5 ! root     5930: case 537:
        !          5931: #line 2941 "cp-parse.y"
1.1       root     5932: { emit_line_note (input_filename, lineno);
1.1.1.5 ! root     5933:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
1.1       root     5934:                  expand_end_loop ();
                   5935:                  clear_momentary ();
                   5936:                  finish_stmt (); ;
                   5937:     break;}
1.1.1.5 ! root     5938: case 538:
        !          5939: #line 2947 "cp-parse.y"
1.1       root     5940: { emit_nop ();
                   5941:                  emit_line_note (input_filename, lineno);
                   5942:                  if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
                   5943:                  expand_start_loop_continue_elsewhere (1); ;
                   5944:     break;}
1.1.1.5 ! root     5945: case 539:
        !          5946: #line 2952 "cp-parse.y"
1.1       root     5947: { emit_line_note (input_filename, lineno);
                   5948:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5949:     break;}
1.1.1.5 ! root     5950: case 540:
        !          5951: #line 2957 "cp-parse.y"
        !          5952: { push_momentary (); ;
1.1       root     5953:     break;}
1.1.1.5 ! root     5954: case 541:
        !          5955: #line 2959 "cp-parse.y"
1.1       root     5956: { emit_line_note (input_filename, lineno);
                   5957:                  expand_loop_continue_here ();
                   5958:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5959:                  pop_momentary ();
                   5960:                  expand_end_loop ();
                   5961:                  finish_stmt (); ;
                   5962:     break;}
1.1.1.5 ! root     5963: case 542:
        !          5964: #line 2966 "cp-parse.y"
1.1       root     5965: { emit_nop ();
                   5966:                  emit_line_note (input_filename, lineno);
                   5967:                  expand_start_loop_continue_elsewhere (1); ;
                   5968:     break;}
1.1.1.5 ! root     5969: case 543:
        !          5970: #line 2970 "cp-parse.y"
1.1       root     5971: { emit_line_note (input_filename, lineno);
                   5972:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5973:     break;}
1.1.1.5 ! root     5974: case 544:
        !          5975: #line 2975 "cp-parse.y"
1.1       root     5976: { push_momentary ();
                   5977:                  yyvsp[0].itype = lineno; ;
                   5978:     break;}
1.1.1.5 ! root     5979: case 545:
        !          5980: #line 2978 "cp-parse.y"
        !          5981: { emit_line_note (input_filename, (int) yyvsp[-2].itype);
1.1       root     5982:                  expand_loop_continue_here ();
                   5983:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5984:                  pop_momentary ();
                   5985:                  expand_end_loop ();
                   5986:                  pop_implicit_try_blocks (NULL_TREE);
                   5987:                  if (yyvsp[-8].itype)
                   5988:                    {
1.1.1.4   root     5989:                      register int keep = yyvsp[-8].itype > 0;
1.1       root     5990:                      if (keep) expand_end_bindings (0, keep, 1);
                   5991:                      poplevel (keep, 1, 0);
                   5992:                      pop_momentary ();
                   5993:                    }
                   5994:                  finish_stmt ();
                   5995:                ;
                   5996:     break;}
1.1.1.5 ! root     5997: case 546:
        !          5998: #line 2994 "cp-parse.y"
1.1       root     5999: { emit_line_note (input_filename, lineno);
                   6000:                  c_expand_start_case (yyvsp[-1].ttype);
                   6001:                  /* Don't let the tree nodes for $3 be discarded by
                   6002:                     clear_momentary during the parsing of the next stmt.  */
1.1.1.5 ! root     6003:                  push_momentary (); ;
1.1       root     6004:     break;}
1.1.1.5 ! root     6005: case 547:
        !          6006: #line 3000 "cp-parse.y"
1.1       root     6007: { expand_end_case (yyvsp[-3].ttype);
                   6008:                  pop_momentary ();
                   6009:                  finish_stmt (); ;
                   6010:     break;}
1.1.1.5 ! root     6011: case 548:
        !          6012: #line 3004 "cp-parse.y"
1.1       root     6013: { register tree value = yyvsp[-1].ttype;
                   6014:                  register tree label
                   6015:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   6016: 
                   6017:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6018:                     Strip such NOP_EXPRs.  */
                   6019:                  if (TREE_CODE (value) == NOP_EXPR
                   6020:                      && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   6021:                    value = TREE_OPERAND (value, 0);
                   6022: 
                   6023:                  if (TREE_READONLY_DECL_P (value))
                   6024:                    {
                   6025:                      value = decl_constant_value (value);
                   6026:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6027:                         Strip such NOP_EXPRs.  */
                   6028:                      if (TREE_CODE (value) == NOP_EXPR
                   6029:                          && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   6030:                        value = TREE_OPERAND (value, 0);
                   6031:                    }
                   6032:                  value = fold (value);
                   6033: 
                   6034:                  if (TREE_CODE (value) != INTEGER_CST
                   6035:                      && value != error_mark_node)
                   6036:                    {
                   6037:                      error ("case label does not reduce to an integer constant");
                   6038:                      value = error_mark_node;
                   6039:                    }
                   6040:                  else
                   6041:                    /* Promote char or short to int.  */
                   6042:                    value = default_conversion (value);
                   6043:                  if (value != error_mark_node)
                   6044:                    {
                   6045:                      tree duplicate;
                   6046:                      int success = pushcase (value, label, &duplicate);
                   6047:                      if (success == 1)
                   6048:                        error ("case label not within a switch statement");
                   6049:                      else if (success == 2)
                   6050:                        {
                   6051:                          error ("duplicate case value");
                   6052:                          error_with_decl (duplicate, "this is the first entry for that value");
                   6053:                        }
                   6054:                      else if (success == 3)
                   6055:                        warning ("case value out of range");
                   6056:                      else if (success == 5)
                   6057:                        error ("case label within scope of cleanup or variable array");
                   6058:                    }
                   6059:                  define_case_label (label);
                   6060:                ;
                   6061:     break;}
1.1.1.5 ! root     6062: case 550:
        !          6063: #line 3054 "cp-parse.y"
1.1       root     6064: { register tree value1 = yyvsp[-3].ttype;
                   6065:                  register tree value2 = yyvsp[-1].ttype;
                   6066:                  register tree label
                   6067:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   6068: 
                   6069:                  if (pedantic)
1.1.1.4   root     6070:                    pedwarn ("ANSI C++ forbids range expressions in switch statement");
                   6071: 
1.1       root     6072:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6073:                     Strip such NOP_EXPRs.  */
                   6074:                  if (TREE_CODE (value1) == NOP_EXPR
                   6075:                      && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   6076:                    value1 = TREE_OPERAND (value1, 0);
                   6077: 
                   6078:                  if (TREE_READONLY_DECL_P (value1))
                   6079:                    {
                   6080:                      value1 = decl_constant_value (value1);
                   6081:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6082:                         Strip such NOP_EXPRs.  */
                   6083:                      if (TREE_CODE (value1) == NOP_EXPR
                   6084:                          && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   6085:                        value1 = TREE_OPERAND (value1, 0);
                   6086:                    }
                   6087:                  value1 = fold (value1);
                   6088: 
                   6089:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6090:                     Strip such NOP_EXPRs.  */
                   6091:                  if (TREE_CODE (value2) == NOP_EXPR
                   6092:                      && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   6093:                    value2 = TREE_OPERAND (value2, 0);
                   6094: 
                   6095:                  if (TREE_READONLY_DECL_P (value2))
                   6096:                    {
                   6097:                      value2 = decl_constant_value (value2);
                   6098:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6099:                         Strip such NOP_EXPRs.  */
                   6100:                      if (TREE_CODE (value2) == NOP_EXPR
                   6101:                          && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   6102:                        value2 = TREE_OPERAND (value2, 0);
                   6103:                    }
                   6104:                  value2 = fold (value2);
                   6105: 
                   6106: 
                   6107:                  if (TREE_CODE (value1) != INTEGER_CST
                   6108:                      && value1 != error_mark_node)
                   6109:                    {
                   6110:                      error ("case label does not reduce to an integer constant");
                   6111:                      value1 = error_mark_node;
                   6112:                    }
                   6113:                  if (TREE_CODE (value2) != INTEGER_CST
                   6114:                      && value2 != error_mark_node)
                   6115:                    {
                   6116:                      error ("case label does not reduce to an integer constant");
                   6117:                      value2 = error_mark_node;
                   6118:                    }
                   6119:                  if (value1 != error_mark_node
                   6120:                      && value2 != error_mark_node)
                   6121:                    {
                   6122:                      tree duplicate;
1.1.1.2   root     6123:                      int success = pushcase_range (value1, value2, label,
                   6124:                                                    &duplicate);
1.1       root     6125:                      if (success == 1)
                   6126:                        error ("case label not within a switch statement");
                   6127:                      else if (success == 2)
                   6128:                        {
                   6129:                          error ("duplicate (or overlapping) case value");
                   6130:                          error_with_decl (duplicate, "this is the first entry overlapping that value");
                   6131:                        }
                   6132:                      else if (success == 3)
                   6133:                        warning ("case value out of range");
                   6134:                      else if (success == 4)
                   6135:                        warning ("empty range specified");
                   6136:                      else if (success == 5)
                   6137:                        error ("case label within scope of cleanup or variable array");
                   6138:                    }
                   6139:                  define_case_label (label);
                   6140:                ;
                   6141:     break;}
1.1.1.5 ! root     6142: case 552:
        !          6143: #line 3133 "cp-parse.y"
1.1       root     6144: {
                   6145:                  tree duplicate;
                   6146:                  register tree label
                   6147:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   6148:                  int success = pushcase (NULL_TREE, label, &duplicate);
                   6149:                  if (success == 1)
                   6150:                    error ("default label not within a switch statement");
                   6151:                  else if (success == 2)
                   6152:                    {
                   6153:                      error ("multiple default labels in one switch");
                   6154:                      error_with_decl (duplicate, "this is the first default label");
                   6155:                    }
                   6156:                  define_case_label (NULL_TREE);
                   6157:                ;
                   6158:     break;}
1.1.1.5 ! root     6159: case 554:
        !          6160: #line 3149 "cp-parse.y"
1.1       root     6161: { emit_line_note (input_filename, lineno);
                   6162:                  if ( ! expand_exit_something ())
                   6163:                    error ("break statement not within loop or switch"); ;
                   6164:     break;}
1.1.1.5 ! root     6165: case 555:
        !          6166: #line 3153 "cp-parse.y"
1.1       root     6167: { emit_line_note (input_filename, lineno);
                   6168:                  if (! expand_continue_loop (0))
                   6169:                    error ("continue statement not within a loop"); ;
                   6170:     break;}
1.1.1.5 ! root     6171: case 556:
        !          6172: #line 3157 "cp-parse.y"
1.1       root     6173: { emit_line_note (input_filename, lineno);
                   6174:                  c_expand_return (NULL_TREE); ;
                   6175:     break;}
1.1.1.5 ! root     6176: case 557:
        !          6177: #line 3160 "cp-parse.y"
1.1       root     6178: { emit_line_note (input_filename, lineno);
                   6179:                  c_expand_return (yyvsp[-1].ttype);
                   6180:                  finish_stmt ();
                   6181:                ;
                   6182:     break;}
1.1.1.5 ! root     6183: case 558:
        !          6184: #line 3165 "cp-parse.y"
1.1       root     6185: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   6186:                  emit_line_note (input_filename, lineno);
                   6187:                  expand_asm (yyvsp[-2].ttype);
                   6188:                  finish_stmt ();
                   6189:                ;
                   6190:     break;}
1.1.1.5 ! root     6191: case 559:
        !          6192: #line 3172 "cp-parse.y"
1.1       root     6193: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
                   6194:                  emit_line_note (input_filename, lineno);
                   6195:                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
                   6196:                                         yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
                   6197:                                         input_filename, lineno);
                   6198:                  finish_stmt ();
                   6199:                ;
                   6200:     break;}
1.1.1.5 ! root     6201: case 560:
        !          6202: #line 3181 "cp-parse.y"
1.1       root     6203: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
                   6204:                  emit_line_note (input_filename, lineno);
                   6205:                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
                   6206:                                         yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
                   6207:                                         input_filename, lineno);
                   6208:                  finish_stmt ();
                   6209:                ;
                   6210:     break;}
1.1.1.5 ! root     6211: case 561:
        !          6212: #line 3191 "cp-parse.y"
1.1       root     6213: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
                   6214:                  emit_line_note (input_filename, lineno);
                   6215:                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
                   6216:                                         yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
                   6217:                                         input_filename, lineno);
                   6218:                  finish_stmt ();
                   6219:                ;
                   6220:     break;}
1.1.1.5 ! root     6221: case 562:
        !          6222: #line 3199 "cp-parse.y"
1.1.1.4   root     6223: { emit_line_note (input_filename, lineno);
                   6224:                  expand_computed_goto (yyvsp[-1].ttype); ;
                   6225:     break;}
1.1.1.5 ! root     6226: case 563:
        !          6227: #line 3202 "cp-parse.y"
1.1       root     6228: { tree decl;
                   6229:                  emit_line_note (input_filename, lineno);
                   6230:                  decl = lookup_label (yyvsp[-1].ttype);
                   6231:                  TREE_USED (decl) = 1;
                   6232:                  expand_goto (decl); ;
                   6233:     break;}
1.1.1.5 ! root     6234: case 564:
        !          6235: #line 3208 "cp-parse.y"
1.1       root     6236: { finish_stmt (); ;
                   6237:     break;}
1.1.1.5 ! root     6238: case 565:
        !          6239: #line 3210 "cp-parse.y"
1.1       root     6240: { error ("label must be followed by statement");
                   6241:                  yyungetc ('}', 0);
                   6242:                  finish_stmt (); ;
                   6243:     break;}
1.1.1.5 ! root     6244: case 566:
        !          6245: #line 3214 "cp-parse.y"
1.1       root     6246: { finish_stmt (); ;
                   6247:     break;}
1.1.1.5 ! root     6248: case 567:
        !          6249: #line 3217 "cp-parse.y"
1.1       root     6250: { cplus_expand_throw (NULL_TREE); ;
                   6251:     break;}
1.1.1.5 ! root     6252: case 568:
        !          6253: #line 3218 "cp-parse.y"
1.1       root     6254: { cplus_expand_throw (yyvsp[-1].ttype); ;
                   6255:     break;}
1.1.1.5 ! root     6256: case 569:
        !          6257: #line 3220 "cp-parse.y"
1.1       root     6258: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6259:                  finish_stmt (); ;
                   6260:     break;}
1.1.1.5 ! root     6261: case 570:
        !          6262: #line 3223 "cp-parse.y"
1.1       root     6263: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6264:                  finish_stmt (); ;
                   6265:     break;}
1.1.1.5 ! root     6266: case 571:
        !          6267: #line 3226 "cp-parse.y"
1.1       root     6268: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6269:                  finish_stmt (); ;
                   6270:     break;}
1.1.1.5 ! root     6271: case 572:
        !          6272: #line 3229 "cp-parse.y"
1.1       root     6273: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6274:                  finish_stmt (); ;
                   6275:     break;}
1.1.1.5 ! root     6276: case 573:
        !          6277: #line 3232 "cp-parse.y"
1.1       root     6278: { cplus_expand_reraise (yyvsp[-1].ttype);
                   6279:                  finish_stmt (); ;
                   6280:     break;}
1.1.1.5 ! root     6281: case 574:
        !          6282: #line 3235 "cp-parse.y"
1.1       root     6283: {
                   6284:                  tree decl = cplus_expand_end_try (yyvsp[-3].itype);
                   6285:                  yyvsp[-2].ttype = current_exception_type;
                   6286:                  yyvsp[0].ttype = current_exception_decl;
                   6287:                  yyval.ttype = current_exception_object;
                   6288:                  cplus_expand_start_except (yyvsp[-1].ttype, decl);
                   6289:                  pushlevel (0);
                   6290:                  clear_last_expr ();
                   6291:                  push_momentary ();
                   6292:                  expand_start_bindings (0);
                   6293:                ;
                   6294:     break;}
1.1.1.5 ! root     6295: case 575:
        !          6296: #line 3247 "cp-parse.y"
1.1       root     6297: {
                   6298:                  tree decls = getdecls ();
                   6299:                  /* If there is a default exception to handle,
                   6300:                     handle it here.  */
                   6301:                  if (yyvsp[-1].ttype)
                   6302:                    {
                   6303:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6304:                      tree block;
                   6305: 
                   6306:                      pushlevel (1);
                   6307:                      expand_start_bindings (0);
                   6308:                      expand_expr (yyvsp[-1].ttype, 0, 0, 0);
                   6309:                      expand_end_bindings (0, 1, 0);
                   6310:                      block = poplevel (1, 0, 0);
                   6311: 
                   6312:                      /* This is a catch block.  */
                   6313:                      TREE_LANG_FLAG_2 (block) = 1;
                   6314:                      BLOCK_VARS (block) = decl;
                   6315:                    }
                   6316: 
                   6317:                  expand_end_bindings (decls, decls != 0, 1);
                   6318:                  poplevel (decls != 0, 1, 0);
                   6319:                  pop_momentary ();
                   6320:                  current_exception_type = yyvsp[-5].ttype;
                   6321:                  current_exception_decl = yyvsp[-3].ttype;
                   6322:                  current_exception_object = yyvsp[-2].ttype;
                   6323:                  cplus_expand_end_except (yyvsp[-1].ttype);
                   6324:                ;
                   6325:     break;}
1.1.1.5 ! root     6326: case 576:
        !          6327: #line 3276 "cp-parse.y"
1.1       root     6328: {
                   6329:                  cplus_expand_end_try (yyvsp[-1].itype);
                   6330:                  /* These are the important actions of
                   6331:                     `cplus_expand_end_except' which we must emulate.  */
                   6332:                  if (expand_escape_except ())
                   6333:                    expand_end_except ();
                   6334:                  expand_end_bindings (0, 0, 1);
                   6335:                  poplevel (0, 0, 0);
                   6336:                ;
                   6337:     break;}
1.1.1.5 ! root     6338: case 577:
        !          6339: #line 3286 "cp-parse.y"
1.1       root     6340: {
                   6341:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype);
                   6342:                  yyvsp[-1].ttype = current_exception_type;
                   6343:                  yyvsp[0].ttype = current_exception_decl;
                   6344:                  yyval.ttype = current_exception_object;
                   6345:                  cplus_expand_start_except (NULL, decl);
                   6346:                  pushlevel (0);
                   6347:                  clear_last_expr ();
                   6348:                  push_momentary ();
                   6349:                  expand_start_bindings (0);
                   6350:                ;
                   6351:     break;}
1.1.1.5 ! root     6352: case 578:
        !          6353: #line 3298 "cp-parse.y"
1.1       root     6354: {
                   6355:                  tree decls = getdecls ();
                   6356:                  /* If there is a default exception to handle,
                   6357:                     handle it here.  */
                   6358:                  if (yyvsp[0].ttype)
                   6359:                    {
                   6360:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6361:                      tree block;
                   6362: 
                   6363:                      pushlevel (1);
                   6364:                      expand_start_bindings (0);
                   6365:                      expand_expr (yyvsp[0].ttype, 0, 0, 0);
                   6366:                      expand_end_bindings (0, 1, 0);
                   6367:                      block = poplevel (1, 0, 0);
                   6368: 
                   6369:                      /* This is a catch block.  */
                   6370:                      TREE_LANG_FLAG_2 (block) = 1;
                   6371:                      BLOCK_VARS (block) = decl;
                   6372:                    }
                   6373: 
                   6374:                  expand_end_bindings (decls, decls != 0, 1);
                   6375:                  poplevel (decls != 0, 1, 0);
                   6376:                  pop_momentary ();
                   6377:                  current_exception_type = yyvsp[-3].ttype;
                   6378:                  current_exception_decl = yyvsp[-2].ttype;
                   6379:                  current_exception_object = yyvsp[-1].ttype;
                   6380:                  cplus_expand_end_except (yyvsp[0].ttype);
                   6381:                ;
                   6382:     break;}
1.1.1.5 ! root     6383: case 579:
        !          6384: #line 3327 "cp-parse.y"
1.1       root     6385: { tree name = get_identifier ("(compiler error)");
                   6386:                  tree orig_ex_type = current_exception_type;
                   6387:                  tree orig_ex_decl = current_exception_decl;
                   6388:                  tree orig_ex_obj = current_exception_object;
                   6389:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype), decls;
                   6390: 
                   6391:                  /* Start hidden EXCEPT.  */
                   6392:                  cplus_expand_start_except (name, decl);
                   6393:                  pushlevel (0);
                   6394:                  clear_last_expr ();
                   6395:                  push_momentary ();
                   6396:                  expand_start_bindings (0);
                   6397: 
                   6398:                  /* This sets up the reraise.  */
                   6399:                  cplus_expand_reraise (yyvsp[0].ttype);
                   6400: 
                   6401:                  decls = getdecls ();
                   6402:                  expand_end_bindings (decls, decls != 0, 1);
                   6403:                  poplevel (decls != 0, 1, 0);
                   6404:                  pop_momentary ();
                   6405:                  current_exception_type = orig_ex_type;
                   6406:                  current_exception_decl = orig_ex_decl;
                   6407:                  current_exception_object = orig_ex_obj;
                   6408:                  /* This will reraise for us.  */
                   6409:                  cplus_expand_end_except (error_mark_node);
                   6410:                  if (yychar == YYEMPTY)
                   6411:                    yychar = YYLEX;
                   6412:                  if (yychar != ';')
                   6413:                    error ("missing ';' after reraise statement");
                   6414:                ;
                   6415:     break;}
1.1.1.5 ! root     6416: case 580:
        !          6417: #line 3358 "cp-parse.y"
1.1       root     6418: { yyerror ("`except' missing after `try' statement");
                   6419:                  /* Terminate the binding contour started by special
                   6420:                     code in `.pushlevel'.  Automagically pops off
                   6421:                     the conditional we started for `try' stmt.  */
                   6422:                  cplus_expand_end_try (yyvsp[0].itype);
                   6423:                  expand_end_bindings (0, 0, 1);
                   6424:                  poplevel (0, 0, 0);
                   6425:                  pop_momentary ();
                   6426:                  YYERROR; ;
                   6427:     break;}
1.1.1.5 ! root     6428: case 581:
        !          6429: #line 3373 "cp-parse.y"
1.1       root     6430: {
                   6431:                  yyval.itype = 1;
                   6432:                  pop_implicit_try_blocks (NULL_TREE);
                   6433:                ;
                   6434:     break;}
1.1.1.5 ! root     6435: case 582:
        !          6436: #line 3378 "cp-parse.y"
1.1       root     6437: {
                   6438:                  yyval.itype = 1;
                   6439:                  pop_implicit_try_blocks (NULL_TREE);
                   6440:                ;
                   6441:     break;}
1.1.1.5 ! root     6442: case 583:
        !          6443: #line 3383 "cp-parse.y"
1.1       root     6444: {
                   6445:                  yyval.itype = 0;
                   6446:                  pop_implicit_try_blocks (NULL_TREE);
                   6447:                ;
                   6448:     break;}
1.1.1.5 ! root     6449: case 584:
        !          6450: #line 3391 "cp-parse.y"
1.1       root     6451: { tree label;
                   6452:                do_label:
                   6453:                  label = define_label (input_filename, lineno, yyvsp[-1].ttype);
                   6454:                  if (label)
                   6455:                    expand_label (label);
                   6456:                ;
                   6457:     break;}
1.1.1.5 ! root     6458: case 585:
        !          6459: #line 3398 "cp-parse.y"
1.1       root     6460: { goto do_label; ;
                   6461:     break;}
1.1.1.5 ! root     6462: case 586:
        !          6463: #line 3400 "cp-parse.y"
1.1       root     6464: { tree label = define_label (input_filename, lineno, yyvsp[0].ttype);
                   6465:                  if (label)
                   6466:                    expand_label (label);
                   6467:                ;
                   6468:     break;}
1.1.1.5 ! root     6469: case 587:
        !          6470: #line 3406 "cp-parse.y"
1.1       root     6471: { cplus_expand_start_try (0); ;
                   6472:     break;}
1.1.1.5 ! root     6473: case 589:
        !          6474: #line 3412 "cp-parse.y"
1.1       root     6475: {
                   6476:                  yyval.itype = 1;
                   6477:                  pop_implicit_try_blocks (NULL_TREE);
                   6478:                ;
                   6479:     break;}
1.1.1.5 ! root     6480: case 590:
        !          6481: #line 3417 "cp-parse.y"
1.1       root     6482: {
                   6483:                  yyval.itype = 1;
                   6484:                  pop_implicit_try_blocks (NULL_TREE);
                   6485:                ;
                   6486:     break;}
1.1.1.5 ! root     6487: case 591:
        !          6488: #line 3422 "cp-parse.y"
1.1       root     6489: {
                   6490:                  yyval.itype = 0;
                   6491:                  pop_implicit_try_blocks (NULL_TREE);
                   6492:                ;
                   6493:     break;}
1.1.1.5 ! root     6494: case 593:
        !          6495: #line 3429 "cp-parse.y"
1.1       root     6496: { cplus_expand_start_try (0); ;
                   6497:     break;}
1.1.1.5 ! root     6498: case 595:
        !          6499: #line 3433 "cp-parse.y"
1.1       root     6500: { yyval.ttype = NULL_TREE; ;
                   6501:     break;}
1.1.1.5 ! root     6502: case 596:
        !          6503: #line 3435 "cp-parse.y"
1.1       root     6504: {
                   6505:                  tree type = lookup_exception_type (current_class_type, current_class_name, yyvsp[0].ttype);
                   6506:                  if (type == NULL_TREE)
                   6507:                    {
                   6508:                      error ("`%s' is not an exception type",
                   6509:                             IDENTIFIER_POINTER (TREE_VALUE (yyvsp[0].ttype)));
                   6510:                      current_exception_type = NULL_TREE;
                   6511:                      TREE_TYPE (current_exception_object) = error_mark_node;
                   6512:                    }
                   6513:                  else
                   6514:                    {
                   6515:                      current_exception_type = type;
                   6516:                      /* In-place union.  */
                   6517:                      TREE_TYPE (current_exception_object) = type;
                   6518:                    }
                   6519:                  yyvsp[0].ttype = cplus_expand_start_catch (yyvsp[0].ttype);
                   6520:                  pushlevel (1);
                   6521:                  expand_start_bindings (0);
                   6522:                ;
                   6523:     break;}
1.1.1.5 ! root     6524: case 597:
        !          6525: #line 3455 "cp-parse.y"
1.1       root     6526: {
                   6527:                  expand_end_bindings (0, 1, 0);
                   6528:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6529: 
                   6530:                  cplus_expand_end_catch (0);
                   6531: 
                   6532:                  /* Mark this as a catch block.  */
                   6533:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6534:                  if (yyvsp[-2].ttype != error_mark_node)
                   6535:                    {
                   6536:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-2].ttype), 0);
                   6537:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-2].ttype);
                   6538:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6539:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6540:                    }
                   6541:                ;
                   6542:     break;}
1.1.1.5 ! root     6543: case 598:
        !          6544: #line 3472 "cp-parse.y"
1.1       root     6545: {
                   6546:                  if (yyvsp[-1].ttype)
                   6547:                    error ("duplicate default in exception handler");
                   6548:                  current_exception_type = NULL_TREE;
                   6549:                  /* Takes it right out of scope.  */
                   6550:                  TREE_TYPE (current_exception_object) = error_mark_node;
                   6551: 
                   6552:                  if (! expand_catch_default ())
                   6553:                    compiler_error ("default catch botch");
                   6554: 
                   6555:                  /* The default exception is handled as the
                   6556:                     last in the chain of exceptions handled.  */
                   6557:                  do_pending_stack_adjust ();
                   6558:                  start_sequence ();
                   6559:                  yyvsp[-1].ttype = make_node (RTL_EXPR);
                   6560:                  TREE_TYPE (yyvsp[-1].ttype) = void_type_node;
                   6561:                ;
                   6562:     break;}
1.1.1.5 ! root     6563: case 599:
        !          6564: #line 3490 "cp-parse.y"
1.1       root     6565: {
1.1.1.4   root     6566:                  extern struct rtx_def *get_insns ();
1.1       root     6567:                  do_pending_stack_adjust ();
                   6568:                  if (! expand_catch (NULL_TREE))
                   6569:                    compiler_error ("except nesting botch");
                   6570:                  if (! expand_end_catch ())
                   6571:                    compiler_error ("except nesting botch");
1.1.1.4   root     6572:                  RTL_EXPR_SEQUENCE (yyvsp[-3].ttype) = get_insns ();
1.1       root     6573:                  if (yyvsp[0].ttype)
                   6574:                    {
                   6575:                      /* Mark this block as the default catch block.  */
                   6576:                      TREE_LANG_FLAG_1 (yyvsp[0].ttype) = 1;
                   6577:                      TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6578:                    }
                   6579:                  end_sequence ();
                   6580:                ;
                   6581:     break;}
1.1.1.5 ! root     6582: case 600:
        !          6583: #line 3510 "cp-parse.y"
1.1       root     6584: { yyval.ttype = NULL_TREE; ;
                   6585:     break;}
1.1.1.5 ! root     6586: case 602:
        !          6587: #line 3515 "cp-parse.y"
1.1       root     6588: { yyval.ttype = NULL_TREE; ;
                   6589:     break;}
1.1.1.5 ! root     6590: case 603:
        !          6591: #line 3517 "cp-parse.y"
1.1       root     6592: {
                   6593:                  tree type = groktypename (yyvsp[-2].ttype);
                   6594:                  current_exception_type = type;
                   6595:                  /* In-place union.  */
                   6596:                  if (yyvsp[-1].ttype)
                   6597:                    {
                   6598:                      tree tmp;
                   6599:                      tmp = pushdecl (build_decl (VAR_DECL, yyvsp[-1].ttype, type));
                   6600:                      current_exception_object =
                   6601:                          build1 (INDIRECT_REF, type, tmp);
                   6602:                     }
                   6603:                  yyvsp[-2].ttype = ansi_expand_start_catch(type);
                   6604:                  pushlevel (1);
                   6605:                  expand_start_bindings (0);
                   6606:                ;
                   6607:     break;}
1.1.1.5 ! root     6608: case 604:
        !          6609: #line 3533 "cp-parse.y"
1.1       root     6610: {
                   6611:                  expand_end_bindings (0, 1, 0);
                   6612:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6613: 
                   6614:                  cplus_expand_end_catch (0);
                   6615: 
                   6616:                  /* Mark this as a catch block.  */
                   6617:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6618:                  if (yyvsp[-4].ttype != error_mark_node)
                   6619:                    {
                   6620:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-4].ttype), 0);
                   6621:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-4].ttype);
                   6622:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6623:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6624:                    }
                   6625:                ;
                   6626:     break;}
1.1.1.5 ! root     6627: case 605:
        !          6628: #line 3553 "cp-parse.y"
1.1       root     6629: { yyval.ttype = NULL_TREE; ;
                   6630:     break;}
1.1.1.5 ! root     6631: case 606:
        !          6632: #line 3555 "cp-parse.y"
1.1       root     6633: { yyval.ttype = yyvsp[-1].ttype; ;
                   6634:     break;}
1.1.1.5 ! root     6635: case 607:
        !          6636: #line 3557 "cp-parse.y"
1.1       root     6637: { yyval.ttype = NULL_TREE; ;
                   6638:     break;}
1.1.1.5 ! root     6639: case 608:
        !          6640: #line 3562 "cp-parse.y"
1.1       root     6641: { yyval.itype = 0; ;
                   6642:     break;}
1.1.1.5 ! root     6643: case 609:
        !          6644: #line 3564 "cp-parse.y"
1.1       root     6645: { yyval.itype = 0; ;
                   6646:     break;}
1.1.1.5 ! root     6647: case 610:
        !          6648: #line 3566 "cp-parse.y"
1.1       root     6649: { yyval.itype = 1; ;
                   6650:     break;}
1.1.1.5 ! root     6651: case 611:
        !          6652: #line 3568 "cp-parse.y"
1.1       root     6653: { yyval.itype = -1; ;
                   6654:     break;}
1.1.1.5 ! root     6655: case 612:
        !          6656: #line 3575 "cp-parse.y"
        !          6657: { emit_line_note (input_filename, lineno); ;
1.1       root     6658:     break;}
1.1.1.5 ! root     6659: case 613:
        !          6660: #line 3577 "cp-parse.y"
        !          6661: { emit_line_note (input_filename, lineno); ;
1.1       root     6662:     break;}
1.1.1.5 ! root     6663: case 614:
        !          6664: #line 3582 "cp-parse.y"
1.1       root     6665: { yyval.ttype = NULL_TREE; ;
                   6666:     break;}
1.1.1.5 ! root     6667: case 616:
        !          6668: #line 3585 "cp-parse.y"
1.1       root     6669: { yyval.ttype = NULL_TREE; ;
                   6670:     break;}
1.1.1.5 ! root     6671: case 617:
        !          6672: #line 3591 "cp-parse.y"
1.1       root     6673: { yyval.ttype = NULL_TREE; ;
                   6674:     break;}
1.1.1.5 ! root     6675: case 620:
        !          6676: #line 3598 "cp-parse.y"
1.1       root     6677: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   6678:     break;}
1.1.1.5 ! root     6679: case 621:
        !          6680: #line 3603 "cp-parse.y"
1.1       root     6681: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
                   6682:     break;}
1.1.1.5 ! root     6683: case 622:
        !          6684: #line 3608 "cp-parse.y"
1.1       root     6685: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
                   6686:     break;}
1.1.1.5 ! root     6687: case 623:
        !          6688: #line 3610 "cp-parse.y"
1.1       root     6689: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   6690:     break;}
1.1.1.5 ! root     6691: case 624:
        !          6692: #line 3619 "cp-parse.y"
1.1       root     6693: {
                   6694:                  if (strict_prototype)
                   6695:                    yyval.ttype = void_list_node;
                   6696:                  else
                   6697:                    yyval.ttype = NULL_TREE;
                   6698:                ;
                   6699:     break;}
1.1.1.5 ! root     6700: case 625:
        !          6701: #line 3626 "cp-parse.y"
1.1       root     6702: {
                   6703:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6704:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6705:                ;
                   6706:     break;}
1.1.1.5 ! root     6707: case 626:
        !          6708: #line 3631 "cp-parse.y"
1.1       root     6709: {
                   6710:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6711:                ;
                   6712:     break;}
1.1.1.5 ! root     6713: case 627:
        !          6714: #line 3636 "cp-parse.y"
1.1       root     6715: {
                   6716:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6717:                ;
                   6718:     break;}
1.1.1.5 ! root     6719: case 628:
        !          6720: #line 3640 "cp-parse.y"
1.1       root     6721: {
1.1.1.4   root     6722:                  /* ARM $8.2.5 has this as a boxed-off comment.  */
                   6723:                  if (pedantic)
                   6724:                    warning ("use of `...' without a first argument is non-portable");
1.1       root     6725:                  yyval.ttype = NULL_TREE;
                   6726:                ;
                   6727:     break;}
1.1.1.5 ! root     6728: case 629:
        !          6729: #line 3647 "cp-parse.y"
1.1       root     6730: {
                   6731:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6732:                ;
                   6733:     break;}
1.1.1.5 ! root     6734: case 630:
        !          6735: #line 3651 "cp-parse.y"
1.1       root     6736: {
                   6737:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6738:                ;
                   6739:     break;}
1.1.1.5 ! root     6740: case 631:
        !          6741: #line 3655 "cp-parse.y"
1.1       root     6742: {
                   6743:                  /* This helps us recover from really nasty
                   6744:                     parse errors, for example, a missing right
                   6745:                     parenthesis.  */
                   6746:                  yyerror ("possibly missing ')'");
                   6747:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6748:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6749:                  yyungetc (':', 0);
                   6750:                  yychar = ')';
                   6751:                ;
                   6752:     break;}
1.1.1.5 ! root     6753: case 632:
        !          6754: #line 3670 "cp-parse.y"
1.1       root     6755: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   6756:     break;}
1.1.1.5 ! root     6757: case 633:
        !          6758: #line 3672 "cp-parse.y"
1.1       root     6759: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
                   6760:     break;}
1.1.1.5 ! root     6761: case 634:
        !          6762: #line 3674 "cp-parse.y"
1.1       root     6763: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6764:     break;}
1.1.1.5 ! root     6765: case 635:
        !          6766: #line 3676 "cp-parse.y"
1.1       root     6767: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6768:     break;}
1.1.1.5 ! root     6769: case 636:
        !          6770: #line 3678 "cp-parse.y"
1.1       root     6771: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6772:     break;}
1.1.1.5 ! root     6773: case 637:
        !          6774: #line 3680 "cp-parse.y"
1.1       root     6775: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6776:     break;}
1.1.1.5 ! root     6777: case 638:
        !          6778: #line 3701 "cp-parse.y"
1.1       root     6779: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6780:                  see_typename (); ;
                   6781:     break;}
1.1.1.5 ! root     6782: case 639:
        !          6783: #line 3704 "cp-parse.y"
1.1       root     6784: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6785:                  see_typename (); ;
                   6786:     break;}
1.1.1.5 ! root     6787: case 642:
        !          6788: #line 3711 "cp-parse.y"
1.1       root     6789: { yyval.ttype = yyvsp[0].ttype; ;
                   6790:     break;}
1.1.1.5 ! root     6791: case 643:
        !          6792: #line 3715 "cp-parse.y"
1.1       root     6793: { see_typename (); ;
                   6794:     break;}
1.1.1.5 ! root     6795: case 644:
        !          6796: #line 3719 "cp-parse.y"
1.1       root     6797: { dont_see_typename (); ;
                   6798:     break;}
1.1.1.5 ! root     6799: case 645:
        !          6800: #line 3738 "cp-parse.y"
1.1       root     6801: {
                   6802:                  warning ("type specifier omitted for parameter");
                   6803:                  yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
                   6804:                ;
                   6805:     break;}
1.1.1.5 ! root     6806: case 646:
        !          6807: #line 3746 "cp-parse.y"
1.1       root     6808: { yyval.ttype = NULL_TREE; ;
                   6809:     break;}
1.1.1.5 ! root     6810: case 647:
        !          6811: #line 3748 "cp-parse.y"
1.1       root     6812: { yyval.ttype = yyvsp[0].ttype; ;
                   6813:     break;}
1.1.1.5 ! root     6814: case 648:
        !          6815: #line 3750 "cp-parse.y"
1.1       root     6816: { yyval.ttype = yyvsp[-1].ttype; ;
                   6817:     break;}
1.1.1.5 ! root     6818: case 649:
        !          6819: #line 3755 "cp-parse.y"
1.1       root     6820: { yyval.ttype = void_list_node; ;
                   6821:     break;}
1.1.1.5 ! root     6822: case 650:
        !          6823: #line 3757 "cp-parse.y"
1.1       root     6824: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6825:     break;}
1.1.1.5 ! root     6826: case 651:
        !          6827: #line 3759 "cp-parse.y"
1.1       root     6828: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6829:     break;}
1.1.1.5 ! root     6830: case 652:
        !          6831: #line 3761 "cp-parse.y"
1.1       root     6832: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6833:     break;}
1.1.1.5 ! root     6834: case 653:
        !          6835: #line 3763 "cp-parse.y"
1.1       root     6836: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6837:     break;}
1.1.1.5 ! root     6838: case 654:
        !          6839: #line 3765 "cp-parse.y"
1.1       root     6840: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   6841:     break;}
1.1.1.5 ! root     6842: case 656:
        !          6843: #line 3771 "cp-parse.y"
1.1       root     6844: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6845:     break;}
1.1.1.5 ! root     6846: case 658:
        !          6847: #line 3777 "cp-parse.y"
1.1       root     6848: {
                   6849:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6850:                  yyval.ttype = yyvsp[0].ttype;
                   6851:                ;
                   6852:     break;}
1.1.1.5 ! root     6853: case 660:
        !          6854: #line 3786 "cp-parse.y"
1.1       root     6855: {
                   6856:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6857:                  yyval.ttype = yyvsp[0].ttype;
                   6858:                ;
                   6859:     break;}
1.1.1.5 ! root     6860: case 661:
        !          6861: #line 3794 "cp-parse.y"
1.1       root     6862: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
                   6863:     break;}
1.1.1.5 ! root     6864: case 662:
        !          6865: #line 3796 "cp-parse.y"
1.1       root     6866: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
                   6867:     break;}
1.1.1.5 ! root     6868: case 663:
        !          6869: #line 3798 "cp-parse.y"
1.1       root     6870: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
                   6871:     break;}
1.1.1.5 ! root     6872: case 664:
        !          6873: #line 3800 "cp-parse.y"
1.1       root     6874: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
                   6875:     break;}
1.1.1.5 ! root     6876: case 665:
        !          6877: #line 3802 "cp-parse.y"
1.1       root     6878: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
                   6879:     break;}
1.1.1.5 ! root     6880: case 666:
        !          6881: #line 3804 "cp-parse.y"
1.1       root     6882: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
                   6883:     break;}
1.1.1.5 ! root     6884: case 667:
        !          6885: #line 3806 "cp-parse.y"
1.1       root     6886: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
                   6887:     break;}
1.1.1.5 ! root     6888: case 668:
        !          6889: #line 3808 "cp-parse.y"
1.1       root     6890: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
                   6891:     break;}
1.1.1.5 ! root     6892: case 669:
        !          6893: #line 3810 "cp-parse.y"
1.1       root     6894: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
                   6895:     break;}
1.1.1.5 ! root     6896: case 670:
        !          6897: #line 3812 "cp-parse.y"
1.1       root     6898: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
                   6899:     break;}
1.1.1.5 ! root     6900: case 671:
        !          6901: #line 3814 "cp-parse.y"
1.1       root     6902: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6903:     break;}
1.1.1.5 ! root     6904: case 672:
        !          6905: #line 3816 "cp-parse.y"
1.1       root     6906: { yyval.ttype = ansi_opname[LT_EXPR]; ;
                   6907:     break;}
1.1.1.5 ! root     6908: case 673:
        !          6909: #line 3818 "cp-parse.y"
1.1       root     6910: { yyval.ttype = ansi_opname[GT_EXPR]; ;
                   6911:     break;}
1.1.1.5 ! root     6912: case 674:
        !          6913: #line 3820 "cp-parse.y"
1.1       root     6914: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6915:     break;}
1.1.1.5 ! root     6916: case 675:
        !          6917: #line 3822 "cp-parse.y"
1.1       root     6918: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
                   6919:     break;}
1.1.1.5 ! root     6920: case 676:
        !          6921: #line 3824 "cp-parse.y"
1.1       root     6922: {
                   6923:                  yyval.ttype = ansi_opname [MODIFY_EXPR];
                   6924:                  if (current_class_type)
                   6925:                    {
                   6926:                      TYPE_HAS_ASSIGNMENT (current_class_type) = 1;
                   6927:                      TYPE_GETS_ASSIGNMENT (current_class_type) = 1;
                   6928:                    }
                   6929:                ;
                   6930:     break;}
1.1.1.5 ! root     6931: case 677:
        !          6932: #line 3833 "cp-parse.y"
1.1       root     6933: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6934:     break;}
1.1.1.5 ! root     6935: case 678:
        !          6936: #line 3835 "cp-parse.y"
1.1       root     6937: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6938:     break;}
1.1.1.5 ! root     6939: case 679:
        !          6940: #line 3837 "cp-parse.y"
1.1       root     6941: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
                   6942:     break;}
1.1.1.5 ! root     6943: case 680:
        !          6944: #line 3839 "cp-parse.y"
1.1       root     6945: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
                   6946:     break;}
1.1.1.5 ! root     6947: case 681:
        !          6948: #line 3841 "cp-parse.y"
1.1       root     6949: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
                   6950:     break;}
1.1.1.5 ! root     6951: case 682:
        !          6952: #line 3843 "cp-parse.y"
1.1       root     6953: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
                   6954:     break;}
1.1.1.5 ! root     6955: case 683:
        !          6956: #line 3845 "cp-parse.y"
1.1       root     6957: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
                   6958:     break;}
1.1.1.5 ! root     6959: case 684:
        !          6960: #line 3847 "cp-parse.y"
1.1       root     6961: { yyval.ttype = ansi_opname[COND_EXPR]; ;
                   6962:     break;}
1.1.1.5 ! root     6963: case 685:
        !          6964: #line 3849 "cp-parse.y"
1.1       root     6965: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6966:     break;}
1.1.1.5 ! root     6967: case 686:
        !          6968: #line 3851 "cp-parse.y"
1.1       root     6969: { yyval.ttype = ansi_opname[COMPONENT_REF];
                   6970:                  if (current_class_type)
                   6971:                    {
                   6972:                      tree t = current_class_type;
                   6973:                      while (t)
                   6974:                        {
                   6975:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6976:                          t = TYPE_NEXT_VARIANT (t);
                   6977:                        }
                   6978:                    }
                   6979:                ;
                   6980:     break;}
1.1.1.5 ! root     6981: case 687:
        !          6982: #line 3863 "cp-parse.y"
1.1       root     6983: { yyval.ttype = ansi_opname[MEMBER_REF];
                   6984:                  if (current_class_type)
                   6985:                    {
                   6986:                      tree t = current_class_type;
                   6987:                      while (t)
                   6988:                        {
                   6989:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6990:                          t = TYPE_NEXT_VARIANT (t);
                   6991:                        }
                   6992:                    }
                   6993:                ;
                   6994:     break;}
1.1.1.5 ! root     6995: case 688:
        !          6996: #line 3875 "cp-parse.y"
1.1       root     6997: {
                   6998:                  if (yychar == YYEMPTY)
                   6999:                    yychar = YYLEX;
                   7000:                  if (yychar == '(' || yychar == LEFT_RIGHT)
                   7001:                    {
                   7002:                      yyval.ttype = ansi_opname[METHOD_CALL_EXPR];
                   7003:                      if (current_class_type)
                   7004:                        {
                   7005:                          tree t = current_class_type;
                   7006:                          while (t)
                   7007:                            {
                   7008:                              TYPE_OVERLOADS_METHOD_CALL_EXPR (t) = 1;
                   7009:                              t = TYPE_NEXT_VARIANT (t);
                   7010:                            }
                   7011:                        }
                   7012:                    }
                   7013:                  else
                   7014:                    {
                   7015:                      yyval.ttype = build_parse_node (CALL_EXPR, ansi_opname[COMPONENT_REF], void_list_node, yyvsp[0].ttype);
                   7016:                      if (current_class_type)
                   7017:                        {
                   7018:                          tree t = current_class_type;
                   7019:                          while (t)
                   7020:                            {
                   7021:                              TYPE_OVERLOADS_ARROW (t) = 1;
                   7022:                              t = TYPE_NEXT_VARIANT (t);
                   7023:                            }
                   7024:                        }
                   7025:                    }
                   7026:                ;
                   7027:     break;}
1.1.1.5 ! root     7028: case 689:
        !          7029: #line 3906 "cp-parse.y"
1.1       root     7030: { yyval.ttype = ansi_opname[CALL_EXPR];
                   7031:                  if (current_class_type)
                   7032:                    {
                   7033:                      tree t = current_class_type;
                   7034:                      while (t)
                   7035:                        {
                   7036:                          TYPE_OVERLOADS_CALL_EXPR (t) = 1;
                   7037:                          t = TYPE_NEXT_VARIANT (t);
                   7038:                        }
                   7039:                    }
                   7040:                ;
                   7041:     break;}
1.1.1.5 ! root     7042: case 690:
        !          7043: #line 3918 "cp-parse.y"
1.1       root     7044: { yyval.ttype = ansi_opname[ARRAY_REF];
                   7045:                  if (current_class_type)
                   7046:                    {
                   7047:                      tree t = current_class_type;
                   7048:                      while (t)
                   7049:                        {
                   7050:                          TYPE_OVERLOADS_ARRAY_REF (t) = 1;
                   7051:                          t = TYPE_NEXT_VARIANT (t);
                   7052:                        }
                   7053:                    }
                   7054:                ;
                   7055:     break;}
1.1.1.5 ! root     7056: case 691:
        !          7057: #line 3930 "cp-parse.y"
1.1       root     7058: {
                   7059:                  yyval.ttype = ansi_opname[NEW_EXPR];
                   7060:                  if (current_class_type)
                   7061:                    {
                   7062:                      tree t = current_class_type;
                   7063:                      while (t)
                   7064:                        {
                   7065:                          TREE_GETS_NEW (t) = 1;
                   7066:                          t = TYPE_NEXT_VARIANT (t);
                   7067:                        }
                   7068:                    }
                   7069:                ;
                   7070:     break;}
1.1.1.5 ! root     7071: case 692:
        !          7072: #line 3943 "cp-parse.y"
1.1       root     7073: {
                   7074:                  yyval.ttype = ansi_opname[DELETE_EXPR];
                   7075:                  if (current_class_type)
                   7076:                    {
                   7077:                      tree t = current_class_type;
                   7078:                      while (t)
                   7079:                        {
                   7080:                          TREE_GETS_DELETE (t) = 1;
                   7081:                          t = TYPE_NEXT_VARIANT (t);
                   7082:                        }
                   7083:                    }
                   7084:                ;
                   7085:     break;}
1.1.1.5 ! root     7086: case 693:
        !          7087: #line 3959 "cp-parse.y"
1.1.1.4   root     7088: { yyval.ttype = build1 (TYPE_EXPR, yyvsp[-1].ttype, yyvsp[0].ttype); ;
1.1       root     7089:     break;}
1.1.1.5 ! root     7090: case 694:
        !          7091: #line 3961 "cp-parse.y"
1.1       root     7092: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
                   7093:     break;}
                   7094: }
                   7095:    /* the action file gets copied in in place of this dollarsign */
                   7096: #line 440 "bison.simple"
                   7097: 
                   7098:   yyvsp -= yylen;
                   7099:   yyssp -= yylen;
                   7100: #ifdef YYLSP_NEEDED
                   7101:   yylsp -= yylen;
                   7102: #endif
                   7103: 
                   7104: #if YYDEBUG != 0
                   7105:   if (yydebug)
                   7106:     {
                   7107:       short *ssp1 = yyss - 1;
                   7108:       fprintf (stderr, "state stack now");
                   7109:       while (ssp1 != yyssp)
                   7110:        fprintf (stderr, " %d", *++ssp1);
                   7111:       fprintf (stderr, "\n");
                   7112:     }
                   7113: #endif
                   7114: 
                   7115:   *++yyvsp = yyval;
                   7116: 
                   7117: #ifdef YYLSP_NEEDED
                   7118:   yylsp++;
                   7119:   if (yylen == 0)
                   7120:     {
                   7121:       yylsp->first_line = yylloc.first_line;
                   7122:       yylsp->first_column = yylloc.first_column;
                   7123:       yylsp->last_line = (yylsp-1)->last_line;
                   7124:       yylsp->last_column = (yylsp-1)->last_column;
                   7125:       yylsp->text = 0;
                   7126:     }
                   7127:   else
                   7128:     {
                   7129:       yylsp->last_line = (yylsp+yylen-1)->last_line;
                   7130:       yylsp->last_column = (yylsp+yylen-1)->last_column;
                   7131:     }
                   7132: #endif
                   7133: 
                   7134:   /* Now "shift" the result of the reduction.
                   7135:      Determine what state that goes to,
                   7136:      based on the state we popped back to
                   7137:      and the rule number reduced by.  */
                   7138: 
                   7139:   yyn = yyr1[yyn];
                   7140: 
                   7141:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
                   7142:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   7143:     yystate = yytable[yystate];
                   7144:   else
                   7145:     yystate = yydefgoto[yyn - YYNTBASE];
                   7146: 
                   7147:   goto yynewstate;
                   7148: 
                   7149: yyerrlab:   /* here on detecting error */
                   7150: 
                   7151:   if (! yyerrstatus)
                   7152:     /* If not already recovering from an error, report this error.  */
                   7153:     {
                   7154:       ++yynerrs;
                   7155: 
                   7156: #ifdef YYERROR_VERBOSE
                   7157:       yyn = yypact[yystate];
                   7158: 
                   7159:       if (yyn > YYFLAG && yyn < YYLAST)
                   7160:        {
                   7161:          int size = 0;
                   7162:          char *msg;
                   7163:          int x, count;
                   7164: 
                   7165:          count = 0;
                   7166:          for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   7167:            if (yycheck[x + yyn] == x)
                   7168:              size += strlen(yytname[x]) + 15, count++;
1.1.1.3   root     7169:          msg = (char *) malloc(size + 15);
                   7170:          if (msg != 0)
1.1.1.2   root     7171:            {
1.1.1.3   root     7172:              strcpy(msg, "parse error");
                   7173: 
                   7174:              if (count < 5)
                   7175:                {
                   7176:                  count = 0;
                   7177:                  for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   7178:                    if (yycheck[x + yyn] == x)
                   7179:                      {
                   7180:                        strcat(msg, count == 0 ? ", expecting `" : " or `");
                   7181:                        strcat(msg, yytname[x]);
                   7182:                        strcat(msg, "'");
                   7183:                        count++;
                   7184:                      }
                   7185:                }
                   7186:              yyerror(msg);
                   7187:              free(msg);
1.1       root     7188:            }
1.1.1.3   root     7189:          else
                   7190:            yyerror ("parse error; also virtual memory exceeded");
1.1       root     7191:        }
                   7192:       else
                   7193: #endif /* YYERROR_VERBOSE */
                   7194:        yyerror("parse error");
                   7195:     }
                   7196: 
                   7197: yyerrlab1:   /* here on error raised explicitly by an action */
                   7198: 
                   7199:   if (yyerrstatus == 3)
                   7200:     {
                   7201:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
                   7202: 
                   7203:       /* return failure if at end of input */
                   7204:       if (yychar == YYEOF)
                   7205:        YYABORT;
                   7206: 
                   7207: #if YYDEBUG != 0
                   7208:       if (yydebug)
                   7209:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
                   7210: #endif
                   7211: 
                   7212:       yychar = YYEMPTY;
                   7213:     }
                   7214: 
                   7215:   /* Else will try to reuse lookahead token
                   7216:      after shifting the error token.  */
                   7217: 
                   7218:   yyerrstatus = 3;             /* Each real token shifted decrements this */
                   7219: 
                   7220:   goto yyerrhandle;
                   7221: 
                   7222: yyerrdefault:  /* current state does not do anything special for the error token. */
                   7223: 
                   7224: #if 0
                   7225:   /* This is wrong; only states that explicitly want error tokens
                   7226:      should shift them.  */
                   7227:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
                   7228:   if (yyn) goto yydefault;
                   7229: #endif
                   7230: 
                   7231: yyerrpop:   /* pop the current state because it cannot handle the error token */
                   7232: 
                   7233:   if (yyssp == yyss) YYABORT;
                   7234:   yyvsp--;
                   7235:   yystate = *--yyssp;
                   7236: #ifdef YYLSP_NEEDED
                   7237:   yylsp--;
                   7238: #endif
                   7239: 
                   7240: #if YYDEBUG != 0
                   7241:   if (yydebug)
                   7242:     {
                   7243:       short *ssp1 = yyss - 1;
                   7244:       fprintf (stderr, "Error: state stack now");
                   7245:       while (ssp1 != yyssp)
                   7246:        fprintf (stderr, " %d", *++ssp1);
                   7247:       fprintf (stderr, "\n");
                   7248:     }
                   7249: #endif
                   7250: 
                   7251: yyerrhandle:
                   7252: 
                   7253:   yyn = yypact[yystate];
                   7254:   if (yyn == YYFLAG)
                   7255:     goto yyerrdefault;
                   7256: 
                   7257:   yyn += YYTERROR;
                   7258:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
                   7259:     goto yyerrdefault;
                   7260: 
                   7261:   yyn = yytable[yyn];
                   7262:   if (yyn < 0)
                   7263:     {
                   7264:       if (yyn == YYFLAG)
                   7265:        goto yyerrpop;
                   7266:       yyn = -yyn;
                   7267:       goto yyreduce;
                   7268:     }
                   7269:   else if (yyn == 0)
                   7270:     goto yyerrpop;
                   7271: 
                   7272:   if (yyn == YYFINAL)
                   7273:     YYACCEPT;
                   7274: 
                   7275: #if YYDEBUG != 0
                   7276:   if (yydebug)
                   7277:     fprintf(stderr, "Shifting error token, ");
                   7278: #endif
                   7279: 
                   7280:   *++yyvsp = yylval;
                   7281: #ifdef YYLSP_NEEDED
                   7282:   *++yylsp = yylloc;
                   7283: #endif
                   7284: 
                   7285:   yystate = yyn;
                   7286:   goto yynewstate;
                   7287: }
1.1.1.5 ! root     7288: #line 3964 "cp-parse.y"
1.1.1.2   root     7289: 
1.1       root     7290: 
1.1.1.2   root     7291: tree
                   7292: get_current_declspecs ()
                   7293: {
                   7294:   return current_declspecs;
                   7295: }

unix.superglobalmegacorp.com

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