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

1.1       root        1: 
1.1.1.6 ! root        2: /*  A Bison parser, made from cp-parse.y with Bison version GNU Bison version 1.22
        !             3:   */
1.1       root        4: 
                      5: #define YYBISON 1  /* Identify Bison output.  */
                      6: 
                      7: #define        IDENTIFIER      258
                      8: #define        TYPENAME        259
                      9: #define        SCOPED_TYPENAME 260
                     10: #define        SCSPEC  261
                     11: #define        TYPESPEC        262
                     12: #define        TYPE_QUAL       263
                     13: #define        CONSTANT        264
                     14: #define        STRING  265
                     15: #define        ELLIPSIS        266
                     16: #define        SIZEOF  267
                     17: #define        ENUM    268
                     18: #define        IF      269
                     19: #define        ELSE    270
                     20: #define        WHILE   271
                     21: #define        DO      272
                     22: #define        FOR     273
                     23: #define        SWITCH  274
                     24: #define        CASE    275
                     25: #define        DEFAULT 276
                     26: #define        BREAK   277
                     27: #define        CONTINUE        278
                     28: #define        RETURN  279
                     29: #define        GOTO    280
1.1.1.2   root       30: #define        ASM_KEYWORD     281
1.1.1.5   root       31: #define        GCC_ASM_KEYWORD 282
                     32: #define        TYPEOF  283
                     33: #define        ALIGNOF 284
                     34: #define        HEADOF  285
                     35: #define        CLASSOF 286
                     36: #define        ATTRIBUTE       287
                     37: #define        EXTENSION       288
                     38: #define        LABEL   289
                     39: #define        AGGR    290
                     40: #define        VISSPEC 291
                     41: #define        DELETE  292
                     42: #define        NEW     293
                     43: #define        OVERLOAD        294
                     44: #define        THIS    295
                     45: #define        OPERATOR        296
1.1.1.6 ! root       46: #define        LEFT_RIGHT      297
        !            47: #define        TEMPLATE        298
        !            48: #define        TYPEID  299
        !            49: #define        DYNAMIC_CAST    300
1.1.1.5   root       50: #define        SCOPE   301
                     51: #define        START_DECLARATOR        302
                     52: #define        EMPTY   303
                     53: #define        TYPENAME_COLON  304
                     54: #define        ASSIGN  305
                     55: #define        RANGE   306
                     56: #define        OROR    307
                     57: #define        ANDAND  308
                     58: #define        MIN_MAX 309
                     59: #define        EQCOMPARE       310
                     60: #define        ARITHCOMPARE    311
                     61: #define        LSHIFT  312
                     62: #define        RSHIFT  313
                     63: #define        UNARY   314
                     64: #define        PLUSPLUS        315
                     65: #define        MINUSMINUS      316
                     66: #define        HYPERUNARY      317
                     67: #define        PAREN_STAR_PAREN        318
                     68: #define        POINTSAT        319
                     69: #define        POINTSAT_STAR   320
                     70: #define        DOT_STAR        321
                     71: #define        RAISE   322
                     72: #define        RAISES  323
                     73: #define        RERAISE 324
                     74: #define        TRY     325
                     75: #define        EXCEPT  326
                     76: #define        CATCH   327
                     77: #define        THROW   328
                     78: #define        ANSI_TRY        329
                     79: #define        ANSI_THROW      330
                     80: #define        TYPENAME_ELLIPSIS       331
                     81: #define        PTYPENAME       332
                     82: #define        PRE_PARSED_FUNCTION_DECL        333
                     83: #define        EXTERN_LANG_STRING      334
                     84: #define        ALL     335
                     85: #define        PRE_PARSED_CLASS_DECL   336
                     86: #define        TYPENAME_DEFN   337
                     87: #define        IDENTIFIER_DEFN 338
                     88: #define        PTYPENAME_DEFN  339
                     89: #define        END_OF_SAVED_INPUT      340
1.1       root       90: 
                     91: #line 42 "cp-parse.y"
                     92: 
1.1.1.4   root       93: #if defined(GATHER_STATISTICS) || defined(SPEW_DEBUG)
1.1       root       94: #undef YYDEBUG
                     95: #define YYDEBUG 1
                     96: #endif
                     97: 
                     98: #include "config.h"
                     99: 
                    100: #include <stdio.h>
                    101: #include <errno.h>
                    102: 
                    103: #include "tree.h"
                    104: #include "input.h"
1.1.1.4   root      105: #include "flags.h"
1.1       root      106: #include "cp-lex.h"
                    107: #include "cp-tree.h"
                    108: 
1.1.1.5   root      109: /* Since parsers are distinct for each language, put the language string
                    110:    definition here.  (fnf) */
                    111: char *language_string = "GNU C++";
                    112: 
1.1       root      113: extern tree void_list_node;
1.1.1.4   root      114: extern struct obstack permanent_obstack;
1.1       root      115: 
                    116: #ifndef errno
                    117: extern int errno;
                    118: #endif
                    119: 
                    120: extern int end_of_file;
                    121: 
                    122: void yyerror ();
                    123: 
                    124: /* Like YYERROR but do call yyerror.  */
                    125: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
                    126: 
                    127: static void position_after_white_space ();
                    128: 
1.1.1.5   root      129: /* Contains the statement keyword (if/while/do) to include in an
                    130:    error message if the user supplies an empty conditional expression.  */
                    131: static char *cond_stmt_keyword;
1.1       root      132: 
                    133: /* Nonzero if we have an `extern "C"' acting as an extern specifier.  */
1.1.1.4   root      134: int have_extern_spec;
                    135: int used_extern_spec;
1.1       root      136: 
                    137: void yyhook ();
                    138: 
                    139: /* Cons up an empty parameter list.  */
                    140: #ifdef __GNUC__
                    141: __inline
                    142: #endif
                    143: static tree
                    144: empty_parms ()
                    145: {
                    146:   tree parms;
                    147: 
                    148:   if (strict_prototype)
                    149:     parms = void_list_node;
                    150:   else
                    151:     parms = NULL_TREE;
                    152:   return parms;
                    153: }
                    154: 
1.1.1.5   root      155: #line 108 "cp-parse.y"
1.1.1.2   root      156: typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
1.1.1.6 ! root      157: #line 269 "cp-parse.y"
1.1       root      158: 
                    159: /* List of types and structure classes of the current declaration.  */
1.1.1.4   root      160: static tree current_declspecs;
1.1       root      161: 
                    162: /* When defining an aggregate, this is the most recent one being defined.  */
                    163: static tree current_aggr;
                    164: 
1.1.1.4   root      165: /* Tell yyparse how to print a token's value, if yydebug is set.  */
1.1       root      166: 
                    167: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
1.1.1.4   root      168: extern void yyprint ();
1.1.1.5   root      169: extern tree combine_strings            PROTO((tree));
                    170: extern tree truthvalue_conversion      PROTO((tree));
1.1       root      171: 
                    172: #ifndef YYLTYPE
                    173: typedef
                    174:   struct yyltype
                    175:     {
                    176:       int timestamp;
                    177:       int first_line;
                    178:       int first_column;
                    179:       int last_line;
                    180:       int last_column;
                    181:       char *text;
                    182:    }
                    183:   yyltype;
                    184: 
                    185: #define YYLTYPE yyltype
                    186: #endif
                    187: 
                    188: #include <stdio.h>
                    189: 
1.1.1.6 ! root      190: #ifndef __cplusplus
1.1       root      191: #ifndef __STDC__
                    192: #define const
                    193: #endif
1.1.1.6 ! root      194: #endif
1.1       root      195: 
                    196: 
                    197: 
1.1.1.6 ! root      198: #define        YYFINAL         1340
1.1       root      199: #define        YYFLAG          -32768
1.1.1.5   root      200: #define        YYNTBASE        110
1.1       root      201: 
1.1.1.6 ! root      202: #define YYTRANSLATE(x) ((unsigned)(x) <= 340 ? yytranslate[x] : 311)
1.1       root      203: 
                    204: static const char yytranslate[] = {     0,
                    205:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    206:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    207:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.5   root      208:      2,     2,   108,     2,     2,     2,    73,    61,     2,    83,
                    209:    104,    71,    69,    51,    70,    81,    72,     2,     2,     2,
                    210:      2,     2,     2,     2,     2,     2,     2,    55,   105,    65,
                    211:     53,    66,    54,     2,     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:     84,     2,   109,    60,     2,     2,     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,
1.1.1.5   root      217:      2,     2,    50,    59,   106,   107,     2,     2,     2,     2,
1.1       root      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,     2,     2,     2,     2,     2,
                    228:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    229:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    230:      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
                    231:      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
                    232:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
                    233:     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
                    234:     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1.1.1.5   root      235:     46,    47,    48,    49,    52,    56,    57,    58,    62,    63,
                    236:     64,    67,    68,    74,    75,    76,    77,    78,    79,    80,
                    237:     82,    85,    86,    87,    88,    89,    90,    91,    92,    93,
                    238:     94,    95,    96,    97,    98,    99,   100,   101,   102,   103
1.1       root      239: };
                    240: 
1.1.1.6 ! root      241: #if YYDEBUG != 0
1.1       root      242: static const short yyprhs[] = {     0,
                    243:      0,     1,     3,     4,     7,    10,    11,    12,    14,    16,
1.1.1.5   root      244:     18,    20,    22,    24,    30,    35,    39,    44,    49,    51,
                    245:     52,    58,    60,    64,    67,    72,    76,    78,    82,    84,
                    246:     88,    89,    95,    96,   102,   103,   109,   110,   116,   120,
                    247:    124,   131,   139,   144,   148,   152,   154,   156,   158,   160,
                    248:    162,   165,   169,   173,   177,   181,   184,   187,   190,   193,
                    249:    195,   199,   204,   208,   214,   219,   223,   227,   230,   234,
                    250:    238,   241,   248,   255,   260,   265,   267,   274,   279,   283,
                    251:    290,   295,   299,   302,   305,   307,   311,   316,   319,   323,
                    252:    324,   325,   327,   331,   334,   338,   340,   345,   348,   353,
                    253:    356,   361,   364,   370,   374,   376,   378,   380,   382,   384,
                    254:    386,   388,   390,   392,   395,   397,   401,   406,   411,   413,
                    255:    415,   416,   417,   419,   423,   425,   427,   428,   435,   436,
                    256:    438,   439,   442,   444,   446,   448,   450,   452,   454,   456,
1.1.1.6 ! root      257:    458,   462,   464,   468,   469,   471,   473,   474,   483,   485,
        !           258:    486,   490,   496,   502,   505,   508,   513,   518,   520,   522,
        !           259:    526,   530,   532,   533,   537,   540,   543,   546,   549,   552,
        !           260:    555,   560,   563,   568,   572,   579,   586,   593,   603,   608,
        !           261:    616,   622,   631,   641,   651,   658,   668,   675,   685,   689,
        !           262:    696,   699,   704,   710,   712,   717,   725,   730,   735,   740,
        !           263:    742,   746,   750,   754,   758,   762,   766,   770,   774,   778,
        !           264:    782,   786,   790,   794,   798,   802,   806,   810,   816,   820,
        !           265:    824,   828,   831,   833,   835,   837,   839,   843,   847,   848,
        !           266:    853,   854,   861,   864,   869,   872,   876,   879,   882,   884,
        !           267:    889,   894,   897,   905,   910,   915,   921,   925,   928,   931,
        !           268:    934,   940,   944,   950,   954,   961,   966,   971,   978,   980,
        !           269:    985,   986,   988,   990,   993,   995,   998,   999,  1002,  1005,
        !           270:   1008,  1012,  1016,  1020,  1024,  1027,  1030,  1032,  1034,  1037,
        !           271:   1040,  1042,  1045,  1048,  1052,  1054,  1056,  1059,  1062,  1064,
        !           272:   1066,  1069,  1072,  1074,  1077,  1080,  1084,  1086,  1089,  1091,
        !           273:   1093,  1095,  1097,  1102,  1107,  1109,  1111,  1113,  1115,  1117,
        !           274:   1121,  1123,  1127,  1128,  1133,  1134,  1142,  1147,  1148,  1156,
        !           275:   1161,  1162,  1170,  1175,  1176,  1183,  1185,  1189,  1191,  1196,
        !           276:   1205,  1207,  1211,  1213,  1216,  1220,  1225,  1227,  1229,  1233,
        !           277:   1238,  1245,  1249,  1255,  1256,  1264,  1269,  1270,  1277,  1281,
        !           278:   1284,  1289,  1291,  1292,  1294,  1295,  1297,  1299,  1302,  1305,
        !           279:   1308,  1311,  1314,  1317,  1320,  1324,  1328,  1331,  1332,  1336,
        !           280:   1337,  1341,  1344,  1346,  1348,  1349,  1351,  1354,  1356,  1360,
        !           281:   1362,  1364,  1367,  1370,  1373,  1377,  1379,  1381,  1383,  1386,
        !           282:   1389,  1391,  1392,  1394,  1399,  1403,  1405,  1408,  1411,  1415,
        !           283:   1421,  1427,  1431,  1435,  1439,  1443,  1447,  1453,  1459,  1463,
        !           284:   1467,  1471,  1475,  1477,  1480,  1483,  1487,  1491,  1492,  1494,
        !           285:   1498,  1503,  1510,  1515,  1520,  1524,  1529,  1536,  1541,  1546,
        !           286:   1550,  1552,  1556,  1558,  1562,  1565,  1568,  1569,  1571,  1574,
        !           287:   1576,  1579,  1580,  1583,  1584,  1587,  1593,  1599,  1603,  1609,
        !           288:   1614,  1618,  1622,  1628,  1630,  1632,  1638,  1642,  1646,  1648,
        !           289:   1654,  1660,  1664,  1670,  1675,  1679,  1683,  1685,  1687,  1691,
        !           290:   1695,  1701,  1707,  1711,  1717,  1721,  1725,  1729,  1734,  1738,
        !           291:   1740,  1742,  1745,  1748,  1751,  1755,  1759,  1767,  1775,  1781,
        !           292:   1789,  1793,  1801,  1809,  1815,  1823,  1827,  1829,  1832,  1835,
        !           293:   1838,  1840,  1843,  1847,  1851,  1854,  1856,  1860,  1864,  1867,
        !           294:   1873,  1877,  1882,  1886,  1891,  1894,  1898,  1901,  1906,  1912,
        !           295:   1917,  1923,  1929,  1935,  1937,  1939,  1942,  1945,  1948,  1949,
        !           296:   1950,  1952,  1954,  1957,  1961,  1963,  1966,  1970,  1976,  1982,
        !           297:   1983,  1984,  1991,  1993,  1996,  1998,  2000,  2002,  2005,  2006,
        !           298:   2011,  2013,  2014,  2015,  2022,  2023,  2024,  2032,  2033,  2034,
        !           299:   2035,  2046,  2047,  2048,  2049,  2060,  2061,  2069,  2070,  2076,
        !           300:   2077,  2085,  2086,  2091,  2094,  2097,  2100,  2104,  2111,  2120,
        !           301:   2131,  2144,  2149,  2153,  2156,  2159,  2161,  2164,  2168,  2175,
        !           302:   2180,  2187,  2192,  2196,  2197,  2205,  2208,  2209,  2215,  2219,
        !           303:   2221,  2224,  2228,  2232,  2235,  2238,  2240,  2241,  2246,  2249,
        !           304:   2253,  2257,  2258,  2259,  2264,  2265,  2266,  2271,  2272,  2277,
        !           305:   2278,  2280,  2281,  2282,  2291,  2295,  2300,  2305,  2309,  2314,
        !           306:   2321,  2328,  2329,  2331,  2332,  2334,  2336,  2337,  2339,  2341,
        !           307:   2345,  2350,  2352,  2356,  2357,  2359,  2363,  2366,  2368,  2370,
        !           308:   2373,  2376,  2378,  2382,  2386,  2392,  2396,  2402,  2406,  2410,
        !           309:   2412,  2414,  2417,  2419,  2420,  2422,  2423,  2426,  2431,  2433,
        !           310:   2435,  2437,  2440,  2443,  2446,  2448,  2450,  2452,  2456,  2458,
        !           311:   2462,  2465,  2468,  2471,  2474,  2477,  2480,  2483,  2486,  2489,
        !           312:   2492,  2495,  2498,  2501,  2504,  2507,  2510,  2513,  2516,  2519,
        !           313:   2522,  2525,  2528,  2531,  2535,  2538,  2541,  2544,  2547,  2551,
        !           314:   2554,  2557,  2561
1.1       root      315: };
                    316: 
                    317: static const short yyrhs[] = {    -1,
1.1.1.5   root      318:    111,     0,     0,   112,   116,     0,   111,   116,     0,     0,
                    319:      0,    26,     0,    27,     0,   131,     0,   130,     0,   124,
1.1.1.6 ! root      320:      0,   122,     0,   115,    83,   174,   104,   105,     0,   117,
1.1.1.5   root      321:     50,   111,   106,     0,   117,    50,   106,     0,   117,   113,
                    322:    131,   114,     0,   117,   113,   130,   114,     0,    97,     0,
1.1.1.6 ! root      323:      0,    43,    65,   119,   120,    66,     0,   121,     0,   120,
        !           324:     51,   121,     0,   207,   140,     0,   207,   141,    55,   219,
        !           325:      0,   207,    49,   219,     0,   300,     0,    39,   123,   105,
        !           326:      0,     3,     0,   123,    51,     3,     0,     0,   118,   208,
        !           327:     50,   125,   105,     0,     0,   118,   209,    50,   126,   105,
        !           328:      0,     0,   118,   208,    55,   127,   105,     0,     0,   118,
        !           329:    209,    55,   128,   105,     0,   118,   208,   105,     0,   118,
        !           330:    209,   105,     0,   118,   238,   305,   189,   196,   129,     0,
        !           331:    118,   180,   179,   305,   189,   196,   129,     0,   118,   182,
        !           332:    179,   129,     0,   118,     1,   106,     0,   118,     1,   105,
1.1.1.5   root      333:      0,    50,     0,    55,     0,   105,     0,    53,     0,    24,
1.1.1.6 ! root      334:      0,   188,   105,     0,   182,   188,   105,     0,   182,   179,
        !           335:    105,     0,   180,   187,   105,     0,   180,   179,   105,     0,
        !           336:    182,   105,     0,   180,   105,     0,     1,   105,     0,     1,
        !           337:    106,     0,   105,     0,   132,   136,   251,     0,   132,   135,
        !           338:    136,   251,     0,   132,   175,   251,     0,   132,   135,   105,
        !           339:    175,   251,     0,   132,   135,   175,   251,     0,   180,   179,
        !           340:      1,     0,   182,   238,     1,     0,   238,     1,     0,   180,
        !           341:    179,   305,     0,   182,   238,   305,     0,   238,   305,     0,
        !           342:      4,    83,   298,   104,   233,   305,     0,   241,    83,   298,
        !           343:    104,   233,   305,     0,     4,    42,   233,   305,     0,   241,
        !           344:     42,   233,   305,     0,    96,     0,   180,    83,   298,   104,
        !           345:    233,   305,     0,   180,    42,   233,   305,     0,   180,   179,
        !           346:    305,     0,   182,    83,   298,   104,   233,   305,     0,   182,
        !           347:     42,   233,   305,     0,   182,   179,   305,     0,   238,   305,
        !           348:      0,    24,     3,     0,   134,     0,   134,    53,   200,     0,
        !           349:    134,    83,   163,   104,     0,   134,    42,     0,    55,   137,
1.1.1.5   root      350:    138,     0,     0,     0,   139,     0,   138,    51,   139,     0,
1.1.1.6 ! root      351:    138,     1,     0,    83,   163,   104,     0,    42,     0,   140,
        !           352:     83,   163,   104,     0,   140,    42,     0,   144,    83,   163,
        !           353:    104,     0,   144,    42,     0,   241,    83,   163,   104,     0,
        !           354:    241,    42,     0,   239,   140,    83,   163,   104,     0,   239,
        !           355:    140,    42,     0,     3,     0,     4,     0,    95,     0,   101,
1.1.1.5   root      356:      0,   100,     0,   102,     0,     3,     0,     4,     0,    95,
1.1.1.6 ! root      357:      0,   107,   140,     0,   310,     0,   144,   145,   151,     0,
1.1.1.5   root      358:     95,    65,   147,    66,     0,     4,    65,   147,    66,     0,
                    359:     50,     0,    55,     0,     0,     0,   148,     0,   147,    51,
1.1.1.6 ! root      360:    148,     0,   230,     0,   167,     0,     0,    99,   215,   150,
        !           361:    221,   222,   106,     0,     0,   149,     0,     0,   149,   152,
1.1.1.5   root      362:      0,    70,     0,    69,     0,    75,     0,    76,     0,   108,
1.1.1.6 ! root      363:      0,   163,     0,   167,     0,    42,     0,    83,   154,   104,
        !           364:      0,    42,     0,    83,   158,   104,     0,     0,   158,     0,
        !           365:      1,     0,     0,   183,   179,   305,   189,   196,    53,   159,
        !           366:    200,     0,   154,     0,     0,    50,   160,   106,     0,    50,
        !           367:    160,   248,   245,   106,     0,    50,   160,   248,     1,   106,
        !           368:      0,   160,   258,     0,    50,   106,     0,    50,   248,   245,
        !           369:    106,     0,    50,   248,     1,   106,     0,   258,     0,   167,
        !           370:      0,   163,    51,   167,     0,   163,    51,     1,     0,   168,
        !           371:      0,     0,    33,   165,   166,     0,    71,   166,     0,    61,
        !           372:    166,     0,   107,   166,     0,   153,   166,     0,    58,   140,
        !           373:      0,    12,   164,     0,    12,    83,   230,   104,     0,    29,
        !           374:    164,     0,    29,    83,   230,   104,     0,   172,   171,   230,
        !           375:      0,   172,   171,    83,   163,   104,   230,     0,   172,   171,
        !           376:    185,    83,   163,   104,     0,   172,   171,   185,    83,   185,
        !           377:    104,     0,   172,   171,    83,   163,   104,   185,    83,   163,
        !           378:    104,     0,   172,   171,   185,    42,     0,   172,   171,    83,
        !           379:    163,   104,   185,    42,     0,   172,   171,   230,    53,   200,
        !           380:      0,   172,   171,    83,   163,   104,   230,    53,   200,     0,
        !           381:    172,   171,    83,   183,   231,   104,    84,   234,   109,     0,
        !           382:    172,   171,    83,   232,   231,   104,    84,   234,   109,     0,
        !           383:    172,   171,    83,   183,   231,   104,     0,   172,   171,    83,
        !           384:    163,   104,    83,   183,   231,   104,     0,   172,   171,    83,
        !           385:    232,   231,   104,     0,   172,   171,    83,   163,   104,    83,
        !           386:    232,   231,   104,     0,   172,   171,    49,     0,   172,   171,
        !           387:     83,   163,   104,    49,     0,   173,   166,     0,   173,    84,
        !           388:    109,   166,     0,   173,    84,   154,   109,   166,     0,   164,
        !           389:      0,    83,   230,   104,   167,     0,    83,   230,   104,    50,
        !           390:    201,   205,   106,     0,    30,    83,   154,   104,     0,    31,
        !           391:     83,   154,   104,     0,    31,    83,     4,   104,     0,   166,
        !           392:      0,   167,    69,   167,     0,   167,    70,   167,     0,   167,
        !           393:     71,   167,     0,   167,    72,   167,     0,   167,    73,   167,
        !           394:      0,   167,    67,   167,     0,   167,    68,   167,     0,   167,
        !           395:     64,   167,     0,   167,    65,   167,     0,   167,    66,   167,
        !           396:      0,   167,    63,   167,     0,   167,    62,   167,     0,   167,
        !           397:     61,   167,     0,   167,    59,   167,     0,   167,    60,   167,
        !           398:      0,   167,    58,   167,     0,   167,    57,   167,     0,   167,
        !           399:     54,   293,    55,   167,     0,   167,    53,   167,     0,   167,
        !           400:     52,   167,     0,   168,    82,   167,     0,   177,   167,     0,
        !           401:      3,     0,   310,     0,     9,     0,   174,     0,    83,   154,
        !           402:    104,     0,    83,     1,   104,     0,     0,    83,   169,   252,
        !           403:    104,     0,     0,   168,    83,   163,   104,   170,   152,     0,
        !           404:    168,    42,     0,   168,    84,   154,   109,     0,   176,   142,
        !           405:      0,   176,   239,   142,     0,   168,    75,     0,   168,    76,
        !           406:      0,    40,     0,     8,    83,   163,   104,     0,   185,    83,
        !           407:    163,   104,     0,   185,    42,     0,    45,    65,   230,    66,
        !           408:     83,   154,   104,     0,    44,    83,   154,   104,     0,    44,
        !           409:     83,   230,   104,     0,    46,   185,    83,   163,   104,     0,
        !           410:     46,   185,    42,     0,    46,     3,     0,    46,   310,     0,
        !           411:    239,   142,     0,   239,   142,    83,   163,   104,     0,   239,
        !           412:    142,    42,     0,   176,   142,    83,   163,   104,     0,   176,
        !           413:    142,    42,     0,   176,   239,   142,    83,   163,   104,     0,
        !           414:    176,   239,   142,    42,     0,   176,   107,     7,    42,     0,
        !           415:    176,     7,    46,   107,     7,    42,     0,    38,     0,    38,
        !           416:     50,   163,   106,     0,     0,    46,     0,    37,     0,    46,
        !           417:    173,     0,    10,     0,   174,    10,     0,     0,   168,    81,
        !           418:      0,   168,    79,     0,   168,    80,     0,   180,   187,   105,
        !           419:      0,   180,   179,   105,     0,   182,   188,   105,     0,   182,
        !           420:    179,   105,     0,   180,   105,     0,   182,   105,     0,   236,
        !           421:      0,   238,     0,    47,   236,     0,    47,   238,     0,   185,
        !           422:      0,   182,   185,     0,   185,   181,     0,   182,   185,   181,
        !           423:      0,   186,     0,     6,     0,   181,   186,     0,   181,     6,
        !           424:      0,     8,     0,     6,     0,   182,     8,     0,   182,     6,
        !           425:      0,   185,     0,   232,   185,     0,   185,   184,     0,   232,
        !           426:    185,   184,     0,   186,     0,   184,   186,     0,   202,     0,
        !           427:      7,     0,     4,     0,   241,     0,    28,    83,   154,   104,
        !           428:      0,    28,    83,   230,   104,     0,   143,     0,     7,     0,
        !           429:      8,     0,   202,     0,   190,     0,   187,    51,   192,     0,
        !           430:    194,     0,   188,    51,   192,     0,     0,   115,    83,   174,
        !           431:    104,     0,     0,   179,   305,   189,   196,    53,   191,   200,
        !           432:      0,   179,   305,   189,   196,     0,     0,   179,   305,   189,
        !           433:    196,    53,   193,   200,     0,   179,   305,   189,   196,     0,
        !           434:      0,   238,   305,   189,   196,    53,   195,   200,     0,   238,
        !           435:    305,   189,   196,     0,     0,    32,    83,    83,   197,   104,
        !           436:    104,     0,   198,     0,   197,    51,   198,     0,     3,     0,
        !           437:      3,    83,     9,   104,     0,     3,    83,     3,    51,     9,
        !           438:     51,     9,   104,     0,   140,     0,   199,    51,   140,     0,
        !           439:    167,     0,    50,   106,     0,    50,   201,   106,     0,    50,
        !           440:    201,    51,   106,     0,     1,     0,   200,     0,   201,    51,
        !           441:    200,     0,    84,   167,   109,   200,     0,   201,    51,    20,
        !           442:    167,    55,   200,     0,   140,    55,   200,     0,   201,    51,
        !           443:    140,    55,   200,     0,     0,    13,   140,    50,   203,   228,
        !           444:    206,   106,     0,    13,   140,    50,   106,     0,     0,    13,
        !           445:     50,   204,   228,   206,   106,     0,    13,    50,   106,     0,
        !           446:     13,   140,     0,   214,   221,   222,   106,     0,   214,     0,
        !           447:      0,    51,     0,     0,    51,     0,    35,     0,   207,     6,
        !           448:      0,   207,     7,     0,   207,     8,     0,   207,    35,     0,
        !           449:    207,   140,     0,   207,   144,     0,   207,    49,     0,   207,
        !           450:    144,    50,     0,   207,   144,    55,     0,   207,   141,     0,
        !           451:      0,   208,   211,   215,     0,     0,   209,   212,   215,     0,
        !           452:    207,    50,     0,   213,     0,   210,     0,     0,    55,     0,
        !           453:     55,   216,     0,   217,     0,   216,    51,   217,     0,   219,
        !           454:      0,   218,     0,   220,   219,     0,   220,   218,     0,   219,
        !           455:      5,     0,   144,   146,   151,     0,   140,     0,    36,     0,
        !           456:      6,     0,   220,    36,     0,   220,     6,     0,    50,     0,
        !           457:      0,   223,     0,   222,    36,    55,   223,     0,   222,    36,
        !           458:     55,     0,   224,     0,   223,   224,     0,   223,   105,     0,
        !           459:    180,   225,   105,     0,   180,    83,   298,   104,   105,     0,
        !           460:    180,    83,   298,   104,   106,     0,   180,    42,   105,     0,
        !           461:    180,    42,   106,     0,   182,   225,   105,     0,   182,   179,
        !           462:    105,     0,   182,   225,   106,     0,   182,    83,   298,   104,
        !           463:    105,     0,   182,    83,   298,   104,   106,     0,   182,    42,
        !           464:    105,     0,   182,    42,   106,     0,    55,   167,   105,     0,
        !           465:     55,   167,   106,     0,     1,     0,   133,    55,     0,   133,
        !           466:     50,     0,   238,   305,   105,     0,   238,   305,   106,     0,
        !           467:      0,   226,     0,   225,    51,   227,     0,   179,   305,   189,
        !           468:    196,     0,   179,   305,   189,   196,    53,   200,     0,     3,
        !           469:     55,   167,   196,     0,     4,    55,   167,   196,     0,    55,
        !           470:    167,   196,     0,   179,   305,   189,   196,     0,   179,   305,
        !           471:    189,   196,    53,   200,     0,     3,    55,   167,   196,     0,
        !           472:      4,    55,   167,   196,     0,    55,   167,   196,     0,   229,
        !           473:      0,   228,    51,   229,     0,   140,     0,   140,    53,   167,
        !           474:      0,   183,   231,     0,   232,   231,     0,     0,   242,     0,
        !           475:     47,   242,     0,     8,     0,   232,     8,     0,     0,   233,
        !           476:      8,     0,     0,   235,   154,     0,   236,    83,   163,   104,
        !           477:    233,     0,   236,    83,   298,   104,   233,     0,   236,    42,
        !           478:    233,     0,   236,    83,     1,   104,   233,     0,   236,    84,
        !           479:    234,   109,     0,   236,    84,   109,     0,    83,   237,   104,
        !           480:      0,    83,    71,   233,   236,   104,     0,    78,     0,   244,
        !           481:      0,    83,    61,   233,   236,   104,     0,    71,   233,   236,
        !           482:      0,    61,   233,   236,     0,     4,     0,   237,    83,   163,
        !           483:    104,   233,     0,   237,    83,   298,   104,   233,     0,   237,
        !           484:     42,   233,     0,   237,    83,     1,   104,   233,     0,   237,
        !           485:     84,   234,   109,     0,   237,    84,   109,     0,    83,   237,
        !           486:    104,     0,    78,     0,   244,     0,    71,   233,   236,     0,
        !           487:     61,   233,   236,     0,   238,    83,   163,   104,   233,     0,
        !           488:    238,    83,   298,   104,   233,     0,   238,    42,   233,     0,
        !           489:    238,    83,     1,   104,   233,     0,    83,   238,   104,     0,
        !           490:     71,   233,   238,     0,    61,   233,   238,     0,   238,    84,
        !           491:    234,   109,     0,   238,    84,   109,     0,     3,     0,   310,
        !           492:      0,   107,     4,     0,   107,     3,     0,   107,    95,     0,
        !           493:    239,   302,   238,     0,   239,   302,     4,     0,   239,   302,
        !           494:      4,    83,   163,   104,   233,     0,   239,   302,     4,    83,
        !           495:    298,   104,   233,     0,   239,   302,     4,    42,   233,     0,
        !           496:    239,   302,     4,    83,     1,   104,   233,     0,   239,   302,
        !           497:     95,     0,   239,   302,    95,    83,   163,   104,   233,     0,
        !           498:    239,   302,    95,    83,   298,   104,   233,     0,   239,   302,
        !           499:     95,    42,   233,     0,   239,   302,    95,    83,     1,   104,
        !           500:    233,     0,    46,   302,   238,     0,   240,     0,     3,    46,
        !           501:      0,   143,    46,     0,     4,    46,     0,     5,     0,   143,
        !           502:      5,     0,    83,   242,   104,     0,    71,   233,   242,     0,
        !           503:     71,   233,     0,    78,     0,    83,   243,   104,     0,    61,
        !           504:    233,   242,     0,    61,   233,     0,   242,    83,   298,   104,
        !           505:    233,     0,   242,    42,   233,     0,   242,    84,   234,   109,
        !           506:      0,   242,    84,   109,     0,    83,   298,   104,   233,     0,
        !           507:     42,   233,     0,    84,   234,   109,     0,    84,   109,     0,
        !           508:    239,   302,    71,   233,     0,   239,   302,    71,   233,   242,
        !           509:      0,   239,   302,    61,   233,     0,   239,   302,    61,   233,
        !           510:    242,     0,   239,   302,    71,   233,   236,     0,   239,   302,
        !           511:     61,   233,   236,     0,   257,     0,   246,     0,   245,   257,
        !           512:      0,   245,   246,     0,     1,   105,     0,     0,     0,   249,
        !           513:      0,   250,     0,   249,   250,     0,    34,   199,   105,     0,
        !           514:    252,     0,     1,   252,     0,    50,   247,   106,     0,    50,
        !           515:    247,   248,   245,   106,     0,    50,   247,   248,     1,   106,
        !           516:      0,     0,     0,    14,   254,   247,   156,   255,   161,     0,
        !           517:    252,     0,   247,   258,     0,   252,     0,   258,     0,   178,
        !           518:      0,   154,   105,     0,     0,   253,    15,   259,   161,     0,
        !           519:    253,     0,     0,     0,    16,   260,   247,   156,   261,   162,
        !           520:      0,     0,     0,    17,   262,   256,    16,   263,   155,   105,
        !           521:      0,     0,     0,     0,   290,   264,   247,   157,   105,   265,
        !           522:    293,   104,   266,   162,     0,     0,     0,     0,   291,   267,
        !           523:    247,   157,   105,   268,   293,   104,   269,   162,     0,     0,
        !           524:     19,   247,    83,   158,   104,   270,   161,     0,     0,    20,
        !           525:    167,    55,   271,   257,     0,     0,    20,   167,    56,   167,
        !           526:     55,   272,   257,     0,     0,    21,    55,   273,   257,     0,
        !           527:     22,   105,     0,    23,   105,     0,    24,   105,     0,    24,
        !           528:    154,   105,     0,   115,   292,    83,   174,   104,   105,     0,
        !           529:    115,   292,    83,   174,    55,   294,   104,   105,     0,   115,
        !           530:    292,    83,   174,    55,   294,    55,   294,   104,   105,     0,
        !           531:    115,   292,    83,   174,    55,   294,    55,   294,    55,   297,
        !           532:    104,   105,     0,    25,    71,   154,   105,     0,    25,   140,
        !           533:    105,     0,   277,   257,     0,   277,   106,     0,   105,     0,
        !           534:     93,   105,     0,    93,   154,   105,     0,    91,   306,    83,
        !           535:    163,   104,   105,     0,    91,   306,    42,   105,     0,    85,
        !           536:    306,    83,   163,   104,   105,     0,    85,   306,    42,   105,
        !           537:      0,    85,   140,   105,     0,     0,   276,    89,   140,    50,
        !           538:    274,   284,   106,     0,   276,     1,     0,     0,   280,   281,
        !           539:    281,   275,   288,     0,   276,    87,   308,     0,   276,     0,
        !           540:    278,   106,     0,   278,   245,   106,     0,   278,     1,   106,
        !           541:      0,     3,    55,     0,    95,    55,     0,    49,     0,     0,
        !           542:     88,    50,   279,   247,     0,   282,   106,     0,   282,   245,
        !           543:    106,     0,   282,     1,   106,     0,     0,     0,    92,    50,
        !           544:    283,   247,     0,     0,     0,   284,   306,   285,   252,     0,
        !           545:      0,   284,    21,   286,   252,     0,     0,   140,     0,     0,
        !           546:      0,   288,    90,    83,   230,   287,   104,   289,   252,     0,
        !           547:     18,    83,   105,     0,    18,    83,   154,   105,     0,    18,
        !           548:     83,    50,   106,     0,    18,    83,   178,     0,    18,    83,
        !           549:      1,   105,     0,    18,    83,    50,   247,   245,   106,     0,
        !           550:     18,    83,    50,   247,     1,   106,     0,     0,     8,     0,
        !           551:      0,   154,     0,     1,     0,     0,   295,     0,   296,     0,
        !           552:    295,    51,   296,     0,    10,    83,   154,   104,     0,    10,
        !           553:      0,   297,    51,    10,     0,     0,   299,     0,   299,    51,
        !           554:     11,     0,   299,    11,     0,    11,     0,    94,     0,   299,
        !           555:     94,     0,   299,    55,     0,   300,     0,   300,    53,   200,
        !           556:      0,   299,    51,   300,     0,   299,    51,   300,    53,   200,
        !           557:      0,   299,    51,   304,     0,   299,    51,   304,    53,   200,
        !           558:      0,   180,   303,   301,     0,   182,   303,   301,     0,   231,
        !           559:      0,   238,     0,    47,   238,     0,   233,     0,     0,   301,
        !           560:      0,     0,    86,   308,     0,    93,    83,   309,   104,     0,
        !           561:     98,     0,     3,     0,     4,     0,    46,     3,     0,    46,
        !           562:      4,     0,   239,     3,     0,   241,     0,   230,     0,   306,
        !           563:      0,   308,    51,   306,     0,   307,     0,   309,    51,   307,
        !           564:      0,    41,    71,     0,    41,    72,     0,    41,    73,     0,
        !           565:     41,    69,     0,    41,    70,     0,    41,    61,     0,    41,
        !           566:     59,     0,    41,    60,     0,    41,   107,     0,    41,    51,
        !           567:      0,    41,    64,     0,    41,    65,     0,    41,    66,     0,
        !           568:     41,    63,     0,    41,    52,     0,    41,    53,     0,    41,
        !           569:     67,     0,    41,    68,     0,    41,    75,     0,    41,    76,
        !           570:      0,    41,    58,     0,    41,    57,     0,    41,   108,     0,
        !           571:     41,    54,    55,     0,    41,    62,     0,    41,    79,     0,
        !           572:     41,    80,     0,    41,    42,     0,    41,    84,   109,     0,
        !           573:     41,    38,     0,    41,    37,     0,    41,   183,   231,     0,
1.1.1.5   root      574:     41,     1,     0
1.1       root      575: };
                    576: 
1.1.1.6 ! root      577: #endif
        !           578: 
1.1       root      579: #if YYDEBUG != 0
                    580: static const short yyrline[] = { 0,
1.1.1.6 ! root      581:    285,   286,   300,   302,   303,   307,   312,   316,   319,   322,
        !           582:    325,   327,   329,   330,   333,   335,   337,   340,   345,   350,
        !           583:    353,   357,   360,   364,   377,   384,   391,   394,   399,   401,
        !           584:    405,   411,   411,   414,   414,   417,   417,   430,   430,   435,
        !           585:    440,   455,   478,   487,   488,   491,   492,   493,   494,   495,
        !           586:    498,   504,   507,   512,   518,   525,   527,   545,   546,   547,
        !           587:    550,   564,   577,   580,   583,   586,   588,   590,   594,   600,
        !           588:    605,   610,   615,   620,   625,   630,   636,   646,   655,   662,
        !           589:    671,   680,   687,   696,   704,   706,   708,   710,   714,   727,
        !           590:    750,   753,   755,   756,   759,   766,   773,   777,   779,   781,
        !           591:    783,   785,   787,   791,   797,   799,   800,   803,   805,   806,
        !           592:    809,   811,   812,   816,   817,   820,   849,   852,   856,   860,
        !           593:    861,   865,   870,   873,   877,   880,   883,   916,   932,   935,
        !           594:    939,   942,   946,   948,   950,   952,   954,   958,   961,   964,
        !           595:    969,   973,   978,   982,   985,   986,   990,  1009,  1016,  1021,
        !           596:   1033,  1040,  1046,  1052,  1059,  1062,  1064,  1066,  1069,  1072,
        !           597:   1074,  1078,  1085,  1088,  1091,  1093,  1095,  1097,  1104,  1115,
        !           598:   1135,  1137,  1139,  1142,  1144,  1146,  1148,  1151,  1153,  1155,
        !           599:   1157,  1159,  1167,  1177,  1180,  1182,  1184,  1186,  1189,  1191,
        !           600:   1194,  1196,  1200,  1206,  1208,  1211,  1226,  1228,  1230,  1241,
        !           601:   1243,  1245,  1247,  1249,  1251,  1253,  1255,  1257,  1259,  1261,
        !           602:   1263,  1265,  1267,  1269,  1271,  1273,  1275,  1277,  1279,  1281,
        !           603:   1288,  1291,  1308,  1311,  1328,  1329,  1331,  1333,  1335,  1343,
        !           604:   1358,  1363,  1370,  1377,  1380,  1382,  1384,  1393,  1398,  1421,
        !           605:   1465,  1467,  1470,  1473,  1475,  1478,  1480,  1482,  1521,  1528,
        !           606:   1530,  1532,  1534,  1549,  1564,  1566,  1569,  1576,  1625,  1627,
        !           607:   1634,  1637,  1641,  1643,  1651,  1653,  1657,  1670,  1671,  1677,
        !           608:   1680,  1687,  1695,  1698,  1705,  1710,  1717,  1719,  1720,  1722,
        !           609:   1730,  1733,  1735,  1737,  1741,  1745,  1750,  1752,  1763,  1767,
        !           610:   1769,  1772,  1787,  1790,  1792,  1794,  1798,  1801,  1809,  1810,
        !           611:   1811,  1812,  1813,  1817,  1821,  1826,  1827,  1828,  1831,  1833,
        !           612:   1836,  1838,  1841,  1844,  1848,  1856,  1858,  1867,  1873,  1874,
        !           613:   1880,  1888,  1890,  1901,  1904,  1909,  1911,  1916,  1922,  1933,
        !           614:   1948,  1951,  1955,  1957,  1962,  1965,  1968,  1974,  1977,  1980,
        !           615:   1982,  1984,  1986,  1990,  1994,  1998,  2001,  2004,  2008,  2011,
        !           616:   2015,  2070,  2085,  2087,  2090,  2092,  2096,  2097,  2099,  2101,
        !           617:   2103,  2107,  2110,  2112,  2114,  2120,  2124,  2129,  2134,  2141,
        !           618:   2146,  2155,  2160,  2160,  2162,  2165,  2167,  2171,  2173,  2177,
        !           619:   2182,  2186,  2190,  2196,  2205,  2219,  2222,  2224,  2228,  2254,
        !           620:   2263,  2289,  2292,  2294,  2296,  2301,  2304,  2317,  2320,  2326,
        !           621:   2328,  2332,  2334,  2338,  2341,  2344,  2348,  2350,  2354,  2356,
        !           622:   2360,  2362,  2366,  2371,  2373,  2375,  2377,  2383,  2386,  2387,
        !           623:   2398,  2403,  2407,  2411,  2415,  2421,  2425,  2428,  2431,  2434,
        !           624:   2443,  2445,  2449,  2452,  2457,  2460,  2465,  2468,  2469,  2473,
        !           625:   2476,  2480,  2483,  2491,  2493,  2497,  2500,  2502,  2504,  2506,
        !           626:   2508,  2510,  2512,  2514,  2516,  2517,  2519,  2521,  2523,  2526,
        !           627:   2529,  2531,  2533,  2535,  2537,  2539,  2541,  2543,  2544,  2546,
        !           628:   2553,  2556,  2558,  2560,  2562,  2564,  2566,  2568,  2570,  2572,
        !           629:   2576,  2579,  2585,  2587,  2589,  2598,  2600,  2602,  2604,  2606,
        !           630:   2609,  2611,  2613,  2615,  2617,  2619,  2623,  2636,  2638,  2655,
        !           631:   2658,  2659,  2680,  2685,  2687,  2689,  2691,  2693,  2695,  2697,
        !           632:   2699,  2701,  2703,  2705,  2707,  2709,  2711,  2715,  2723,  2730,
        !           633:   2737,  2746,  2754,  2767,  2769,  2770,  2771,  2774,  2781,  2791,
        !           634:   2793,  2798,  2800,  2803,  2817,  2820,  2823,  2828,  2833,  2840,
        !           635:   2843,  2847,  2849,  2852,  2859,  2862,  2865,  2868,  2881,  2884,
        !           636:   2890,  2897,  2902,  2905,  2911,  2915,  2918,  2924,  2929,  2932,
        !           637:   2937,  2947,  2951,  2954,  2960,  2971,  2978,  2985,  3036,  3036,
        !           638:   3116,  3116,  3132,  3132,  3136,  3140,  3143,  3148,  3155,  3164,
        !           639:   3173,  3182,  3185,  3191,  3193,  3197,  3201,  3202,  3203,  3206,
        !           640:   3209,  3212,  3215,  3218,  3230,  3259,  3269,  3282,  3310,  3341,
        !           641:   3353,  3361,  3366,  3373,  3381,  3383,  3390,  3392,  3392,  3400,
        !           642:   3405,  3412,  3413,  3415,  3415,  3418,  3439,  3455,  3474,  3492,
        !           643:   3495,  3497,  3500,  3517,  3535,  3538,  3540,  3544,  3547,  3549,
        !           644:   3551,  3557,  3560,  3564,  3567,  3568,  3574,  3576,  3579,  3581,
        !           645:   3585,  3590,  3593,  3602,  3609,  3614,  3619,  3623,  3630,  3634,
        !           646:   3638,  3652,  3655,  3657,  3659,  3661,  3663,  3671,  3687,  3692,
        !           647:   3693,  3694,  3698,  3702,  3720,  3728,  3731,  3733,  3737,  3740,
        !           648:   3742,  3744,  3746,  3748,  3750,  3753,  3758,  3760,  3767,  3769,
        !           649:   3776,  3779,  3781,  3783,  3785,  3787,  3789,  3791,  3793,  3795,
        !           650:   3797,  3799,  3801,  3803,  3805,  3807,  3816,  3818,  3820,  3822,
        !           651:   3824,  3826,  3828,  3830,  3832,  3834,  3846,  3858,  3870,  3882,
        !           652:   3910,  3941,  3943
1.1       root      653: };
                    654: 
                    655: static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
                    656: "TYPENAME","SCOPED_TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING",
                    657: "ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
1.1.1.5   root      658: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD","TYPEOF",
                    659: "ALIGNOF","HEADOF","CLASSOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC",
1.1.1.6 ! root      660: "DELETE","NEW","OVERLOAD","THIS","OPERATOR","LEFT_RIGHT","TEMPLATE","TYPEID",
        !           661: "DYNAMIC_CAST","SCOPE","START_DECLARATOR","EMPTY","TYPENAME_COLON","'{'","','",
        !           662: "ASSIGN","'='","'?'","':'","RANGE","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX",
        !           663: "EQCOMPARE","ARITHCOMPARE","'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'",
        !           664: "'%'","UNARY","PLUSPLUS","MINUSMINUS","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT",
        !           665: "POINTSAT_STAR","'.'","DOT_STAR","'('","'['","RAISE","RAISES","RERAISE","TRY",
        !           666: "EXCEPT","CATCH","THROW","ANSI_TRY","ANSI_THROW","TYPENAME_ELLIPSIS","PTYPENAME",
1.1.1.5   root      667: "PRE_PARSED_FUNCTION_DECL","EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL",
                    668: "TYPENAME_DEFN","IDENTIFIER_DEFN","PTYPENAME_DEFN","END_OF_SAVED_INPUT","')'",
                    669: "';'","'}'","'~'","'!'","']'","program","extdefs","@1",".hush_warning",".warning_ok",
                    670: "asm_keyword","extdef","extern_lang_string","template_header","@2","template_parm_list",
                    671: "template_parm","overloaddef","ov_identifiers","template_def","@3","@4","@5",
                    672: "@6","fn_tmpl_end","datadef","fndef","fn.def1","fn.def2","return_id","return_init",
                    673: "base_init",".set_base_init","member_init_list","member_init","identifier","identifier_defn",
                    674: "identifier_or_opname","template_type","template_type_name","tmpl.1","tmpl.2",
                    675: "template_arg_list","template_arg","template_instantiate_once","@7","template_instantiation",
1.1.1.6 ! root      676: "template_instantiate_some","unop","expr","paren_expr_or_null","paren_cond_or_null",
        !           677: "xcond","condition","@8",".kindof_pushlevel","partially_scoped_stmt","already_scoped_stmt",
        !           678: "nonnull_exprlist","unary_expr","@9","cast_expr","expr_no_commas","primary",
        !           679: "@10","@11","new",".scope","delete","string","nodecls","object","object_star",
        !           680: "decl","declarator","typed_declspecs","reserved_declspecs","declmods","typed_typespecs",
        !           681: "reserved_typespecquals","typespec","typespecqual_reserved","initdecls","notype_initdecls",
        !           682: "maybeasm","initdcl0","@12","initdcl","@13","notype_initdcl0","@14","maybe_attribute",
        !           683: "attribute_list","attrib","identifiers_or_typenames","init","initlist","structsp",
        !           684: "@15","@16","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
        !           685: "named_class_head_sans_basetype_defn","named_class_head","@17","@18","unnamed_class_head",
        !           686: "class_head","maybe_base_class_list","base_class_list","base_class","scoped_base_class",
        !           687: "base_class.1","base_class_visibility_list","left_curly","opt.component_decl_list",
        !           688: "component_decl_list","component_decl","components","component_declarator0",
        !           689: "component_declarator","enumlist","enumerator","typename","absdcl","nonempty_type_quals",
        !           690: "type_quals","nonmomentary_expr","@19","after_type_declarator","after_type_declarator_no_typename",
        !           691: "notype_declarator","id_scope","typename_scope","scoped_typename","absdcl1",
        !           692: "abs_member_declarator","after_type_member_declarator","stmts","errstmt",".pushlevel",
        !           693: "maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt",
        !           694: "simple_if","@20","@21","implicitly_scoped_stmt","stmt","simple_stmt","@22",
        !           695: "@23","@24","@25","@26","@27","@28","@29","@30","@31","@32","@33","@34","@35",
        !           696: "@36","@37","@38","try","label_colon","try_head","@39","ansi_try","ansi_dummy",
        !           697: "ansi_try_head","@40","except_stmts","@41","@42","optional_identifier","ansi_except_stmts",
        !           698: "@43","forhead.1","forhead.2","maybe_type_qual","xexpr","asm_operands","nonnull_asm_operands",
1.1.1.5   root      699: "asm_operand","asm_clobbers","parmlist","parms","parm","abs_or_notype_decl",
                    700: "see_typename","dont_see_typename","bad_parm","maybe_raises","raise_identifier",
                    701: "ansi_raise_identifier","raise_identifiers","ansi_raise_identifiers","operator_name",
                    702: ""
1.1       root      703: };
                    704: #endif
                    705: 
                    706: static const short yyr1[] = {     0,
1.1.1.5   root      707:    110,   110,   112,   111,   111,   113,   114,   115,   115,   116,
                    708:    116,   116,   116,   116,   116,   116,   116,   116,   117,   119,
                    709:    118,   120,   120,   121,   121,   121,   121,   122,   123,   123,
                    710:    125,   124,   126,   124,   127,   124,   128,   124,   124,   124,
                    711:    124,   124,   124,   124,   124,   129,   129,   129,   129,   129,
                    712:    130,   130,   130,   130,   130,   130,   130,   130,   130,   130,
                    713:    131,   131,   131,   131,   131,   131,   131,   131,   132,   132,
                    714:    132,   132,   132,   132,   132,   132,   133,   133,   133,   133,
                    715:    133,   133,   133,   134,   135,   135,   135,   135,   136,   137,
                    716:    138,   138,   138,   138,   139,   139,   139,   139,   139,   139,
                    717:    139,   139,   139,   139,   140,   140,   140,   141,   141,   141,
                    718:    142,   142,   142,   142,   142,   143,   144,   144,   145,   145,
                    719:    145,   146,   147,   147,   148,   148,   150,   149,   151,   151,
                    720:    152,   152,   153,   153,   153,   153,   153,   154,   154,   155,
1.1.1.6 ! root      721:    155,   156,   156,   157,   157,   157,   159,   158,   158,   160,
        !           722:    161,   161,   161,   161,   162,   162,   162,   162,   163,   163,
        !           723:    163,   164,   165,   164,   164,   164,   164,   164,   164,   164,
        !           724:    164,   164,   164,   164,   164,   164,   164,   164,   164,   164,
        !           725:    164,   164,   164,   164,   164,   164,   164,   164,   164,   164,
        !           726:    164,   164,   164,   166,   166,   166,   166,   166,   166,   167,
        !           727:    167,   167,   167,   167,   167,   167,   167,   167,   167,   167,
        !           728:    167,   167,   167,   167,   167,   167,   167,   167,   167,   167,
        !           729:    167,   167,   168,   168,   168,   168,   168,   168,   169,   168,
        !           730:    170,   168,   168,   168,   168,   168,   168,   168,   168,   168,
        !           731:    168,   168,   168,   168,   168,   168,   168,   168,   168,   168,
        !           732:    168,   168,   168,   168,   168,   168,   168,   168,   171,   171,
        !           733:    172,   172,   173,   173,   174,   174,   175,   176,   176,   177,
        !           734:    178,   178,   178,   178,   178,   178,   179,   179,   179,   179,
        !           735:    180,   180,   180,   180,   181,   181,   181,   181,   182,   182,
        !           736:    182,   182,   183,   183,   183,   183,   184,   184,   185,   185,
        !           737:    185,   185,   185,   185,   185,   186,   186,   186,   187,   187,
        !           738:    188,   188,   189,   189,   191,   190,   190,   193,   192,   192,
        !           739:    195,   194,   194,   196,   196,   197,   197,   198,   198,   198,
        !           740:    199,   199,   200,   200,   200,   200,   200,   201,   201,   201,
        !           741:    201,   201,   201,   203,   202,   202,   204,   202,   202,   202,
        !           742:    202,   202,   205,   205,   206,   206,   207,   207,   207,   207,
        !           743:    207,   208,   208,   208,   208,   208,   209,   211,   210,   212,
        !           744:    210,   213,   214,   214,   215,   215,   215,   216,   216,   217,
        !           745:    217,   217,   217,   218,   219,   219,   220,   220,   220,   220,
        !           746:    221,   222,   222,   222,   222,   223,   223,   223,   224,   224,
        !           747:    224,   224,   224,   224,   224,   224,   224,   224,   224,   224,
        !           748:    224,   224,   224,   224,   224,   224,   224,   225,   225,   225,
        !           749:    226,   226,   226,   226,   226,   227,   227,   227,   227,   227,
        !           750:    228,   228,   229,   229,   230,   230,   231,   231,   231,   232,
        !           751:    232,   233,   233,   235,   234,   236,   236,   236,   236,   236,
        !           752:    236,   236,   236,   236,   236,   236,   236,   236,   236,   237,
        !           753:    237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
        !           754:    238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
        !           755:    238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
        !           756:    238,   238,   238,   238,   238,   238,   239,   239,   239,   240,
        !           757:    241,   241,   242,   242,   242,   242,   242,   242,   242,   242,
        !           758:    242,   242,   242,   242,   242,   242,   242,   243,   243,   243,
        !           759:    243,   244,   244,   245,   245,   245,   245,   246,   247,   248,
        !           760:    248,   249,   249,   250,   251,   251,   252,   252,   252,   254,
        !           761:    255,   253,   256,   256,   257,   257,   258,   258,   259,   258,
        !           762:    258,   260,   261,   258,   262,   263,   258,   264,   265,   266,
        !           763:    258,   267,   268,   269,   258,   270,   258,   271,   258,   272,
        !           764:    258,   273,   258,   258,   258,   258,   258,   258,   258,   258,
        !           765:    258,   258,   258,   258,   258,   258,   258,   258,   258,   258,
        !           766:    258,   258,   258,   274,   258,   258,   275,   258,   258,   258,
        !           767:    276,   276,   276,   277,   277,   277,   279,   278,   280,   280,
        !           768:    280,   281,   283,   282,   284,   285,   284,   286,   284,   287,
        !           769:    287,   288,   289,   288,   290,   290,   290,   291,   291,   291,
        !           770:    291,   292,   292,   293,   293,   293,   294,   294,   295,   295,
        !           771:    296,   297,   297,   298,   298,   298,   298,   298,   298,   298,
        !           772:    298,   299,   299,   299,   299,   299,   299,   300,   300,   301,
        !           773:    301,   301,   302,   303,   304,   305,   305,   305,   306,   306,
        !           774:    306,   306,   306,   306,   306,   307,   308,   308,   309,   309,
        !           775:    310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
        !           776:    310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
        !           777:    310,   310,   310,   310,   310,   310,   310,   310,   310,   310,
        !           778:    310,   310,   310
1.1       root      779: };
                    780: 
                    781: static const short yyr2[] = {     0,
                    782:      0,     1,     0,     2,     2,     0,     0,     1,     1,     1,
1.1.1.5   root      783:      1,     1,     1,     5,     4,     3,     4,     4,     1,     0,
                    784:      5,     1,     3,     2,     4,     3,     1,     3,     1,     3,
                    785:      0,     5,     0,     5,     0,     5,     0,     5,     3,     3,
                    786:      6,     7,     4,     3,     3,     1,     1,     1,     1,     1,
                    787:      2,     3,     3,     3,     3,     2,     2,     2,     2,     1,
                    788:      3,     4,     3,     5,     4,     3,     3,     2,     3,     3,
                    789:      2,     6,     6,     4,     4,     1,     6,     4,     3,     6,
                    790:      4,     3,     2,     2,     1,     3,     4,     2,     3,     0,
                    791:      0,     1,     3,     2,     3,     1,     4,     2,     4,     2,
                    792:      4,     2,     5,     3,     1,     1,     1,     1,     1,     1,
                    793:      1,     1,     1,     2,     1,     3,     4,     4,     1,     1,
                    794:      0,     0,     1,     3,     1,     1,     0,     6,     0,     1,
                    795:      0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1.1.1.6 ! root      796:      3,     1,     3,     0,     1,     1,     0,     8,     1,     0,
        !           797:      3,     5,     5,     2,     2,     4,     4,     1,     1,     3,
        !           798:      3,     1,     0,     3,     2,     2,     2,     2,     2,     2,
        !           799:      4,     2,     4,     3,     6,     6,     6,     9,     4,     7,
        !           800:      5,     8,     9,     9,     6,     9,     6,     9,     3,     6,
        !           801:      2,     4,     5,     1,     4,     7,     4,     4,     4,     1,
        !           802:      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
        !           803:      3,     3,     3,     3,     3,     3,     3,     5,     3,     3,
        !           804:      3,     2,     1,     1,     1,     1,     3,     3,     0,     4,
        !           805:      0,     6,     2,     4,     2,     3,     2,     2,     1,     4,
        !           806:      4,     2,     7,     4,     4,     5,     3,     2,     2,     2,
        !           807:      5,     3,     5,     3,     6,     4,     4,     6,     1,     4,
        !           808:      0,     1,     1,     2,     1,     2,     0,     2,     2,     2,
        !           809:      3,     3,     3,     3,     2,     2,     1,     1,     2,     2,
        !           810:      1,     2,     2,     3,     1,     1,     2,     2,     1,     1,
        !           811:      2,     2,     1,     2,     2,     3,     1,     2,     1,     1,
        !           812:      1,     1,     4,     4,     1,     1,     1,     1,     1,     3,
        !           813:      1,     3,     0,     4,     0,     7,     4,     0,     7,     4,
        !           814:      0,     7,     4,     0,     6,     1,     3,     1,     4,     8,
        !           815:      1,     3,     1,     2,     3,     4,     1,     1,     3,     4,
        !           816:      6,     3,     5,     0,     7,     4,     0,     6,     3,     2,
        !           817:      4,     1,     0,     1,     0,     1,     1,     2,     2,     2,
        !           818:      2,     2,     2,     2,     3,     3,     2,     0,     3,     0,
        !           819:      3,     2,     1,     1,     0,     1,     2,     1,     3,     1,
        !           820:      1,     2,     2,     2,     3,     1,     1,     1,     2,     2,
        !           821:      1,     0,     1,     4,     3,     1,     2,     2,     3,     5,
        !           822:      5,     3,     3,     3,     3,     3,     5,     5,     3,     3,
        !           823:      3,     3,     1,     2,     2,     3,     3,     0,     1,     3,
        !           824:      4,     6,     4,     4,     3,     4,     6,     4,     4,     3,
        !           825:      1,     3,     1,     3,     2,     2,     0,     1,     2,     1,
        !           826:      2,     0,     2,     0,     2,     5,     5,     3,     5,     4,
        !           827:      3,     3,     5,     1,     1,     5,     3,     3,     1,     5,
        !           828:      5,     3,     5,     4,     3,     3,     1,     1,     3,     3,
        !           829:      5,     5,     3,     5,     3,     3,     3,     4,     3,     1,
        !           830:      1,     2,     2,     2,     3,     3,     7,     7,     5,     7,
        !           831:      3,     7,     7,     5,     7,     3,     1,     2,     2,     2,
1.1.1.5   root      832:      1,     2,     3,     3,     2,     1,     3,     3,     2,     5,
1.1.1.6 ! root      833:      3,     4,     3,     4,     2,     3,     2,     4,     5,     4,
        !           834:      5,     5,     5,     1,     1,     2,     2,     2,     0,     0,
        !           835:      1,     1,     2,     3,     1,     2,     3,     5,     5,     0,
        !           836:      0,     6,     1,     2,     1,     1,     1,     2,     0,     4,
        !           837:      1,     0,     0,     6,     0,     0,     7,     0,     0,     0,
        !           838:     10,     0,     0,     0,    10,     0,     7,     0,     5,     0,
1.1.1.5   root      839:      7,     0,     4,     2,     2,     2,     3,     6,     8,    10,
                    840:     12,     4,     3,     2,     2,     1,     2,     3,     6,     4,
                    841:      6,     4,     3,     0,     7,     2,     0,     5,     3,     1,
                    842:      2,     3,     3,     2,     2,     1,     0,     4,     2,     3,
                    843:      3,     0,     0,     4,     0,     0,     4,     0,     4,     0,
                    844:      1,     0,     0,     8,     3,     4,     4,     3,     4,     6,
                    845:      6,     0,     1,     0,     1,     1,     0,     1,     1,     3,
                    846:      4,     1,     3,     0,     1,     3,     2,     1,     1,     2,
                    847:      2,     1,     3,     3,     5,     3,     5,     3,     3,     1,
                    848:      1,     2,     1,     0,     1,     0,     2,     4,     1,     1,
                    849:      1,     2,     2,     2,     1,     1,     1,     3,     1,     3,
1.1.1.2   root      850:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.5   root      851:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.6 ! root      852:      2,     2,     2,     3,     2,     2,     2,     2,     3,     2,
        !           853:      2,     3,     2
1.1       root      854: };
                    855: 
                    856: static const short yydefact[] = {     3,
1.1.1.6 ! root      857:      0,     0,     0,   480,   301,   501,   290,   300,   289,     0,
        !           858:      8,     9,     0,   357,     0,     0,     0,   442,   442,   442,
        !           859:      0,     0,    76,    19,    60,     0,     0,     5,     6,     0,
        !           860:     13,    12,    11,    10,   267,   305,   121,     0,     0,   281,
        !           861:      0,   311,   299,     0,   368,   370,   374,   373,   352,     0,
        !           862:    442,   497,   302,   481,     4,    58,    59,   498,   442,   500,
        !           863:    261,   644,   105,   106,   347,   107,   350,   261,    29,     0,
        !           864:    713,   301,   440,   711,   710,   708,   690,   695,   696,     0,
        !           865:    702,   701,   687,   688,   686,   705,   694,   691,   692,   693,
        !           866:    697,   698,   684,   685,   681,   682,   683,   699,   700,   706,
        !           867:    707,     0,   689,   703,   305,   437,   293,     0,   302,    20,
        !           868:    663,     0,     0,     0,     0,     0,     0,   261,   483,   482,
        !           869:    484,     0,     3,     0,     0,   301,     0,     0,   368,   370,
        !           870:    666,     0,    90,    85,   267,     0,     0,   502,   499,   119,
        !           871:    120,   129,   459,     0,   442,   442,   454,     0,    57,     0,
        !           872:      0,   309,   277,   278,   442,   455,   301,   292,   291,    56,
        !           873:      0,   282,     0,     0,   286,   306,   307,   283,   285,   308,
        !           874:      0,    51,   106,   358,   359,   360,   361,   364,   372,   107,
        !           875:    109,   108,   110,   362,   367,   363,   375,   375,   391,     0,
        !           876:     68,   442,     0,   444,     0,     0,    71,     0,   442,   644,
        !           877:    666,   223,   440,   225,   265,   261,   261,     0,     0,   163,
        !           878:    263,   239,     0,     0,   262,     0,   261,   134,   133,   261,
        !           879:    135,   136,     0,   261,   137,     0,   123,   261,   194,   200,
        !           880:    126,   162,     0,   261,   226,     0,   261,   437,   293,   125,
        !           881:    437,     0,   224,   648,   649,   664,   664,     0,   645,   652,
        !           882:    349,     0,   344,     0,   138,   139,     0,     0,    28,   704,
        !           883:    709,   442,     0,   442,   442,   506,   644,   444,   712,   438,
        !           884:    295,   297,   441,   294,     0,   443,   496,   477,   476,   475,
        !           885:      0,     0,    16,     0,     7,     7,    45,    44,   666,     0,
        !           886:     31,    35,    39,    33,    37,    40,   313,    84,    91,    88,
        !           887:      0,   261,   267,     0,     0,     0,   529,    61,   535,    63,
        !           888:    375,   130,   116,   279,   280,     0,     0,   442,   442,   467,
        !           889:      0,     0,   468,    66,    55,    69,     0,    54,   442,     0,
        !           890:    444,     0,    53,   284,    52,    67,    70,   288,   287,   666,
        !           891:    312,   365,   366,   376,   369,   371,   413,   261,     0,   418,
        !           892:    418,     0,     0,   396,   666,   473,     0,   289,     0,   159,
        !           893:    281,     0,   479,     0,   261,   670,   671,     0,   669,     0,
        !           894:      0,   675,   677,   667,     0,     0,   324,   486,   491,   485,
        !           895:    666,     0,    74,   261,     0,     0,   170,   162,     0,     0,
        !           896:    172,   261,   261,   261,   261,     0,   248,     0,   264,     0,
        !           897:    249,   169,   166,   165,     0,     0,     0,     0,   167,   261,
        !           898:    118,   168,   261,   261,     0,   261,   261,   261,   261,   261,
        !           899:    261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
        !           900:    261,   261,   233,   237,   238,   269,   270,   268,   261,   261,
        !           901:    261,   259,     0,   261,   191,   266,   111,   112,     0,   113,
        !           902:      0,   235,     0,   115,   222,   435,   242,   261,   436,   111,
        !           903:    112,   113,     0,   250,   437,   437,   442,   647,   437,   651,
        !           904:    650,     0,   433,   355,   431,   346,     0,   303,     0,   304,
        !           905:     30,   515,   439,   509,   505,     0,   442,     0,     0,     0,
        !           906:    517,     0,   442,   644,   444,   298,   296,     0,    22,     0,
        !           907:     27,   117,     0,    15,    18,    17,   313,    50,    46,    49,
        !           908:     47,    48,    43,     0,     0,     0,     0,   324,   105,   106,
        !           909:     96,   261,     0,    92,     0,   121,     0,     0,   337,     0,
        !           910:    333,    86,     0,     0,    62,    65,   536,   530,   127,   458,
        !           911:    457,     0,     0,   442,   442,     0,   442,     0,   444,   452,
        !           912:    324,   310,   448,     0,     0,     0,   451,     0,   442,   442,
        !           913:    313,   388,   387,   386,   122,   377,   378,   381,   380,     0,
        !           914:      0,   415,   414,   480,   459,   442,   261,   644,   666,     0,
        !           915:    419,   301,   442,   644,   666,     0,     0,   351,   398,   397,
        !           916:     83,   442,   442,   442,   478,   445,   672,   673,   674,     0,
        !           917:    676,   679,     0,     0,     0,   323,   442,     0,   442,     0,
        !           918:     75,   442,     0,     0,     0,     0,   301,     0,   164,     0,
        !           919:      0,     0,   247,   261,   228,   227,     0,   261,   124,   220,
        !           920:    219,   636,   635,     0,   217,   216,   214,   215,   213,   212,
        !           921:    211,   208,   209,   210,   206,   207,   201,   202,   203,   204,
        !           922:    205,   221,     0,     0,   261,   189,   261,   293,   174,   261,
        !           923:      0,     0,     0,   114,   254,   261,   236,     0,   252,   261,
        !           924:      0,   442,   442,   644,   660,   661,   658,   659,   666,   646,
        !           925:    654,   665,   656,   653,   261,   356,     0,   355,   161,   160,
        !           926:    508,   504,     0,   503,   507,   442,   516,   511,     0,   513,
        !           927:      0,     0,    21,   364,   362,   367,    14,   324,    32,    36,
        !           928:     34,    38,     0,     0,    94,     0,    98,   261,   100,   261,
        !           929:      0,   102,   261,   223,   301,   261,   334,     0,   338,     0,
        !           930:     87,    64,     0,   537,     0,   531,   532,     0,     0,     0,
        !           931:      0,     0,   466,   462,     0,     0,     0,   465,     0,   317,
        !           932:    442,   442,   442,   450,     0,     0,   324,   129,     0,   384,
        !           933:    390,   389,   383,   382,   411,   412,   261,   261,   402,   403,
        !           934:    666,   324,     0,   313,     0,   399,   409,   410,   666,     0,
        !           935:    405,   313,   404,   406,     0,   416,   417,   474,   471,   472,
        !           936:    678,     0,   668,     0,     0,   321,   489,     0,     0,     0,
        !           937:    494,     0,     0,     0,   666,   240,   171,   173,   197,   199,
        !           938:    198,   244,   245,     0,     0,   230,     0,   195,   261,   231,
        !           939:    234,     0,     0,   437,   437,   179,   261,     0,   192,   261,
        !           940:      0,   257,     0,   256,   261,   241,     0,   662,   509,   505,
        !           941:    442,    72,     0,     0,   434,   432,   348,     0,   442,   442,
        !           942:    514,   442,   512,    23,    26,     0,     0,    41,    95,    93,
        !           943:      0,     0,   104,   261,     0,     0,     0,     0,   335,   331,
        !           944:      0,     0,   223,   540,   552,   555,     0,   529,   261,     0,
        !           945:      0,     0,   261,     0,   606,     0,     0,     0,     0,   261,
        !           946:      0,   586,   632,     0,   547,     0,     0,     0,   525,   545,
        !           947:    551,   524,   546,     0,   261,     0,   612,     0,   558,   562,
        !           948:    533,     0,   456,   453,   470,   469,   442,   442,   442,   464,
        !           949:    315,   449,   446,   447,   523,   522,   320,   385,   379,   324,
        !           950:    324,    78,   425,   442,   324,   480,   459,   261,   666,   420,
        !           951:     81,   442,     0,   680,   314,     0,     0,   442,   442,   442,
        !           952:    442,   442,   442,    73,   261,   246,   353,   218,   131,   260,
        !           953:      0,     0,     0,     0,     0,   181,   193,     0,   253,     0,
        !           954:    251,     0,   655,   657,   345,   520,   518,   510,    25,    42,
        !           955:     97,    99,     0,   101,     0,   342,   261,   336,     0,   339,
        !           956:      0,   534,   528,   539,   604,   529,   529,   529,     0,     0,
        !           957:      0,   572,   574,   575,   576,     0,   261,     0,   670,   671,
        !           958:      0,     0,   607,     0,   613,   587,     0,   605,   633,     0,
        !           959:    548,   275,   666,     0,   276,     0,     0,   666,     0,   538,
        !           960:    527,   526,   549,   596,     0,     0,   585,   584,     0,   601,
        !           961:      0,   612,     0,   609,     0,   529,   529,     0,   463,   460,
        !           962:    461,     0,   318,   423,   424,   400,   401,   666,   421,   261,
        !           963:    261,   324,   313,   407,   408,   666,   328,     0,   326,   322,
        !           964:    490,   487,   488,   495,   492,   493,     0,     0,     0,   131,
        !           965:    232,   190,     0,   293,   175,   185,   187,   176,   177,   258,
        !           966:    255,   442,   442,   521,   519,   103,   340,     0,     0,   332,
        !           967:      0,     0,   261,   543,     0,     0,   529,   625,     0,   628,
        !           968:    261,   568,   261,   261,   577,     0,   583,   593,     0,   261,
        !           969:    529,     0,   261,   529,   588,     0,   272,   313,   271,   274,
        !           970:    273,   313,   150,   599,     0,   603,   602,   597,   611,   610,
        !           971:      0,     0,   128,   316,     0,    77,     0,   324,   324,   430,
        !           972:    324,    80,     0,     0,     0,   243,   196,   132,   437,   437,
        !           973:    180,   261,     0,   444,   444,   520,   518,     0,   343,   142,
        !           974:    261,   541,   553,   544,   556,   629,   627,     0,   626,   149,
        !           975:      0,     0,   261,     0,   573,   582,   592,     0,   608,   590,
        !           976:      0,   614,     0,   150,   261,   550,   594,   622,   146,     0,
        !           977:    145,     0,   319,   422,   428,   429,   426,     0,     0,   327,
        !           978:    325,     0,     0,     0,   182,     0,     0,   341,     0,   150,
        !           979:    261,     0,     0,     0,   566,   666,   569,   570,     0,     0,
        !           980:    637,     0,   530,   154,   615,   598,   559,   563,     0,     0,
        !           981:    329,   186,   188,   178,   183,   184,   143,   542,   530,   554,
        !           982:    158,   140,   261,     0,   631,   630,   150,   313,   261,   591,
        !           983:    589,     0,     0,   638,   639,   578,   151,     0,     0,     0,
        !           984:      0,     0,   427,     0,   155,     0,     0,   557,   567,   324,
        !           985:    571,   261,   637,     0,     0,     0,     0,   618,   595,   616,
        !           986:      0,     0,     0,     0,     0,     0,   141,     0,     0,     0,
        !           987:    579,   640,   153,   152,     0,     0,   620,   560,   564,     0,
        !           988:    157,   156,   147,   641,     0,     0,   619,   617,   621,     0,
        !           989:    261,   261,   330,     0,   642,     0,   580,   623,   561,   565,
        !           990:    148,     0,     0,     0,   643,   581,   624,     0,     0,     0
1.1       root      991: };
                    992: 
1.1.1.6 ! root      993: static const short yydefgoto[] = {  1338,
        !           994:      1,     2,   124,   505,   893,    28,    29,    30,   275,   498,
        !           995:    499,    31,    70,    32,   514,   516,   515,   517,   513,    33,
        !           996:     34,    35,   349,   134,   135,   136,   299,   523,   524,   564,
        !           997:    185,   452,    36,    37,   142,   758,   226,   227,   312,   738,
        !           998:    313,  1081,   228,   894,  1254,  1172,  1200,  1201,  1324,  1195,
        !           999:   1196,  1250,   255,   229,   394,   230,   256,   232,   407,   959,
        !          1000:    443,   233,   234,   235,   137,   236,   237,   895,   340,   896,
        !          1001:    168,   897,   238,   271,   389,   272,   151,    41,   377,   152,
        !          1002:   1052,   341,  1145,    42,   947,   606,  1068,  1069,   871,   729,
        !          1003:    730,    43,   477,   252,  1079,   687,    44,    45,    46,    47,
        !          1004:    187,   188,    48,    49,   345,   566,   567,   568,   569,   570,
        !          1005:    190,   352,   353,   354,   580,   581,   940,   474,   475,   240,
        !          1006:    675,   241,   111,   364,   365,   153,   322,   154,   242,    52,
        !          1007:    109,   270,   489,   156,   898,   899,   538,   735,   736,   737,
        !          1008:    308,   900,   901,   996,  1220,  1105,   902,   903,  1133,   997,
        !          1009:   1221,   998,  1222,  1046,  1271,  1321,  1047,  1272,  1322,  1257,
        !          1010:   1183,  1259,  1114,  1235,  1198,   904,   905,   906,  1121,   907,
        !          1011:   1042,   908,  1124,  1269,  1306,  1305,  1320,  1236,  1334,   909,
        !          1012:    910,  1020,   634,  1263,  1264,  1265,  1326,   490,   249,   250,
        !          1013:    677,   112,   465,   683,   197,   373,   602,   374,   603,   243
1.1       root     1014: };
                   1015: 
1.1.1.6 ! root     1016: static const short yypact[] = {    77,
        !          1017:   2324,  5489,   459,    73,   779,-32768,-32768,-32768,-32768,    70,
        !          1018: -32768,-32768,    19,-32768,   179,  2429,   122,-32768,-32768,-32768,
        !          1019:   1334,   144,-32768,-32768,-32768,   130,   159,-32768,   223,  2541,
        !          1020: -32768,-32768,-32768,-32768,   258,   100,   372,  1744,  6807,   986,
        !          1021:     71,-32768,-32768,  1231,-32768,-32768,-32768,-32768,   235,  1577,
        !          1022: -32768,-32768,   143,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1023:   6418,   654,-32768,-32768,   252,-32768,   363,  6418,-32768,   187,
        !          1024: -32768,   314,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   369,
        !          1025: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1       root     1026: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.6 ! root     1027: -32768,   388,-32768,-32768,   481,  1127,  1081,  1339,-32768,-32768,
        !          1028:    456,  1334,   796,   796,   570,   462,   272,  6418,-32768,-32768,
        !          1029: -32768,   611,   546,  2116,   665,   570,  5500,  6948,   210,   376,
        !          1030:    704,   738,-32768,   700,   347,   204,   204,-32768,-32768,-32768,
        !          1031: -32768,   610,   570,    60,-32768,-32768,-32768,  1546,-32768,  2193,
        !          1032:    218,-32768,   423,   506,-32768,-32768,  1764,-32768,-32768,-32768,
        !          1033:    615,   986,   220,  1670,-32768,-32768,-32768,  1055,-32768,-32768,
        !          1034:   5500,-32768,   314,-32768,-32768,-32768,-32768,-32768,-32768,   144,
        !          1035: -32768,-32768,-32768,-32768,-32768,   385,   730,   730,-32768,  1357,
        !          1036: -32768,-32768,  2002,   680,   497,   713,   529,  1804,-32768,   654,
        !          1037:    148,    73,   720,-32768,-32768,  6624,  6701,   732,   752,-32768,
        !          1038: -32768,-32768,   765,   787,   910,   132,  6499,-32768,-32768,  6499,
        !          1039: -32768,-32768,  4944,  6499,-32768,   519,-32768,  6499,-32768,-32768,
        !          1040:   5567,  1424,   828,  6091,   892,   108,  6499,  1127,   397,-32768,
        !          1041:   7007,    53,-32768,-32768,-32768,-32768,   983,   804,   245,   859,
        !          1042: -32768,   132,   819,   806,   880,  7157,   853,   951,-32768,-32768,
        !          1043: -32768,-32768,  1506,-32768,-32768,-32768,  6962,   868,-32768,   530,
        !          1044:   1081,-32768,-32768,  1081,  1196,-32768,-32768,   506,   506,-32768,
        !          1045:    561,    41,-32768,  2525,-32768,-32768,-32768,-32768,   417,   343,
        !          1046: -32768,-32768,-32768,-32768,-32768,-32768,   637,-32768,   511,-32768,
        !          1047:   5025,  6499,-32768,   204,   204,   932,-32768,-32768,-32768,-32768,
        !          1048:    730,-32768,-32768,   423,   506,  1211,  1211,-32768,-32768,-32768,
        !          1049:   4165,   307,-32768,-32768,-32768,   529,  5500,-32768,-32768,  4101,
        !          1050:    877,  2168,-32768,  1055,-32768,-32768,   529,-32768,-32768,   417,
        !          1051: -32768,-32768,-32768,    80,-32768,-32768,-32768,  6499,   924,   471,
        !          1052:   6745,    56,  4444,-32768,   704,   456,   893,   720,   243,  7245,
        !          1053:    329,   896,-32768,   904,  6499,    73,   570,   851,-32768,   100,
        !          1054:   1006,-32768,-32768,   964,  1881,   934,   995,   570,   144,-32768,
        !          1055:    148,   928,-32768,  6499,   720,  4944,-32768,  1367,   377,  4944,
        !          1056: -32768,  6499,  6580,  6499,  6418,  1881,-32768,   717,-32768,   442,
        !          1057: -32768,-32768,-32768,-32768,   941,   956,   932,   960,-32768,  6418,
        !          1058: -32768,-32768,  6499,  6499,  5106,  6499,  6499,  6499,  6499,  6499,
        !          1059:   6499,  6499,  6499,  6499,  6499,  6499,  6499,  6499,  6499,  6499,
        !          1060:   6499,  6499,-32768,-32768,-32768,-32768,-32768,-32768,  6499,  6499,
        !          1061:   6499,  1003,   823,  5430,-32768,-32768,    73,   570,   990,   144,
        !          1062:    121,   447,    53,-32768,-32768,-32768,-32768,  6499,-32768,-32768,
        !          1063: -32768,-32768,   132,   503,   629,   629,-32768,-32768,   691,-32768,
        !          1064: -32768,  5025,  1016,  1020,-32768,-32768,   132,-32768,  5349,-32768,
        !          1065: -32768,   456,   530,  1051,  1051,    73,-32768,   440,   973,   992,
        !          1066: -32768,   991,-32768,   654,   994,-32768,  1081,   589,-32768,  1608,
        !          1067: -32768,-32768,  1000,-32768,-32768,-32768,   637,-32768,-32768,-32768,
        !          1068: -32768,-32768,-32768,  1002,  1015,  1031,  1032,   995,    73,   570,
        !          1069: -32768,  6499,   333,-32768,   558,   763,   132,   737,-32768,  4533,
        !          1070:   7245,-32768,   271,   204,-32768,-32768,-32768,    31,-32768,   423,
        !          1071:    423,  1211,  1211,-32768,-32768,   521,-32768,  4209,  1034,-32768,
        !          1072:    995,-32768,   456,  1007,   311,  1043,-32768,  1040,-32768,-32768,
        !          1073:    637,-32768,-32768,-32768,-32768,  1100,-32768,-32768,  1150,   305,
        !          1074:   7084,-32768,-32768,    58,    34,   775,  6499,  6852,   417,   225,
        !          1075: -32768,  7012,   838,  6852,   435,   142,  1101,-32768,-32768,-32768,
        !          1076:    897,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   497,
        !          1077: -32768,-32768,   321,   611,  1074,  1105,-32768,  4317,-32768,  4425,
        !          1078: -32768,-32768,   352,  1056,  1057,  1059,   184,  1060,-32768,  1061,
        !          1079:   1063,  1106,-32768,  6499,-32768,-32768,  1067,  6175,-32768,  7245,
        !          1080:   7245,-32768,-32768,  1118,  7281,  7296,  2383,  2711,  4053,  1953,
        !          1081:   2068,  1448,  1448,  1448,   953,   953,   895,   895,-32768,-32768,
        !          1082: -32768,-32768,   355,  1072,  6499,-32768,  6418,   709,  1131,  6499,
        !          1083:   1076,  1079,  1145,-32768,-32768,  6499,   739,   367,-32768,  6499,
        !          1084:   2293,-32768,-32768,  1856,-32768,   506,-32768,-32768,   148,-32768,
        !          1085:   1137,-32768,  1140,-32768,  6499,   132,  1090,  1020,-32768,  7245,
        !          1086:    530,   530,   788,-32768,-32768,-32768,-32768,   456,  1093,-32768,
        !          1087:   1097,  1196,-32768,  1104,   640,  1157,-32768,   995,-32768,-32768,
        !          1088: -32768,-32768,   343,   400,-32768,   511,-32768,  6499,-32768,  6499,
        !          1089:    801,-32768,  6499,   722,   900,  6499,-32768,  1162,-32768,    67,
        !          1090: -32768,-32768,   132,-32768,  3669,  1184,-32768,   235,   534,   601,
        !          1091:   1211,  1211,-32768,   456,  1117,   480,  1121,-32768,  1113,  1174,
        !          1092: -32768,-32768,-32768,-32768,  1211,  1211,   995,   610,    80,-32768,
        !          1093: -32768,-32768,-32768,  1150,-32768,-32768,  6499,  6499,-32768,-32768,
        !          1094:    148,  7134,  1125,   908,  1026,-32768,-32768,-32768,   148,  1126,
        !          1095: -32768,   926,-32768,-32768,  1419,-32768,-32768,   456,   456,   456,
        !          1096: -32768,  1881,-32768,    59,  1153,-32768,   456,  1129,   483,  1138,
        !          1097:    456,  1139,   516,  1142,   148,-32768,-32768,-32768,-32768,-32768,
        !          1098: -32768,-32768,-32768,  1158,   520,-32768,  4860,-32768,  6499,-32768,
        !          1099: -32768,   113,   540,  1127,  7007,-32768,  6499,  5025,-32768,  6499,
        !          1100:   1240,-32768,   568,-32768,  6499,-32768,   575,   506,  2047,  2047,
        !          1101: -32768,-32768,  5025,  5025,  7245,-32768,-32768,  1144,-32768,-32768,
        !          1102:    456,-32768,-32768,-32768,-32768,   136,   343,-32768,-32768,-32768,
        !          1103:    579,   606,-32768,  6499,   635,  7062,  5025,  4617,-32768,-32768,
        !          1104:    277,   901,   884,-32768,-32768,-32768,  1165,-32768,  6499,  1198,
        !          1105:   1146,  1151,  6256,   232,-32768,   533,  1209,   497,  1210,  6337,
        !          1106:    818,-32768,  1253,  1159,-32768,  2157,  6903,  2805,-32768,-32768,
        !          1107:   1247,-32768,-32768,  2662,  5667,  2913,-32768,  3021,-32768,-32768,
        !          1108: -32768,  1357,-32768,-32768,   423,   423,-32768,-32768,-32768,-32768,
        !          1109: -32768,   456,   456,   456,   423,   423,  1217,-32768,-32768,  7134,
        !          1110:   7134,-32768,-32768,   929,   995,   886,   949,  6499,   417,-32768,
        !          1111: -32768,   944,  5562,-32768,-32768,  1260,  5025,-32768,-32768,-32768,
        !          1112: -32768,-32768,-32768,-32768,  6499,-32768,  1222,  7265,   610,-32768,
        !          1113:   2758,  1170,  1172,   660,    49,-32768,-32768,  1235,-32768,   663,
        !          1114: -32768,  2301,-32768,-32768,-32768,  1051,  1051,   456,-32768,-32768,
        !          1115: -32768,-32768,   672,-32768,  5025,-32768,  6499,-32768,  1224,-32768,
        !          1116:    132,-32768,-32768,-32768,-32768,-32768,-32768,   932,  4698,  1200,
        !          1117:   7179,-32768,-32768,-32768,-32768,  1179,  6499,  1182,    83,   197,
        !          1118:   1183,   811,-32768,   826,-32768,-32768,  1187,-32768,-32768,  1215,
        !          1119: -32768,-32768,   510,   318,-32768,  1188,   348,   843,  1195,-32768,
        !          1120: -32768,-32768,-32768,-32768,   497,   132,-32768,-32768,   946,-32768,
        !          1121:   3129,-32768,   970,-32768,  3237,-32768,-32768,    62,   456,   456,
        !          1122:    456,  5025,-32768,-32768,-32768,-32768,-32768,   148,  1248,  6499,
        !          1123:   6499,  7134,   637,-32768,-32768,   148,  1220,   689,-32768,-32768,
        !          1124:    456,   456,   456,   456,   456,   456,  1204,  4779,  1203,   610,
        !          1125: -32768,-32768,  1881,   799,  1261,  1229,  1232,-32768,-32768,-32768,
        !          1126: -32768,-32768,-32768,   530,   530,-32768,-32768,  7201,  5025,-32768,
        !          1127:    850,   850,  5985,-32768,  1299,  1218,  1216,-32768,  1219,-32768,
        !          1128:   6418,-32768,  6499,  5773,-32768,  1223,-32768,-32768,  1225,  6499,
        !          1129: -32768,  1236,  6499,-32768,-32768,   611,-32768,   637,-32768,-32768,
        !          1130: -32768,   637,  1279,   964,  1286,-32768,-32768,-32768,-32768,-32768,
        !          1131:   5187,  5187,-32768,-32768,  5025,-32768,  5025,  7134,  7134,-32768,
        !          1132:    995,-32768,   814,  1260,  1238,-32768,-32768,-32768,  1127,  7007,
        !          1133: -32768,  6499,  5025,-32768,-32768,  2047,  2047,  5025,-32768,-32768,
        !          1134:   6418,-32768,-32768,-32768,-32768,-32768,-32768,  3777,-32768,-32768,
        !          1135:   1244,  5500,  5773,  7223,-32768,-32768,-32768,   706,-32768,-32768,
        !          1136:    707,-32768,    38,-32768,  5985,-32768,-32768,-32768,-32768,  1249,
        !          1137: -32768,  1251,-32768,-32768,-32768,-32768,  1287,  1302,  1255,-32768,
        !          1138: -32768,  1262,  1268,   710,-32768,  1264,  1267,-32768,  1273,  1279,
        !          1139:   5879,   857,   980,  3345,-32768,   417,-32768,-32768,  1277,  1278,
        !          1140:   1368,  1281,    44,-32768,-32768,  1294,-32768,-32768,  5025,  1378,
        !          1141: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,    48,-32768,
        !          1142: -32768,-32768,  6499,  1283,-32768,-32768,  1279,   637,  5773,-32768,
        !          1143: -32768,  1306,   195,  1340,-32768,-32768,-32768,  3885,   547,  1307,
        !          1144:   5268,  5268,-32768,  1343,-32768,  3993,  1292,-32768,-32768,   995,
        !          1145: -32768,  6499,  1368,  1296,  1368,   993,  3453,-32768,-32768,-32768,
        !          1146:   1881,  1298,  1300,  1390,  1013,  3561,-32768,  1353,  1303,   379,
        !          1147: -32768,-32768,-32768,-32768,   932,   932,   132,-32768,-32768,  1304,
        !          1148: -32768,-32768,-32768,-32768,  1400,  1308,-32768,-32768,-32768,  1317,
        !          1149:   5879,  5879,-32768,  5025,-32768,   715,-32768,-32768,-32768,-32768,
        !          1150: -32768,  1401,  1325,   932,-32768,-32768,-32768,  1431,  1433,-32768
1.1       root     1151: };
                   1152: 
                   1153: static const short yypgoto[] = {-32768,
1.1.1.6 ! root     1154:   1312,-32768,-32768,  1152,    20,  1435,-32768,-32768,-32768,-32768,
        !          1155:    747,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  -671,  1315,
        !          1156:   1329,-32768,-32768,-32768,-32768,  1321,-32768,-32768,   741,    -8,
        !          1157:    958,  -225,   145,   -24,-32768,-32768,  1341,  1062,  -900,-32768,
        !          1158:    703,   389,-32768,   -27,-32768,   368,   334, -1041,-32768,   281,
        !          1159:   -799,  -230,  -161,   919,-32768,  -149,  1114,  -162,-32768,-32768,
        !          1160: -32768,-32768,  -180,  -114,  -108,-32768,-32768,   472,   -32,   771,
        !          1161:   1316,  1295,    -3,  1205,    -1,    36,   581,   -28,  -283,-32768,
        !          1162: -32768,  1164,-32768,-32768,-32768,  -502,-32768,   332,-32768,  -270,
        !          1163:    675,   -10,-32768,-32768,-32768,   805,  -252,  1459,  1464,-32768,
        !          1164: -32768,-32768,-32768,-32768,  -154,-32768,   742,   927,  -530,-32768,
        !          1165:    758,   597,   725,  -335,  1161,-32768,-32768,  1036,   836,   -42,
        !          1166:    -94,    12,  1709,  -243,-32768,  -105,  1202,   726,  1018,-32768,
        !          1167:      2,  -217,-32768,  -111,  -798,  -808,  -826, -1146,-32768,   793,
        !          1168:   -104,  -127,-32768,-32768,-32768,-32768,  -851,  -944,-32768,-32768,
1.1       root     1169: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.6 ! root     1170: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1171:    505,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1172: -32768,-32768,  -144,   268,-32768,   267,-32768,    -9,-32768,  -256,
        !          1173:   -182,   -46,  1310,-32768,   -50,  -576,   766,   524,-32768,  1638
1.1       root     1174: };
                   1175: 
                   1176: 
1.1.1.6 ! root     1177: #define        YYLAST          7369
1.1       root     1178: 
                   1179: 
1.1.1.6 ! root     1180: static const short yytable[] = {    40,
        !          1181:     40,    67,    53,    53,   198,   150,   161,   282,   309,   309,
        !          1182:    163,   269,   106,   518,   107,   713,   464,   590,   501,   186,
        !          1183:     27,    27,   500,   791,   492,   257,   305,   108,    40,   170,
        !          1184:    532,   359,   310,   346,   399,   184,   323,   162,   314,   764,
        !          1185:    254,   858,   551,   388,   388,   483,  1032,   446,   750,   488,
        !          1186:    446,  1000,   248,  1038,   388,   460,   461,   388,  1080,   239,
        !          1187:     40,   388,     4,   143,   733,   388,   239,   403,   446,  1181,
        !          1188:    404,   388,    63,    64,   409,   169,    -1,   733,   412,    60,
        !          1189:    297,   733,    63,   173,   445,   562,  1268,   558,   768,  1031,
        !          1190:    457,   587,  1231,    16,   289,   290,   170,   587,    61,   326,
        !          1191:     16,    68,  1276,    58,   138,    18,   274,  1041,   332,  1045,
        !          1192:    447,   448,   767,   337,   449,   563,   239,   868,    58,    65,
        !          1193:    145,   171,    40,    63,    64,    53,   162,   663,    58,  1219,
        !          1194:    146,   458,   119,   120,    63,    64,   734,   147,    63,   173,
        !          1195:    533,  1232,   148,   456,   503,   139,   459,   462,    16,  1267,
        !          1196:    383,   170,  1089,  1275,    22,   276,   539,   170,  1174,   463,
        !          1197:    105,   588,   945,   479,    66,   116,    26,  1143,   555,  1101,
        !          1198:   1102,  1103,   869,   855,   180,   172,   309,   309,   537,  1080,
        !          1199:    408,    69,   116,   362,   199,   980,   110,  -105,    40,  1032,
        !          1200:    382,   361,   775,  1032,   534,   406,   372,   169,    40,   535,
        !          1201:    536,   684,   450,   339,   306,   857,   105,   402,   118,   323,
        !          1202:    540,   541,   681,   400,   451,    66,   376,   399,   960,  1141,
        !          1203:   1142,   239,   613,   708,   121,   200,    66,   667,   170,    60,
        !          1204:    180,   388,  1031,   195,    63,    64,  1031,   258,   507,   274,
        !          1205:    196,   122,    60,   473,   619,   162,   783,   784,    61,  1283,
        !          1206:   1234,   701,   105,   307,   927,   468,   116,   116,   116,   291,
        !          1207:    170,    61,  1185,   170,   292,    40,   691,   692,   327,   933,
        !          1208:    171,   116,   123,    40,   526,   775,  1251,   757,   653,   627,
        !          1209:   1178,   132,    40,   678,   189,    53,   682,   810,   116,   561,
        !          1210:    525,   259,   116,   479,  1189,   469,   668,  1192,  1284,   470,
        !          1211:    528,  -106,  1007,    27,   591,   749,   496,    63,   173,  1012,
        !          1212:    761,  1014,   133,   192,   293,   116,   376,   579,   585,   565,
        !          1213:    556,   479,   328,   170,   335,   979,    66,   991,   361,   776,
        !          1214:    611,  1227,   601,   715,   165,   166,   167,   596,   471,   370,
        !          1215:    762,    10,   116,   614,   105,   376,   593,   615,   547,   162,
        !          1216:    170,    40,   621,   622,   193,   194,   376,   251,   406,   105,
        !          1217:    714,   479,   406,    14,   616,   618,   508,   620,   327,   339,
        !          1218:    457,   792,  1032,   107,   731,   280,  1251,  1251,    61,  1224,
        !          1219:    116,   992,   -89,   716,   239,   105,   746,   633,   239,   548,
        !          1220:    549,   105,   509,   239,   107,   510,   169,   511,   171,   180,
        !          1221:    659,   133,   479,   166,   167,   479,   309,  1281,   239,    10,
        !          1222:    550,   458,   253,   654,   752,  1031,   661,   479,   457,   105,
        !          1223:   1248,   140,  1129,   260,   793,   294,   141,  1054,  1055,   732,
        !          1224:    295,    14,  1059,  1315,   342,  1032,   739,   740,   457,   343,
        !          1225:    693,   658,   664,   370,  1032,   501,   799,   512,   803,   500,
        !          1226:    479,   303,  1131,   483,   664,   806,   488,  1279,   820,   458,
        !          1227:    116,   116,   815,   276,   329,   116,   323,    40,   473,  1287,
        !          1228:    836,   116,   323,   574,   575,   186,   116,  1296,  1031,   458,
        !          1229:    296,   493,  1316,   623,   699,   138,   170,  1031,   665,   794,
        !          1230:    935,   705,    40,   822,   116,   823,   261,   388,   935,   366,
        !          1231:    367,     6,   195,   859,   833,   330,   331,   139,   837,   196,
        !          1232:    829,    16,   576,   519,   520,     6,    18,   144,   721,   105,
        !          1233:    195,   728,   494,   495,   624,   577,   376,   196,   774,   666,
        !          1234:    479,   145,   496,   479,   782,  1009,  1010,     6,   747,   781,
        !          1235:    105,   146,   368,   694,   669,   565,   361,   192,   147,   366,
        !          1236:    367,     6,   521,   578,    11,    12,   861,   966,   862,  1150,
        !          1237:   -313,   865,   547,    56,    57,    22,   479,  1288,   773,   410,
        !          1238:    479,   493,   973,   974,   780,   329,    40,    26,   368,  -313,
        !          1239:    376,  -313,    40,   918,   411,   670,   949,   105,   193,   194,
        !          1240:    479,    22,   368,   522,   369,   195,   986,   990,   800,   717,
        !          1241:    804,   372,   196,   548,   549,   180,   361,   590,   361,   116,
        !          1242:    116,   410,   494,   495,  1127,    60,   330,   331,   479,   952,
        !          1243:    205,   691,   692,   956,   743,   479,   502,   180,   842,   479,
        !          1244:    369,     4,   115,  -313,    61,   915,   916,   913,   105,   702,
        !          1245:    718,    22,   329,   961,   369,  1205,  1206,   170,  1207,   925,
        !          1246:    926,   283,  1289,   824,   703,   239,   479,    72,     6,     7,
        !          1247:      8,     9,    11,    12,   244,   964,    10,   388,   825,    16,
        !          1248:    262,   969,    40,   970,    18,   671,  1070,   473,   971,   565,
        !          1249:    967,    13,   981,   330,   331,   479,   116,   116,    14,   672,
        !          1250:    -24,   526,  1290,     4,   126,     6,     7,     8,     9,   673,
        !          1251:     40,   680,   983,    10,   914,   -24,   266,   525,   311,   982,
        !          1252:    479,   674,   268,   479,  1097,   166,   167,   528,    13,   333,
        !          1253:    932,    10,   479,    22,   870,    14,    50,    50,   941,   962,
        !          1254:    963,    16,   262,   361,   565,    26,    18,   671,   984,  1154,
        !          1255:    298,   300,   939,    14,   370,   192,   117,   245,    22,   601,
        !          1256:    826,   672,   301,   211,   954,   131,   479,   479,  1094,  1095,
        !          1257:    479,   673,   398,  1088,   164,  1332,  1091,    58,   266,   287,
        !          1258:    288,    38,    38,   674,   268,  1096,  -105,  1298,   722,  1151,
        !          1259:    834,  1144,   302,    40,   344,    22,   193,   194,   363,   195,
        !          1260:    107,   827,  1155,   376,   972,   375,   196,    26,     4,   115,
        !          1261:    127,   376,   384,   276,   719,   166,   167,   990,   728,  1229,
        !          1262:   1230,    10,   140,  1244,   392,   116,  1208,   141,  1333,   723,
        !          1263:     59,   835,  1209,   274,    60,   965,    72,     6,  1169,     8,
        !          1264:     73,   565,   246,    14,   393,    10,    16,   277,   278,   279,
        !          1265:   1161,    18,   863,    61,   551,   720,   105,   395,   849,    50,
        !          1266:     13,   396,  1119,   597,   598,  1006,    19,    14,   850,   989,
        !          1267:    370,    62,  1017,  1023,  1026,   442,    20,  1122,  1027,   315,
        !          1268:   1104,   656,  1018,   117,  1203,  1008,  1204,  1011,    21,   769,
        !          1269:    770,  1162,   118,   864,   192,   116,   116,   372,  1063,   372,
        !          1270:     22,  1170,  1215,  1120,    38,   162,   361,  1218,  1252,   116,
        !          1271:    116,   446,    26,   361,   361,   657,   361,   467,  1123,   478,
        !          1272:     40,   472,   397,    72,     6,   355,     8,    22,  1085,   116,
        !          1273:   1216,  1217,    10,   380,   476,   193,   194,  1077,   195,    58,
        !          1274:    479,    58,  1171,    11,    12,   196,   105,    13,   995,  1253,
        !          1275:   1060,    40,   777,   778,    14,    60,   211,  -278,  1094,  1095,
        !          1276:     16,    11,    12,   481,  -106,   398,   480,   -79,  1188,  1084,
        !          1277:    350,  1191,   -79,   246,    61,   430,   431,   432,  1273,   105,
        !          1278:    246,  1109,  1128,   572,  1280,   -82,   491,  1132,   573,  1116,
        !          1279:    -82,   307,  1100,   116,   116,   557,    72,     6,   158,     8,
        !          1280:    159,   165,   166,   167,    60,    10,   592,   361,    10,   594,
        !          1281:   1214,   786,   787,  1061,    22,   993,   994,  1146,   599,    50,
        !          1282:     13,  1193,   595,    61,   600,  1152,   604,    14,    51,    51,
        !          1283:     14,   428,   429,   430,   431,   432,   605,  1135,   936,   937,
        !          1284:    370,   612,   370,  1056,  1057,   662,   372,   246,    51,   361,
        !          1285:    116,   278,   279,   361,   625,   246,   117,    51,  1064,  1065,
        !          1286:    993,  1136,   655,  1331,    38,   155,   155,   380,   276,   626,
        !          1287:    338,   166,   167,   628,  1212,  1213,    16,    10,   685,   989,
        !          1288:    686,    18,   144,   170,   993,  1139,   695,    22,   355,  1159,
        !          1289:    938,   107,   376,  1180,   993,  1255,   145,   166,   167,    14,
        !          1290:   1329,  1330,   262,    10,  1160,   696,   146,   993,  1303,   697,
        !          1291:    246,   361,   700,   147,   707,   105,   709,  1182,   148,   239,
        !          1292:    751,   264,   361,  1180,  1180,    14,   116,   993,  1311,   710,
        !          1293:     22,   265,   108,   350,   387,   391,  1292,  1293,   266,    51,
        !          1294:     51,    51,    26,   267,   268,   711,   712,  1182,  1182,   239,
        !          1295:    239,    51,   748,  1180,   155,   155,   753,   376,   754,  1226,
        !          1296:    759,   376,   108,   108,   760,   785,   795,   796,   274,   807,
        !          1297:    808,   155,   809,   811,   812,   155,   813,  1182,   262,   239,
        !          1298:    816,   814,   819,   263,   231,  1258,   361,  1317,  1318,   370,
        !          1299:    821,   361,   108,   828,   830,   831,   832,   264,   155,   843,
        !          1300:    676,   676,   844,   361,   676,   847,   852,   265,   180,    72,
        !          1301:      6,     7,     8,     9,   266,   853,  1337,    51,    10,   267,
        !          1302:    268,   856,   371,     4,   143,    51,   867,   733,   276,   361,
        !          1303:    917,   920,   361,    13,   919,  1277,   921,   105,   934,   942,
        !          1304:     14,   231,   948,    63,   173,   946,   174,   175,   176,   246,
        !          1305:    955,   950,   951,   633,   633,   953,   968,   999,  1307,   975,
        !          1306:   1003,    16,  1002,   453,  1299,  1004,    18,   361,  1013,  1015,
        !          1307:   1019,  1033,  1067,  1021,   246,   177,   361,   278,   279,  1053,
        !          1308:    372,   145,  1078,  1086,   361,  1087,  1090,   376,  1099,   178,
        !          1309:    179,   146,  1111,  1115,   487,   361,  1117,  1118,   147,   107,
        !          1310:     22,  1125,  1130,   148,   361,    39,    39,  1126,  1319,   993,
        !          1311:   1147,    51,  1153,   117,   105,    22,   360,  1156,  1157,   117,
        !          1312:    116,   116,  1164,  1163,  1175,  1165,   527,    26,   246,   361,
        !          1313:    361,  1177,  1176,  1179,   128,   180,   116,  1186,  1194,  1187,
        !          1314:    181,   182,   183,   155,   155,  1197,     4,   115,   155,  1239,
        !          1315:   1190,  1211,    72,     6,   155,     8,   273,  1225,   246,    51,
        !          1316:    455,    10,  1240,  1237,   246,  1238,   247,   347,  1241,     4,
        !          1317:    126,     6,     7,     8,     9,  1242,    13,   155,   155,    10,
        !          1318:     51,  1243,  1245,    14,    16,  1246,  1247,  1262,   246,    18,
        !          1319:    246,  1260,  1261,  1270,    13,  1266,  1274,  1278,  1282,  1291,
        !          1320:   1285,    14,  -392,  1294,    19,  1297,   838,    16,  1310,   117,
        !          1321:   1301,  1308,    18,  1309,    20,  1313,  1314,  1323,   433,  1325,
        !          1322:   1335,   348,  1327,   370,   531,   360,    21,    19,    39,   347,
        !          1323:   1328,     4,   126,     6,     7,     8,     9,    20,    22,  1336,
        !          1324:   1339,    10,  1340,    22,   284,   105,    55,   506,   285,    21,
        !          1325:     26,   434,   435,   360,   246,   436,    13,   438,   854,   440,
        !          1326:    441,    22,   286,    14,  -395,   304,   860,   706,   281,    16,
        !          1327:    928,   571,  -392,    26,    18,   433,   278,   279,  1158,  1173,
        !          1328:   1110,   629,   246,   348,  1233,  1202,  1024,   334,   497,    19,
        !          1329:    278,   279,    51,    51,   351,  1210,    51,   247,   129,    20,
        !          1330:    552,   957,   848,   130,   247,   912,   763,   360,   434,   435,
        !          1331:    929,    21,   436,   437,   438,   439,   440,   441,  1048,   943,
        !          1332:    355,   586,   688,    22,   426,   427,   428,   429,   430,   431,
        !          1333:    432,   846,   546,   231,  -395,    26,   630,   631,   911,   635,
        !          1334:    636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
        !          1335:    646,   647,   648,   649,   650,   651,  1138,   262,     4,   115,
        !          1336:   1300,  1302,   652,   360,     0,   350,   466,   944,  1134,   155,
        !          1337:    155,   247,     0,     0,   278,   279,   264,     0,     0,   247,
        !          1338:      0,   360,     0,     0,     0,     0,   265,   191,    39,     0,
        !          1339:      0,     0,     0,   266,     0,   531,    16,     0,   267,   268,
        !          1340:      0,    18,   690,     0,     0,   155,     0,     0,     0,     0,
        !          1341:   -666,   155,  -666,  -666,     0,     0,   318,     0,  -666,     0,
        !          1342:     63,   173,     0,   174,   175,   176,   319,   371,   192,     0,
        !          1343:      0,     0,  1028,   320,   247,     0,  -666,  -666,   321,  -666,
        !          1344:      0,  -666,     0,     0,     0,   360,     0,   355,    54,    54,
        !          1345:     22,     0,   177,   531,     0,     0,     0,   351,     0,     0,
        !          1346:      0,     0,    26,     0,     0,     0,   704,   179,    54,   193,
        !          1347:    194,   360,   195,     0,     0,     0,     0,    54,   355,   196,
        !          1348:    336,     0,     0,     0,     0,    54,    54,     0,     0,     0,
        !          1349:      0,  -666,   350,     0,     0,     0,     0,     0,    51,     0,
        !          1350:    772,   841,     0,  -666,     0,  -666,  -666,   380,     0,     0,
        !          1351:      0,  -666,   180,     0,     0,     0,     0,   181,   182,   183,
        !          1352:      0,   192,     0,   350,     0,     0,     0,     0,     0,  -666,
        !          1353:   -666,   360,  -666,   360,  -666,     0,     0,   113,   114,     0,
        !          1354:      0,     0,     0,   527,     0,     0,     0,   360,     0,     0,
        !          1355:      0,   818,     0,     0,     0,     0,     4,   143,     0,    54,
        !          1356:     54,    54,   193,   194,     0,   195,     0,     0,   155,   155,
        !          1357:      0,    54,   196,   247,    54,    54,     0,   201,   360,     0,
        !          1358:    360,     0,   155,   155,  -278,     0,     0,     0,     0,   360,
        !          1359:      0,    54,     0,   360,    16,    54,     0,  -459,   247,    18,
        !          1360:    144,     0,   155,     0,     0,     0,     0,     0,   845,     0,
        !          1361:      0,     0,    51,     0,   145,  -459,     4,   378,    54,    60,
        !          1362:      0,     0,     0,  -459,   146,     0,  -459,     0,  -459,     0,
        !          1363:      0,   147,     0,     0,     0,     0,   148,    54,    61,     0,
        !          1364:      0,   360,     0,   360,     0,    54,   360,     0,    22,   866,
        !          1365:      0,     0,   247,     0,    16,     0,     0,  -459,   149,    18,
        !          1366:     26,     0,   401,   316,   317,     0,    51,    51,     4,   126,
        !          1367:      6,     7,     8,     9,    19,     0,   244,     0,    10,     0,
        !          1368:      0,     0,   247,   454,    20,     0,     0,     0,   247,   454,
        !          1369:    930,   931,     0,    13,    72,     6,    21,     8,    73,     0,
        !          1370:     14,   278,   279,    10,     0,     0,    16,   262,   379,     0,
        !          1371:    356,    18,   247,   371,   247,   371,     0,   381,    13,     0,
        !          1372:     26,     0,     0,   155,   155,    14,   672,     0,     0,     0,
        !          1373:      0,    54,     0,     0,     0,     0,   673,     0,     0,    51,
        !          1374:    531,     0,   958,   266,     0,     0,     0,     0,   674,   268,
        !          1375:    360,   531,     0,     0,     0,     0,     0,     0,   360,   245,
        !          1376:     22,     0,     0,    54,    54,     0,   531,   531,    54,     0,
        !          1377:     51,     0,    26,     0,    54,     0,     0,     0,   247,    54,
        !          1378:    482,     0,   484,   485,     0,    22,     0,   360,     0,     0,
        !          1379:    531,   531,     0,     0,     0,     0,     0,    54,    54,    51,
        !          1380:     54,     0,  1001,     0,     0,     0,   247,     0,     0,     0,
        !          1381:      0,     0,   357,     0,   202,   126,     6,     7,     8,   358,
        !          1382:    204,   205,   244,   206,    10,   422,   423,   424,   425,   426,
        !          1383:    427,   428,   429,   430,   431,   432,   542,   543,     0,    13,
        !          1384:    207,   208,   209,     0,   210,     0,    14,   553,   211,  -261,
        !          1385:      0,   212,    16,     0,     0,   213,   214,   215,     0,     4,
        !          1386:    115,  1062,   371,     0,   276,     0,     0,     0,     0,   216,
        !          1387:    531,     0,   217,     0,     0,     0,     0,     0,     0,     0,
        !          1388:    218,   219,   220,     0,     0,     0,   221,   222,     0,   351,
        !          1389:      0,     0,     0,     0,   223,     0,     0,    16,   262,     0,
        !          1390:    454,     0,    18,     0,     0,   245,    22,     0,   531,     0,
        !          1391:   1098,     0,    54,    54,     0,  -644,    54,   672,   224,   225,
        !          1392:      0,     0,     0,     0,     0,     0,     3,   673,     4,     5,
        !          1393:      6,     7,     8,     9,   266,     0,     0,     0,    10,   674,
        !          1394:    268,   423,   424,   425,   426,   427,   428,   429,   430,   431,
        !          1395:    432,    22,     0,    13,     0,     0,     0,     0,     0,     0,
        !          1396:     14,     0,     0,    26,     0,     0,    16,     0,     0,     4,
        !          1397:    143,    18,     0,     0,     0,   531,     0,     0,     0,     0,
        !          1398:      4,   378,     0,  1148,  1149,   679,    19,     0,     0,    54,
        !          1399:     54,     0,     0,    51,    51,     0,    20,     0,     0,     0,
        !          1400:      0,   531,     0,   324,     0,     0,     0,    16,    21,   155,
        !          1401:      0,   698,    18,   144,     0,     0,   351,     0,    16,     0,
        !          1402:     22,    23,   531,    18,     0,    54,  -666,   145,  -666,  -666,
        !          1403:     25,    54,    26,     0,  -666,     0,  1184,   146,   559,     0,
        !          1404:      0,     0,     0,   360,   147,     0,   360,   351,   560,   148,
        !          1405:      0,     0,  -666,  -666,     0,  -666,     0,  -666,     0,     0,
        !          1406:     21,    22,   741,   742,     0,   744,     0,     0,   531,     0,
        !          1407:    531,  1022,   379,    26,     0,     0,     0,   755,   756,     0,
        !          1408:      0,     0,     0,     0,    26,   360,   531,     0,   195,     0,
        !          1409:      0,   531,     0,     0,   771,   196,   371,     0,     0,     0,
        !          1410:      0,   779,     0,     0,     0,     4,   115,   325,     0,     0,
        !          1411:    788,   789,   790,     4,   378,     0,     0,     0,    54,     0,
        !          1412:      0,    54,     0,     0,     0,   797,     0,   801,     0,     0,
        !          1413:    805,     0,     0,    -2,     3,     0,     4,     5,     6,     7,
        !          1414:      8,     9,     0,    16,   262,     0,    10,     0,    18,     0,
        !          1415:      0,    16,     0,     0,     0,     0,    18,     0,     0,    11,
        !          1416:     12,    13,   531,   672,     0,     0,     0,     0,    14,     0,
        !          1417:      0,  1092,    15,   673,    16,     0,    17,     0,     0,    18,
        !          1418:    266,  1093,     0,     0,     0,   674,   268,     0,    54,    54,
        !          1419:    839,   840,     0,    21,    19,     0,     0,    22,     0,     0,
        !          1420:      0,     0,    54,    54,    20,   379,     0,     0,     0,    26,
        !          1421:      0,     0,     0,     0,   851,     0,    21,    26,     0,     0,
        !          1422:      0,     0,    54,     0,     0,     0,     0,     0,    22,    23,
        !          1423:     24,     0,    54,     0,     0,     0,     0,     0,    25,    71,
        !          1424:     26,     0,    72,     6,     0,     8,    73,   531,     0,     0,
        !          1425:      0,    10,   419,   420,   421,   422,   423,   424,   425,   426,
        !          1426:    427,   428,   429,   430,   431,   432,    13,     0,     0,   922,
        !          1427:    923,   924,     0,    14,     0,    74,    75,     0,     0,     0,
        !          1428:     76,     0,     0,     0,     0,     0,    54,    54,     0,    77,
        !          1429:     78,    79,    80,     0,     0,    81,    82,    83,    84,    85,
        !          1430:     86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
        !          1431:     96,    97,     0,    98,    99,     0,     0,   100,   101,     0,
        !          1432:      0,     0,   102,     0,     0,     0,     0,     0,     0,     0,
        !          1433:      0,     0,     0,    22,     0,     3,     0,     4,     5,     6,
        !          1434:      7,     8,     9,    54,    54,   103,   104,    10,     0,     0,
        !          1435:      0,   125,     0,     4,   126,     6,     7,     8,     9,    54,
        !          1436:     11,    12,    13,    10,     0,     0,     0,   976,   977,    14,
        !          1437:    978,     0,     0,    15,     0,    16,     0,    17,    13,     0,
        !          1438:     18,     0,     0,     0,     0,    14,     0,     0,     0,     0,
        !          1439:     54,    16,     0,     0,     0,    19,    18,     0,     0,     0,
        !          1440:      0,     0,     0,     0,     0,    20,     0,     0,     0,     0,
        !          1441:      0,    19,     0,     0,     0,     0,     0,    21,     0,    54,
        !          1442:      0,    20,     0,     0,     0,     0,     0,     0,     0,    22,
        !          1443:     23,    24,     0,    21,     0,  1049,  1050,  1051,     0,    25,
        !          1444:    504,    26,     0,     0,     0,    22,     0,     0,     0,     0,
        !          1445:      0,     0,  1058,     0,     0,     0,     0,    26,     0,     0,
        !          1446:   1066,     0,     0,     0,     0,     0,  1071,  1072,  1073,  1074,
        !          1447:   1075,  1076,  1034,     0,  -600,  -600,  -600,  -600,  -600,  -600,
        !          1448:   -600,  -600,     0,  -600,  -600,  -600,  -600,  -600,  -600,  -600,
        !          1449:   -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,  -600,
        !          1450:   -600,  -600,  -600,     0,  -600,     0,  -600,     0,  -600,  -600,
        !          1451:      0,  -600,  -600,     0,     0,  -600,  -600,  -600,     0,     0,
        !          1452:   -600,  -600,     0,     0,     0,     0,     0,     0,     0,  -600,
        !          1453:      0,     0,  -600,     0,     0,     0,     0,     0,     0,     0,
        !          1454:   -600,  -600,  -600,     0,     0,     0,  -600,  -600,     0,     0,
        !          1455:      0,     0,     0,     0,  -600,     0,  -600,     0,  1035,  -600,
        !          1456:   1036,     0,  -600,  -600,  -600,     0,  -600,     0,     0,     0,
        !          1457:      0,    72,     6,     0,     8,    73,  -600,  -600,  -600,  -600,
        !          1458:     10,   420,   421,   422,   423,   424,   425,   426,   427,   428,
        !          1459:    429,   430,   431,   432,     0,    13,     0,     0,     0,     0,
        !          1460:      0,     0,    14,     0,     0,     0,     0,     0,     0,     0,
        !          1461:   1166,  1167,     0,    54,    54,  1029,  1082,   873,   126,     6,
        !          1462:      7,     8,   358,   204,   205,     0,   206,    10,   874,    54,
        !          1463:    875,   876,   877,   878,   879,   880,   881,   882,   883,   884,
        !          1464:     11,    12,    13,   207,   208,   209,     0,   210,     0,    14,
        !          1465:   1083,   211,  -261,     0,   212,    16,     0,     0,   213,   214,
        !          1466:    215,     0,    22,   885,   307,     0,     0,     0,     0,     0,
        !          1467:      0,     0,   216,     0,     0,   217,     0,     0,     0,     0,
        !          1468:      0,     0,     0,   218,   219,   220,     0,     0,     0,   221,
        !          1469:    222,     0,     0,     0,     0,     0,     0,   223,     0,   886,
        !          1470:      0,     0,   887,     0,     0,   888,   889,   890,     0,   891,
        !          1471:      0,     0,     0,     0,     0,     0,     0,     0,     0,   892,
        !          1472:   1030,   224,   225,  1039,     0,   873,   126,     6,     7,     8,
        !          1473:    358,   204,   205,     0,   206,    10,   874,     0,   875,   876,
        !          1474:    877,   878,   879,   880,   881,   882,   883,   884,    11,    12,
        !          1475:     13,   207,   208,   209,     0,   210,     0,    14,     0,   211,
        !          1476:   -261,     0,   212,    16,     0,     0,   213,   214,   215,     0,
        !          1477:      0,   885,   307,     0,     0,     0,     0,     0,     0,     0,
        !          1478:    216,     0,     0,   217,     0,     0,     0,     0,     0,     0,
        !          1479:      0,   218,   219,   220,     0,     0,     0,   221,   222,     0,
        !          1480:      0,     0,     0,     0,     0,   223,     0,   886,     0,     0,
        !          1481:    887,     0,     0,   888,   889,   890,     0,   891,     0,     0,
        !          1482:      0,     0,     0,     0,     0,     0,     0,   892,  1040,   224,
        !          1483:    225,  1043,     0,   873,   126,     6,     7,     8,   358,   204,
        !          1484:    205,     0,   206,    10,   874,     0,   875,   876,   877,   878,
        !          1485:    879,   880,   881,   882,   883,   884,    11,    12,    13,   207,
        !          1486:    208,   209,     0,   210,     0,    14,     0,   211,  -261,     0,
        !          1487:    212,    16,     0,     0,   213,   214,   215,     0,     0,   885,
        !          1488:    307,     0,     0,     0,     0,     0,     0,     0,   216,     0,
        !          1489:      0,   217,     0,     0,     0,     0,     0,     0,     0,   218,
        !          1490:    219,   220,     0,     0,     0,   221,   222,     0,     0,     0,
        !          1491:      0,     0,     0,   223,     0,   886,     0,     0,   887,     0,
        !          1492:      0,   888,   889,   890,     0,   891,     0,     0,     0,     0,
        !          1493:      0,     0,     0,     0,     0,   892,  1044,   224,   225,  1029,
        !          1494:      0,   873,   126,     6,     7,     8,   358,   204,   205,     0,
        !          1495:    206,    10,   874,     0,   875,   876,   877,   878,   879,   880,
        !          1496:    881,   882,   883,   884,    11,    12,    13,   207,   208,   209,
        !          1497:      0,   210,     0,    14,     0,   211,  -261,     0,   212,    16,
        !          1498:      0,     0,   213,   214,   215,     0,     0,   885,   307,     0,
        !          1499:      0,     0,     0,     0,     0,     0,   216,     0,     0,   217,
        !          1500:      0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
        !          1501:      0,     0,     0,   221,   222,     0,     0,     0,     0,     0,
        !          1502:      0,   223,     0,   886,     0,     0,   887,     0,     0,   888,
        !          1503:    889,   890,     0,   891,     0,     0,     0,     0,     0,     0,
        !          1504:      0,     0,     0,   892,  1137,   224,   225,  1029,     0,   873,
        !          1505:    126,     6,     7,     8,   358,   204,   205,     0,   206,    10,
        !          1506:    874,     0,   875,   876,   877,   878,   879,   880,   881,   882,
        !          1507:    883,   884,    11,    12,    13,   207,   208,   209,     0,   210,
        !          1508:      0,    14,     0,   211,  -261,     0,   212,    16,     0,     0,
        !          1509:    213,   214,   215,     0,     0,   885,   307,     0,     0,     0,
        !          1510:      0,     0,     0,     0,   216,     0,     0,   217,     0,     0,
        !          1511:      0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
        !          1512:      0,   221,   222,     0,     0,     0,     0,     0,     0,   223,
        !          1513:      0,   886,     0,     0,   887,     0,     0,   888,   889,   890,
        !          1514:      0,   891,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1515:      0,   892,  1140,   224,   225,  1029,     0,   873,   126,     6,
        !          1516:      7,     8,   358,   204,   205,     0,   206,    10,   874,     0,
        !          1517:    875,   876,   877,   878,   879,   880,   881,   882,   883,   884,
        !          1518:     11,    12,    13,   207,   208,   209,     0,   210,     0,    14,
        !          1519:      0,   211,  -261,     0,   212,    16,     0,     0,   213,   214,
        !          1520:    215,     0,     0,   885,   307,     0,     0,     0,     0,     0,
        !          1521:      0,     0,   216,     0,     0,   217,     0,     0,     0,     0,
        !          1522:      0,     0,     0,   218,   219,   220,     0,     0,     0,   221,
        !          1523:    222,     0,     0,     0,     0,     0,     0,   223,     0,   886,
        !          1524:      0,     0,   887,     0,     0,   888,   889,   890,     0,   891,
        !          1525:      0,     0,     0,     0,     0,     0,     0,     0,     0,   892,
        !          1526:   1256,   224,   225,  1029,     0,   873,   126,     6,     7,     8,
        !          1527:    358,   204,   205,     0,   206,    10,   874,     0,   875,   876,
        !          1528:    877,   878,   879,   880,   881,   882,   883,   884,    11,    12,
        !          1529:     13,   207,   208,   209,     0,   210,     0,    14,     0,   211,
        !          1530:   -261,     0,   212,    16,     0,     0,   213,   214,   215,     0,
        !          1531:      0,   885,   307,     0,     0,     0,     0,     0,     0,     0,
        !          1532:    216,     0,     0,   217,     0,     0,     0,     0,     0,     0,
        !          1533:      0,   218,   219,   220,     0,     0,     0,   221,   222,     0,
        !          1534:      0,     0,     0,     0,     0,   223,     0,   886,     0,     0,
        !          1535:    887,     0,     0,   888,   889,   890,     0,   891,     0,     0,
        !          1536:      0,     0,     0,     0,     0,     0,     0,   892,  1304,   224,
        !          1537:    225,  1029,     0,   873,   126,     6,     7,     8,   358,   204,
        !          1538:    205,     0,   206,    10,   874,     0,   875,   876,   877,   878,
        !          1539:    879,   880,   881,   882,   883,   884,    11,    12,    13,   207,
        !          1540:    208,   209,     0,   210,     0,    14,     0,   211,  -261,     0,
        !          1541:    212,    16,     0,     0,   213,   214,   215,     0,     0,   885,
        !          1542:    307,     0,     0,     0,     0,     0,     0,     0,   216,     0,
        !          1543:      0,   217,     0,     0,     0,     0,     0,     0,     0,   218,
        !          1544:    219,   220,     0,     0,     0,   221,   222,     0,     0,     0,
        !          1545:      0,     0,     0,   223,     0,   886,     0,     0,   887,     0,
        !          1546:      0,   888,   889,   890,     0,   891,     0,     0,     0,     0,
        !          1547:      0,     0,     0,     0,     0,   892,  1312,   224,   225,   872,
        !          1548:      0,   873,   126,     6,     7,     8,   358,   204,   205,     0,
        !          1549:    206,    10,   874,     0,   875,   876,   877,   878,   879,   880,
        !          1550:    881,   882,   883,   884,    11,    12,    13,   207,   208,   209,
        !          1551:      0,   210,     0,    14,     0,   211,  -261,     0,   212,    16,
        !          1552:      0,     0,   213,   214,   215,     0,     0,   885,   307,     0,
        !          1553:      0,     0,     0,     0,     0,     0,   216,     0,     0,   217,
        !          1554:      0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
        !          1555:      0,     0,     0,   221,   222,     0,     0,     0,     0,     0,
        !          1556:      0,   223,     0,   886,     0,     0,   887,     0,     0,   888,
        !          1557:    889,   890,     0,   891,     0,     0,     0,     0,     0,     0,
        !          1558:      0,     0,     0,   892,     0,   224,   225,  1223,     0,   873,
        !          1559:    126,     6,     7,     8,   358,   204,   205,     0,   206,    10,
        !          1560:    874,     0,   875,   876,   877,   878,   879,   880,   881,   882,
        !          1561:    883,   884,    11,    12,    13,   207,   208,   209,     0,   210,
        !          1562:      0,    14,     0,   211,  -261,     0,   212,    16,     0,     0,
        !          1563:    213,   214,   215,     0,     0,   885,   307,     0,     0,     0,
        !          1564:      0,     0,     0,     0,   216,     0,     0,   217,     0,     0,
        !          1565:      0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
        !          1566:      0,   221,   222,     0,     0,     0,     0,     0,     0,   223,
        !          1567:      0,   886,     0,     0,   887,     0,     0,   888,   889,   890,
        !          1568:      0,   891,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1569:      0,   892,     0,   224,   225,  1286,     0,   873,   126,     6,
        !          1570:      7,     8,   358,   204,   205,     0,   206,    10,   874,     0,
        !          1571:    875,   876,   877,   878,   879,   880,   881,   882,   883,   884,
        !          1572:     11,    12,    13,   207,   208,   209,     0,   210,     0,    14,
        !          1573:      0,   211,  -261,     0,   212,    16,     0,     0,   213,   214,
        !          1574:    215,     0,     0,   885,   307,     0,     0,     0,     0,     0,
        !          1575:      0,     0,   216,     0,     0,   217,     0,     0,     0,     0,
        !          1576:      0,     0,     0,   218,   219,   220,     0,     0,     0,   221,
        !          1577:    222,     0,     0,     0,     0,     0,     0,   223,     0,   886,
        !          1578:      0,     0,   887,     0,     0,   888,   889,   890,     0,   891,
        !          1579:      0,     0,     0,     0,     0,     0,     0,     0,     0,   892,
        !          1580:      0,   224,   225,  1295,     0,   873,   126,     6,     7,     8,
        !          1581:    358,   204,   205,     0,   206,    10,   874,     0,   875,   876,
        !          1582:    877,   878,   879,   880,   881,   882,   883,   884,    11,    12,
        !          1583:     13,   207,   208,   209,     0,   210,     0,    14,     0,   211,
        !          1584:   -261,     0,   212,    16,     0,     0,   213,   214,   215,     0,
        !          1585:      0,   885,   307,     0,     0,     0,     0,     0,     0,     0,
        !          1586:    216,     0,     0,   217,     0,     0,     0,     0,     0,     0,
        !          1587:      0,   218,   219,   220,     0,     0,     0,   221,   222,     0,
        !          1588:      0,     0,     0,     0,     0,   223,     0,   886,     0,     0,
        !          1589:    887,     0,     0,   888,   889,   890,     0,   891,     0,     0,
        !          1590:      0,     0,     0,     0,     0,     0,     0,   892,     0,   224,
        !          1591:    225,   554,     0,   202,   126,     6,     7,     8,   358,   204,
        !          1592:    205,   244,   206,    10,   421,   422,   423,   424,   425,   426,
        !          1593:    427,   428,   429,   430,   431,   432,     0,     0,    13,   207,
        !          1594:    208,   209,     0,   210,     0,    14,     0,   211,  -261,     0,
        !          1595:    212,    16,     0,     0,   213,   214,   215,     0,     0,     0,
        !          1596:      0,     0,     0,     0,     0,     0,     0,     0,   216,     0,
        !          1597:      0,   217,     0,     0,     0,     0,     0,     4,   115,   218,
        !          1598:    219,   220,     0,     0,     0,   221,   222,     0,     0,     0,
        !          1599:      0,     0,     0,   223,     0,     0,     0,     0,     0,     0,
        !          1600:      0,     0,     0,     0,   245,    22,     0,     0,     0,     0,
        !          1601:      0,     0,     0,     0,  -644,    16,     0,   224,   225,   745,
        !          1602:     18,   202,   126,     6,     7,     8,   358,   204,   205,   244,
        !          1603:    206,    10,     0,     0,     0,   544,     0,     0,     0,     0,
        !          1604:      0,     0,     0,     0,     0,   545,    13,   207,   208,   209,
        !          1605:      0,   210,   320,    14,     0,   211,  -261,   321,   212,    16,
        !          1606:      0,     0,   213,   214,   215,     0,     0,     0,     0,    22,
        !          1607:      0,     0,     0,     0,     0,     0,   216,     0,     0,   217,
        !          1608:      0,    26,     0,     0,     0,     0,     0,   218,   219,   220,
        !          1609:      0,     0,     0,   221,   222,     0,     0,     0,     0,     0,
        !          1610:      0,   223,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1611:      0,     0,   245,    22,     0,     0,     0,     0,     0,     0,
        !          1612:      0,     0,  -644,     0,     0,   224,   225,   798,     0,   202,
        !          1613:    126,     6,     7,     8,   358,   204,   205,   244,   206,    10,
1.1.1.3   root     1614:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.6 ! root     1615:      0,     0,     0,     0,    13,   207,   208,   209,     0,   210,
        !          1616:      0,    14,     0,   211,  -261,     0,   212,    16,     0,     0,
        !          1617:    213,   214,   215,     0,     0,     0,     0,     0,     0,     0,
        !          1618:      0,     0,     0,     0,   216,     0,     0,   217,     0,     0,
        !          1619:      0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
        !          1620:      0,   221,   222,     0,     0,     0,     0,     0,     0,   223,
1.1.1.2   root     1621:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.6 ! root     1622:    245,    22,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1623:   -644,     0,     0,   224,   225,   802,     0,   202,   126,     6,
        !          1624:      7,     8,   358,   204,   205,   244,   206,    10,     0,     0,
        !          1625:      0,     0,     0,     0,   347,     0,     4,   126,     6,     7,
        !          1626:      8,     9,    13,   207,   208,   209,    10,   210,     0,    14,
        !          1627:      0,   211,  -261,     0,   212,    16,     0,     0,   213,   214,
        !          1628:    215,    13,     0,     0,     0,     0,     0,     0,    14,  -393,
        !          1629:      0,     0,   216,     0,    16,   217,     0,     0,     0,    18,
        !          1630:      0,     0,     0,   218,   219,   220,     0,     0,   348,   221,
        !          1631:    222,     0,     0,     0,    19,     0,     0,   223,     0,     0,
        !          1632:      0,     0,     0,     0,    20,     0,     0,     0,   245,    22,
        !          1633:      0,     0,     0,     0,     0,     0,    21,     0,  -644,     0,
        !          1634:      0,   224,   225,   529,     0,   724,   725,     6,    22,     8,
        !          1635:    385,   204,   205,     0,   206,    10,     0,     0,   589,  -393,
        !          1636:     26,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1637:     13,   207,   208,   209,     0,   210,     0,    14,     0,   211,
        !          1638:   -261,     0,   212,    16,     0,     0,   213,   214,   215,     0,
        !          1639:      0,     0,   530,     0,     0,     0,     0,     0,     0,     0,
        !          1640:    216,     0,     0,   217,     0,     0,     0,     0,     0,     0,
        !          1641:      0,   218,   219,   220,     0,     0,     0,   221,   222,     0,
        !          1642:      0,     0,     0,     0,     0,   223,   726,   529,     0,   724,
        !          1643:    725,     6,     0,     8,   385,   204,   205,   180,   206,    10,
        !          1644:      0,     0,     0,     0,     0,     0,   987,     0,   727,   224,
        !          1645:    225,     0,     0,     0,    13,   207,   208,   209,     0,   210,
        !          1646:      0,    14,     0,   211,  -261,     0,   212,    16,     0,     0,
        !          1647:    213,   214,   215,     0,     0,     0,   530,     0,     0,     0,
        !          1648:      0,     0,     0,     0,   216,     0,     0,   217,     0,     0,
        !          1649:      0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
        !          1650:      0,   221,   222,     0,     0,     0,     0,     0,  1106,   223,
        !          1651:    202,   126,     6,     7,     8,   358,   204,   205,     0,   206,
        !          1652:     10,   180,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1653:      0,     0,   988,   224,   225,    13,   207,   208,   209,     0,
        !          1654:    210,     0,    14,     0,   211,  -261,     0,   212,    16,     0,
        !          1655:      0,   213,   214,   215,     0,     0,     0,  1107,     0,     0,
        !          1656:      0,     0,     0,     0,     0,   216,     0,     0,   217,     0,
        !          1657:      0,     0,     0,     0,     0,     0,   218,   219,   220,     0,
        !          1658:      0,     0,   221,   222,     0,     0,     0,     0,     0,   529,
        !          1659:    223,   724,   725,     6,     0,     8,   385,   204,   205,     0,
        !          1660:    206,    10,    22,     0,     0,     0,     0,     0,   987,     0,
        !          1661:      0,     0,  1108,     0,   224,   225,    13,   207,   208,   209,
        !          1662:      0,   210,     0,    14,     0,   211,  -261,     0,   212,    16,
        !          1663:      0,     0,   213,   214,   215,     0,     0,     0,   530,     0,
        !          1664:      0,     0,     0,     0,     0,     0,   216,     0,     0,   217,
        !          1665:      0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
        !          1666:      0,     0,     0,   221,   222,     0,     0,     0,     0,     0,
        !          1667:    529,   223,   724,   725,     6,     0,     8,   385,   204,   205,
        !          1668:      0,   206,    10,   180,     0,     0,     0,     0,     0,     0,
        !          1669:      0,     0,     0,     0,  -354,   224,   225,    13,   207,   208,
        !          1670:    209,     0,   210,     0,    14,     0,   211,  -261,     0,   212,
        !          1671:     16,     0,     0,   213,   214,   215,     0,     0,     0,   530,
        !          1672:      0,     0,     0,     0,     0,     0,     0,   216,     0,     0,
        !          1673:    217,     0,     0,     0,     0,     0,     0,     0,   218,   219,
        !          1674:    220,     0,     0,     0,   221,   222,     0,     0,     0,     0,
        !          1675:      0,     0,   223,   726,   405,     0,   202,   126,     6,     0,
        !          1676:      8,   203,   204,   205,   180,   206,    10,     0,     0,     0,
        !          1677:      0,     0,     0,     0,     0,     0,   224,   225,     0,     0,
        !          1678:      0,    13,   207,   208,   209,     0,   210,     0,    14,     0,
        !          1679:    211,  -261,     0,   212,    16,     0,     0,   213,   214,   215,
        !          1680:      0,     0,     0,  -229,     0,     0,     0,     0,     0,     0,
        !          1681:      0,   216,     0,     0,   217,     0,     0,     0,     0,     0,
        !          1682:      0,     0,   218,   219,   220,     0,     0,     0,   221,   222,
        !          1683:      0,     0,     0,     0,     0,   529,   223,   202,   126,     6,
        !          1684:      0,     8,   385,   204,   205,     0,   206,    10,    22,     0,
1.1       root     1685:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.6 ! root     1686:    224,   225,    13,   207,   208,   209,     0,   210,     0,    14,
        !          1687:      0,   211,  -261,     0,   212,    16,     0,     0,   213,   214,
        !          1688:    215,     0,     0,     0,   530,     0,     0,     0,     0,     0,
        !          1689:      0,     0,   216,     0,     0,   217,     0,     0,     0,     0,
        !          1690:      0,     0,     0,   218,   219,   220,     0,     0,     0,   221,
        !          1691:    222,     0,     0,     0,     0,     0,   632,   223,   202,   126,
        !          1692:      6,     0,     8,   385,   204,   205,     0,   206,    10,    22,
        !          1693:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1694:      0,   224,   225,    13,   207,   208,   209,     0,   210,     0,
        !          1695:     14,     0,   211,  -261,     0,   212,    16,     0,     0,   213,
        !          1696:    214,   215,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1697:   -634,     0,     0,   216,     0,     0,   217,     0,     0,     0,
        !          1698:      0,     0,     0,     0,   218,   219,   220,     0,     0,     0,
        !          1699:    221,   222,     0,     0,     0,     0,     0,  1199,   223,   202,
        !          1700:    126,     6,     0,     8,   203,   204,   205,     0,   206,    10,
        !          1701:     22,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1702:      0,     0,   224,   225,    13,   207,   208,   209,     0,   210,
        !          1703:      0,    14,     0,   211,  -261,     0,   212,    16,     0,     0,
        !          1704:    213,   214,   215,     0,     0,     0,     0,     0,     0,     0,
        !          1705:      0,     0,     0,     0,   216,     0,     0,   217,     0,     0,
        !          1706:      0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
        !          1707:      0,   221,   222,     0,     0,     0,     0,     0,   632,   223,
        !          1708:    202,   126,     6,     0,     8,   385,   204,   205,     0,   206,
        !          1709:     10,    22,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1710:      0,  -144,     0,   224,   225,    13,   207,   208,   209,     0,
        !          1711:    210,     0,    14,     0,   211,  -261,     0,   212,    16,     0,
        !          1712:      0,   213,   214,   215,     0,     0,     0,     0,     0,     0,
        !          1713:      0,     0,     0,     0,     0,   216,     0,     0,   217,     0,
        !          1714:      0,     0,     0,     0,     0,     0,   218,   219,   220,     0,
        !          1715:      0,     0,   221,   222,     0,     0,     0,     0,     0,   689,
        !          1716:    223,   202,   126,     6,     0,     8,   385,   204,   205,     0,
        !          1717:    206,    10,    22,     0,     0,     0,     0,     0,     0,     0,
        !          1718:      0,  -634,     0,     0,   224,   225,    13,   207,   208,   209,
        !          1719:      0,   210,     0,    14,     0,   211,  -261,     0,   212,    16,
        !          1720:      0,     0,   213,   214,   215,     0,     0,     0,     0,     0,
        !          1721:      0,     0,     0,     0,     0,     0,   216,     0,     0,   217,
        !          1722:      0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
        !          1723:      0,     0,     0,   221,   222,     0,     0,     0,     0,     0,
        !          1724:      0,   223,   202,   126,     6,     0,     8,   385,   204,   205,
        !          1725:      0,   206,    10,    22,     0,     0,     0,     0,     0,     0,
        !          1726:      0,     0,     0,     0,     0,   224,   225,    13,   207,   208,
        !          1727:    209,     0,   210,     0,    14,     0,   211,     0,     0,   212,
        !          1728:     16,     0,     0,   213,   214,   215,     0,     0,     0,     0,
        !          1729:      0,     0,     0,     0,     0,     0,     0,   216,     0,     3,
        !          1730:    217,     4,     5,     6,     7,     8,     9,     0,   218,   219,
        !          1731:    220,    10,     4,   143,   221,   222,     0,     0,     0,     0,
        !          1732:      0,     0,   223,     0,    11,    12,    13,     0,     0,     0,
        !          1733:      0,     0,     0,    14,    22,     0,     0,    15,     0,    16,
        !          1734:      0,    17,     0,     0,    18,     0,   224,   225,   660,     0,
        !          1735:     16,     0,     0,     0,     0,    18,   144,     0,     0,    19,
        !          1736:      0,     0,     0,     0,     0,     0,     0,     0,     0,    20,
        !          1737:    145,     0,   347,     0,     4,   126,     6,     7,     8,     9,
        !          1738:    146,    21,     0,     0,    10,     0,     0,   147,     0,     0,
        !          1739:      0,     0,   148,    22,    23,    24,     0,     0,     0,    13,
        !          1740:      0,     0,     0,    25,    22,    26,    14,  -394,     0,     0,
        !          1741:      0,     0,    16,     0,     0,     0,    26,    18,     0,     0,
        !          1742:      0,     0,     0,     0,     0,     0,   348,     0,   413,   414,
        !          1743:    415,     0,    19,   416,   417,   418,   419,   420,   421,   422,
        !          1744:    423,   424,    20,   426,   427,   428,   429,   430,   431,   432,
        !          1745:      0,     0,     0,     0,    21,     0,     0,     0,     0,     0,
        !          1746:      0,     0,     0,     0,     0,     0,    22,     0,     0,     0,
        !          1747:      0,     0,     0,     0,     0,     0,   589,  -394,    26,   873,
        !          1748:    126,     6,     7,     8,   358,   204,   205,     0,   206,    10,
        !          1749:    874,     0,   875,   876,   877,   878,   879,   880,   881,   882,
        !          1750:    883,   884,    11,    12,    13,   207,   208,   209,     0,   210,
        !          1751:      0,    14,     0,   211,     0,     0,   212,    16,     0,     0,
        !          1752:    213,   214,   215,     0,     0,   885,   307,     0,     0,     0,
        !          1753:      0,     0,     0,     0,   216,     0,     0,   217,     0,     0,
        !          1754:      0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
        !          1755:      0,   221,   222,     0,     0,     0,     0,     0,     0,   223,
        !          1756:      0,   886,     0,     0,   887,     0,     0,   888,   889,   890,
        !          1757:      0,   891,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1758:      0,   892,  1037,   224,   225,   873,   126,     6,     7,     8,
        !          1759:    358,   204,   205,     0,   206,    10,   874,     0,   875,   876,
        !          1760:    877,   878,   879,   880,   881,   882,   883,   884,    11,    12,
        !          1761:     13,   207,   208,   209,     0,   210,     0,    14,     0,   211,
        !          1762:      0,     0,   212,    16,     0,     0,   213,   214,   215,     0,
        !          1763:      0,   885,   307,     0,     0,     0,     0,     0,     0,     0,
        !          1764:    216,     0,     0,   217,     0,     0,     0,     0,     0,     0,
        !          1765:      0,   218,   219,   220,     0,     0,     0,   221,   222,     0,
        !          1766:      0,     0,     0,     0,     0,   223,     0,   886,     0,     0,
        !          1767:    887,     0,     0,   888,   889,   890,     0,   891,     0,     0,
        !          1768:      0,     0,     0,     0,     0,     0,     0,   892,     0,   224,
        !          1769:    225,   873,   126,     6,     7,     8,   358,   204,   205,     0,
        !          1770:    206,    10,   874,     0,   875,   876,   877,   878,   879,   880,
        !          1771:    881,   882,   883,   884,    11,    12,    13,   207,   208,   209,
        !          1772:      0,   210,     0,    14,     0,   211,     0,     0,   212,    16,
        !          1773:      0,     0,   213,   214,   215,     0,     0,   885,  1249,     0,
        !          1774:      0,     0,     0,     0,     0,     0,   216,     0,     0,   217,
        !          1775:      0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
        !          1776:      0,     0,     0,   221,   222,     0,     0,     0,     0,     0,
        !          1777:      0,   223,     0,   886,     0,     0,   887,     0,     0,   888,
        !          1778:    889,   890,     0,   891,     0,     0,     0,     0,     0,     0,
        !          1779:      0,     0,     0,   892,     0,   224,   225,   873,   126,     6,
        !          1780:      7,     8,   358,   204,   205,     0,   206,    10,   874,     0,
        !          1781:    875,   876,   877,   878,   879,   880,   881,   882,   883,   884,
        !          1782:     11,    12,    13,   207,   208,   209,     0,   210,     0,    14,
        !          1783:      0,   211,     0,     0,   212,    16,     0,     0,   213,   214,
        !          1784:    215,     0,     0,   885,     0,     0,     0,     0,     0,     0,
        !          1785:      0,     0,   216,     0,     0,   217,     0,     0,     0,     0,
        !          1786:      0,     0,     0,   218,   219,   220,     0,     0,     0,   221,
        !          1787:    222,     0,     0,     0,     0,     0,     0,   223,     0,   886,
        !          1788:      0,     0,   887,     0,     0,   888,   889,   890,     0,   891,
        !          1789:      0,     0,     0,     0,     0,     0,     0,     0,     0,   892,
        !          1790:      0,   224,   225,   202,   126,     6,     0,     8,   385,   204,
        !          1791:    205,     0,   206,    10,     0,     0,     0,     0,     0,     0,
        !          1792:      0,     0,     0,     0,     0,     0,     0,     0,    13,   207,
        !          1793:    208,   209,     0,   210,     0,    14,     0,   211,     0,     0,
        !          1794:    212,    16,     0,     0,   213,   214,   215,     0,     0,     0,
        !          1795:      0,     0,     0,     0,     0,     0,     0,     0,   216,     0,
        !          1796:      0,   217,     0,     0,     0,     0,     0,     0,     0,   218,
        !          1797:    219,   220,     0,     0,     0,   221,   222,     0,     0,     0,
        !          1798:      0,     0,     0,   223,   444,     0,     0,   202,   126,     6,
        !          1799:      0,     8,   385,   204,   205,    22,   206,    10,     0,     0,
        !          1800:      0,     0,     0,     0,     0,     0,     0,   224,   225,     0,
        !          1801:      0,     0,    13,   207,   208,   209,     0,   210,     0,    14,
        !          1802:      0,   211,     0,     0,   212,    16,     0,     0,   213,   214,
        !          1803:    215,     0,     0,     0,   817,     0,     0,     0,     0,     0,
        !          1804:      0,     0,   216,     0,     0,   217,     0,     0,     0,     0,
        !          1805:      0,     0,     0,   218,   219,   220,     0,     0,     0,   221,
        !          1806:    222,     0,     0,     0,     0,     0,     0,   223,   202,   126,
        !          1807:      6,     0,     8,   385,   204,   205,     0,   206,    10,    22,
        !          1808:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1809:      0,   224,   225,    13,   207,   208,   209,     0,   210,     0,
        !          1810:     14,     0,   211,     0,     0,   212,    16,     0,     0,   213,
        !          1811:    214,   215,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1812:      0,     0,     0,   216,     0,     0,   217,     0,     0,     0,
        !          1813:      0,     0,     0,     0,   218,   219,   220,     0,     0,     0,
        !          1814:    221,   222,     0,     0,     0,     0,     0,     0,   223,   202,
        !          1815:    126,     6,     0,     8,   385,   204,   205,     0,   206,    10,
        !          1816:     22,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1817:   1005,     0,   224,   225,    13,   207,   208,   209,     0,   210,
        !          1818:      0,    14,     0,   211,     0,     0,   212,    16,     0,     0,
        !          1819:    213,   214,   215,     0,     0,     0,     0,     0,     0,     0,
        !          1820:      0,     0,     0,     0,   216,     0,     0,   217,     0,     0,
        !          1821:      0,     0,     0,     0,     0,   218,   219,   220,     0,     0,
        !          1822:      0,   221,   222,     0,     0,     0,     0,     0,     0,   223,
        !          1823:    202,   126,     6,     0,     8,   203,   204,   205,     0,   206,
        !          1824:     10,    22,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1825:      0,  1016,     0,   224,   225,    13,   207,   208,   209,     0,
        !          1826:    210,     0,    14,     0,   211,     0,     0,   212,    16,     0,
        !          1827:      0,   213,   214,   215,     0,     0,     0,     0,     0,     0,
        !          1828:      0,     0,     0,     0,     0,   216,     0,     0,   217,     0,
        !          1829:      0,     0,     0,     0,     0,     0,   218,   219,   220,     0,
        !          1830:      0,     0,   221,   222,     0,     0,     0,     0,     0,     0,
        !          1831:    223,   202,   126,     6,     0,     8,   385,   204,   205,     0,
        !          1832:    206,    10,    22,     0,     0,     0,     0,     0,     0,     0,
        !          1833:      0,     0,     0,     0,   224,   225,    13,   207,   208,   209,
        !          1834:      0,   210,     0,    14,     0,   211,     0,     0,   212,    16,
        !          1835:      0,     0,   213,   214,   215,     0,     0,     0,     0,     0,
        !          1836:      0,     0,     0,     0,     0,     0,   216,     0,     0,   217,
        !          1837:      0,     0,     0,     0,     0,     0,     0,   218,   219,   220,
        !          1838:      0,     0,     0,   221,   222,     0,     0,     0,     0,     0,
        !          1839:      0,   223,   202,   617,     6,     0,     8,   385,   204,   205,
        !          1840:      0,   206,    10,    22,     0,     0,     0,     0,     0,     0,
        !          1841:      0,     0,     0,     0,     0,   224,   225,    13,   207,   208,
        !          1842:    209,     0,   210,     0,    14,     0,   211,     0,     0,   212,
        !          1843:     16,     0,     0,   213,   214,   215,   202,   126,     6,     0,
        !          1844:      8,   385,   204,   205,     0,   206,    10,   216,     0,     0,
        !          1845:    217,     0,     0,     0,     0,     0,     0,     0,   218,   219,
        !          1846:    220,    13,   207,     0,   221,   222,   210,     0,    14,     0,
        !          1847:    211,     0,   223,   212,    16,     0,     0,   213,   214,   215,
        !          1848:      0,     0,     0,     0,    22,     0,     0,     0,     0,     0,
        !          1849:      0,   216,     0,     0,   217,     0,   224,   225,     0,     0,
        !          1850:      0,     0,   218,   219,   220,     0,     0,     0,   221,   222,
        !          1851:      0,     0,     0,   202,   126,     6,   386,     8,   385,   204,
        !          1852:    205,     0,   206,    10,     0,     0,     0,     0,    22,     0,
        !          1853:      0,     0,     0,     0,     0,     0,     0,     0,    13,   207,
        !          1854:    224,   225,     0,   210,     0,    14,     0,   211,     0,     0,
        !          1855:    212,    16,     0,     0,   213,   214,   215,   574,   582,     6,
        !          1856:    158,     8,   159,     0,     0,     0,     0,    10,   216,     0,
        !          1857:      0,   217,     0,     0,     0,     0,     0,     0,     0,   218,
        !          1858:    219,   220,    13,     0,     0,   221,   222,     0,     0,    14,
        !          1859:      0,     0,     0,   390,     0,    16,   583,     0,     0,     0,
        !          1860:     18,   144,     0,     0,     0,    22,     0,     0,     0,   577,
        !          1861:      0,     0,     0,     0,     0,   145,     0,   224,   225,     4,
        !          1862:    157,     6,   158,     8,   159,   146,     0,     0,     0,    10,
        !          1863:      0,     0,   147,     0,     0,     0,     0,   584,     0,     0,
        !          1864:      0,     0,     0,     0,    13,     0,     0,     0,     0,    22,
        !          1865:      0,    14,     0,     0,     0,     0,     0,    16,     0,     0,
        !          1866:      0,    26,    18,   144,     4,   126,     6,     7,     8,     9,
        !          1867:      0,     0,   244,     0,    10,     0,     0,   145,     0,     0,
        !          1868:      0,     0,     0,     0,     0,     0,     0,   146,     0,    13,
        !          1869:      0,     0,     0,     0,   147,     0,    14,     0,     0,   148,
        !          1870:      0,     0,    16,     0,     0,     0,     0,    18,     0,     0,
        !          1871:      0,    22,     0,     0,     0,     4,   157,     6,   158,     8,
        !          1872:    159,   160,   318,    26,     0,    10,     0,     0,     0,     0,
        !          1873:      0,     0,   319,     0,     0,     0,     0,     0,     0,   320,
        !          1874:     13,     0,     0,     0,   321,     0,     0,    14,     0,     0,
        !          1875:      0,     0,     0,    16,     0,   245,    22,     0,    18,   144,
        !          1876:      4,   157,     6,   158,     8,   159,     0,     0,    26,     0,
        !          1877:     10,     0,     0,   145,   486,   126,     6,     7,     8,     9,
        !          1878:      0,     0,   244,   146,    10,    13,     0,     0,     0,     0,
        !          1879:    147,     0,    14,     0,     0,   148,     0,     0,    16,    13,
        !          1880:      0,     0,     0,    18,   144,     0,    14,    22,     0,     0,
        !          1881:      0,     0,     0,   262,     0,     0,     0,  1025,   145,    26,
        !          1882:     72,     6,     0,     8,   273,     0,     0,     0,   146,    10,
        !          1883:      0,     0,   264,     0,     0,   147,     0,     0,     0,     0,
        !          1884:    148,     0,   265,     0,    13,     0,     0,  -459,  -459,   266,
        !          1885:      0,    14,    22,  -459,   267,   268,     0,     0,   262,     0,
        !          1886:      0,     0,     0,   263,    26,   245,    22,    60,     0,     0,
        !          1887:      0,  -459,     0,     0,  -459,     0,   768,   264,     0,     0,
        !          1888:      0,     0,     0,     0,     0,     0,    61,   265,     0,     0,
        !          1889:      0,     0,     0,     0,   266,     0,     0,     0,     0,   267,
        !          1890:    268,     0,     0,     0,     0,  -459,     0,  -459,     0,     0,
        !          1891:      0,    22,     0,     0,  -459,     0,     0,     0,     0,     0,
        !          1892:      0,     0,     0,   413,   414,   415,     0,  -459,   416,   417,
1.1.1.4   root     1893:    418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
1.1.1.6 ! root     1894:    428,   429,   430,   431,   432,   413,   414,   415,     0,     0,
        !          1895:    416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
        !          1896:    426,   427,   428,   429,   430,   431,   432,     0,     0,     0,
        !          1897:      0,     0,     0,     0,     0,   605,     0,     0,     0,     0,
        !          1898:    985,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1899:      0,     0,     0,     0,     0,   413,   414,   415,   765,   766,
        !          1900:    416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
        !          1901:    426,   427,   428,   429,   430,   431,   432,  -159,   413,   414,
        !          1902:    415,     0,     0,   416,   417,   418,   419,   420,   421,   422,
        !          1903:    423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
        !          1904:    413,   414,   415,  1112,  1113,   416,   417,   418,   419,   420,
        !          1905:    421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
        !          1906:    431,   432,   413,   414,   415,  1168,     0,   416,   417,   418,
        !          1907:    419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
        !          1908:    429,   430,   431,   432,   413,   414,   415,  1228,     0,   416,
        !          1909:    417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
        !          1910:    427,   428,   429,   430,   431,   432,   413,   414,   415,     0,
        !          1911:      0,   416,   417,   418,   419,   420,   421,   422,   423,   424,
        !          1912:    425,   426,   427,   428,   429,   430,   431,   432,   415,     0,
        !          1913:      0,   416,   417,   418,   419,   420,   421,   422,   423,   424,
        !          1914:    425,   426,   427,   428,   429,   430,   431,   432,   417,   418,
        !          1915:    419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
        !          1916:    429,   430,   431,   432,   418,   419,   420,   421,   422,   423,
        !          1917:    424,   425,   426,   427,   428,   429,   430,   431,   432
1.1       root     1918: };
                   1919: 
1.1.1.6 ! root     1920: static const short yycheck[] = {     1,
        !          1921:      2,    10,     1,     2,    51,    38,    39,   122,   136,   137,
        !          1922:     39,   106,    16,   297,    16,   518,   242,   353,   275,    44,
        !          1923:      1,     2,   275,   600,   268,    68,   135,    16,    30,    40,
        !          1924:    301,   193,   137,   188,   215,    44,   148,    39,   144,   570,
        !          1925:     68,   713,   326,   206,   207,   263,   898,    10,   551,   267,
        !          1926:     10,   878,    62,   905,   217,     3,     4,   220,   959,    61,
        !          1927:     62,   224,     3,     4,    34,   228,    68,   217,    10,  1111,
        !          1928:    220,   234,     3,     4,   224,    40,     0,    34,   228,    46,
        !          1929:    131,    34,     3,     4,   234,     6,  1233,   331,    55,   898,
        !          1930:     42,    36,    55,    41,   127,   128,   107,    36,    65,   150,
        !          1931:     41,    83,  1249,    46,     5,    46,   108,   906,   155,   908,
        !          1932:      3,     4,    55,   164,     7,    36,   118,    51,    46,    50,
        !          1933:     61,    51,   124,     3,     4,   124,   128,     7,    46,  1171,
        !          1934:     71,    83,     3,     4,     3,     4,   106,    78,     3,     4,
        !          1935:    302,   104,    83,   238,   104,    46,   241,    95,    41,   106,
        !          1936:    201,   162,   104,   106,    95,     8,   311,   168,  1103,   107,
        !          1937:     16,   106,   104,    51,    95,    21,   107,   106,   330,   996,
        !          1938:    997,   998,   106,   704,    95,   105,   304,   305,   306,  1080,
        !          1939:    223,     3,    38,   193,    42,   857,    65,   105,   190,  1041,
        !          1940:    200,   193,    51,  1045,   303,   223,   195,   162,   200,   304,
        !          1941:    305,   472,    95,   168,     1,   708,    62,   216,    65,   321,
        !          1942:    316,   317,   469,   215,   107,    95,   197,   398,   106,  1046,
        !          1943:   1047,   223,   384,   507,    95,    83,    95,   453,   239,    46,
        !          1944:     95,   394,  1041,    86,     3,     4,  1045,    51,   289,   241,
        !          1945:     93,    83,    46,   252,   394,   247,   105,   106,    65,    55,
        !          1946:   1195,   495,   108,    50,   757,    11,   112,   113,   114,    50,
        !          1947:    271,    65,  1114,   274,    55,   267,   484,   485,    51,   772,
        !          1948:     51,   127,    50,   275,   299,    51,  1221,   561,   440,   407,
        !          1949:   1107,    24,   284,   466,    50,   284,   469,   104,   144,   340,
        !          1950:    299,   105,   148,    51,  1121,    51,   458,  1124,   104,    55,
        !          1951:    299,   105,    71,   284,   355,   549,   271,     3,     4,   886,
        !          1952:      6,   888,    55,    42,   105,   171,   297,   350,   351,   344,
        !          1953:    330,    51,   105,   334,   105,   856,    95,    51,   330,   105,
        !          1954:    381,  1183,   375,     1,     6,     7,     8,   365,    94,   195,
        !          1955:     36,    13,   198,   386,   200,   326,   104,   390,    42,   351,
        !          1956:    361,   353,   395,   396,    83,    84,   337,   106,   386,   215,
        !          1957:    522,    51,   390,    35,   392,   393,    24,   395,    51,   334,
        !          1958:     42,    51,  1224,   375,   104,   104,  1321,  1322,    65,  1178,
        !          1959:    236,   105,    50,    51,   386,   241,   548,   415,   390,    83,
        !          1960:     84,   247,    50,   395,   396,    53,   361,    55,    51,    95,
        !          1961:    443,    55,    51,     7,     8,    51,   534,  1259,   410,    13,
        !          1962:    104,    83,    50,   441,   104,  1224,   444,    51,    42,   275,
        !          1963:   1220,    50,   105,    55,   104,    50,    55,   930,   931,   534,
        !          1964:     55,    35,   935,    55,    50,  1287,   542,   543,    42,    55,
        !          1965:    487,   443,   451,   299,  1296,   702,   608,   105,   610,   702,
        !          1966:     51,   105,   105,   671,   463,   104,   674,  1257,   104,    83,
        !          1967:    316,   317,   624,     8,    42,   321,   578,   469,   477,  1268,
        !          1968:    104,   327,   584,     3,     4,   500,   332,  1276,  1287,    83,
        !          1969:    105,    42,   104,    42,   494,     5,   497,  1296,    42,   604,
        !          1970:    774,   500,   494,   655,   350,   657,   109,   660,   782,     3,
        !          1971:      4,     5,    86,   104,   666,    83,    84,    46,   670,    93,
        !          1972:    660,    41,    42,     3,     4,     5,    46,    47,   527,   375,
        !          1973:     86,   530,    83,    84,    83,    55,   507,    93,   579,    83,
        !          1974:     51,    61,   497,    51,   585,     3,     4,     5,   548,   105,
        !          1975:    396,    71,    46,   104,    42,   570,   548,    42,    78,     3,
        !          1976:      4,     5,    42,    83,    26,    27,   718,   828,   720,  1062,
        !          1977:     32,   723,    42,   105,   106,    95,    51,    21,   578,    51,
        !          1978:     51,    42,   843,   844,   584,    42,   578,   107,    46,    51,
        !          1979:    561,    53,   584,   104,    66,    83,   104,   443,    83,    84,
        !          1980:     51,    95,    46,    83,    98,    86,   867,   868,   608,    42,
        !          1981:    610,   600,    93,    83,    84,    95,   608,   943,   610,   465,
        !          1982:    466,    51,    83,    84,   105,    46,    83,    84,    51,   104,
        !          1983:     10,   839,   840,   104,   104,    51,    66,    95,   679,    51,
        !          1984:     98,     3,     4,   105,    65,   741,   742,   104,   494,    51,
        !          1985:     83,    95,    42,   104,    98,  1148,  1149,   658,  1151,   755,
        !          1986:    756,   106,   106,   657,    66,   657,    51,     4,     5,     6,
        !          1987:      7,     8,    26,    27,    11,   827,    13,   830,   657,    41,
        !          1988:     42,   104,   674,   835,    46,    47,   947,   686,   104,   704,
        !          1989:    830,    28,   104,    83,    84,    51,   542,   543,    35,    61,
        !          1990:     51,   716,  1269,     3,     4,     5,     6,     7,     8,    71,
        !          1991:    702,    11,   864,    13,   104,    66,    78,   716,    99,   104,
        !          1992:     51,    83,    84,    51,   985,     7,     8,   716,    28,   105,
        !          1993:    771,    13,    51,    95,   733,    35,     1,     2,   779,   824,
        !          1994:    825,    41,    42,   735,   759,   107,    46,    47,   104,    51,
        !          1995:      3,    42,   775,    35,   600,    42,    21,    94,    95,   792,
        !          1996:     42,    61,    53,    37,   805,    30,    51,    51,   976,   977,
        !          1997:     51,    71,    46,   104,    39,    51,   104,    46,    78,   105,
        !          1998:    106,     1,     2,    83,    84,   104,    55,  1280,    42,  1063,
        !          1999:     42,  1052,    83,   785,    55,    95,    83,    84,   109,    86,
        !          2000:    792,    83,   104,   774,   841,    83,    93,   107,     3,     4,
        !          2001:     30,   782,    83,     8,    42,     7,     8,  1078,   817,   104,
        !          2002:    104,    13,    50,   104,    83,   671,     3,    55,   104,    83,
        !          2003:     42,    83,     9,   825,    46,   827,     4,     5,  1099,     7,
        !          2004:      8,   856,    62,    35,    83,    13,    41,   112,   113,   114,
        !          2005:     42,    46,    42,    65,  1128,    83,   702,    83,    61,   124,
        !          2006:     28,    65,    42,     3,     4,   883,    61,    35,    71,   868,
        !          2007:    716,    83,   890,   896,   897,    38,    71,    42,   897,   144,
        !          2008:    998,    49,    55,   148,  1145,   884,  1147,   886,    83,   105,
        !          2009:    106,    83,    65,    83,    42,   741,   742,   886,   939,   888,
        !          2010:     95,    42,  1163,    83,   124,   897,   898,  1168,    42,   755,
        !          2011:    756,    10,   107,   905,   906,    83,   908,   104,    83,   104,
        !          2012:    912,    53,     3,     4,     5,   190,     7,    95,   961,   775,
        !          2013:   1164,  1165,    13,   198,   106,    83,    84,   955,    86,    46,
        !          2014:     51,    46,    83,    26,    27,    93,   792,    28,    55,    83,
        !          2015:     55,   943,   105,   106,    35,    46,    37,   105,  1166,  1167,
        !          2016:     41,    26,    27,     3,    55,    46,   104,    50,  1120,   961,
        !          2017:    190,  1123,    55,   193,    65,    71,    72,    73,  1239,   825,
        !          2018:    200,   999,  1023,    50,  1258,    50,   109,  1028,    55,  1007,
        !          2019:     55,    50,   991,   839,   840,   109,     4,     5,     6,     7,
        !          2020:      8,     6,     7,     8,    46,    13,   104,   999,    13,   104,
        !          2021:   1162,   105,   106,    55,    95,   105,   106,  1058,     3,   284,
        !          2022:     28,  1126,   109,    65,    51,  1066,    83,    35,     1,     2,
        !          2023:     35,    69,    70,    71,    72,    73,    32,  1036,     3,     4,
        !          2024:    886,   104,   888,   105,   106,    46,  1035,   267,    21,  1041,
        !          2025:    896,   316,   317,  1045,   104,   275,   321,    30,   105,   106,
        !          2026:    105,   106,    50,  1324,   284,    38,    39,   332,     8,   104,
        !          2027:      6,     7,     8,   104,  1159,  1160,    41,    13,    53,  1078,
        !          2028:     51,    46,    47,  1084,   105,   106,   104,    95,   353,  1083,
        !          2029:     55,  1083,  1063,  1111,   105,   106,    61,     7,     8,    35,
        !          2030:   1321,  1322,    42,    13,  1083,   104,    71,   105,   106,   109,
        !          2031:    330,  1103,   109,    78,   105,   961,   105,  1111,    83,  1111,
        !          2032:    104,    61,  1114,  1141,  1142,    35,   972,   105,   106,   105,
        !          2033:     95,    71,  1111,   353,   206,   207,  1271,  1272,    78,   112,
        !          2034:    113,   114,   107,    83,    84,   105,   105,  1141,  1142,  1141,
        !          2035:   1142,   124,   109,  1171,   127,   128,   104,  1128,   109,  1182,
        !          2036:     51,  1132,  1141,  1142,     5,    55,    83,    53,  1160,   104,
        !          2037:    104,   144,   104,   104,   104,   148,   104,  1171,    42,  1171,
        !          2038:    104,    66,    55,    47,    61,  1226,  1178,  1305,  1306,  1035,
        !          2039:    109,  1183,  1171,    53,   109,   107,    42,    61,   171,    53,
        !          2040:    465,   466,    53,  1195,   469,   106,   104,    71,    95,     4,
        !          2041:      5,     6,     7,     8,    78,   109,  1334,   190,    13,    83,
        !          2042:     84,    55,   195,     3,     4,   198,    55,    34,     8,  1221,
        !          2043:    104,   109,  1224,    28,   104,  1253,    53,  1083,   104,   104,
        !          2044:     35,   118,   104,     3,     4,    83,     6,     7,     8,   469,
        !          2045:     83,   104,   104,  1271,  1272,   104,     7,    83,  1291,   106,
        !          2046:    105,    41,    55,   236,  1282,   105,    46,  1259,    50,    50,
        !          2047:      8,    15,     3,   105,   494,    35,  1268,   542,   543,    53,
        !          2048:   1269,    61,    51,   104,  1276,   104,    42,  1258,    55,    49,
        !          2049:     50,    71,    83,   105,   267,  1287,   105,   105,    78,  1291,
        !          2050:     95,   105,   105,    83,  1296,     1,     2,    83,  1307,   105,
        !          2051:     53,   284,    83,   578,  1160,    95,   193,   104,   106,   584,
        !          2052:   1166,  1167,    84,    53,    16,    84,   299,   107,   548,  1321,
        !          2053:   1322,   106,   105,   105,    30,    95,  1182,   105,    50,   105,
        !          2054:    100,   101,   102,   316,   317,    50,     3,     4,   321,    53,
        !          2055:    105,   104,     4,     5,   327,     7,     8,   104,   578,   332,
        !          2056:    237,    13,    51,   105,   584,   105,    62,     1,   104,     3,
        !          2057:      4,     5,     6,     7,     8,   104,    28,   350,   351,    13,
        !          2058:    353,   104,   109,    35,    41,   109,   104,    10,   608,    46,
        !          2059:    610,   105,   105,    90,    28,   105,     9,   105,    83,    83,
        !          2060:     51,    35,    36,    51,    61,   104,   671,    41,     9,   674,
        !          2061:    105,   104,    46,   104,    71,    53,   104,   104,    42,    10,
        !          2062:     10,    55,   105,  1269,   301,   302,    83,    61,   124,     1,
        !          2063:    104,     3,     4,     5,     6,     7,     8,    71,    95,   105,
        !          2064:      0,    13,     0,    95,   123,  1291,     2,   286,   124,    83,
        !          2065:    107,    75,    76,   330,   674,    79,    28,    81,   702,    83,
        !          2066:     84,    95,   124,    35,    36,   135,   716,   500,   118,    41,
        !          2067:    758,   348,   106,   107,    46,    42,   741,   742,  1080,  1102,
        !          2068:    999,   410,   702,    55,  1194,  1142,   896,   162,   274,    61,
        !          2069:    755,   756,   465,   466,   190,  1154,   469,   193,    30,    71,
        !          2070:    327,   817,   688,    30,   200,   738,   570,   384,    75,    76,
        !          2071:    759,    83,    79,    80,    81,    82,    83,    84,   912,   785,
        !          2072:    785,   351,   477,    95,    67,    68,    69,    70,    71,    72,
        !          2073:     73,   686,   321,   410,   106,   107,   413,   414,   736,   416,
        !          2074:    417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
        !          2075:    427,   428,   429,   430,   431,   432,  1042,    42,     3,     4,
        !          2076:   1283,  1285,   439,   440,    -1,   785,   247,   792,  1035,   542,
        !          2077:    543,   267,    -1,    -1,   839,   840,    61,    -1,    -1,   275,
        !          2078:     -1,   458,    -1,    -1,    -1,    -1,    71,     1,   284,    -1,
        !          2079:     -1,    -1,    -1,    78,    -1,   472,    41,    -1,    83,    84,
        !          2080:     -1,    46,   479,    -1,    -1,   578,    -1,    -1,    -1,    -1,
        !          2081:     24,   584,    26,    27,    -1,    -1,    61,    -1,    32,    -1,
        !          2082:      3,     4,    -1,     6,     7,     8,    71,   600,    42,    -1,
        !          2083:     -1,    -1,   897,    78,   330,    -1,    50,    51,    83,    53,
        !          2084:     -1,    55,    -1,    -1,    -1,   522,    -1,   912,     1,     2,
        !          2085:     95,    -1,    35,   530,    -1,    -1,    -1,   353,    -1,    -1,
        !          2086:     -1,    -1,   107,    -1,    -1,    -1,    49,    50,    21,    83,
        !          2087:     84,   548,    86,    -1,    -1,    -1,    -1,    30,   943,    93,
        !          2088:      1,    -1,    -1,    -1,    -1,    38,    39,    -1,    -1,    -1,
        !          2089:     -1,   105,   912,    -1,    -1,    -1,    -1,    -1,   671,    -1,
        !          2090:    577,   674,    -1,    24,    -1,    26,    27,   972,    -1,    -1,
        !          2091:     -1,    32,    95,    -1,    -1,    -1,    -1,   100,   101,   102,
        !          2092:     -1,    42,    -1,   943,    -1,    -1,    -1,    -1,    -1,    50,
        !          2093:     51,   608,    53,   610,    55,    -1,    -1,    19,    20,    -1,
        !          2094:     -1,    -1,    -1,   716,    -1,    -1,    -1,   624,    -1,    -1,
        !          2095:     -1,   628,    -1,    -1,    -1,    -1,     3,     4,    -1,   112,
        !          2096:    113,   114,    83,    84,    -1,    86,    -1,    -1,   741,   742,
        !          2097:     -1,   124,    93,   469,   127,   128,    -1,    59,   655,    -1,
        !          2098:    657,    -1,   755,   756,   105,    -1,    -1,    -1,    -1,   666,
        !          2099:     -1,   144,    -1,   670,    41,   148,    -1,    24,   494,    46,
        !          2100:     47,    -1,   775,    -1,    -1,    -1,    -1,    -1,   685,    -1,
        !          2101:     -1,    -1,   785,    -1,    61,    42,     3,     4,   171,    46,
        !          2102:     -1,    -1,    -1,    50,    71,    -1,    53,    -1,    55,    -1,
        !          2103:     -1,    78,    -1,    -1,    -1,    -1,    83,   190,    65,    -1,
        !          2104:     -1,   718,    -1,   720,    -1,   198,   723,    -1,    95,   726,
        !          2105:     -1,    -1,   548,    -1,    41,    -1,    -1,    84,   105,    46,
        !          2106:    107,    -1,   215,   145,   146,    -1,   839,   840,     3,     4,
        !          2107:      5,     6,     7,     8,    61,    -1,    11,    -1,    13,    -1,
        !          2108:     -1,    -1,   578,   236,    71,    -1,    -1,    -1,   584,   242,
        !          2109:    767,   768,    -1,    28,     4,     5,    83,     7,     8,    -1,
        !          2110:     35,  1166,  1167,    13,    -1,    -1,    41,    42,    95,    -1,
        !          2111:    192,    46,   608,   886,   610,   888,    -1,   199,    28,    -1,
        !          2112:    107,    -1,    -1,   896,   897,    35,    61,    -1,    -1,    -1,
        !          2113:     -1,   284,    -1,    -1,    -1,    -1,    71,    -1,    -1,   912,
        !          2114:    817,    -1,   819,    78,    -1,    -1,    -1,    -1,    83,    84,
        !          2115:    827,   828,    -1,    -1,    -1,    -1,    -1,    -1,   835,    94,
        !          2116:     95,    -1,    -1,   316,   317,    -1,   843,   844,   321,    -1,
        !          2117:    943,    -1,   107,    -1,   327,    -1,    -1,    -1,   674,   332,
        !          2118:    262,    -1,   264,   265,    -1,    95,    -1,   864,    -1,    -1,
        !          2119:    867,   868,    -1,    -1,    -1,    -1,    -1,   350,   351,   972,
        !          2120:    353,    -1,   879,    -1,    -1,    -1,   702,    -1,    -1,    -1,
        !          2121:     -1,    -1,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2122:      9,    10,    11,    12,    13,    63,    64,    65,    66,    67,
        !          2123:     68,    69,    70,    71,    72,    73,   318,   319,    -1,    28,
        !          2124:     29,    30,    31,    -1,    33,    -1,    35,   329,    37,    38,
        !          2125:     -1,    40,    41,    -1,    -1,    44,    45,    46,    -1,     3,
        !          2126:      4,   938,  1035,    -1,     8,    -1,    -1,    -1,    -1,    58,
        !          2127:    947,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2128:     69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,   785,
        !          2129:     -1,    -1,    -1,    -1,    83,    -1,    -1,    41,    42,    -1,
        !          2130:    453,    -1,    46,    -1,    -1,    94,    95,    -1,   985,    -1,
        !          2131:    987,    -1,   465,   466,    -1,   104,   469,    61,   107,   108,
        !          2132:     -1,    -1,    -1,    -1,    -1,    -1,     1,    71,     3,     4,
        !          2133:      5,     6,     7,     8,    78,    -1,    -1,    -1,    13,    83,
        !          2134:     84,    64,    65,    66,    67,    68,    69,    70,    71,    72,
        !          2135:     73,    95,    -1,    28,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2136:     35,    -1,    -1,   107,    -1,    -1,    41,    -1,    -1,     3,
        !          2137:      4,    46,    -1,    -1,    -1,  1052,    -1,    -1,    -1,    -1,
        !          2138:      3,     4,    -1,  1060,  1061,   467,    61,    -1,    -1,   542,
        !          2139:    543,    -1,    -1,  1166,  1167,    -1,    71,    -1,    -1,    -1,
        !          2140:     -1,  1078,    -1,     1,    -1,    -1,    -1,    41,    83,  1182,
        !          2141:     -1,   493,    46,    47,    -1,    -1,   912,    -1,    41,    -1,
        !          2142:     95,    96,  1099,    46,    -1,   578,    24,    61,    26,    27,
        !          2143:    105,   584,   107,    -1,    32,    -1,  1113,    71,    61,    -1,
        !          2144:     -1,    -1,    -1,  1120,    78,    -1,  1123,   943,    71,    83,
        !          2145:     -1,    -1,    50,    51,    -1,    53,    -1,    55,    -1,    -1,
        !          2146:     83,    95,   544,   545,    -1,   547,    -1,    -1,  1145,    -1,
        !          2147:   1147,   105,    95,   107,    -1,    -1,    -1,   559,   560,    -1,
        !          2148:     -1,    -1,    -1,    -1,   107,  1162,  1163,    -1,    86,    -1,
        !          2149:     -1,  1168,    -1,    -1,   576,    93,  1269,    -1,    -1,    -1,
        !          2150:     -1,   583,    -1,    -1,    -1,     3,     4,   105,    -1,    -1,
        !          2151:    592,   593,   594,     3,     4,    -1,    -1,    -1,   671,    -1,
        !          2152:     -1,   674,    -1,    -1,    -1,   607,    -1,   609,    -1,    -1,
        !          2153:    612,    -1,    -1,     0,     1,    -1,     3,     4,     5,     6,
        !          2154:      7,     8,    -1,    41,    42,    -1,    13,    -1,    46,    -1,
        !          2155:     -1,    41,    -1,    -1,    -1,    -1,    46,    -1,    -1,    26,
        !          2156:     27,    28,  1239,    61,    -1,    -1,    -1,    -1,    35,    -1,
        !          2157:     -1,    61,    39,    71,    41,    -1,    43,    -1,    -1,    46,
        !          2158:     78,    71,    -1,    -1,    -1,    83,    84,    -1,   741,   742,
        !          2159:    672,   673,    -1,    83,    61,    -1,    -1,    95,    -1,    -1,
        !          2160:     -1,    -1,   755,   756,    71,    95,    -1,    -1,    -1,   107,
        !          2161:     -1,    -1,    -1,    -1,   696,    -1,    83,   107,    -1,    -1,
        !          2162:     -1,    -1,   775,    -1,    -1,    -1,    -1,    -1,    95,    96,
        !          2163:     97,    -1,   785,    -1,    -1,    -1,    -1,    -1,   105,     1,
        !          2164:    107,    -1,     4,     5,    -1,     7,     8,  1324,    -1,    -1,
        !          2165:     -1,    13,    60,    61,    62,    63,    64,    65,    66,    67,
        !          2166:     68,    69,    70,    71,    72,    73,    28,    -1,    -1,   751,
        !          2167:    752,   753,    -1,    35,    -1,    37,    38,    -1,    -1,    -1,
        !          2168:     42,    -1,    -1,    -1,    -1,    -1,   839,   840,    -1,    51,
1.1.1.5   root     2169:     52,    53,    54,    -1,    -1,    57,    58,    59,    60,    61,
                   2170:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1.1.1.6 ! root     2171:     72,    73,    -1,    75,    76,    -1,    -1,    79,    80,    -1,
        !          2172:     -1,    -1,    84,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2173:     -1,    -1,    -1,    95,    -1,     1,    -1,     3,     4,     5,
        !          2174:      6,     7,     8,   896,   897,   107,   108,    13,    -1,    -1,
        !          2175:     -1,     1,    -1,     3,     4,     5,     6,     7,     8,   912,
        !          2176:     26,    27,    28,    13,    -1,    -1,    -1,   849,   850,    35,
        !          2177:    852,    -1,    -1,    39,    -1,    41,    -1,    43,    28,    -1,
        !          2178:     46,    -1,    -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,
        !          2179:    943,    41,    -1,    -1,    -1,    61,    46,    -1,    -1,    -1,
        !          2180:     -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    -1,
        !          2181:     -1,    61,    -1,    -1,    -1,    -1,    -1,    83,    -1,   972,
        !          2182:     -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    95,
        !          2183:     96,    97,    -1,    83,    -1,   917,   918,   919,    -1,   105,
        !          2184:    106,   107,    -1,    -1,    -1,    95,    -1,    -1,    -1,    -1,
        !          2185:     -1,    -1,   934,    -1,    -1,    -1,    -1,   107,    -1,    -1,
        !          2186:    942,    -1,    -1,    -1,    -1,    -1,   948,   949,   950,   951,
        !          2187:    952,   953,     1,    -1,     3,     4,     5,     6,     7,     8,
1.1.1.5   root     2188:      9,    10,    -1,    12,    13,    14,    15,    16,    17,    18,
1.1.1.2   root     2189:     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1.1.1.5   root     2190:     29,    30,    31,    -1,    33,    -1,    35,    -1,    37,    38,
1.1.1.6 ! root     2191:     -1,    40,    41,    -1,    -1,    44,    45,    46,    -1,    -1,
1.1.1.5   root     2192:     49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,
                   2193:     -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2194:     69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,
1.1.1.6 ! root     2195:     -1,    -1,    -1,    -1,    83,    -1,    85,    -1,    87,    88,
        !          2196:     89,    -1,    91,    92,    93,    -1,    95,    -1,    -1,    -1,
        !          2197:     -1,     4,     5,    -1,     7,     8,   105,   106,   107,   108,
        !          2198:     13,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          2199:     70,    71,    72,    73,    -1,    28,    -1,    -1,    -1,    -1,
        !          2200:     -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2201:   1092,  1093,    -1,  1166,  1167,     1,    49,     3,     4,     5,
        !          2202:      6,     7,     8,     9,    10,    -1,    12,    13,    14,  1182,
        !          2203:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !          2204:     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2205:     83,    37,    38,    -1,    40,    41,    -1,    -1,    44,    45,
        !          2206:     46,    -1,    95,    49,    50,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2207:     -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,
                   2208:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,
1.1.1.6 ! root     2209:     76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,
        !          2210:     -1,    -1,    88,    -1,    -1,    91,    92,    93,    -1,    95,
        !          2211:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
        !          2212:    106,   107,   108,     1,    -1,     3,     4,     5,     6,     7,
        !          2213:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
        !          2214:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
        !          2215:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2216:     38,    -1,    40,    41,    -1,    -1,    44,    45,    46,    -1,
        !          2217:     -1,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2218:     58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2219:     -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,
        !          2220:     -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,    -1,
        !          2221:     88,    -1,    -1,    91,    92,    93,    -1,    95,    -1,    -1,
        !          2222:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
        !          2223:    108,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
        !          2224:     10,    -1,    12,    13,    14,    -1,    16,    17,    18,    19,
        !          2225:     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
        !          2226:     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
        !          2227:     40,    41,    -1,    -1,    44,    45,    46,    -1,    -1,    49,
        !          2228:     50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,
        !          2229:     -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
        !          2230:     70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,
        !          2231:     -1,    -1,    -1,    83,    -1,    85,    -1,    -1,    88,    -1,
        !          2232:     -1,    91,    92,    93,    -1,    95,    -1,    -1,    -1,    -1,
        !          2233:     -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,     1,
        !          2234:     -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
        !          2235:     12,    13,    14,    -1,    16,    17,    18,    19,    20,    21,
        !          2236:     22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
        !          2237:     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
        !          2238:     -1,    -1,    44,    45,    46,    -1,    -1,    49,    50,    -1,
        !          2239:     -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,
        !          2240:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,
        !          2241:     -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,
        !          2242:     -1,    83,    -1,    85,    -1,    -1,    88,    -1,    -1,    91,
        !          2243:     92,    93,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2244:     -1,    -1,    -1,   105,   106,   107,   108,     1,    -1,     3,
        !          2245:      4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
        !          2246:     14,    -1,    16,    17,    18,    19,    20,    21,    22,    23,
        !          2247:     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
        !          2248:     -1,    35,    -1,    37,    38,    -1,    40,    41,    -1,    -1,
        !          2249:     44,    45,    46,    -1,    -1,    49,    50,    -1,    -1,    -1,
1.1.1.5   root     2250:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
                   2251:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
                   2252:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
1.1.1.6 ! root     2253:     -1,    85,    -1,    -1,    88,    -1,    -1,    91,    92,    93,
        !          2254:     -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2255:     -1,   105,   106,   107,   108,     1,    -1,     3,     4,     5,
        !          2256:      6,     7,     8,     9,    10,    -1,    12,    13,    14,    -1,
        !          2257:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !          2258:     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2259:     -1,    37,    38,    -1,    40,    41,    -1,    -1,    44,    45,
        !          2260:     46,    -1,    -1,    49,    50,    -1,    -1,    -1,    -1,    -1,
        !          2261:     -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,
        !          2262:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,
        !          2263:     76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,
        !          2264:     -1,    -1,    88,    -1,    -1,    91,    92,    93,    -1,    95,
        !          2265:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
        !          2266:    106,   107,   108,     1,    -1,     3,     4,     5,     6,     7,
        !          2267:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
        !          2268:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
        !          2269:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2270:     38,    -1,    40,    41,    -1,    -1,    44,    45,    46,    -1,
        !          2271:     -1,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2272:     58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2273:     -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,
        !          2274:     -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,    -1,
        !          2275:     88,    -1,    -1,    91,    92,    93,    -1,    95,    -1,    -1,
        !          2276:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,
        !          2277:    108,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
        !          2278:     10,    -1,    12,    13,    14,    -1,    16,    17,    18,    19,
        !          2279:     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1.1.1.5   root     2280:     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
1.1.1.6 ! root     2281:     40,    41,    -1,    -1,    44,    45,    46,    -1,    -1,    49,
1.1.1.5   root     2282:     50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,
                   2283:     -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
                   2284:     70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,
1.1.1.6 ! root     2285:     -1,    -1,    -1,    83,    -1,    85,    -1,    -1,    88,    -1,
        !          2286:     -1,    91,    92,    93,    -1,    95,    -1,    -1,    -1,    -1,
        !          2287:     -1,    -1,    -1,    -1,    -1,   105,   106,   107,   108,     1,
        !          2288:     -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
        !          2289:     12,    13,    14,    -1,    16,    17,    18,    19,    20,    21,
        !          2290:     22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
        !          2291:     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
        !          2292:     -1,    -1,    44,    45,    46,    -1,    -1,    49,    50,    -1,
        !          2293:     -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,
        !          2294:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,
        !          2295:     -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,
        !          2296:     -1,    83,    -1,    85,    -1,    -1,    88,    -1,    -1,    91,
        !          2297:     92,    93,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2298:     -1,    -1,    -1,   105,    -1,   107,   108,     1,    -1,     3,
        !          2299:      4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
        !          2300:     14,    -1,    16,    17,    18,    19,    20,    21,    22,    23,
        !          2301:     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
        !          2302:     -1,    35,    -1,    37,    38,    -1,    40,    41,    -1,    -1,
        !          2303:     44,    45,    46,    -1,    -1,    49,    50,    -1,    -1,    -1,
        !          2304:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
        !          2305:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
        !          2306:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
        !          2307:     -1,    85,    -1,    -1,    88,    -1,    -1,    91,    92,    93,
        !          2308:     -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2309:     -1,   105,    -1,   107,   108,     1,    -1,     3,     4,     5,
        !          2310:      6,     7,     8,     9,    10,    -1,    12,    13,    14,    -1,
        !          2311:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !          2312:     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2313:     -1,    37,    38,    -1,    40,    41,    -1,    -1,    44,    45,
        !          2314:     46,    -1,    -1,    49,    50,    -1,    -1,    -1,    -1,    -1,
        !          2315:     -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,
        !          2316:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,
        !          2317:     76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,
        !          2318:     -1,    -1,    88,    -1,    -1,    91,    92,    93,    -1,    95,
        !          2319:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
        !          2320:     -1,   107,   108,     1,    -1,     3,     4,     5,     6,     7,
        !          2321:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
        !          2322:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1.1.1.5   root     2323:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
1.1.1.6 ! root     2324:     38,    -1,    40,    41,    -1,    -1,    44,    45,    46,    -1,
        !          2325:     -1,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2326:     58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
                   2327:     -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,
1.1.1.6 ! root     2328:     -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,    -1,
        !          2329:     88,    -1,    -1,    91,    92,    93,    -1,    95,    -1,    -1,
        !          2330:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,   107,
        !          2331:    108,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
        !          2332:     10,    11,    12,    13,    62,    63,    64,    65,    66,    67,
        !          2333:     68,    69,    70,    71,    72,    73,    -1,    -1,    28,    29,
        !          2334:     30,    31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,
        !          2335:     40,    41,    -1,    -1,    44,    45,    46,    -1,    -1,    -1,
        !          2336:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,
        !          2337:     -1,    61,    -1,    -1,    -1,    -1,    -1,     3,     4,    69,
        !          2338:     70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,
        !          2339:     -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2340:     -1,    -1,    -1,    -1,    94,    95,    -1,    -1,    -1,    -1,
        !          2341:     -1,    -1,    -1,    -1,   104,    41,    -1,   107,   108,     1,
        !          2342:     46,     3,     4,     5,     6,     7,     8,     9,    10,    11,
        !          2343:     12,    13,    -1,    -1,    -1,    61,    -1,    -1,    -1,    -1,
        !          2344:     -1,    -1,    -1,    -1,    -1,    71,    28,    29,    30,    31,
        !          2345:     -1,    33,    78,    35,    -1,    37,    38,    83,    40,    41,
        !          2346:     -1,    -1,    44,    45,    46,    -1,    -1,    -1,    -1,    95,
        !          2347:     -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,
        !          2348:     -1,   107,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,
        !          2349:     -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,
        !          2350:     -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2351:     -1,    -1,    94,    95,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2352:     -1,    -1,   104,    -1,    -1,   107,   108,     1,    -1,     3,
        !          2353:      4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
        !          2354:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2355:     -1,    -1,    -1,    -1,    28,    29,    30,    31,    -1,    33,
        !          2356:     -1,    35,    -1,    37,    38,    -1,    40,    41,    -1,    -1,
        !          2357:     44,    45,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2358:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
        !          2359:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
        !          2360:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
1.1.1.4   root     2361:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.6 ! root     2362:     94,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2363:    104,    -1,    -1,   107,   108,     1,    -1,     3,     4,     5,
        !          2364:      6,     7,     8,     9,    10,    11,    12,    13,    -1,    -1,
        !          2365:     -1,    -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,
        !          2366:      7,     8,    28,    29,    30,    31,    13,    33,    -1,    35,
        !          2367:     -1,    37,    38,    -1,    40,    41,    -1,    -1,    44,    45,
        !          2368:     46,    28,    -1,    -1,    -1,    -1,    -1,    -1,    35,    36,
        !          2369:     -1,    -1,    58,    -1,    41,    61,    -1,    -1,    -1,    46,
        !          2370:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    55,    75,
        !          2371:     76,    -1,    -1,    -1,    61,    -1,    -1,    83,    -1,    -1,
        !          2372:     -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,    94,    95,
        !          2373:     -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,   104,    -1,
        !          2374:     -1,   107,   108,     1,    -1,     3,     4,     5,    95,     7,
        !          2375:      8,     9,    10,    -1,    12,    13,    -1,    -1,   105,   106,
        !          2376:    107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2377:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
        !          2378:     38,    -1,    40,    41,    -1,    -1,    44,    45,    46,    -1,
        !          2379:     -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2380:     58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2381:     -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,
        !          2382:     -1,    -1,    -1,    -1,    -1,    83,    84,     1,    -1,     3,
        !          2383:      4,     5,    -1,     7,     8,     9,    10,    95,    12,    13,
        !          2384:     -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,   106,   107,
        !          2385:    108,    -1,    -1,    -1,    28,    29,    30,    31,    -1,    33,
        !          2386:     -1,    35,    -1,    37,    38,    -1,    40,    41,    -1,    -1,
        !          2387:     44,    45,    46,    -1,    -1,    -1,    50,    -1,    -1,    -1,
        !          2388:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
        !          2389:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
        !          2390:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,     1,    83,
        !          2391:      3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
        !          2392:     13,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2393:     -1,    -1,   106,   107,   108,    28,    29,    30,    31,    -1,
        !          2394:     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    -1,
        !          2395:     -1,    44,    45,    46,    -1,    -1,    -1,    50,    -1,    -1,
        !          2396:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,
        !          2397:     -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,
        !          2398:     -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,     1,
        !          2399:     83,     3,     4,     5,    -1,     7,     8,     9,    10,    -1,
        !          2400:     12,    13,    95,    -1,    -1,    -1,    -1,    -1,    20,    -1,
        !          2401:     -1,    -1,   105,    -1,   107,   108,    28,    29,    30,    31,
        !          2402:     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
        !          2403:     -1,    -1,    44,    45,    46,    -1,    -1,    -1,    50,    -1,
        !          2404:     -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,
        !          2405:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,
        !          2406:     -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,
        !          2407:      1,    83,     3,     4,     5,    -1,     7,     8,     9,    10,
        !          2408:     -1,    12,    13,    95,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2409:     -1,    -1,    -1,    -1,   106,   107,   108,    28,    29,    30,
        !          2410:     31,    -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,
        !          2411:     41,    -1,    -1,    44,    45,    46,    -1,    -1,    -1,    50,
        !          2412:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,
        !          2413:     61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
        !          2414:     71,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,
        !          2415:     -1,    -1,    83,    84,     1,    -1,     3,     4,     5,    -1,
        !          2416:      7,     8,     9,    10,    95,    12,    13,    -1,    -1,    -1,
        !          2417:     -1,    -1,    -1,    -1,    -1,    -1,   107,   108,    -1,    -1,
        !          2418:     -1,    28,    29,    30,    31,    -1,    33,    -1,    35,    -1,
        !          2419:     37,    38,    -1,    40,    41,    -1,    -1,    44,    45,    46,
        !          2420:     -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2421:     -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,
                   2422:     -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,
                   2423:     -1,    -1,    -1,    -1,    -1,     1,    83,     3,     4,     5,
                   2424:     -1,     7,     8,     9,    10,    -1,    12,    13,    95,    -1,
1.1.1.6 ! root     2425:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2426:    107,   108,    28,    29,    30,    31,    -1,    33,    -1,    35,
1.1.1.6 ! root     2427:     -1,    37,    38,    -1,    40,    41,    -1,    -1,    44,    45,
        !          2428:     46,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2429:     -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,
                   2430:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,
                   2431:     76,    -1,    -1,    -1,    -1,    -1,     1,    83,     3,     4,
                   2432:      5,    -1,     7,     8,     9,    10,    -1,    12,    13,    95,
1.1.1.6 ! root     2433:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2434:     -1,   107,   108,    28,    29,    30,    31,    -1,    33,    -1,
1.1.1.6 ! root     2435:     35,    -1,    37,    38,    -1,    40,    41,    -1,    -1,    44,
        !          2436:     45,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2437:     55,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,
1.1.1.5   root     2438:     -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,
1.1.1.6 ! root     2439:     75,    76,    -1,    -1,    -1,    -1,    -1,     1,    83,     3,
1.1.1.5   root     2440:      4,     5,    -1,     7,     8,     9,    10,    -1,    12,    13,
                   2441:     95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2442:     -1,    -1,   107,   108,    28,    29,    30,    31,    -1,    33,
1.1.1.6 ! root     2443:     -1,    35,    -1,    37,    38,    -1,    40,    41,    -1,    -1,
        !          2444:     44,    45,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2445:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
        !          2446:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
        !          2447:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,     1,    83,
        !          2448:      3,     4,     5,    -1,     7,     8,     9,    10,    -1,    12,
        !          2449:     13,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2450:     -1,   105,    -1,   107,   108,    28,    29,    30,    31,    -1,
        !          2451:     33,    -1,    35,    -1,    37,    38,    -1,    40,    41,    -1,
        !          2452:     -1,    44,    45,    46,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2453:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,
        !          2454:     -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,
        !          2455:     -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,     1,
        !          2456:     83,     3,     4,     5,    -1,     7,     8,     9,    10,    -1,
        !          2457:     12,    13,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2458:     -1,   104,    -1,    -1,   107,   108,    28,    29,    30,    31,
        !          2459:     -1,    33,    -1,    35,    -1,    37,    38,    -1,    40,    41,
        !          2460:     -1,    -1,    44,    45,    46,    -1,    -1,    -1,    -1,    -1,
        !          2461:     -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,
        !          2462:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,
        !          2463:     -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,
        !          2464:     -1,    83,     3,     4,     5,    -1,     7,     8,     9,    10,
        !          2465:     -1,    12,    13,    95,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2466:     -1,    -1,    -1,    -1,    -1,   107,   108,    28,    29,    30,
        !          2467:     31,    -1,    33,    -1,    35,    -1,    37,    -1,    -1,    40,
        !          2468:     41,    -1,    -1,    44,    45,    46,    -1,    -1,    -1,    -1,
        !          2469:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,     1,
        !          2470:     61,     3,     4,     5,     6,     7,     8,    -1,    69,    70,
        !          2471:     71,    13,     3,     4,    75,    76,    -1,    -1,    -1,    -1,
        !          2472:     -1,    -1,    83,    -1,    26,    27,    28,    -1,    -1,    -1,
        !          2473:     -1,    -1,    -1,    35,    95,    -1,    -1,    39,    -1,    41,
        !          2474:     -1,    43,    -1,    -1,    46,    -1,   107,   108,   109,    -1,
        !          2475:     41,    -1,    -1,    -1,    -1,    46,    47,    -1,    -1,    61,
        !          2476:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,
        !          2477:     61,    -1,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2478:     71,    83,    -1,    -1,    13,    -1,    -1,    78,    -1,    -1,
        !          2479:     -1,    -1,    83,    95,    96,    97,    -1,    -1,    -1,    28,
        !          2480:     -1,    -1,    -1,   105,    95,   107,    35,    36,    -1,    -1,
        !          2481:     -1,    -1,    41,    -1,    -1,    -1,   107,    46,    -1,    -1,
        !          2482:     -1,    -1,    -1,    -1,    -1,    -1,    55,    -1,    52,    53,
        !          2483:     54,    -1,    61,    57,    58,    59,    60,    61,    62,    63,
        !          2484:     64,    65,    71,    67,    68,    69,    70,    71,    72,    73,
        !          2485:     -1,    -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,
        !          2486:     -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,
        !          2487:     -1,    -1,    -1,    -1,    -1,    -1,   105,   106,   107,     3,
1.1.1.5   root     2488:      4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
                   2489:     14,    -1,    16,    17,    18,    19,    20,    21,    22,    23,
                   2490:     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
1.1.1.6 ! root     2491:     -1,    35,    -1,    37,    -1,    -1,    40,    41,    -1,    -1,
        !          2492:     44,    45,    46,    -1,    -1,    49,    50,    -1,    -1,    -1,
1.1.1.5   root     2493:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
                   2494:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
                   2495:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
                   2496:     -1,    85,    -1,    -1,    88,    -1,    -1,    91,    92,    93,
                   2497:     -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.6 ! root     2498:     -1,   105,   106,   107,   108,     3,     4,     5,     6,     7,
1.1.1.5   root     2499:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
                   2500:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
                   2501:     28,    29,    30,    31,    -1,    33,    -1,    35,    -1,    37,
1.1.1.6 ! root     2502:     -1,    -1,    40,    41,    -1,    -1,    44,    45,    46,    -1,
        !          2503:     -1,    49,    50,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2504:     58,    -1,    -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,
                   2505:     -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,    -1,
                   2506:     -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    -1,    -1,
                   2507:     88,    -1,    -1,    91,    92,    93,    -1,    95,    -1,    -1,
                   2508:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,    -1,   107,
1.1.1.6 ! root     2509:    108,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
        !          2510:     12,    13,    14,    -1,    16,    17,    18,    19,    20,    21,
        !          2511:     22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
        !          2512:     -1,    33,    -1,    35,    -1,    37,    -1,    -1,    40,    41,
        !          2513:     -1,    -1,    44,    45,    46,    -1,    -1,    49,    50,    -1,
        !          2514:     -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,
1.1.1.5   root     2515:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,
1.1.1.6 ! root     2516:     -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,
        !          2517:     -1,    83,    -1,    85,    -1,    -1,    88,    -1,    -1,    91,
        !          2518:     92,    93,    -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2519:     -1,    -1,    -1,   105,    -1,   107,   108,     3,     4,     5,
        !          2520:      6,     7,     8,     9,    10,    -1,    12,    13,    14,    -1,
        !          2521:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !          2522:     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2523:     -1,    37,    -1,    -1,    40,    41,    -1,    -1,    44,    45,
        !          2524:     46,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2525:     -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,
        !          2526:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,
        !          2527:     76,    -1,    -1,    -1,    -1,    -1,    -1,    83,    -1,    85,
        !          2528:     -1,    -1,    88,    -1,    -1,    91,    92,    93,    -1,    95,
        !          2529:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
        !          2530:     -1,   107,   108,     3,     4,     5,    -1,     7,     8,     9,
        !          2531:     10,    -1,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2532:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
        !          2533:     30,    31,    -1,    33,    -1,    35,    -1,    37,    -1,    -1,
        !          2534:     40,    41,    -1,    -1,    44,    45,    46,    -1,    -1,    -1,
        !          2535:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,
        !          2536:     -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
        !          2537:     70,    71,    -1,    -1,    -1,    75,    76,    -1,    -1,    -1,
        !          2538:     -1,    -1,    -1,    83,    84,    -1,    -1,     3,     4,     5,
        !          2539:     -1,     7,     8,     9,    10,    95,    12,    13,    -1,    -1,
        !          2540:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,   108,    -1,
        !          2541:     -1,    -1,    28,    29,    30,    31,    -1,    33,    -1,    35,
        !          2542:     -1,    37,    -1,    -1,    40,    41,    -1,    -1,    44,    45,
        !          2543:     46,    -1,    -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2544:     -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,    -1,
                   2545:     -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,
                   2546:     76,    -1,    -1,    -1,    -1,    -1,    -1,    83,     3,     4,
                   2547:      5,    -1,     7,     8,     9,    10,    -1,    12,    13,    95,
1.1.1.6 ! root     2548:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2549:     -1,   107,   108,    28,    29,    30,    31,    -1,    33,    -1,
1.1.1.6 ! root     2550:     35,    -1,    37,    -1,    -1,    40,    41,    -1,    -1,    44,
        !          2551:     45,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2552:     -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,    -1,
                   2553:     -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,    -1,
                   2554:     75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,     3,
                   2555:      4,     5,    -1,     7,     8,     9,    10,    -1,    12,    13,
                   2556:     95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.6 ! root     2557:    105,    -1,   107,   108,    28,    29,    30,    31,    -1,    33,
        !          2558:     -1,    35,    -1,    37,    -1,    -1,    40,    41,    -1,    -1,
        !          2559:     44,    45,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.5   root     2560:     -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,    -1,
                   2561:     -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,    -1,
                   2562:     -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,    83,
                   2563:      3,     4,     5,    -1,     7,     8,     9,    10,    -1,    12,
                   2564:     13,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.6 ! root     2565:     -1,   105,    -1,   107,   108,    28,    29,    30,    31,    -1,
        !          2566:     33,    -1,    35,    -1,    37,    -1,    -1,    40,    41,    -1,
        !          2567:     -1,    44,    45,    46,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2568:     -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,    -1,
        !          2569:     -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,    -1,
        !          2570:     -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2571:     83,     3,     4,     5,    -1,     7,     8,     9,    10,    -1,
        !          2572:     12,    13,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2573:     -1,    -1,    -1,    -1,   107,   108,    28,    29,    30,    31,
1.1.1.5   root     2574:     -1,    33,    -1,    35,    -1,    37,    -1,    -1,    40,    41,
1.1.1.6 ! root     2575:     -1,    -1,    44,    45,    46,    -1,    -1,    -1,    -1,    -1,
        !          2576:     -1,    -1,    -1,    -1,    -1,    -1,    58,    -1,    -1,    61,
1.1.1.5   root     2577:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,    71,
1.1.1.6 ! root     2578:     -1,    -1,    -1,    75,    76,    -1,    -1,    -1,    -1,    -1,
        !          2579:     -1,    83,     3,     4,     5,    -1,     7,     8,     9,    10,
        !          2580:     -1,    12,    13,    95,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2581:     -1,    -1,    -1,    -1,    -1,   107,   108,    28,    29,    30,
        !          2582:     31,    -1,    33,    -1,    35,    -1,    37,    -1,    -1,    40,
        !          2583:     41,    -1,    -1,    44,    45,    46,     3,     4,     5,    -1,
        !          2584:      7,     8,     9,    10,    -1,    12,    13,    58,    -1,    -1,
        !          2585:     61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,    70,
        !          2586:     71,    28,    29,    -1,    75,    76,    33,    -1,    35,    -1,
        !          2587:     37,    -1,    83,    40,    41,    -1,    -1,    44,    45,    46,
        !          2588:     -1,    -1,    -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,
        !          2589:     -1,    58,    -1,    -1,    61,    -1,   107,   108,    -1,    -1,
        !          2590:     -1,    -1,    69,    70,    71,    -1,    -1,    -1,    75,    76,
        !          2591:     -1,    -1,    -1,     3,     4,     5,    83,     7,     8,     9,
        !          2592:     10,    -1,    12,    13,    -1,    -1,    -1,    -1,    95,    -1,
        !          2593:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    29,
        !          2594:    107,   108,    -1,    33,    -1,    35,    -1,    37,    -1,    -1,
        !          2595:     40,    41,    -1,    -1,    44,    45,    46,     3,     4,     5,
        !          2596:      6,     7,     8,    -1,    -1,    -1,    -1,    13,    58,    -1,
        !          2597:     -1,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    69,
        !          2598:     70,    71,    28,    -1,    -1,    75,    76,    -1,    -1,    35,
        !          2599:     -1,    -1,    -1,    83,    -1,    41,    42,    -1,    -1,    -1,
        !          2600:     46,    47,    -1,    -1,    -1,    95,    -1,    -1,    -1,    55,
        !          2601:     -1,    -1,    -1,    -1,    -1,    61,    -1,   107,   108,     3,
        !          2602:      4,     5,     6,     7,     8,    71,    -1,    -1,    -1,    13,
        !          2603:     -1,    -1,    78,    -1,    -1,    -1,    -1,    83,    -1,    -1,
        !          2604:     -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,    -1,    95,
        !          2605:     -1,    35,    -1,    -1,    -1,    -1,    -1,    41,    -1,    -1,
        !          2606:     -1,   107,    46,    47,     3,     4,     5,     6,     7,     8,
        !          2607:     -1,    -1,    11,    -1,    13,    -1,    -1,    61,    -1,    -1,
        !          2608:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    28,
        !          2609:     -1,    -1,    -1,    -1,    78,    -1,    35,    -1,    -1,    83,
        !          2610:     -1,    -1,    41,    -1,    -1,    -1,    -1,    46,    -1,    -1,
        !          2611:     -1,    95,    -1,    -1,    -1,     3,     4,     5,     6,     7,
        !          2612:      8,   105,    61,   107,    -1,    13,    -1,    -1,    -1,    -1,
        !          2613:     -1,    -1,    71,    -1,    -1,    -1,    -1,    -1,    -1,    78,
        !          2614:     28,    -1,    -1,    -1,    83,    -1,    -1,    35,    -1,    -1,
        !          2615:     -1,    -1,    -1,    41,    -1,    94,    95,    -1,    46,    47,
        !          2616:      3,     4,     5,     6,     7,     8,    -1,    -1,   107,    -1,
        !          2617:     13,    -1,    -1,    61,     3,     4,     5,     6,     7,     8,
        !          2618:     -1,    -1,    11,    71,    13,    28,    -1,    -1,    -1,    -1,
        !          2619:     78,    -1,    35,    -1,    -1,    83,    -1,    -1,    41,    28,
        !          2620:     -1,    -1,    -1,    46,    47,    -1,    35,    95,    -1,    -1,
        !          2621:     -1,    -1,    -1,    42,    -1,    -1,    -1,   105,    61,   107,
        !          2622:      4,     5,    -1,     7,     8,    -1,    -1,    -1,    71,    13,
        !          2623:     -1,    -1,    61,    -1,    -1,    78,    -1,    -1,    -1,    -1,
        !          2624:     83,    -1,    71,    -1,    28,    -1,    -1,    26,    27,    78,
        !          2625:     -1,    35,    95,    32,    83,    84,    -1,    -1,    42,    -1,
        !          2626:     -1,    -1,    -1,    47,   107,    94,    95,    46,    -1,    -1,
        !          2627:     -1,    50,    -1,    -1,    53,    -1,    55,    61,    -1,    -1,
        !          2628:     -1,    -1,    -1,    -1,    -1,    -1,    65,    71,    -1,    -1,
        !          2629:     -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    83,
        !          2630:     84,    -1,    -1,    -1,    -1,    84,    -1,    86,    -1,    -1,
        !          2631:     -1,    95,    -1,    -1,    93,    -1,    -1,    -1,    -1,    -1,
        !          2632:     -1,    -1,    -1,    52,    53,    54,    -1,   106,    57,    58,
        !          2633:     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
        !          2634:     69,    70,    71,    72,    73,    52,    53,    54,    -1,    -1,
1.1.1.2   root     2635:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1.1.1.6 ! root     2636:     67,    68,    69,    70,    71,    72,    73,    -1,    -1,    -1,
        !          2637:     -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,
        !          2638:    109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2639:     -1,    -1,    -1,    -1,    -1,    52,    53,    54,   105,   106,
        !          2640:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
        !          2641:     67,    68,    69,    70,    71,    72,    73,    51,    52,    53,
        !          2642:     54,    -1,    -1,    57,    58,    59,    60,    61,    62,    63,
        !          2643:     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
        !          2644:     52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1.1.1.4   root     2645:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1.1.1.5   root     2646:     72,    73,    52,    53,    54,    55,    -1,    57,    58,    59,
1.1.1.4   root     2647:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1.1.1.6 ! root     2648:     70,    71,    72,    73,    52,    53,    54,    55,    -1,    57,
1.1.1.5   root     2649:     58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
                   2650:     68,    69,    70,    71,    72,    73,    52,    53,    54,    -1,
                   2651:     -1,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1.1.1.6 ! root     2652:     66,    67,    68,    69,    70,    71,    72,    73,    54,    -1,
1.1.1.5   root     2653:     -1,    57,    58,    59,    60,    61,    62,    63,    64,    65,
                   2654:     66,    67,    68,    69,    70,    71,    72,    73,    58,    59,
1.1.1.4   root     2655:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1.1.1.5   root     2656:     70,    71,    72,    73,    59,    60,    61,    62,    63,    64,
                   2657:     65,    66,    67,    68,    69,    70,    71,    72,    73
1.1       root     2658: };
                   2659: /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
1.1.1.6 ! root     2660: #line 3 "/usr/local/lib/bison.simple"
1.1       root     2661: 
                   2662: /* Skeleton output parser for bison,
                   2663:    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
                   2664: 
                   2665:    This program is free software; you can redistribute it and/or modify
                   2666:    it under the terms of the GNU General Public License as published by
                   2667:    the Free Software Foundation; either version 1, or (at your option)
                   2668:    any later version.
                   2669: 
                   2670:    This program is distributed in the hope that it will be useful,
                   2671:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                   2672:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                   2673:    GNU General Public License for more details.
                   2674: 
                   2675:    You should have received a copy of the GNU General Public License
                   2676:    along with this program; if not, write to the Free Software
                   2677:    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
                   2678: 
                   2679: 
                   2680: #ifndef alloca
                   2681: #ifdef __GNUC__
                   2682: #define alloca __builtin_alloca
                   2683: #else /* not GNU C.  */
1.1.1.6 ! root     2684: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
1.1       root     2685: #include <alloca.h>
                   2686: #else /* not sparc */
                   2687: #if defined (MSDOS) && !defined (__TURBOC__)
                   2688: #include <malloc.h>
                   2689: #else /* not MSDOS, or __TURBOC__ */
                   2690: #if defined(_AIX)
                   2691: #include <malloc.h>
1.1.1.3   root     2692:  #pragma alloca
1.1.1.6 ! root     2693: #else /* not MSDOS, __TURBOC__, or _AIX */
        !          2694: #ifdef __hpux
        !          2695: #ifdef __cplusplus
        !          2696: extern "C" {
        !          2697: void *alloca (unsigned int);
        !          2698: };
        !          2699: #else /* not __cplusplus */
        !          2700: void *alloca ();
        !          2701: #endif /* not __cplusplus */
        !          2702: #endif /* __hpux */
1.1       root     2703: #endif /* not _AIX */
                   2704: #endif /* not MSDOS, or __TURBOC__ */
                   2705: #endif /* not sparc.  */
                   2706: #endif /* not GNU C.  */
                   2707: #endif /* alloca not defined.  */
                   2708: 
                   2709: /* This is the parser code that is written into each bison parser
                   2710:   when the %semantic_parser declaration is not specified in the grammar.
                   2711:   It was written by Richard Stallman by simplifying the hairy parser
                   2712:   used when %semantic_parser is specified.  */
                   2713: 
                   2714: /* Note: there must be only one dollar sign in this file.
                   2715:    It is replaced by the list of actions, each action
                   2716:    as one case of the switch.  */
                   2717: 
                   2718: #define yyerrok                (yyerrstatus = 0)
                   2719: #define yyclearin      (yychar = YYEMPTY)
                   2720: #define YYEMPTY                -2
                   2721: #define YYEOF          0
                   2722: #define YYACCEPT       return(0)
                   2723: #define YYABORT        return(1)
                   2724: #define YYERROR                goto yyerrlab1
                   2725: /* Like YYERROR except do call yyerror.
                   2726:    This remains here temporarily to ease the
                   2727:    transition to the new meaning of YYERROR, for GCC.
                   2728:    Once GCC version 2 has supplanted version 1, this can go.  */
                   2729: #define YYFAIL         goto yyerrlab
                   2730: #define YYRECOVERING()  (!!yyerrstatus)
                   2731: #define YYBACKUP(token, value) \
                   2732: do                                                             \
                   2733:   if (yychar == YYEMPTY && yylen == 1)                         \
                   2734:     { yychar = (token), yylval = (value);                      \
                   2735:       yychar1 = YYTRANSLATE (yychar);                          \
                   2736:       YYPOPSTACK;                                              \
                   2737:       goto yybackup;                                           \
                   2738:     }                                                          \
                   2739:   else                                                         \
                   2740:     { yyerror ("syntax error: cannot back up"); YYERROR; }     \
                   2741: while (0)
                   2742: 
                   2743: #define YYTERROR       1
                   2744: #define YYERRCODE      256
                   2745: 
                   2746: #ifndef YYPURE
                   2747: #define YYLEX          yylex()
                   2748: #endif
                   2749: 
                   2750: #ifdef YYPURE
                   2751: #ifdef YYLSP_NEEDED
                   2752: #define YYLEX          yylex(&yylval, &yylloc)
                   2753: #else
                   2754: #define YYLEX          yylex(&yylval)
                   2755: #endif
                   2756: #endif
                   2757: 
                   2758: /* If nonreentrant, generate the variables here */
                   2759: 
                   2760: #ifndef YYPURE
                   2761: 
                   2762: int    yychar;                 /*  the lookahead symbol                */
                   2763: YYSTYPE        yylval;                 /*  the semantic value of the           */
                   2764:                                /*  lookahead symbol                    */
                   2765: 
                   2766: #ifdef YYLSP_NEEDED
                   2767: YYLTYPE yylloc;                        /*  location data for the lookahead     */
                   2768:                                /*  symbol                              */
                   2769: #endif
                   2770: 
                   2771: int yynerrs;                   /*  number of parse errors so far       */
                   2772: #endif  /* not YYPURE */
                   2773: 
                   2774: #if YYDEBUG != 0
                   2775: int yydebug;                   /*  nonzero means print parse trace     */
                   2776: /* Since this is uninitialized, it does not stop multiple parsers
                   2777:    from coexisting.  */
                   2778: #endif
                   2779: 
                   2780: /*  YYINITDEPTH indicates the initial size of the parser's stacks      */
                   2781: 
                   2782: #ifndef        YYINITDEPTH
                   2783: #define YYINITDEPTH 200
                   2784: #endif
                   2785: 
                   2786: /*  YYMAXDEPTH is the maximum size the stacks can grow to
                   2787:     (effective only if the built-in stack extension method is used).  */
                   2788: 
                   2789: #if YYMAXDEPTH == 0
                   2790: #undef YYMAXDEPTH
                   2791: #endif
                   2792: 
                   2793: #ifndef YYMAXDEPTH
                   2794: #define YYMAXDEPTH 10000
                   2795: #endif
1.1.1.6 ! root     2796: 
        !          2797: /* Prevent warning if -Wstrict-prototypes.  */
        !          2798: #ifdef __GNUC__
        !          2799: int yyparse (void);
        !          2800: #endif
1.1       root     2801: 
                   2802: #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
                   2803: #define __yy_bcopy(FROM,TO,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
                   2804: #else                          /* not GNU C or C++ */
                   2805: #ifndef __cplusplus
                   2806: 
                   2807: /* This is the most reliable way to avoid incompatibilities
                   2808:    in available built-in functions on various systems.  */
                   2809: static void
                   2810: __yy_bcopy (from, to, count)
                   2811:      char *from;
                   2812:      char *to;
                   2813:      int count;
                   2814: {
                   2815:   register char *f = from;
                   2816:   register char *t = to;
                   2817:   register int i = count;
                   2818: 
                   2819:   while (i-- > 0)
                   2820:     *t++ = *f++;
                   2821: }
                   2822: 
                   2823: #else /* __cplusplus */
                   2824: 
                   2825: /* This is the most reliable way to avoid incompatibilities
                   2826:    in available built-in functions on various systems.  */
                   2827: static void
                   2828: __yy_bcopy (char *from, char *to, int count)
                   2829: {
                   2830:   register char *f = from;
                   2831:   register char *t = to;
                   2832:   register int i = count;
                   2833: 
                   2834:   while (i-- > 0)
                   2835:     *t++ = *f++;
                   2836: }
                   2837: 
                   2838: #endif
                   2839: #endif
                   2840: 
1.1.1.6 ! root     2841: #line 184 "/usr/local/lib/bison.simple"
        !          2842: 
        !          2843: /* The user can define YYPARSE_PARAM as the name of an argument to be passed
        !          2844:    into yyparse.  The argument should have type void *.
        !          2845:    It should actually point to an object.
        !          2846:    Grammar actions can access the variable by casting it
        !          2847:    to the proper pointer type.  */
        !          2848: 
        !          2849: #ifdef YYPARSE_PARAM
        !          2850: #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
        !          2851: #else
        !          2852: #define YYPARSE_PARAM
        !          2853: #define YYPARSE_PARAM_DECL
        !          2854: #endif
        !          2855: 
1.1       root     2856: int
1.1.1.6 ! root     2857: yyparse(YYPARSE_PARAM)
        !          2858:      YYPARSE_PARAM_DECL
1.1       root     2859: {
                   2860:   register int yystate;
                   2861:   register int yyn;
                   2862:   register short *yyssp;
                   2863:   register YYSTYPE *yyvsp;
                   2864:   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
1.1.1.6 ! root     2865:   int yychar1 = 0;             /*  lookahead token as an internal (translated) token number */
1.1       root     2866: 
                   2867:   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
                   2868:   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
                   2869: 
                   2870:   short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
                   2871:   YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
                   2872: 
                   2873: #ifdef YYLSP_NEEDED
                   2874:   YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
                   2875:   YYLTYPE *yyls = yylsa;
                   2876:   YYLTYPE *yylsp;
                   2877: 
1.1.1.3   root     2878: #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
1.1       root     2879: #else
1.1.1.3   root     2880: #define YYPOPSTACK   (yyvsp--, yyssp--)
1.1       root     2881: #endif
                   2882: 
                   2883:   int yystacksize = YYINITDEPTH;
                   2884: 
                   2885: #ifdef YYPURE
                   2886:   int yychar;
                   2887:   YYSTYPE yylval;
                   2888:   int yynerrs;
                   2889: #ifdef YYLSP_NEEDED
                   2890:   YYLTYPE yylloc;
                   2891: #endif
                   2892: #endif
                   2893: 
                   2894:   YYSTYPE yyval;               /*  the variable used to return         */
                   2895:                                /*  semantic values from the action     */
                   2896:                                /*  routines                            */
                   2897: 
                   2898:   int yylen;
                   2899: 
                   2900: #if YYDEBUG != 0
                   2901:   if (yydebug)
                   2902:     fprintf(stderr, "Starting parse\n");
                   2903: #endif
                   2904: 
                   2905:   yystate = 0;
                   2906:   yyerrstatus = 0;
                   2907:   yynerrs = 0;
                   2908:   yychar = YYEMPTY;            /* Cause a token to be read.  */
                   2909: 
                   2910:   /* Initialize stack pointers.
                   2911:      Waste one element of value and location stack
1.1.1.6 ! root     2912:      so that they stay on the same level as the state stack.
        !          2913:      The wasted elements are never initialized.  */
1.1       root     2914: 
                   2915:   yyssp = yyss - 1;
                   2916:   yyvsp = yyvs;
                   2917: #ifdef YYLSP_NEEDED
                   2918:   yylsp = yyls;
                   2919: #endif
                   2920: 
                   2921: /* Push a new state, which is found in  yystate  .  */
                   2922: /* In all cases, when you get here, the value and location stacks
                   2923:    have just been pushed. so pushing a state here evens the stacks.  */
                   2924: yynewstate:
                   2925: 
                   2926:   *++yyssp = yystate;
                   2927: 
                   2928:   if (yyssp >= yyss + yystacksize - 1)
                   2929:     {
                   2930:       /* Give user a chance to reallocate the stack */
                   2931:       /* Use copies of these so that the &'s don't force the real ones into memory. */
                   2932:       YYSTYPE *yyvs1 = yyvs;
                   2933:       short *yyss1 = yyss;
                   2934: #ifdef YYLSP_NEEDED
                   2935:       YYLTYPE *yyls1 = yyls;
                   2936: #endif
                   2937: 
                   2938:       /* Get the current used size of the three stacks, in elements.  */
                   2939:       int size = yyssp - yyss + 1;
                   2940: 
                   2941: #ifdef yyoverflow
                   2942:       /* Each stack pointer address is followed by the size of
                   2943:         the data in use in that stack, in bytes.  */
1.1.1.6 ! root     2944: #ifdef YYLSP_NEEDED
        !          2945:       /* This used to be a conditional around just the two extra args,
        !          2946:         but that might be undefined if yyoverflow is a macro.  */
1.1       root     2947:       yyoverflow("parser stack overflow",
                   2948:                 &yyss1, size * sizeof (*yyssp),
                   2949:                 &yyvs1, size * sizeof (*yyvsp),
                   2950:                 &yyls1, size * sizeof (*yylsp),
                   2951:                 &yystacksize);
1.1.1.6 ! root     2952: #else
        !          2953:       yyoverflow("parser stack overflow",
        !          2954:                 &yyss1, size * sizeof (*yyssp),
        !          2955:                 &yyvs1, size * sizeof (*yyvsp),
        !          2956:                 &yystacksize);
        !          2957: #endif
1.1       root     2958: 
                   2959:       yyss = yyss1; yyvs = yyvs1;
                   2960: #ifdef YYLSP_NEEDED
                   2961:       yyls = yyls1;
                   2962: #endif
                   2963: #else /* no yyoverflow */
                   2964:       /* Extend the stack our own way.  */
                   2965:       if (yystacksize >= YYMAXDEPTH)
                   2966:        {
                   2967:          yyerror("parser stack overflow");
                   2968:          return 2;
                   2969:        }
                   2970:       yystacksize *= 2;
                   2971:       if (yystacksize > YYMAXDEPTH)
                   2972:        yystacksize = YYMAXDEPTH;
                   2973:       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
                   2974:       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
                   2975:       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
                   2976:       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
                   2977: #ifdef YYLSP_NEEDED
                   2978:       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
                   2979:       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
                   2980: #endif
                   2981: #endif /* no yyoverflow */
                   2982: 
                   2983:       yyssp = yyss + size - 1;
                   2984:       yyvsp = yyvs + size - 1;
                   2985: #ifdef YYLSP_NEEDED
                   2986:       yylsp = yyls + size - 1;
                   2987: #endif
                   2988: 
                   2989: #if YYDEBUG != 0
                   2990:       if (yydebug)
                   2991:        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
                   2992: #endif
                   2993: 
                   2994:       if (yyssp >= yyss + yystacksize - 1)
                   2995:        YYABORT;
                   2996:     }
                   2997: 
                   2998: #if YYDEBUG != 0
                   2999:   if (yydebug)
                   3000:     fprintf(stderr, "Entering state %d\n", yystate);
                   3001: #endif
                   3002: 
1.1.1.6 ! root     3003:   goto yybackup;
1.1       root     3004:  yybackup:
                   3005: 
                   3006: /* Do appropriate processing given the current state.  */
                   3007: /* Read a lookahead token if we need one and don't already have one.  */
                   3008: /* yyresume: */
                   3009: 
                   3010:   /* First try to decide what to do without reference to lookahead token.  */
                   3011: 
                   3012:   yyn = yypact[yystate];
                   3013:   if (yyn == YYFLAG)
                   3014:     goto yydefault;
                   3015: 
                   3016:   /* Not known => get a lookahead token if don't already have one.  */
                   3017: 
                   3018:   /* yychar is either YYEMPTY or YYEOF
                   3019:      or a valid token in external form.  */
                   3020: 
                   3021:   if (yychar == YYEMPTY)
                   3022:     {
                   3023: #if YYDEBUG != 0
                   3024:       if (yydebug)
                   3025:        fprintf(stderr, "Reading a token: ");
                   3026: #endif
                   3027:       yychar = YYLEX;
                   3028:     }
                   3029: 
                   3030:   /* Convert token to internal form (in yychar1) for indexing tables with */
                   3031: 
                   3032:   if (yychar <= 0)             /* This means end of input. */
                   3033:     {
                   3034:       yychar1 = 0;
                   3035:       yychar = YYEOF;          /* Don't call YYLEX any more */
                   3036: 
                   3037: #if YYDEBUG != 0
                   3038:       if (yydebug)
                   3039:        fprintf(stderr, "Now at end of input.\n");
                   3040: #endif
                   3041:     }
                   3042:   else
                   3043:     {
                   3044:       yychar1 = YYTRANSLATE(yychar);
                   3045: 
                   3046: #if YYDEBUG != 0
                   3047:       if (yydebug)
                   3048:        {
                   3049:          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
                   3050:          /* Give the individual parser a way to print the precise meaning
                   3051:             of a token, for further debugging info.  */
                   3052: #ifdef YYPRINT
                   3053:          YYPRINT (stderr, yychar, yylval);
                   3054: #endif
                   3055:          fprintf (stderr, ")\n");
                   3056:        }
                   3057: #endif
                   3058:     }
                   3059: 
                   3060:   yyn += yychar1;
                   3061:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
                   3062:     goto yydefault;
                   3063: 
                   3064:   yyn = yytable[yyn];
                   3065: 
                   3066:   /* yyn is what to do for this token type in this state.
                   3067:      Negative => reduce, -yyn is rule number.
                   3068:      Positive => shift, yyn is new state.
                   3069:        New state is final state => don't bother to shift,
                   3070:        just return success.
                   3071:      0, or most negative number => error.  */
                   3072: 
                   3073:   if (yyn < 0)
                   3074:     {
                   3075:       if (yyn == YYFLAG)
                   3076:        goto yyerrlab;
                   3077:       yyn = -yyn;
                   3078:       goto yyreduce;
                   3079:     }
                   3080:   else if (yyn == 0)
                   3081:     goto yyerrlab;
                   3082: 
                   3083:   if (yyn == YYFINAL)
                   3084:     YYACCEPT;
                   3085: 
                   3086:   /* Shift the lookahead token.  */
                   3087: 
                   3088: #if YYDEBUG != 0
                   3089:   if (yydebug)
                   3090:     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
                   3091: #endif
                   3092: 
                   3093:   /* Discard the token being shifted unless it is eof.  */
                   3094:   if (yychar != YYEOF)
                   3095:     yychar = YYEMPTY;
                   3096: 
                   3097:   *++yyvsp = yylval;
                   3098: #ifdef YYLSP_NEEDED
                   3099:   *++yylsp = yylloc;
                   3100: #endif
                   3101: 
                   3102:   /* count tokens shifted since error; after three, turn off error status.  */
                   3103:   if (yyerrstatus) yyerrstatus--;
                   3104: 
                   3105:   yystate = yyn;
                   3106:   goto yynewstate;
                   3107: 
                   3108: /* Do the default action for the current state.  */
                   3109: yydefault:
                   3110: 
                   3111:   yyn = yydefact[yystate];
                   3112:   if (yyn == 0)
                   3113:     goto yyerrlab;
                   3114: 
                   3115: /* Do a reduction.  yyn is the number of a rule to reduce with.  */
                   3116: yyreduce:
                   3117:   yylen = yyr2[yyn];
1.1.1.6 ! root     3118:   if (yylen > 0)
        !          3119:     yyval = yyvsp[1-yylen]; /* implement default value of the action */
1.1       root     3120: 
                   3121: #if YYDEBUG != 0
                   3122:   if (yydebug)
                   3123:     {
                   3124:       int i;
                   3125: 
                   3126:       fprintf (stderr, "Reducing via rule %d (line %d), ",
                   3127:               yyn, yyrline[yyn]);
                   3128: 
1.1.1.6 ! root     3129:       /* Print the symbols being reduced, and their result.  */
1.1       root     3130:       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
                   3131:        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
                   3132:       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
                   3133:     }
                   3134: #endif
                   3135: 
                   3136: 
                   3137:   switch (yyn) {
                   3138: 
                   3139: case 2:
1.1.1.6 ! root     3140: #line 287 "cp-parse.y"
        !          3141: {
        !          3142:                  /* In case there were missing closebraces,
        !          3143:                     get us back to the global binding level.  */
        !          3144:                  while (! global_bindings_p ())
        !          3145:                    poplevel (0, 0, 0);
        !          3146:                  finish_file ();
        !          3147:                ;
1.1       root     3148:     break;}
                   3149: case 3:
1.1.1.6 ! root     3150: #line 301 "cp-parse.y"
1.1       root     3151: { yyval.ttype = NULL_TREE; ;
                   3152:     break;}
                   3153: case 4:
1.1.1.6 ! root     3154: #line 302 "cp-parse.y"
1.1       root     3155: {yyval.ttype = NULL_TREE; ;
                   3156:     break;}
                   3157: case 5:
1.1.1.6 ! root     3158: #line 304 "cp-parse.y"
1.1       root     3159: {yyval.ttype = NULL_TREE; ;
                   3160:     break;}
                   3161: case 6:
1.1.1.6 ! root     3162: #line 308 "cp-parse.y"
1.1.1.2   root     3163: { have_extern_spec = 1;
1.1.1.4   root     3164:                  used_extern_spec = 0;
1.1.1.2   root     3165:                  yyval.ttype = NULL_TREE; ;
1.1       root     3166:     break;}
                   3167: case 7:
1.1.1.6 ! root     3168: #line 313 "cp-parse.y"
1.1       root     3169: { have_extern_spec = 0; ;
                   3170:     break;}
                   3171: case 8:
1.1.1.6 ! root     3172: #line 317 "cp-parse.y"
1.1.1.5   root     3173: { if (pedantic)
                   3174:                      pedwarn ("ANSI C++ forbids use of `asm' keyword"); ;
1.1       root     3175:     break;}
1.1.1.5   root     3176: case 10:
1.1.1.6 ! root     3177: #line 324 "cp-parse.y"
1.1       root     3178: { if (pending_inlines) do_pending_inlines (); ;
                   3179:     break;}
1.1.1.5   root     3180: case 11:
1.1.1.6 ! root     3181: #line 326 "cp-parse.y"
1.1       root     3182: { if (pending_inlines) do_pending_inlines (); ;
                   3183:     break;}
                   3184: case 12:
1.1.1.6 ! root     3185: #line 328 "cp-parse.y"
1.1.1.5   root     3186: { if (pending_inlines) do_pending_inlines (); ;
                   3187:     break;}
                   3188: case 14:
1.1.1.6 ! root     3189: #line 331 "cp-parse.y"
1.1.1.5   root     3190: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
1.1       root     3191:                  assemble_asm (yyvsp[-2].ttype); ;
                   3192:     break;}
1.1.1.5   root     3193: case 15:
1.1.1.6 ! root     3194: #line 334 "cp-parse.y"
1.1       root     3195: { pop_lang_context (); ;
                   3196:     break;}
1.1.1.5   root     3197: case 16:
1.1.1.6 ! root     3198: #line 336 "cp-parse.y"
1.1       root     3199: { pop_lang_context (); ;
                   3200:     break;}
1.1.1.5   root     3201: case 17:
1.1.1.6 ! root     3202: #line 338 "cp-parse.y"
1.1       root     3203: { if (pending_inlines) do_pending_inlines ();
                   3204:                  pop_lang_context (); ;
                   3205:     break;}
1.1.1.5   root     3206: case 18:
1.1.1.6 ! root     3207: #line 341 "cp-parse.y"
1.1       root     3208: { if (pending_inlines) do_pending_inlines ();
                   3209:                  pop_lang_context (); ;
                   3210:     break;}
1.1.1.5   root     3211: case 19:
1.1.1.6 ! root     3212: #line 347 "cp-parse.y"
1.1       root     3213: { push_lang_context (yyvsp[0].ttype); ;
                   3214:     break;}
1.1.1.5   root     3215: case 20:
1.1.1.6 ! root     3216: #line 352 "cp-parse.y"
1.1       root     3217: { begin_template_parm_list (); ;
                   3218:     break;}
1.1.1.5   root     3219: case 21:
1.1.1.6 ! root     3220: #line 354 "cp-parse.y"
1.1       root     3221: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
                   3222:     break;}
1.1.1.5   root     3223: case 22:
1.1.1.6 ! root     3224: #line 359 "cp-parse.y"
1.1.1.5   root     3225: { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
1.1       root     3226:     break;}
1.1.1.5   root     3227: case 23:
1.1.1.6 ! root     3228: #line 361 "cp-parse.y"
1.1       root     3229: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   3230:     break;}
1.1.1.5   root     3231: case 24:
1.1.1.6 ! root     3232: #line 372 "cp-parse.y"
1.1       root     3233: {
1.1.1.2   root     3234:                  if (yyvsp[-1].ttype != class_type_node)
1.1       root     3235:                    error ("template type parameter must use keyword `class'");
                   3236:                  yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
                   3237:                ;
                   3238:     break;}
1.1.1.5   root     3239: case 25:
1.1.1.6 ! root     3240: #line 378 "cp-parse.y"
1.1       root     3241: {
1.1.1.2   root     3242:                  if (yyvsp[-3].ttype != class_type_node)
1.1       root     3243:                    error ("template type parameter must use keyword `class'");
                   3244:                  warning ("restricted template type parameters not yet implemented");
                   3245:                  yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
                   3246:                ;
                   3247:     break;}
1.1.1.5   root     3248: case 26:
1.1.1.6 ! root     3249: #line 385 "cp-parse.y"
1.1       root     3250: {
1.1.1.2   root     3251:                  if (yyvsp[-2].ttype != class_type_node)
1.1       root     3252:                    error ("template type parameter must use keyword `class'");
                   3253:                  warning ("restricted template type parameters not yet implemented");
                   3254:                  yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
                   3255:                ;
                   3256:     break;}
                   3257: case 28:
1.1.1.6 ! root     3258: #line 396 "cp-parse.y"
1.1.1.5   root     3259: { warning ("use of `overload' is an anachronism"); ;
1.1       root     3260:     break;}
                   3261: case 29:
1.1.1.6 ! root     3262: #line 400 "cp-parse.y"
1.1.1.5   root     3263: { declare_overloaded (yyvsp[0].ttype); ;
                   3264:     break;}
                   3265: case 30:
1.1.1.6 ! root     3266: #line 402 "cp-parse.y"
1.1.1.5   root     3267: { declare_overloaded (yyvsp[0].ttype); ;
1.1       root     3268:     break;}
                   3269: case 31:
1.1.1.6 ! root     3270: #line 409 "cp-parse.y"
1.1       root     3271: { yychar = '{'; goto template1; ;
                   3272:     break;}
                   3273: case 33:
1.1.1.6 ! root     3274: #line 412 "cp-parse.y"
1.1.1.5   root     3275: { yychar = '{'; goto template1; ;
1.1       root     3276:     break;}
                   3277: case 35:
1.1.1.6 ! root     3278: #line 415 "cp-parse.y"
1.1.1.5   root     3279: { yychar = ':'; goto template1; ;
                   3280:     break;}
                   3281: case 37:
1.1.1.6 ! root     3282: #line 418 "cp-parse.y"
1.1       root     3283: {
                   3284:                  yychar = ':';
                   3285:                template1:
                   3286:                  if (current_aggr == exception_type_node)
                   3287:                    error ("template type must define an aggregate or union");
                   3288:                  /* Maybe pedantic warning for union?
                   3289:                     How about an enum? :-)  */
                   3290:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3291:                  reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
                   3292:                  yychar = YYEMPTY;
                   3293:                ;
                   3294:     break;}
1.1.1.5   root     3295: case 39:
1.1.1.6 ! root     3296: #line 431 "cp-parse.y"
1.1       root     3297: {
                   3298:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3299:                  /* declare $2 as template name with $1 parm list */
                   3300:                ;
                   3301:     break;}
1.1.1.5   root     3302: case 40:
1.1.1.6 ! root     3303: #line 436 "cp-parse.y"
1.1       root     3304: {
                   3305:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3306:                  /* declare $2 as template name with $1 parm list */
                   3307:                ;
                   3308:     break;}
1.1.1.5   root     3309: case 41:
1.1.1.6 ! root     3310: #line 443 "cp-parse.y"
1.1       root     3311: {
                   3312:                  tree d;
                   3313:                  int momentary;
                   3314:                  momentary = suspend_momentary ();
1.1.1.5   root     3315:                  d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/NULL_TREE, 0, yyvsp[-3].ttype);
1.1.1.4   root     3316:                  cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3   root     3317:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1       root     3318:                  end_template_decl (yyvsp[-5].ttype, d, 0);
                   3319:                  if (yyvsp[0].itype != ';')
1.1.1.5   root     3320:                    reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-5].ttype, d);
1.1       root     3321:                  resume_momentary (momentary);
                   3322:                ;
                   3323:     break;}
1.1.1.5   root     3324: case 42:
1.1.1.6 ! root     3325: #line 458 "cp-parse.y"
1.1       root     3326: {
                   3327:                  tree d;
                   3328:                  int momentary;
                   3329: 
                   3330:                  current_declspecs = yyvsp[-5].ttype;
                   3331:                  momentary = suspend_momentary ();
1.1.1.5   root     3332:                  d = start_decl (yyvsp[-4].ttype, current_declspecs,
                   3333:                                  0, yyvsp[-3].ttype);
1.1.1.4   root     3334:                  cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3   root     3335:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1       root     3336:                  end_exception_decls ();
                   3337:                  end_template_decl (yyvsp[-6].ttype, d, 0);
                   3338:                  if (yyvsp[0].itype != ';')
                   3339:                    {
1.1.1.5   root     3340:                      reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-6].ttype, d);
1.1       root     3341:                      yychar = YYEMPTY;
                   3342:                    }
                   3343:                  note_list_got_semicolon (yyvsp[-5].ttype);
                   3344:                  resume_momentary (momentary);
                   3345:                ;
                   3346:     break;}
1.1.1.5   root     3347: case 43:
1.1.1.6 ! root     3348: #line 479 "cp-parse.y"
1.1       root     3349: {
                   3350:                  tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
1.1.1.3   root     3351:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3352:                  end_template_decl (yyvsp[-3].ttype, d, 0);
                   3353:                  if (yyvsp[0].itype != ';')
1.1.1.5   root     3354:                    reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-3].ttype, d);
1.1       root     3355:                ;
                   3356:     break;}
1.1.1.5   root     3357: case 44:
1.1.1.6 ! root     3358: #line 487 "cp-parse.y"
1.1.1.2   root     3359: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3360:     break;}
1.1.1.5   root     3361: case 45:
1.1.1.6 ! root     3362: #line 488 "cp-parse.y"
1.1.1.2   root     3363: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3364:     break;}
1.1.1.5   root     3365: case 46:
1.1.1.6 ! root     3366: #line 491 "cp-parse.y"
1.1.1.2   root     3367: { yyval.itype = '{'; ;
1.1       root     3368:     break;}
1.1.1.5   root     3369: case 47:
1.1.1.6 ! root     3370: #line 492 "cp-parse.y"
1.1.1.2   root     3371: { yyval.itype = ':'; ;
1.1       root     3372:     break;}
1.1.1.5   root     3373: case 48:
1.1.1.6 ! root     3374: #line 493 "cp-parse.y"
1.1.1.2   root     3375: { yyval.itype = ';'; ;
1.1       root     3376:     break;}
1.1.1.5   root     3377: case 49:
1.1.1.6 ! root     3378: #line 494 "cp-parse.y"
1.1.1.2   root     3379: { yyval.itype = '='; ;
                   3380:     break;}
1.1.1.5   root     3381: case 50:
1.1.1.6 ! root     3382: #line 495 "cp-parse.y"
1.1.1.2   root     3383: { yyval.itype = RETURN; ;
                   3384:     break;}
1.1.1.5   root     3385: case 51:
1.1.1.6 ! root     3386: #line 500 "cp-parse.y"
1.1       root     3387: { if (pedantic)
1.1.1.4   root     3388:                    pedwarn ("ANSI C++ forbids data definition with no type or storage class");
1.1       root     3389:                  else if (! flag_traditional && ! have_extern_spec)
                   3390:                    warning ("data definition has no type or storage class"); ;
                   3391:     break;}
1.1.1.5   root     3392: case 52:
1.1.1.6 ! root     3393: #line 505 "cp-parse.y"
1.1       root     3394: {;
                   3395:     break;}
1.1.1.5   root     3396: case 53:
1.1.1.6 ! root     3397: #line 508 "cp-parse.y"
1.1       root     3398: { tree d;
                   3399:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     3400:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3401:                ;
                   3402:     break;}
1.1.1.5   root     3403: case 54:
1.1.1.6 ! root     3404: #line 513 "cp-parse.y"
1.1       root     3405: {
                   3406:                  end_exception_decls ();
                   3407:                  note_list_got_semicolon (yyval.ttype);
                   3408:                ;
                   3409:     break;}
1.1.1.5   root     3410: case 55:
1.1.1.6 ! root     3411: #line 519 "cp-parse.y"
1.1       root     3412: { tree d;
                   3413:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     3414:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3415:                  end_exception_decls ();
                   3416:                  note_list_got_semicolon (yyval.ttype);
                   3417:                ;
                   3418:     break;}
1.1.1.5   root     3419: case 56:
1.1.1.6 ! root     3420: #line 526 "cp-parse.y"
1.1.1.4   root     3421: { pedwarn ("empty declaration"); ;
1.1       root     3422:     break;}
1.1.1.5   root     3423: case 57:
1.1.1.6 ! root     3424: #line 528 "cp-parse.y"
1.1       root     3425: {
                   3426:            tree t = yyval.ttype;
                   3427:            shadow_tag (t);
                   3428:            if (TREE_CODE (t) == TREE_LIST
                   3429:                && TREE_PURPOSE (t) == NULL_TREE)
                   3430:              {
                   3431:                t = TREE_VALUE (t);
1.1.1.6 ! root     3432:                if (TREE_CODE (t) == RECORD_TYPE
        !          3433:                    && TYPE_SIZE (t)
        !          3434:                    && CLASSTYPE_USE_TEMPLATE (t) == 0)
        !          3435:                  CLASSTYPE_USE_TEMPLATE (t) = 2;
        !          3436:                else if (TREE_CODE (t) == ENUMERAL_TYPE
        !          3437:                         && !TYPE_SIZE (t))
        !          3438:                  cp_error ("forward declaration of `%#T'", t);
1.1       root     3439:              }
                   3440:            note_list_got_semicolon (yyval.ttype);
                   3441:          ;
                   3442:     break;}
1.1.1.5   root     3443: case 61:
1.1.1.6 ! root     3444: #line 552 "cp-parse.y"
1.1       root     3445: {
                   3446:                  finish_function (lineno, 1);
                   3447:                  /* finish_function performs these three statements:
                   3448: 
                   3449:                     expand_end_bindings (getdecls (), 1, 0);
                   3450:                     poplevel (1, 1, 0);
                   3451: 
                   3452:                     expand_end_bindings (0, 0, 0);
                   3453:                     poplevel (0, 0, 1);
                   3454:                     */
                   3455:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3456:                ;
                   3457:     break;}
1.1.1.5   root     3458: case 62:
1.1.1.6 ! root     3459: #line 565 "cp-parse.y"
1.1       root     3460: {
                   3461:                  finish_function (lineno, 1);
                   3462:                  /* finish_function performs these three statements:
                   3463: 
                   3464:                     expand_end_bindings (getdecls (), 1, 0);
                   3465:                     poplevel (1, 1, 0);
                   3466: 
                   3467:                     expand_end_bindings (0, 0, 0);
                   3468:                     poplevel (0, 0, 1);
                   3469:                     */
                   3470:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3471:                ;
                   3472:     break;}
1.1.1.5   root     3473: case 63:
1.1.1.6 ! root     3474: #line 578 "cp-parse.y"
1.1       root     3475: { finish_function (lineno, 0);
                   3476:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3477:     break;}
1.1.1.5   root     3478: case 64:
1.1.1.6 ! root     3479: #line 581 "cp-parse.y"
1.1       root     3480: { finish_function (lineno, 0);
                   3481:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3482:     break;}
1.1.1.5   root     3483: case 65:
1.1.1.6 ! root     3484: #line 584 "cp-parse.y"
1.1       root     3485: { finish_function (lineno, 0);
                   3486:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3487:     break;}
1.1.1.5   root     3488: case 66:
1.1.1.6 ! root     3489: #line 587 "cp-parse.y"
1.1       root     3490: {;
                   3491:     break;}
1.1.1.5   root     3492: case 67:
1.1.1.6 ! root     3493: #line 589 "cp-parse.y"
1.1       root     3494: {;
                   3495:     break;}
1.1.1.5   root     3496: case 68:
1.1.1.6 ! root     3497: #line 591 "cp-parse.y"
1.1       root     3498: {;
                   3499:     break;}
1.1.1.5   root     3500: case 69:
1.1.1.6 ! root     3501: #line 596 "cp-parse.y"
1.1       root     3502: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3503:                    YYERROR1;
                   3504:                  reinit_parse_for_function ();
                   3505:                  yyval.ttype = NULL_TREE; ;
                   3506:     break;}
1.1.1.5   root     3507: case 70:
1.1.1.6 ! root     3508: #line 601 "cp-parse.y"
1.1       root     3509: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3510:                    YYERROR1;
                   3511:                  reinit_parse_for_function ();
                   3512:                  yyval.ttype = NULL_TREE; ;
                   3513:     break;}
1.1.1.5   root     3514: case 71:
1.1.1.6 ! root     3515: #line 606 "cp-parse.y"
1.1       root     3516: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
                   3517:                    YYERROR1;
                   3518:                  reinit_parse_for_function ();
                   3519:                  yyval.ttype = NULL_TREE; ;
                   3520:     break;}
1.1.1.5   root     3521: case 72:
1.1.1.6 ! root     3522: #line 611 "cp-parse.y"
1.1       root     3523: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3524:                    YYERROR1;
                   3525:                  reinit_parse_for_function ();
                   3526:                  yyval.ttype = NULL_TREE; ;
                   3527:     break;}
1.1.1.5   root     3528: case 73:
1.1.1.6 ! root     3529: #line 616 "cp-parse.y"
1.1       root     3530: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3531:                    YYERROR1;
                   3532:                  reinit_parse_for_function ();
                   3533:                  yyval.ttype = NULL_TREE; ;
                   3534:     break;}
1.1.1.5   root     3535: case 74:
1.1.1.6 ! root     3536: #line 621 "cp-parse.y"
1.1       root     3537: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3538:                    YYERROR1;
                   3539:                  reinit_parse_for_function ();
                   3540:                  yyval.ttype = NULL_TREE; ;
                   3541:     break;}
1.1.1.5   root     3542: case 75:
1.1.1.6 ! root     3543: #line 626 "cp-parse.y"
1.1       root     3544: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3545:                    YYERROR1;
                   3546:                  reinit_parse_for_function ();
                   3547:                  yyval.ttype = NULL_TREE; ;
                   3548:     break;}
1.1.1.5   root     3549: case 76:
1.1.1.6 ! root     3550: #line 631 "cp-parse.y"
1.1       root     3551: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
                   3552:                  reinit_parse_for_function (); ;
                   3553:     break;}
1.1.1.5   root     3554: case 77:
1.1.1.6 ! root     3555: #line 638 "cp-parse.y"
1.1       root     3556: {
                   3557:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3558:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3559:                  if (! yyval.ttype)
                   3560:                    YYERROR1;
                   3561:                  if (yychar == YYEMPTY)
                   3562:                    yychar = YYLEX;
                   3563:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3564:     break;}
1.1.1.5   root     3565: case 78:
1.1.1.6 ! root     3566: #line 647 "cp-parse.y"
1.1       root     3567: {
                   3568:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3569:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3570:                  if (! yyval.ttype)
                   3571:                    YYERROR1;
                   3572:                  if (yychar == YYEMPTY)
                   3573:                    yychar = YYLEX;
                   3574:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3575:     break;}
1.1.1.5   root     3576: case 79:
1.1.1.6 ! root     3577: #line 656 "cp-parse.y"
1.1       root     3578: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3579:                  if (! yyval.ttype)
                   3580:                    YYERROR1;
                   3581:                  if (yychar == YYEMPTY)
                   3582:                    yychar = YYLEX;
                   3583:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3584:     break;}
1.1.1.5   root     3585: case 80:
1.1.1.6 ! root     3586: #line 663 "cp-parse.y"
1.1       root     3587: {
                   3588:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3589:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3590:                  if (! yyval.ttype)
                   3591:                    YYERROR1;
                   3592:                  if (yychar == YYEMPTY)
                   3593:                    yychar = YYLEX;
                   3594:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3595:     break;}
1.1.1.5   root     3596: case 81:
1.1.1.6 ! root     3597: #line 672 "cp-parse.y"
1.1       root     3598: {
                   3599:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3600:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3601:                  if (! yyval.ttype)
                   3602:                    YYERROR1;
                   3603:                  if (yychar == YYEMPTY)
                   3604:                    yychar = YYLEX;
                   3605:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3606:     break;}
1.1.1.5   root     3607: case 82:
1.1.1.6 ! root     3608: #line 681 "cp-parse.y"
1.1       root     3609: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3610:                  if (! yyval.ttype)
                   3611:                    YYERROR1;
                   3612:                  if (yychar == YYEMPTY)
                   3613:                    yychar = YYLEX;
                   3614:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3615:     break;}
1.1.1.5   root     3616: case 83:
1.1.1.6 ! root     3617: #line 688 "cp-parse.y"
1.1       root     3618: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype);
                   3619:                  if (! yyval.ttype)
                   3620:                    YYERROR1;
                   3621:                  if (yychar == YYEMPTY)
                   3622:                    yychar = YYLEX;
                   3623:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3624:     break;}
1.1.1.5   root     3625: case 84:
1.1.1.6 ! root     3626: #line 697 "cp-parse.y"
1.1       root     3627: {
                   3628:                  if (! current_function_parms_stored)
                   3629:                    store_parm_decls ();
                   3630:                  yyval.ttype = yyvsp[0].ttype;
                   3631:                ;
                   3632:     break;}
1.1.1.5   root     3633: case 85:
1.1.1.6 ! root     3634: #line 705 "cp-parse.y"
1.1       root     3635: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3636:     break;}
1.1.1.5   root     3637: case 86:
1.1.1.6 ! root     3638: #line 707 "cp-parse.y"
1.1.1.4   root     3639: { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     3640:     break;}
1.1.1.5   root     3641: case 87:
1.1.1.6 ! root     3642: #line 709 "cp-parse.y"
1.1       root     3643: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
                   3644:     break;}
1.1.1.5   root     3645: case 88:
1.1.1.6 ! root     3646: #line 711 "cp-parse.y"
1.1       root     3647: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3648:     break;}
1.1.1.5   root     3649: case 89:
1.1.1.6 ! root     3650: #line 716 "cp-parse.y"
1.1       root     3651: {
                   3652:                  if (yyvsp[0].itype == 0)
                   3653:                    error ("no base initializers given following ':'");
                   3654:                  setup_vtbl_ptr ();
1.1.1.6 ! root     3655:                  /* Always keep the BLOCK node associated with the outermost
        !          3656:                     pair of curley braces of a function.  These are needed
        !          3657:                     for correct operation of dwarfout.c.  */
        !          3658:                  keep_next_level ();
1.1       root     3659:                ;
                   3660:     break;}
1.1.1.5   root     3661: case 90:
1.1.1.6 ! root     3662: #line 729 "cp-parse.y"
1.1       root     3663: {
                   3664:                  if (! current_function_parms_stored)
                   3665:                    store_parm_decls ();
                   3666: 
                   3667:                  /* Flag that we are processing base and member initializers.  */
                   3668:                  current_vtable_decl = error_mark_node;
                   3669: 
                   3670:                  if (DECL_CONSTRUCTOR_P (current_function_decl))
                   3671:                    {
                   3672:                      /* Make a contour for the initializer list.  */
                   3673:                      pushlevel (0);
                   3674:                      clear_last_expr ();
                   3675:                      expand_start_bindings (0);
                   3676:                    }
                   3677:                  else if (current_class_type == NULL_TREE)
                   3678:                    error ("base initializers not allowed for non-member functions");
                   3679:                  else if (! DECL_CONSTRUCTOR_P (current_function_decl))
                   3680:                    error ("only constructors take base initializers");
                   3681:                ;
                   3682:     break;}
1.1.1.5   root     3683: case 91:
1.1.1.6 ! root     3684: #line 752 "cp-parse.y"
1.1       root     3685: { yyval.itype = 0; ;
                   3686:     break;}
1.1.1.5   root     3687: case 92:
1.1.1.6 ! root     3688: #line 754 "cp-parse.y"
1.1       root     3689: { yyval.itype = 1; ;
                   3690:     break;}
1.1.1.5   root     3691: case 95:
1.1.1.6 ! root     3692: #line 760 "cp-parse.y"
1.1       root     3693: {
1.1.1.4   root     3694:                  if (current_class_name && !flag_traditional)
                   3695:                    pedwarn ("ANSI C++ forbids old style base class initialization",
1.1       root     3696:                             IDENTIFIER_POINTER (current_class_name));
                   3697:                  expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
                   3698:                ;
                   3699:     break;}
1.1.1.5   root     3700: case 96:
1.1.1.6 ! root     3701: #line 767 "cp-parse.y"
1.1       root     3702: {
1.1.1.4   root     3703:                  if (current_class_name && !flag_traditional)
                   3704:                    pedwarn ("ANSI C++ forbids old style base class initialization",
1.1       root     3705:                             IDENTIFIER_POINTER (current_class_name));
                   3706:                  expand_member_init (C_C_D, NULL_TREE, void_type_node);
                   3707:                ;
                   3708:     break;}
1.1.1.5   root     3709: case 97:
1.1.1.6 ! root     3710: #line 774 "cp-parse.y"
1.1       root     3711: {
                   3712:                  expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype);
                   3713:                ;
                   3714:     break;}
1.1.1.2   root     3715: case 98:
1.1.1.6 ! root     3716: #line 778 "cp-parse.y"
1.1.1.2   root     3717: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3718:     break;}
                   3719: case 99:
1.1.1.6 ! root     3720: #line 780 "cp-parse.y"
1.1.1.4   root     3721: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
                   3722:     break;}
                   3723: case 100:
1.1.1.6 ! root     3724: #line 782 "cp-parse.y"
1.1.1.4   root     3725: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3726:     break;}
                   3727: case 101:
1.1.1.6 ! root     3728: #line 784 "cp-parse.y"
1.1.1.5   root     3729: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
                   3730:     break;}
                   3731: case 102:
1.1.1.6 ! root     3732: #line 786 "cp-parse.y"
1.1.1.5   root     3733: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3734:     break;}
                   3735: case 103:
1.1.1.6 ! root     3736: #line 788 "cp-parse.y"
1.1       root     3737: {
                   3738:                  do_member_init (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3739:                ;
                   3740:     break;}
1.1.1.5   root     3741: case 104:
1.1.1.6 ! root     3742: #line 792 "cp-parse.y"
1.1       root     3743: {
                   3744:                  do_member_init (yyval.ttype, yyvsp[-1].ttype, void_type_node);
                   3745:                ;
                   3746:     break;}
1.1.1.5   root     3747: case 114:
1.1.1.6 ! root     3748: #line 816 "cp-parse.y"
1.1.1.4   root     3749: { yyval.ttype = build_parse_node (BIT_NOT_EXPR,yyvsp[0].ttype);;
1.1       root     3750:     break;}
1.1.1.5   root     3751: case 116:
1.1.1.6 ! root     3752: #line 822 "cp-parse.y"
1.1       root     3753: {
1.1.1.4   root     3754:                  extern tree template_type_seen_before_scope;
                   3755: 
1.1       root     3756:                  if (yyvsp[0].ttype) 
                   3757:                    yyval.ttype = yyvsp[0].ttype;
                   3758:                  else if (yyval.ttype != error_mark_node)
                   3759:                    yyval.ttype = IDENTIFIER_TYPE_VALUE (yyval.ttype);
1.1.1.4   root     3760:                  /* This is a kludge: In order to detect nested types inside
                   3761:                   * template classes, we have to tell the lexer that it should
                   3762:                   * try to replace a following SCOPE token with the correct
                   3763:                   * SCOPED_TYPENAME for the nested type.  This SCOPED_TYPENAME
                   3764:                   * token will be handled in the rule "scoped_typename".
                   3765:                   * - [email protected] */
1.1.1.5   root     3766:                  if (yychar == SCOPE)
                   3767:                    {
                   3768:                      /* We set template_type_seen_before_scope to be
                   3769:                         an error_mark_node so we can avoid meaningless
                   3770:                         and unhelpful syntax errors later.  */
                   3771:                      if (yyval.ttype != error_mark_node)
                   3772:                        template_type_seen_before_scope = TYPE_IDENTIFIER (yyval.ttype);
                   3773:                      else
                   3774:                        template_type_seen_before_scope = error_mark_node;
                   3775:                      yychar = YYLEX;
                   3776:                    }
1.1       root     3777:                ;
                   3778:     break;}
1.1.1.5   root     3779: case 117:
1.1.1.6 ! root     3780: #line 851 "cp-parse.y"
1.1.1.5   root     3781: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1       root     3782:     break;}
1.1.1.5   root     3783: case 118:
1.1.1.6 ! root     3784: #line 853 "cp-parse.y"
1.1.1.5   root     3785: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1.1.4   root     3786:     break;}
1.1.1.5   root     3787: case 119:
1.1.1.6 ! root     3788: #line 859 "cp-parse.y"
1.1       root     3789: { yyungetc ('{', 1); yyval.ttype = 0; ;
                   3790:     break;}
1.1.1.5   root     3791: case 120:
1.1.1.6 ! root     3792: #line 860 "cp-parse.y"
1.1       root     3793: { yyungetc (':', 1); yyval.ttype = 0; ;
                   3794:     break;}
1.1.1.5   root     3795: case 121:
1.1.1.6 ! root     3796: #line 862 "cp-parse.y"
1.1       root     3797: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3798:     break;}
1.1.1.5   root     3799: case 122:
1.1.1.6 ! root     3800: #line 867 "cp-parse.y"
1.1       root     3801: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3802:     break;}
1.1.1.5   root     3803: case 123:
1.1.1.6 ! root     3804: #line 872 "cp-parse.y"
1.1       root     3805: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3806:     break;}
1.1.1.5   root     3807: case 124:
1.1.1.6 ! root     3808: #line 874 "cp-parse.y"
1.1       root     3809: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3810:     break;}
1.1.1.5   root     3811: case 125:
1.1.1.6 ! root     3812: #line 879 "cp-parse.y"
1.1       root     3813: { yyval.ttype = groktypename (yyval.ttype); ;
                   3814:     break;}
1.1.1.5   root     3815: case 127:
1.1.1.6 ! root     3816: #line 885 "cp-parse.y"
1.1       root     3817: {
                   3818:                  tree t, decl, id, tmpl;
                   3819: 
                   3820:                  id = TREE_VALUE (yyvsp[-1].ttype);
                   3821:                  tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (id));
                   3822:                  t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, id, yyvsp[0].ttype);
                   3823:                  set_current_level_tags_transparency (1);
1.1.1.6 ! root     3824:                  my_friendly_assert (TREE_CODE (t) == RECORD_TYPE
        !          3825:                                      || TREE_CODE (t) == UNION_TYPE, 257);
1.1       root     3826:                  yyval.ttype = t;
                   3827: 
                   3828:                  /* Now, put a copy of the decl in global scope, to avoid
                   3829:                     recursive expansion.  */
                   3830:                  decl = IDENTIFIER_LOCAL_VALUE (id);
                   3831:                  if (!decl)
                   3832:                    decl = IDENTIFIER_CLASS_VALUE (id);
                   3833:                  /* Now, put a copy of the decl in global scope, to avoid
                   3834:                     recursive expansion.  */
                   3835:                   if (decl)
                   3836:                     {
                   3837:                      /* Need to copy it to clear the chain pointer,
                   3838:                         and need to get it into permanent storage.  */
1.1.1.4   root     3839:                       my_friendly_assert (TREE_CODE (decl) == TYPE_DECL, 258);
1.1       root     3840:                      push_obstacks (&permanent_obstack, &permanent_obstack);
                   3841:                       decl = copy_node (decl);
                   3842:                      if (DECL_LANG_SPECIFIC (decl))
                   3843:                        copy_lang_decl (decl);
                   3844:                      pop_obstacks ();
                   3845:                      pushdecl_top_level (decl);
                   3846:                    }
                   3847:                ;
                   3848:     break;}
1.1.1.5   root     3849: case 128:
1.1.1.6 ! root     3850: #line 917 "cp-parse.y"
1.1       root     3851: {
1.1.1.5   root     3852:                  yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0);
1.1       root     3853: 
                   3854:                  pop_obstacks ();
                   3855:                  end_template_instantiation (yyvsp[-5].ttype, yyvsp[-3].ttype);
                   3856: 
                   3857:                   /* Now go after the methods & class data.  */
                   3858:                   instantiate_member_templates (yyvsp[-5].ttype);
1.1.1.6 ! root     3859: 
        !          3860:                  pop_tinst_level();
        !          3861: 
1.1.1.4   root     3862:                  CLASSTYPE_GOT_SEMICOLON (yyval.ttype) = 1;
1.1       root     3863:                ;
                   3864:     break;}
1.1.1.5   root     3865: case 129:
1.1.1.6 ! root     3866: #line 934 "cp-parse.y"
1.1       root     3867: { yyval.ttype = NULL_TREE; ;
                   3868:     break;}
1.1.1.5   root     3869: case 130:
1.1.1.6 ! root     3870: #line 936 "cp-parse.y"
1.1       root     3871: { yyval.ttype = yyvsp[0].ttype; ;
                   3872:     break;}
1.1.1.5   root     3873: case 131:
1.1.1.6 ! root     3874: #line 941 "cp-parse.y"
1.1       root     3875: { yyval.ttype = NULL_TREE; /* never used from here... */;
                   3876:     break;}
1.1.1.5   root     3877: case 132:
1.1.1.6 ! root     3878: #line 943 "cp-parse.y"
1.1       root     3879: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
                   3880:     break;}
1.1.1.5   root     3881: case 133:
1.1.1.6 ! root     3882: #line 947 "cp-parse.y"
1.1       root     3883: { yyval.code = NEGATE_EXPR; ;
                   3884:     break;}
1.1.1.5   root     3885: case 134:
1.1.1.6 ! root     3886: #line 949 "cp-parse.y"
1.1       root     3887: { yyval.code = CONVERT_EXPR; ;
                   3888:     break;}
1.1.1.5   root     3889: case 135:
1.1.1.6 ! root     3890: #line 951 "cp-parse.y"
1.1       root     3891: { yyval.code = PREINCREMENT_EXPR; ;
                   3892:     break;}
1.1.1.5   root     3893: case 136:
1.1.1.6 ! root     3894: #line 953 "cp-parse.y"
1.1       root     3895: { yyval.code = PREDECREMENT_EXPR; ;
                   3896:     break;}
1.1.1.5   root     3897: case 137:
1.1.1.6 ! root     3898: #line 955 "cp-parse.y"
1.1       root     3899: { yyval.code = TRUTH_NOT_EXPR; ;
                   3900:     break;}
1.1.1.5   root     3901: case 138:
1.1.1.6 ! root     3902: #line 959 "cp-parse.y"
1.1       root     3903: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
                   3904:     break;}
1.1.1.5   root     3905: case 140:
1.1.1.6 ! root     3906: #line 966 "cp-parse.y"
1.1.1.5   root     3907: { error ("ANSI C++ forbids an empty condition for `%s'",
                   3908:                         cond_stmt_keyword);
                   3909:                  yyval.ttype = integer_zero_node; ;
                   3910:     break;}
                   3911: case 141:
1.1.1.6 ! root     3912: #line 970 "cp-parse.y"
1.1.1.5   root     3913: { yyval.ttype = yyvsp[-1].ttype; ;
                   3914:     break;}
                   3915: case 142:
1.1.1.6 ! root     3916: #line 975 "cp-parse.y"
        !          3917: { error ("ANSI C++ forbids an empty condition for `%s'",
        !          3918:                         cond_stmt_keyword);
        !          3919:                  yyval.ttype = integer_zero_node; ;
1.1       root     3920:     break;}
1.1.1.5   root     3921: case 143:
1.1.1.6 ! root     3922: #line 979 "cp-parse.y"
        !          3923: { yyval.ttype = yyvsp[-1].ttype; ;
1.1       root     3924:     break;}
1.1.1.5   root     3925: case 144:
1.1.1.6 ! root     3926: #line 984 "cp-parse.y"
        !          3927: { yyval.ttype = NULL_TREE; ;
        !          3928:     break;}
        !          3929: case 146:
        !          3930: #line 987 "cp-parse.y"
        !          3931: { yyval.ttype = NULL_TREE; ;
        !          3932:     break;}
        !          3933: case 147:
        !          3934: #line 992 "cp-parse.y"
        !          3935: { {
        !          3936:                  tree d;
        !          3937:                  for (d = getdecls (); d; d = TREE_CHAIN (d))
        !          3938:                    if (TREE_CODE (d) == TYPE_DECL) {
        !          3939:                      tree s = TREE_TYPE (d);
        !          3940:                      if (TREE_CODE (s) == RECORD_TYPE)
        !          3941:                        cp_error ("definition of class `%T' in condition", s);
        !          3942:                      else if (TREE_CODE (s) == ENUMERAL_TYPE)
        !          3943:                        cp_error ("definition of enum `%T' in condition", s);
        !          3944:                    }
        !          3945:                  }
        !          3946:                  current_declspecs = yyvsp[-5].ttype;
        !          3947:                  yyvsp[0].itype = suspend_momentary ();
        !          3948:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
        !          3949:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype);
        !          3950:                ;
        !          3951:     break;}
        !          3952: case 148:
        !          3953: #line 1009 "cp-parse.y"
        !          3954: { 
        !          3955:                  finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 0);
        !          3956:                  resume_momentary (yyvsp[-2].itype);
        !          3957:                  yyval.ttype = yyvsp[-1].ttype; 
        !          3958:                  if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
        !          3959:                    cp_error ("definition of array `%#D' in condition", yyval.ttype); 
        !          3960:                ;
        !          3961:     break;}
        !          3962: case 150:
        !          3963: #line 1022 "cp-parse.y"
        !          3964: { tree d = getdecls ();
        !          3965:                  emit_line_note (input_filename, lineno);
        !          3966:                  pushlevel (0);
        !          3967:                  clear_last_expr ();
        !          3968:                  push_momentary ();
        !          3969:                  expand_start_bindings (0);
        !          3970:                  if (d) pushdecl (d);
        !          3971:                ;
        !          3972:     break;}
        !          3973: case 151:
        !          3974: #line 1035 "cp-parse.y"
        !          3975: { pop_implicit_try_blocks (NULL_TREE);
        !          3976:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          3977:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
        !          3978:                  pop_momentary (); 
        !          3979:                  finish_stmt (); ;
        !          3980:     break;}
        !          3981: case 152:
        !          3982: #line 1041 "cp-parse.y"
        !          3983: { pop_implicit_try_blocks (NULL_TREE);
        !          3984:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          3985:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
        !          3986:                  pop_momentary (); 
        !          3987:                  finish_stmt (); ;
        !          3988:     break;}
        !          3989: case 153:
        !          3990: #line 1047 "cp-parse.y"
        !          3991: { pop_implicit_try_blocks (NULL_TREE);
        !          3992:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          3993:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
        !          3994:                  pop_momentary (); 
        !          3995:                  finish_stmt (); ;
        !          3996:     break;}
        !          3997: case 154:
        !          3998: #line 1053 "cp-parse.y"
        !          3999: { pop_implicit_try_blocks (NULL_TREE);
        !          4000:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          4001:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
        !          4002:                  pop_momentary (); ;
        !          4003:     break;}
        !          4004: case 155:
        !          4005: #line 1061 "cp-parse.y"
        !          4006: { finish_stmt (); ;
        !          4007:     break;}
        !          4008: case 156:
        !          4009: #line 1063 "cp-parse.y"
        !          4010: { finish_stmt (); ;
        !          4011:     break;}
        !          4012: case 157:
        !          4013: #line 1065 "cp-parse.y"
        !          4014: { finish_stmt (); ;
        !          4015:     break;}
        !          4016: case 159:
        !          4017: #line 1071 "cp-parse.y"
        !          4018: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
        !          4019:     break;}
        !          4020: case 160:
        !          4021: #line 1073 "cp-parse.y"
        !          4022: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
        !          4023:     break;}
        !          4024: case 161:
        !          4025: #line 1075 "cp-parse.y"
1.1       root     4026: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
                   4027:     break;}
1.1.1.6 ! root     4028: case 162:
        !          4029: #line 1080 "cp-parse.y"
1.1       root     4030: {
                   4031:                  if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
                   4032:                    yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
                   4033:                ;
                   4034:     break;}
1.1.1.6 ! root     4035: case 163:
        !          4036: #line 1086 "cp-parse.y"
1.1.1.2   root     4037: { yyvsp[0].itype = pedantic;
                   4038:                  pedantic = 0; ;
                   4039:     break;}
1.1.1.6 ! root     4040: case 164:
        !          4041: #line 1089 "cp-parse.y"
1.1.1.2   root     4042: { yyval.ttype = yyvsp[0].ttype;
                   4043:                  pedantic = yyvsp[-2].itype; ;
                   4044:     break;}
1.1.1.6 ! root     4045: case 165:
        !          4046: #line 1092 "cp-parse.y"
1.1       root     4047: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
                   4048:     break;}
1.1.1.6 ! root     4049: case 166:
        !          4050: #line 1094 "cp-parse.y"
1.1       root     4051: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
                   4052:     break;}
1.1.1.6 ! root     4053: case 167:
        !          4054: #line 1096 "cp-parse.y"
1.1       root     4055: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
                   4056:     break;}
1.1.1.6 ! root     4057: case 168:
        !          4058: #line 1098 "cp-parse.y"
1.1.1.5   root     4059: { yyval.ttype = build_x_unary_op ((enum tree_code) yyval.ttype, yyvsp[0].ttype);
1.1       root     4060:                  if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
                   4061:                    TREE_NEGATED_INT (yyval.ttype) = 1;
1.1.1.6 ! root     4062:                  overflow_warning (yyval.ttype);
1.1       root     4063:                ;
                   4064:     break;}
1.1.1.6 ! root     4065: case 169:
        !          4066: #line 1105 "cp-parse.y"
1.1.1.4   root     4067: { tree label = lookup_label (yyvsp[0].ttype);
1.1.1.6 ! root     4068:                  if (label == NULL_TREE)
        !          4069:                    yyval.ttype = null_pointer_node;
        !          4070:                  else
        !          4071:                    {
        !          4072:                      TREE_USED (label) = 1;
        !          4073:                      yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
        !          4074:                      TREE_CONSTANT (yyval.ttype) = 1;
        !          4075:                    }
        !          4076:                ;
1.1.1.4   root     4077:     break;}
1.1.1.6 ! root     4078: case 170:
        !          4079: #line 1116 "cp-parse.y"
1.1       root     4080: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   4081:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   4082:                    error ("sizeof applied to a bit-field");
                   4083:                  /* ANSI says arrays and functions are converted inside comma.
                   4084:                     But we can't really convert them in build_compound_expr
                   4085:                     because that would break commas in lvalues.
                   4086:                     So do the conversion here if operand was a comma.  */
                   4087:                  if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   4088:                      && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   4089:                          || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   4090:                    yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
1.1.1.5   root     4091:                  else if (TREE_CODE (yyvsp[0].ttype) == TREE_LIST)
                   4092:                    {
                   4093:                      tree t = TREE_VALUE (yyvsp[0].ttype);
                   4094:                      if (t != NULL_TREE
                   4095:                          && TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE)
                   4096:                        pedwarn ("ANSI C++ forbids using sizeof() on a function");
                   4097:                    }
1.1       root     4098:                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
                   4099:     break;}
1.1.1.6 ! root     4100: case 171:
        !          4101: #line 1136 "cp-parse.y"
1.1       root     4102: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
                   4103:     break;}
1.1.1.6 ! root     4104: case 172:
        !          4105: #line 1138 "cp-parse.y"
        !          4106: { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
1.1       root     4107:     break;}
1.1.1.6 ! root     4108: case 173:
        !          4109: #line 1140 "cp-parse.y"
1.1.1.5   root     4110: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
1.1.1.4   root     4111:     break;}
1.1.1.6 ! root     4112: case 174:
        !          4113: #line 1143 "cp-parse.y"
1.1.1.5   root     4114: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1       root     4115:     break;}
1.1.1.6 ! root     4116: case 175:
        !          4117: #line 1145 "cp-parse.y"
1.1.1.5   root     4118: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4   root     4119:     break;}
1.1.1.6 ! root     4120: case 176:
        !          4121: #line 1147 "cp-parse.y"
1.1.1.5   root     4122: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype != NULL_TREE); ;
1.1       root     4123:     break;}
1.1.1.6 ! root     4124: case 177:
        !          4125: #line 1149 "cp-parse.y"
        !          4126: { cp_error ("`%T' is not a valid expression", yyvsp[-1].ttype);
        !          4127:                  yyval.ttype = error_mark_node; ;
        !          4128:     break;}
        !          4129: case 178:
        !          4130: #line 1152 "cp-parse.y"
1.1.1.5   root     4131: { yyval.ttype = build_new (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype != NULL_TREE); ;
1.1.1.4   root     4132:     break;}
1.1.1.6 ! root     4133: case 179:
        !          4134: #line 1154 "cp-parse.y"
1.1.1.5   root     4135: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
                   4136:     break;}
1.1.1.6 ! root     4137: case 180:
        !          4138: #line 1156 "cp-parse.y"
1.1.1.5   root     4139: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
                   4140:     break;}
1.1.1.6 ! root     4141: case 181:
        !          4142: #line 1158 "cp-parse.y"
1.1.1.5   root     4143: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype != NULL_TREE); ;
                   4144:     break;}
1.1.1.6 ! root     4145: case 182:
        !          4146: #line 1160 "cp-parse.y"
1.1.1.5   root     4147: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype != NULL_TREE); ;
                   4148:     break;}
1.1.1.6 ! root     4149: case 183:
        !          4150: #line 1168 "cp-parse.y"
1.1       root     4151: {
                   4152:                  tree absdcl, typename;
                   4153: 
                   4154:                illegal_new_array:
                   4155:                  absdcl = build_parse_node (ARRAY_REF, yyvsp[-4].ttype, yyvsp[-1].ttype);
                   4156:                  typename = build_decl_list (yyvsp[-5].ttype, absdcl);
1.1.1.4   root     4157:                  pedwarn ("ANSI C++ forbids array dimensions with parenthesized type");
1.1.1.5   root     4158:                  yyval.ttype = build_new (yyvsp[-7].ttype, typename, NULL_TREE, yyval.ttype != NULL_TREE);
1.1       root     4159:                ;
                   4160:     break;}
1.1.1.6 ! root     4161: case 184:
        !          4162: #line 1178 "cp-parse.y"
1.1       root     4163: { goto illegal_new_array; ;
                   4164:     break;}
1.1.1.6 ! root     4165: case 185:
        !          4166: #line 1181 "cp-parse.y"
1.1.1.5   root     4167: { 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     4168:     break;}
1.1.1.6 ! root     4169: case 186:
        !          4170: #line 1183 "cp-parse.y"
1.1.1.5   root     4171: { 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     4172:     break;}
1.1.1.6 ! root     4173: case 187:
        !          4174: #line 1185 "cp-parse.y"
1.1.1.5   root     4175: { 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     4176:     break;}
1.1.1.6 ! root     4177: case 188:
        !          4178: #line 1187 "cp-parse.y"
1.1.1.5   root     4179: { 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     4180:     break;}
1.1.1.6 ! root     4181: case 189:
        !          4182: #line 1190 "cp-parse.y"
1.1.1.5   root     4183: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4   root     4184:     break;}
1.1.1.6 ! root     4185: case 190:
        !          4186: #line 1192 "cp-parse.y"
1.1.1.5   root     4187: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype != NULL_TREE); ;
1.1.1.4   root     4188:     break;}
1.1.1.6 ! root     4189: case 191:
        !          4190: #line 1195 "cp-parse.y"
        !          4191: { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0); ;
1.1       root     4192:     break;}
1.1.1.6 ! root     4193: case 192:
        !          4194: #line 1197 "cp-parse.y"
        !          4195: { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1);
1.1       root     4196:                  if (yychar == YYEMPTY)
1.1.1.6 ! root     4197:                    yychar = YYLEX; ;
1.1       root     4198:     break;}
1.1.1.6 ! root     4199: case 193:
        !          4200: #line 1201 "cp-parse.y"
        !          4201: { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2);
1.1       root     4202:                  if (yychar == YYEMPTY)
1.1.1.6 ! root     4203:                    yychar = YYLEX; ;
1.1       root     4204:     break;}
1.1.1.6 ! root     4205: case 195:
        !          4206: #line 1209 "cp-parse.y"
1.1       root     4207: { tree type = groktypename (yyvsp[-2].ttype);
                   4208:                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
                   4209:     break;}
1.1.1.6 ! root     4210: case 196:
        !          4211: #line 1212 "cp-parse.y"
1.1       root     4212: { tree type = groktypename (yyvsp[-5].ttype);
                   4213:                  tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   4214:                  if (pedantic)
1.1.1.4   root     4215:                    pedwarn ("ANSI C++ forbids constructor-expressions");
1.1       root     4216:                  /* Indicate that this was a GNU C constructor expression.  */
                   4217:                  TREE_HAS_CONSTRUCTOR (init) = 1;
1.1.1.5   root     4218:                  yyval.ttype = digest_init (type, init, (tree *) 0);
1.1       root     4219:                  if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
                   4220:                    {
                   4221:                      int failure = complete_array_type (type, yyval.ttype, 1);
                   4222:                      if (failure)
1.1.1.3   root     4223:                        my_friendly_abort (78);
1.1       root     4224:                    }
                   4225:                ;
                   4226:     break;}
1.1.1.6 ! root     4227: case 197:
        !          4228: #line 1227 "cp-parse.y"
1.1       root     4229: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
                   4230:     break;}
1.1.1.6 ! root     4231: case 198:
        !          4232: #line 1229 "cp-parse.y"
1.1       root     4233: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
                   4234:     break;}
1.1.1.6 ! root     4235: case 199:
        !          4236: #line 1231 "cp-parse.y"
1.1       root     4237: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
                   4238:                    {
                   4239:                      tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
                   4240:                      yyval.ttype = CLASSTYPE_DOSSIER (type);
                   4241:                    }
                   4242:                  else
                   4243:                    yyval.ttype = error_mark_node;
                   4244:                ;
                   4245:     break;}
1.1.1.6 ! root     4246: case 201:
        !          4247: #line 1244 "cp-parse.y"
1.1       root     4248: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4249:     break;}
1.1.1.6 ! root     4250: case 202:
        !          4251: #line 1246 "cp-parse.y"
1.1.1.4   root     4252: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4253:     break;}
1.1.1.6 ! root     4254: case 203:
        !          4255: #line 1248 "cp-parse.y"
1.1.1.4   root     4256: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4257:     break;}
1.1.1.6 ! root     4258: case 204:
        !          4259: #line 1250 "cp-parse.y"
1.1       root     4260: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4261:     break;}
1.1.1.6 ! root     4262: case 205:
        !          4263: #line 1252 "cp-parse.y"
1.1.1.5   root     4264: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4265:     break;}
1.1.1.6 ! root     4266: case 206:
        !          4267: #line 1254 "cp-parse.y"
1.1.1.5   root     4268: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4269:     break;}
1.1.1.6 ! root     4270: case 207:
        !          4271: #line 1256 "cp-parse.y"
1.1       root     4272: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4273:     break;}
1.1.1.6 ! root     4274: case 208:
        !          4275: #line 1258 "cp-parse.y"
1.1       root     4276: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4277:     break;}
1.1.1.6 ! root     4278: case 209:
        !          4279: #line 1260 "cp-parse.y"
1.1.1.5   root     4280: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4281:     break;}
1.1.1.6 ! root     4282: case 210:
        !          4283: #line 1262 "cp-parse.y"
1.1.1.5   root     4284: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4285:     break;}
1.1.1.6 ! root     4286: case 211:
        !          4287: #line 1264 "cp-parse.y"
1.1.1.4   root     4288: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4289:     break;}
1.1.1.6 ! root     4290: case 212:
        !          4291: #line 1266 "cp-parse.y"
1.1.1.5   root     4292: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4293:     break;}
1.1.1.6 ! root     4294: case 213:
        !          4295: #line 1268 "cp-parse.y"
1.1.1.5   root     4296: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1.1.4   root     4297:     break;}
1.1.1.6 ! root     4298: case 214:
        !          4299: #line 1270 "cp-parse.y"
1.1.1.5   root     4300: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1.1.4   root     4301:     break;}
1.1.1.6 ! root     4302: case 215:
        !          4303: #line 1272 "cp-parse.y"
1.1.1.5   root     4304: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1.1.4   root     4305:     break;}
1.1.1.6 ! root     4306: case 216:
        !          4307: #line 1274 "cp-parse.y"
1.1.1.5   root     4308: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   4309:     break;}
1.1.1.6 ! root     4310: case 217:
        !          4311: #line 1276 "cp-parse.y"
1.1.1.5   root     4312: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   4313:     break;}
1.1.1.6 ! root     4314: case 218:
        !          4315: #line 1278 "cp-parse.y"
1.1.1.5   root     4316: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4317:     break;}
1.1.1.6 ! root     4318: case 219:
        !          4319: #line 1280 "cp-parse.y"
1.1.1.5   root     4320: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
                   4321:     break;}
1.1.1.6 ! root     4322: case 220:
        !          4323: #line 1282 "cp-parse.y"
1.1       root     4324: { register tree rval;
1.1.1.4   root     4325:                  if (rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype,
1.1.1.5   root     4326:                                             make_node (yyvsp[-1].code)))
1.1       root     4327:                    yyval.ttype = rval;
                   4328:                  else
                   4329:                    yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
                   4330:     break;}
1.1.1.6 ! root     4331: case 221:
        !          4332: #line 1289 "cp-parse.y"
        !          4333: { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4334:     break;}
1.1.1.6 ! root     4335: case 222:
        !          4336: #line 1292 "cp-parse.y"
1.1       root     4337: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
                   4338:     break;}
1.1.1.6 ! root     4339: case 223:
        !          4340: #line 1310 "cp-parse.y"
1.1       root     4341: { yyval.ttype = do_identifier (yyval.ttype); ;
                   4342:     break;}
1.1.1.6 ! root     4343: case 224:
        !          4344: #line 1312 "cp-parse.y"
1.1       root     4345: {
                   4346:                  tree op = yyval.ttype;
                   4347:                  if (TREE_CODE (op) != IDENTIFIER_NODE)
                   4348:                    yyval.ttype = op;
                   4349:                  else
                   4350:                    {
1.1.1.4   root     4351:                      yyval.ttype = lookup_name (op, 0);
1.1       root     4352:                      if (yyval.ttype == NULL_TREE)
                   4353:                        {
1.1.1.6 ! root     4354:                          if (op != ansi_opname[ERROR_MARK])
        !          4355:                            error ("operator %s not defined",
        !          4356:                                   operator_name_string (op));
1.1       root     4357:                          yyval.ttype = error_mark_node;
                   4358:                        }
                   4359:                    }
                   4360:                ;
                   4361:     break;}
1.1.1.6 ! root     4362: case 226:
        !          4363: #line 1330 "cp-parse.y"
1.1       root     4364: { yyval.ttype = combine_strings (yyval.ttype); ;
                   4365:     break;}
1.1.1.6 ! root     4366: case 227:
        !          4367: #line 1332 "cp-parse.y"
1.1       root     4368: { yyval.ttype = yyvsp[-1].ttype; ;
                   4369:     break;}
1.1.1.6 ! root     4370: case 228:
        !          4371: #line 1334 "cp-parse.y"
1.1       root     4372: { yyval.ttype = error_mark_node; ;
                   4373:     break;}
1.1.1.6 ! root     4374: case 229:
        !          4375: #line 1336 "cp-parse.y"
1.1       root     4376: { if (current_function_decl == 0)
                   4377:                    {
                   4378:                      error ("braced-group within expression allowed only inside a function");
                   4379:                      YYERROR;
                   4380:                    }
                   4381:                  keep_next_level ();
                   4382:                  yyval.ttype = expand_start_stmt_expr (); ;
                   4383:     break;}
1.1.1.6 ! root     4384: case 230:
        !          4385: #line 1344 "cp-parse.y"
1.1       root     4386: { tree rtl_exp;
                   4387:                  if (pedantic)
1.1.1.4   root     4388:                    pedwarn ("ANSI C++ forbids braced-groups within expressions");
1.1       root     4389:                  rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
                   4390:                  /* The statements have side effects, so the group does.  */
                   4391:                  TREE_SIDE_EFFECTS (rtl_exp) = 1;
                   4392:                  /* Make a BIND_EXPR for the BLOCK already made.  */
                   4393:                  yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
                   4394:                              NULL_TREE, rtl_exp, yyvsp[-1].ttype);
1.1.1.4   root     4395:                  /* Remove the block from the tree at this point.
                   4396:                     It gets put back at the proper place
                   4397:                     when the BIND_EXPR is expanded.  */
                   4398:                  delete_block (yyvsp[-1].ttype);
1.1       root     4399:                ;
                   4400:     break;}
1.1.1.6 ! root     4401: case 231:
        !          4402: #line 1359 "cp-parse.y"
1.1       root     4403: { /* [eichin:19911016.1902EST] */
                   4404:                   yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
                   4405:                   /* here we instantiate_class_template as needed... */
1.1.1.4   root     4406:                   do_pending_templates ();
1.1       root     4407:                 ;
                   4408:     break;}
1.1.1.6 ! root     4409: case 232:
        !          4410: #line 1363 "cp-parse.y"
1.1       root     4411: {
                   4412:                   if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
                   4413:                       && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
                   4414:                    yyval.ttype = require_complete_type (yyvsp[-1].ttype);
                   4415:                   else
                   4416:                     yyval.ttype = yyvsp[-1].ttype;
                   4417:                 ;
                   4418:     break;}
1.1.1.6 ! root     4419: case 233:
        !          4420: #line 1371 "cp-parse.y"
1.1.1.5   root     4421: {
1.1.1.6 ! root     4422:                  yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
        !          4423:                  if (TREE_CODE (yyval.ttype) == CALL_EXPR
        !          4424:                      && TREE_TYPE (yyval.ttype) != void_type_node)
        !          4425:                    yyval.ttype = require_complete_type (yyval.ttype);
1.1       root     4426:                 ;
                   4427:     break;}
1.1.1.6 ! root     4428: case 234:
        !          4429: #line 1378 "cp-parse.y"
        !          4430: { do_array:
        !          4431:                    yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4432:     break;}
1.1.1.6 ! root     4433: case 235:
        !          4434: #line 1381 "cp-parse.y"
1.1       root     4435: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
                   4436:     break;}
1.1.1.6 ! root     4437: case 236:
        !          4438: #line 1383 "cp-parse.y"
        !          4439: { yyval.ttype = build_object_ref (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
1.1       root     4440:     break;}
1.1.1.6 ! root     4441: case 237:
        !          4442: #line 1385 "cp-parse.y"
        !          4443: { /* If we get an OFFSET_REF, turn it into what it really
        !          4444:                     means (e.g., a COMPONENT_REF).  This way if we've got,
        !          4445:                     say, a reference to a static member that's being operated
        !          4446:                     on, we don't end up trying to find a member operator for
        !          4447:                     the class it's in.  */
        !          4448:                  if (TREE_CODE (yyval.ttype) == OFFSET_REF)
        !          4449:                    yyval.ttype = resolve_offset_ref (yyval.ttype);
        !          4450:                  yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
1.1       root     4451:     break;}
1.1.1.6 ! root     4452: case 238:
        !          4453: #line 1394 "cp-parse.y"
        !          4454: { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
        !          4455:                    yyval.ttype = resolve_offset_ref (yyval.ttype);
        !          4456:                  yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
1.1       root     4457:     break;}
1.1.1.6 ! root     4458: case 239:
        !          4459: #line 1399 "cp-parse.y"
1.1       root     4460: { if (current_class_decl)
                   4461:                    {
                   4462: #ifdef WARNING_ABOUT_CCD
                   4463:                      TREE_USED (current_class_decl) = 1;
                   4464: #endif
                   4465:                      yyval.ttype = current_class_decl;
                   4466:                    }
                   4467:                  else if (current_function_decl
                   4468:                           && DECL_STATIC_FUNCTION_P (current_function_decl))
                   4469:                    {
                   4470:                      error ("`this' is unavailable for static member functions");
                   4471:                      yyval.ttype = error_mark_node;
                   4472:                    }
                   4473:                  else
                   4474:                    {
                   4475:                      if (current_function_decl)
                   4476:                        error ("invalid use of `this' in non-member function");
                   4477:                      else
                   4478:                        error ("invalid use of `this' at top level");
                   4479:                      yyval.ttype = error_mark_node;
                   4480:                    }
                   4481:                ;
                   4482:     break;}
1.1.1.6 ! root     4483: case 240:
        !          4484: #line 1422 "cp-parse.y"
1.1       root     4485: {
                   4486:                  tree type;
                   4487:                  tree id = yyval.ttype;
                   4488: 
                   4489:                  /* This is a C cast in C++'s `functional' notation.  */
                   4490:                  if (yyvsp[-1].ttype == error_mark_node)
                   4491:                    {
                   4492:                      yyval.ttype = error_mark_node;
                   4493:                      break;
                   4494:                    }
                   4495: #if 0
                   4496:                  if (yyvsp[-1].ttype == NULL_TREE)
                   4497:                    {
                   4498:                      error ("cannot cast null list to type `%s'",
                   4499:                             IDENTIFIER_POINTER (TYPE_NAME (id)));
                   4500:                      yyval.ttype = error_mark_node;
                   4501:                      break;
                   4502:                    }
                   4503: #endif
1.1.1.4   root     4504: #if 0
                   4505:                  /* type is not set! (mrs) */
1.1       root     4506:                  if (type == error_mark_node)
                   4507:                    yyval.ttype = error_mark_node;
                   4508:                  else
1.1.1.4   root     4509: #endif
1.1       root     4510:                    {
                   4511:                      if (id == ridpointers[(int) RID_CONST])
                   4512:                        type = build_type_variant (integer_type_node, 1, 0);
                   4513:                      else if (id == ridpointers[(int) RID_VOLATILE])
                   4514:                        type = build_type_variant (integer_type_node, 0, 1);
1.1.1.4   root     4515: #if 0
                   4516:                      /* should not be able to get here (mrs) */
1.1       root     4517:                      else if (id == ridpointers[(int) RID_FRIEND])
                   4518:                        {
                   4519:                          error ("cannot cast expression to `friend' type");
                   4520:                          yyval.ttype = error_mark_node;
                   4521:                          break;
                   4522:                        }
1.1.1.4   root     4523: #endif
1.1.1.3   root     4524:                      else my_friendly_abort (79);
1.1       root     4525:                      yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
                   4526:                    }
                   4527:                ;
                   4528:     break;}
1.1.1.6 ! root     4529: case 241:
        !          4530: #line 1466 "cp-parse.y"
1.1       root     4531: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
                   4532:     break;}
1.1.1.6 ! root     4533: case 242:
        !          4534: #line 1468 "cp-parse.y"
1.1       root     4535: { yyval.ttype = build_functional_cast (yyval.ttype, NULL_TREE); ;
                   4536:     break;}
1.1.1.6 ! root     4537: case 243:
        !          4538: #line 1471 "cp-parse.y"
        !          4539: { tree type = groktypename (yyvsp[-4].ttype);
        !          4540:                  yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
        !          4541:     break;}
        !          4542: case 244:
        !          4543: #line 1474 "cp-parse.y"
        !          4544: { yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
        !          4545:     break;}
        !          4546: case 245:
        !          4547: #line 1476 "cp-parse.y"
        !          4548: { tree type = groktypename (yyvsp[-1].ttype);
        !          4549:                  yyval.ttype = get_typeid (type); ;
        !          4550:     break;}
        !          4551: case 246:
        !          4552: #line 1479 "cp-parse.y"
1.1.1.4   root     4553: { yyval.ttype = build_functional_cast (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4554:     break;}
1.1.1.6 ! root     4555: case 247:
        !          4556: #line 1481 "cp-parse.y"
1.1.1.4   root     4557: { yyval.ttype = build_functional_cast (yyvsp[-1].ttype, NULL_TREE); ;
                   4558:     break;}
1.1.1.6 ! root     4559: case 248:
        !          4560: #line 1483 "cp-parse.y"
1.1       root     4561: {
                   4562:                do_scoped_id:
                   4563:                  yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
                   4564:                  if (yychar == YYEMPTY)
                   4565:                    yychar = YYLEX;
                   4566:                  if (! yyval.ttype)
                   4567:                    {
                   4568:                      if (yychar == '(' || yychar == LEFT_RIGHT)
                   4569:                        yyval.ttype = implicitly_declare (yyvsp[0].ttype);
                   4570:                      else
                   4571:                        {
                   4572:                          if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
                   4573:                            error ("undeclared variable `%s' (first use here)",
                   4574:                                   IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4575:                          yyval.ttype = error_mark_node;
                   4576:                          /* Prevent repeated error messages.  */
                   4577:                          IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
                   4578:                        }
                   4579:                    }
                   4580:                  else
                   4581:                    {
1.1.1.5   root     4582:                      if (TREE_CODE (yyval.ttype) == ADDR_EXPR)
                   4583:                        assemble_external (TREE_OPERAND (yyval.ttype, 0));
                   4584:                      else
                   4585:                        assemble_external (yyval.ttype);
1.1       root     4586:                      TREE_USED (yyval.ttype) = 1;
                   4587:                    }
                   4588:                  if (TREE_CODE (yyval.ttype) == CONST_DECL)
1.1.1.4   root     4589:                    {
                   4590:                      /* XXX CHS - should we set TREE_USED of the constant? */
                   4591:                      yyval.ttype = DECL_INITIAL (yyval.ttype);
                   4592:                      /* This is to prevent an enum whose value is 0
                   4593:                         from being considered a null pointer constant.  */
                   4594:                      yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
                   4595:                      TREE_CONSTANT (yyval.ttype) = 1;
                   4596:                    }
                   4597: 
1.1       root     4598:                ;
                   4599:     break;}
1.1.1.6 ! root     4600: case 249:
        !          4601: #line 1522 "cp-parse.y"
1.1       root     4602: {
                   4603:                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                   4604:                    goto do_scoped_id;
                   4605:                do_scoped_operator:
                   4606:                  yyval.ttype = yyvsp[0].ttype;
                   4607:                ;
                   4608:     break;}
1.1.1.6 ! root     4609: case 250:
        !          4610: #line 1529 "cp-parse.y"
1.1       root     4611: { yyval.ttype = build_offset_ref (yyval.ttype, yyvsp[0].ttype); ;
                   4612:     break;}
1.1.1.6 ! root     4613: case 251:
        !          4614: #line 1531 "cp-parse.y"
1.1       root     4615: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4616:     break;}
1.1.1.6 ! root     4617: case 252:
        !          4618: #line 1533 "cp-parse.y"
1.1       root     4619: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4620:     break;}
1.1.1.6 ! root     4621: case 253:
        !          4622: #line 1535 "cp-parse.y"
        !          4623: {
        !          4624: #if 0
        !          4625:                  /* This is a future direction of this code, but because
        !          4626:                     build_x_function_call cannot always undo what is done
        !          4627:                     in build_component_ref entirely yet, we cannot do this. */
        !          4628:                  yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-3].ttype, NULL_TREE, 1), yyvsp[-1].ttype, yyval.ttype);
        !          4629:                  if (TREE_CODE (yyval.ttype) == CALL_EXPR
        !          4630:                      && TREE_TYPE (yyval.ttype) != void_type_node)
        !          4631:                    yyval.ttype = require_complete_type (yyval.ttype);
        !          4632: #else
        !          4633:                  yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
        !          4634:                                          (LOOKUP_NORMAL|LOOKUP_AGGR));
        !          4635: #endif
        !          4636:                ;
1.1       root     4637:     break;}
1.1.1.6 ! root     4638: case 254:
        !          4639: #line 1550 "cp-parse.y"
        !          4640: {
        !          4641: #if 0
        !          4642:                  /* This is a future direction of this code, but because
        !          4643:                     build_x_function_call cannot always undo what is done
        !          4644:                     in build_component_ref entirely yet, we cannot do this. */
        !          4645:                  yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, 1), NULL_TREE, yyval.ttype);
        !          4646:                  if (TREE_CODE (yyval.ttype) == CALL_EXPR
        !          4647:                      && TREE_TYPE (yyval.ttype) != void_type_node)
        !          4648:                    yyval.ttype = require_complete_type (yyval.ttype);
        !          4649: #else
        !          4650:                  yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
        !          4651:                                          (LOOKUP_NORMAL|LOOKUP_AGGR));
        !          4652: #endif
        !          4653:                ;
1.1       root     4654:     break;}
1.1.1.6 ! root     4655: case 255:
        !          4656: #line 1565 "cp-parse.y"
1.1       root     4657: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4658:     break;}
1.1.1.6 ! root     4659: case 256:
        !          4660: #line 1567 "cp-parse.y"
1.1       root     4661: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4662:     break;}
1.1.1.6 ! root     4663: case 257:
        !          4664: #line 1570 "cp-parse.y"
        !          4665: { 
        !          4666:                  if (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype)) 
        !          4667:                      != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype))))
        !          4668:                    cp_error ("`%E' is not of type `%T'", yyvsp[-3].ttype, yyvsp[-1].ttype);
        !          4669:                  yyval.ttype = void_zero_node;
        !          4670:                ;
        !          4671:     break;}
        !          4672: case 258:
        !          4673: #line 1577 "cp-parse.y"
        !          4674: { 
        !          4675:                  if (yyvsp[-4].ttype != yyvsp[-1].ttype)
        !          4676:                    cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
        !          4677:                  if (TREE_CODE (TREE_TYPE (yyvsp[-5].ttype))
        !          4678:                      != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-4].ttype))))
        !          4679:                    cp_error ("`%E' is not of type `%T'", yyvsp[-5].ttype, yyvsp[-4].ttype);
        !          4680:                  yyval.ttype = void_zero_node; 
        !          4681:                ;
        !          4682:     break;}
        !          4683: case 259:
        !          4684: #line 1626 "cp-parse.y"
1.1       root     4685: { yyval.ttype = NULL_TREE; ;
                   4686:     break;}
1.1.1.6 ! root     4687: case 260:
        !          4688: #line 1628 "cp-parse.y"
1.1.1.4   root     4689: {
                   4690:                  yyval.ttype = yyvsp[-1].ttype;
                   4691:                  pedwarn ("old style placement syntax, use () instead");
                   4692:                ;
1.1       root     4693:     break;}
1.1.1.6 ! root     4694: case 261:
        !          4695: #line 1636 "cp-parse.y"
1.1       root     4696: { yyval.itype = 0; ;
                   4697:     break;}
1.1.1.6 ! root     4698: case 262:
        !          4699: #line 1638 "cp-parse.y"
1.1       root     4700: { yyval.itype = 1; ;
                   4701:     break;}
1.1.1.6 ! root     4702: case 263:
        !          4703: #line 1642 "cp-parse.y"
1.1       root     4704: { yyval.ttype = NULL_TREE; ;
                   4705:     break;}
1.1.1.6 ! root     4706: case 264:
        !          4707: #line 1644 "cp-parse.y"
1.1       root     4708: { if (yyvsp[0].ttype)
                   4709:                    error ("extra `::' before `delete' ignored");
                   4710:                  yyval.ttype = error_mark_node;
                   4711:                ;
                   4712:     break;}
1.1.1.6 ! root     4713: case 266:
        !          4714: #line 1654 "cp-parse.y"
1.1       root     4715: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4716:     break;}
1.1.1.6 ! root     4717: case 267:
        !          4718: #line 1659 "cp-parse.y"
1.1       root     4719: {
                   4720:                  if (! current_function_parms_stored)
                   4721:                    store_parm_decls ();
                   4722:                  setup_vtbl_ptr ();
1.1.1.6 ! root     4723:                  /* Always keep the BLOCK node associated with the outermost
        !          4724:                     pair of curley braces of a function.  These are needed
        !          4725:                     for correct operation of dwarfout.c.  */
        !          4726:                  keep_next_level ();
1.1       root     4727:                ;
                   4728:     break;}
1.1.1.6 ! root     4729: case 269:
        !          4730: #line 1672 "cp-parse.y"
1.1       root     4731: {
1.1.1.4   root     4732:                  yyval.ttype = build_x_arrow (yyval.ttype);
1.1       root     4733:                ;
                   4734:     break;}
1.1.1.6 ! root     4735: case 271:
        !          4736: #line 1682 "cp-parse.y"
1.1       root     4737: {
                   4738:                  resume_momentary (yyvsp[-1].itype);
                   4739:                  note_list_got_semicolon (yyval.ttype);
                   4740:                ;
                   4741:     break;}
1.1.1.6 ! root     4742: case 272:
        !          4743: #line 1688 "cp-parse.y"
1.1       root     4744: { tree d;
                   4745:                  int yes = suspend_momentary ();
                   4746:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     4747:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     4748:                  resume_momentary (yes);
                   4749:                  note_list_got_semicolon (yyval.ttype);
                   4750:                ;
                   4751:     break;}
1.1.1.6 ! root     4752: case 273:
        !          4753: #line 1696 "cp-parse.y"
1.1.1.5   root     4754: { resume_momentary ((int) yyvsp[-1].itype); ;
1.1       root     4755:     break;}
1.1.1.6 ! root     4756: case 274:
        !          4757: #line 1699 "cp-parse.y"
1.1       root     4758: { tree d;
                   4759:                  int yes = suspend_momentary ();
                   4760:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     4761:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     4762:                  resume_momentary (yes);
                   4763:                ;
                   4764:     break;}
1.1.1.6 ! root     4765: case 275:
        !          4766: #line 1706 "cp-parse.y"
1.1       root     4767: {
                   4768:                  shadow_tag (yyval.ttype);
                   4769:                  note_list_got_semicolon (yyval.ttype);
                   4770:                ;
                   4771:     break;}
1.1.1.6 ! root     4772: case 276:
        !          4773: #line 1711 "cp-parse.y"
1.1       root     4774: { warning ("empty declaration"); ;
                   4775:     break;}
1.1.1.6 ! root     4776: case 279:
        !          4777: #line 1721 "cp-parse.y"
1.1       root     4778: { yyval.ttype = yyvsp[0].ttype; ;
                   4779:     break;}
1.1.1.6 ! root     4780: case 280:
        !          4781: #line 1723 "cp-parse.y"
1.1       root     4782: { yyval.ttype = yyvsp[0].ttype; ;
                   4783:     break;}
1.1.1.6 ! root     4784: case 281:
        !          4785: #line 1732 "cp-parse.y"
        !          4786: { if (yyval.ttype) yyval.ttype = list_hash_lookup_or_cons (yyval.ttype); ;
1.1       root     4787:     break;}
1.1.1.6 ! root     4788: case 282:
        !          4789: #line 1734 "cp-parse.y"
1.1       root     4790: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4791:     break;}
1.1.1.6 ! root     4792: case 283:
        !          4793: #line 1736 "cp-parse.y"
1.1       root     4794: { yyval.ttype = hash_tree_chain (yyval.ttype, yyvsp[0].ttype); ;
                   4795:     break;}
1.1.1.6 ! root     4796: case 284:
        !          4797: #line 1738 "cp-parse.y"
1.1       root     4798: { yyval.ttype = hash_tree_chain (yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4799:     break;}
1.1.1.6 ! root     4800: case 285:
        !          4801: #line 1744 "cp-parse.y"
1.1       root     4802: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   4803:     break;}
1.1.1.6 ! root     4804: case 286:
        !          4805: #line 1746 "cp-parse.y"
1.1.1.4   root     4806: { if (extra_warnings)
                   4807:                    warning ("`%s' is not at beginning of declaration",
                   4808:                             IDENTIFIER_POINTER (yyval.ttype));
                   4809:                  yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
1.1       root     4810:     break;}
1.1.1.6 ! root     4811: case 287:
        !          4812: #line 1751 "cp-parse.y"
1.1       root     4813: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4814:     break;}
1.1.1.6 ! root     4815: case 288:
        !          4816: #line 1753 "cp-parse.y"
1.1.1.4   root     4817: { if (extra_warnings)
                   4818:                    warning ("`%s' is not at beginning of declaration",
                   4819:                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4820:                  yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
1.1       root     4821:     break;}
1.1.1.6 ! root     4822: case 289:
        !          4823: #line 1765 "cp-parse.y"
1.1.1.4   root     4824: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype);
                   4825:                  TREE_STATIC (yyval.ttype) = 1; ;
1.1       root     4826:     break;}
1.1.1.6 ! root     4827: case 290:
        !          4828: #line 1768 "cp-parse.y"
1.1       root     4829: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   4830:     break;}
1.1.1.6 ! root     4831: case 291:
        !          4832: #line 1770 "cp-parse.y"
1.1.1.4   root     4833: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
                   4834:                  TREE_STATIC (yyval.ttype) = 1; ;
1.1       root     4835:     break;}
1.1.1.6 ! root     4836: case 292:
        !          4837: #line 1773 "cp-parse.y"
1.1.1.4   root     4838: { if (extra_warnings && TREE_STATIC (yyval.ttype))
                   4839:                    warning ("`%s' is not at beginning of declaration",
                   4840:                             IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4841:                  yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
                   4842:                  TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
1.1       root     4843:     break;}
1.1.1.6 ! root     4844: case 293:
        !          4845: #line 1789 "cp-parse.y"
1.1       root     4846: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4847:     break;}
1.1.1.6 ! root     4848: case 294:
        !          4849: #line 1791 "cp-parse.y"
1.1       root     4850: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4851:     break;}
1.1.1.6 ! root     4852: case 295:
        !          4853: #line 1793 "cp-parse.y"
1.1       root     4854: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
                   4855:     break;}
1.1.1.6 ! root     4856: case 296:
        !          4857: #line 1795 "cp-parse.y"
1.1       root     4858: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4859:     break;}
1.1.1.6 ! root     4860: case 297:
        !          4861: #line 1800 "cp-parse.y"
1.1       root     4862: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4863:     break;}
1.1.1.6 ! root     4864: case 298:
        !          4865: #line 1802 "cp-parse.y"
1.1       root     4866: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4867:     break;}
1.1.1.6 ! root     4868: case 303:
        !          4869: #line 1814 "cp-parse.y"
1.1       root     4870: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
                   4871:                  if (pedantic)
1.1.1.4   root     4872:                    pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1       root     4873:     break;}
1.1.1.6 ! root     4874: case 304:
        !          4875: #line 1818 "cp-parse.y"
1.1       root     4876: { yyval.ttype = groktypename (yyvsp[-1].ttype);
                   4877:                  if (pedantic)
1.1.1.4   root     4878:                    pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1       root     4879:     break;}
1.1.1.6 ! root     4880: case 313:
        !          4881: #line 1843 "cp-parse.y"
1.1       root     4882: { yyval.ttype = NULL_TREE; ;
                   4883:     break;}
1.1.1.6 ! root     4884: case 314:
        !          4885: #line 1845 "cp-parse.y"
1.1.1.5   root     4886: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
1.1       root     4887:     break;}
1.1.1.6 ! root     4888: case 315:
        !          4889: #line 1850 "cp-parse.y"
1.1       root     4890: { current_declspecs = yyvsp[-5].ttype;
                   4891:                  yyvsp[0].itype = suspend_momentary ();
1.1.1.3   root     4892:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4   root     4893:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4894:     break;}
1.1.1.6 ! root     4895: case 316:
        !          4896: #line 1856 "cp-parse.y"
1.1.1.3   root     4897: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1       root     4898:                  yyval.itype = yyvsp[-2].itype; ;
                   4899:     break;}
1.1.1.6 ! root     4900: case 317:
        !          4901: #line 1859 "cp-parse.y"
1.1       root     4902: { tree d;
                   4903:                  current_declspecs = yyvsp[-4].ttype;
                   4904:                  yyval.itype = suspend_momentary ();
                   4905:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4   root     4906:                  cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3   root     4907:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4908:     break;}
1.1.1.6 ! root     4909: case 318:
        !          4910: #line 1869 "cp-parse.y"
1.1.1.3   root     4911: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4   root     4912:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4913:     break;}
1.1.1.6 ! root     4914: case 319:
        !          4915: #line 1873 "cp-parse.y"
1.1.1.3   root     4916: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
1.1       root     4917:     break;}
1.1.1.6 ! root     4918: case 320:
        !          4919: #line 1875 "cp-parse.y"
1.1.1.5   root     4920: { tree d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4   root     4921:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
1.1.1.3   root     4922:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4923:     break;}
1.1.1.6 ! root     4924: case 321:
        !          4925: #line 1882 "cp-parse.y"
1.1       root     4926: { current_declspecs = yyvsp[-5].ttype;
                   4927:                  yyvsp[0].itype = suspend_momentary ();
1.1.1.3   root     4928:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4   root     4929:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4930:     break;}
1.1.1.6 ! root     4931: case 322:
        !          4932: #line 1888 "cp-parse.y"
1.1.1.3   root     4933: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1       root     4934:                  yyval.itype = yyvsp[-2].itype; ;
                   4935:     break;}
1.1.1.6 ! root     4936: case 323:
        !          4937: #line 1891 "cp-parse.y"
1.1       root     4938: { tree d;
                   4939:                  current_declspecs = yyvsp[-4].ttype;
                   4940:                  yyval.itype = suspend_momentary ();
                   4941:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4   root     4942:                  cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3   root     4943:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4944:     break;}
1.1.1.6 ! root     4945: case 324:
        !          4946: #line 1903 "cp-parse.y"
1.1       root     4947: { yyval.ttype = NULL_TREE; ;
                   4948:     break;}
1.1.1.6 ! root     4949: case 325:
        !          4950: #line 1905 "cp-parse.y"
1.1       root     4951: { yyval.ttype = yyvsp[-2].ttype; ;
                   4952:     break;}
1.1.1.6 ! root     4953: case 326:
        !          4954: #line 1910 "cp-parse.y"
1.1.1.3   root     4955: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   4956:     break;}
1.1.1.6 ! root     4957: case 327:
        !          4958: #line 1912 "cp-parse.y"
1.1.1.3   root     4959: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   4960:     break;}
1.1.1.6 ! root     4961: case 328:
        !          4962: #line 1917 "cp-parse.y"
        !          4963: { if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed")
        !          4964:              && strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "noreturn"))
1.1.1.3   root     4965:            warning ("`%s' attribute directive ignored",
                   4966:                     IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4967:          yyval.ttype = yyvsp[0].ttype; ;
1.1       root     4968:     break;}
1.1.1.6 ! root     4969: case 329:
        !          4970: #line 1923 "cp-parse.y"
1.1.1.3   root     4971: { /* if not "aligned(n)", then issue warning */
                   4972:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
                   4973:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   4974:            {
                   4975:              warning ("`%s' attribute directive ignored",
                   4976:                       IDENTIFIER_POINTER (yyvsp[-3].ttype));
                   4977:              yyval.ttype = yyvsp[-3].ttype;
                   4978:            }
                   4979:          else
1.1.1.4   root     4980:            yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1       root     4981:     break;}
1.1.1.6 ! root     4982: case 330:
        !          4983: #line 1934 "cp-parse.y"
1.1.1.3   root     4984: { /* if not "format(...)", then issue warning */
                   4985:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
                   4986:              || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
                   4987:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   4988:            {
                   4989:              warning ("`%s' attribute directive ignored",
                   4990:                       IDENTIFIER_POINTER (yyvsp[-7].ttype));
                   4991:              yyval.ttype = yyvsp[-7].ttype;
                   4992:            }
                   4993:          else
1.1.1.4   root     4994:            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     4995:     break;}
1.1.1.6 ! root     4996: case 331:
        !          4997: #line 1950 "cp-parse.y"
1.1.1.2   root     4998: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   4999:     break;}
1.1.1.6 ! root     5000: case 332:
        !          5001: #line 1952 "cp-parse.y"
1.1.1.2   root     5002: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   5003:     break;}
1.1.1.6 ! root     5004: case 334:
        !          5005: #line 1958 "cp-parse.y"
1.1       root     5006: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
                   5007:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1;
                   5008:                  if (pedantic)
1.1.1.4   root     5009:                    pedwarn ("ANSI C++ forbids empty initializer braces"); ;
1.1       root     5010:     break;}
1.1.1.6 ! root     5011: case 335:
        !          5012: #line 1963 "cp-parse.y"
1.1       root     5013: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
                   5014:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   5015:     break;}
1.1.1.6 ! root     5016: case 336:
        !          5017: #line 1966 "cp-parse.y"
1.1       root     5018: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   5019:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   5020:     break;}
1.1.1.6 ! root     5021: case 337:
        !          5022: #line 1969 "cp-parse.y"
1.1       root     5023: { yyval.ttype = NULL_TREE; ;
                   5024:     break;}
1.1.1.6 ! root     5025: case 338:
        !          5026: #line 1976 "cp-parse.y"
1.1       root     5027: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   5028:     break;}
1.1.1.6 ! root     5029: case 339:
        !          5030: #line 1978 "cp-parse.y"
1.1       root     5031: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5032:     break;}
1.1.1.6 ! root     5033: case 340:
        !          5034: #line 1981 "cp-parse.y"
1.1       root     5035: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5036:     break;}
1.1.1.6 ! root     5037: case 341:
        !          5038: #line 1983 "cp-parse.y"
1.1       root     5039: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   5040:     break;}
1.1.1.6 ! root     5041: case 342:
        !          5042: #line 1985 "cp-parse.y"
1.1       root     5043: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
                   5044:     break;}
1.1.1.6 ! root     5045: case 343:
        !          5046: #line 1987 "cp-parse.y"
1.1       root     5047: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   5048:     break;}
1.1.1.6 ! root     5049: case 344:
        !          5050: #line 1992 "cp-parse.y"
1.1       root     5051: { yyvsp[0].itype = suspend_momentary ();
                   5052:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
1.1.1.6 ! root     5053:     break;}
        !          5054: case 345:
        !          5055: #line 1995 "cp-parse.y"
1.1       root     5056: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
1.1.1.5   root     5057:                  resume_momentary ((int) yyvsp[-4].itype);
1.1       root     5058:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   5059:     break;}
1.1.1.6 ! root     5060: case 346:
        !          5061: #line 1999 "cp-parse.y"
1.1       root     5062: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
                   5063:                  check_for_missing_semicolon (yyval.ttype); ;
                   5064:     break;}
1.1.1.6 ! root     5065: case 347:
        !          5066: #line 2002 "cp-parse.y"
1.1       root     5067: { yyvsp[0].itype = suspend_momentary ();
                   5068:                  yyval.ttype = start_enum (make_anon_name ()); ;
                   5069:     break;}
1.1.1.6 ! root     5070: case 348:
        !          5071: #line 2005 "cp-parse.y"
1.1       root     5072: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
1.1.1.5   root     5073:                  resume_momentary ((int) yyvsp[-5].itype);
1.1       root     5074:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   5075:     break;}
1.1.1.6 ! root     5076: case 349:
        !          5077: #line 2009 "cp-parse.y"
1.1       root     5078: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
                   5079:                  check_for_missing_semicolon (yyval.ttype); ;
                   5080:     break;}
1.1.1.6 ! root     5081: case 350:
        !          5082: #line 2012 "cp-parse.y"
1.1       root     5083: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE); ;
                   5084:     break;}
1.1.1.6 ! root     5085: case 351:
        !          5086: #line 2016 "cp-parse.y"
1.1       root     5087: {
                   5088:                  int semi;
1.1.1.4   root     5089:                  tree id;
                   5090: 
1.1       root     5091: #if 0
                   5092:                  /* Need to rework class nesting in the
                   5093:                     presence of nested classes, etc.  */
                   5094:                  shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
                   5095: #endif
1.1.1.4   root     5096:                  if (yychar == YYEMPTY)
                   5097:                    yychar = YYLEX;
1.1       root     5098:                  semi = yychar == ';';
1.1.1.4   root     5099:                  /* finish_struct nukes this anyway; if
                   5100:                     finish_exception does too, then it can go. */
1.1       root     5101:                  if (semi)
                   5102:                    note_got_semicolon (yyval.ttype);
1.1.1.4   root     5103: 
1.1       root     5104:                  if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
                   5105:                    /* $$ = $1 from default rule.  */;
                   5106:                  else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
                   5107:                    {
                   5108:                      if (! semi)
                   5109:                        yyval.ttype = finish_exception (yyval.ttype, yyvsp[-1].ttype);
                   5110:                      else
                   5111:                        warning ("empty exception declaration\n");
                   5112:                    }
                   5113:                  else
1.1.1.4   root     5114:                    {
1.1.1.5   root     5115:                      yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi);
1.1.1.4   root     5116:                      if (semi) note_got_semicolon (yyval.ttype);
                   5117:                    }
1.1       root     5118: 
                   5119:                  pop_obstacks ();
1.1.1.4   root     5120: 
                   5121:                  id = TYPE_IDENTIFIER (yyval.ttype);
1.1.1.6 ! root     5122:                  if (id && IDENTIFIER_TEMPLATE (id))
1.1.1.4   root     5123:                    {
                   5124:                      tree decl;
                   5125: 
                   5126:                      /* I don't know if the copying of this TYPE_DECL is
                   5127:                       * really needed.  However, it's such a small per-
                   5128:                       * formance penalty that the extra safety is a bargain.
                   5129:                       * - [email protected]
                   5130:                       */
                   5131:                      push_obstacks (&permanent_obstack, &permanent_obstack);
1.1.1.5   root     5132:                      decl = copy_node (lookup_name (id, 0));
1.1.1.4   root     5133:                      if (DECL_LANG_SPECIFIC (decl))
                   5134:                        copy_lang_decl (decl);
                   5135:                      pop_obstacks ();
                   5136:                      undo_template_name_overload (id, 0);
                   5137:                      pushdecl_top_level (decl);
                   5138:                    }
1.1       root     5139:                  if (! semi)
                   5140:                    check_for_missing_semicolon (yyval.ttype); ;
                   5141:     break;}
1.1.1.6 ! root     5142: case 352:
        !          5143: #line 2071 "cp-parse.y"
1.1       root     5144: {
                   5145: #if 0
                   5146:   /* It's no longer clear what the following error is supposed to
                   5147:      accomplish.  If it turns out to be needed, add a comment why.  */
                   5148:                  if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
                   5149:                    {
                   5150:                      error ("incomplete definition of type `%s'",
                   5151:                             TYPE_NAME_STRING (yyval.ttype));
                   5152:                      yyval.ttype = error_mark_node;
                   5153:                    }
                   5154: #endif
                   5155:                ;
                   5156:     break;}
1.1.1.6 ! root     5157: case 356:
1.1.1.5   root     5158: #line 2093 "cp-parse.y"
1.1.1.6 ! root     5159: { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
1.1       root     5160:     break;}
1.1.1.6 ! root     5161: case 358:
        !          5162: #line 2098 "cp-parse.y"
        !          5163: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
1.1       root     5164:     break;}
1.1.1.6 ! root     5165: case 359:
        !          5166: #line 2100 "cp-parse.y"
        !          5167: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
1.1       root     5168:     break;}
1.1.1.6 ! root     5169: case 360:
1.1.1.5   root     5170: #line 2102 "cp-parse.y"
1.1.1.6 ! root     5171: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
1.1       root     5172:     break;}
1.1.1.6 ! root     5173: case 361:
        !          5174: #line 2104 "cp-parse.y"
        !          5175: { error ("no body nor ';' separates two class, struct or union declarations"); ;
        !          5176:     break;}
        !          5177: case 362:
        !          5178: #line 2109 "cp-parse.y"
1.1       root     5179: { aggr1: current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   5180:     break;}
1.1.1.6 ! root     5181: case 363:
        !          5182: #line 2111 "cp-parse.y"
1.1       root     5183: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   5184:     break;}
1.1.1.6 ! root     5185: case 364:
        !          5186: #line 2113 "cp-parse.y"
1.1       root     5187: { yyungetc (':', 1); goto aggr1; ;
                   5188:     break;}
1.1.1.6 ! root     5189: case 365:
        !          5190: #line 2115 "cp-parse.y"
1.1       root     5191: { yyungetc ('{', 1);
                   5192:                aggr2:
                   5193:                  current_aggr = yyval.ttype;
1.1.1.4   root     5194:                  yyval.ttype = yyvsp[-1].ttype;
                   5195:                  overload_template_name (yyval.ttype, 0); ;
1.1       root     5196:     break;}
1.1.1.6 ! root     5197: case 366:
        !          5198: #line 2121 "cp-parse.y"
1.1       root     5199: { yyungetc (':', 1); goto aggr2; ;
                   5200:     break;}
1.1.1.6 ! root     5201: case 367:
        !          5202: #line 2126 "cp-parse.y"
1.1       root     5203: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   5204:     break;}
1.1.1.6 ! root     5205: case 368:
        !          5206: #line 2131 "cp-parse.y"
1.1       root     5207: {
                   5208:                  yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   5209:                ;
                   5210:     break;}
1.1.1.6 ! root     5211: case 369:
        !          5212: #line 2135 "cp-parse.y"
1.1       root     5213: {
                   5214:                  if (yyvsp[0].ttype)
                   5215:                    yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   5216:                  else
                   5217:                    yyval.ttype = yyvsp[-1].ttype;
                   5218:                ;
                   5219:     break;}
1.1.1.6 ! root     5220: case 370:
        !          5221: #line 2143 "cp-parse.y"
1.1       root     5222: {
                   5223:                  yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   5224:                ;
                   5225:     break;}
1.1.1.6 ! root     5226: case 371:
        !          5227: #line 2147 "cp-parse.y"
1.1       root     5228: {
                   5229:                  if (yyvsp[0].ttype)
                   5230:                    yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   5231:                  else
                   5232:                    yyval.ttype = yyvsp[-1].ttype;
                   5233:                ;
                   5234:     break;}
1.1.1.6 ! root     5235: case 372:
        !          5236: #line 2156 "cp-parse.y"
1.1       root     5237: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE);
                   5238:                  yyungetc ('{', 1); ;
                   5239:     break;}
1.1.1.6 ! root     5240: case 375:
        !          5241: #line 2164 "cp-parse.y"
1.1       root     5242: { yyval.ttype = NULL_TREE; ;
                   5243:     break;}
1.1.1.6 ! root     5244: case 376:
        !          5245: #line 2166 "cp-parse.y"
1.1       root     5246: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
                   5247:     break;}
1.1.1.6 ! root     5248: case 377:
        !          5249: #line 2168 "cp-parse.y"
1.1       root     5250: { yyval.ttype = yyvsp[0].ttype; ;
                   5251:     break;}
1.1.1.6 ! root     5252: case 379:
        !          5253: #line 2174 "cp-parse.y"
1.1       root     5254: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   5255:     break;}
1.1.1.6 ! root     5256: case 380:
        !          5257: #line 2179 "cp-parse.y"
1.1       root     5258: { if (! is_aggr_typedef (yyval.ttype, 1))
                   5259:                    yyval.ttype = NULL_TREE;
                   5260:                  else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   5261:     break;}
1.1.1.6 ! root     5262: case 381:
        !          5263: #line 2183 "cp-parse.y"
1.1.1.4   root     5264: { if (! is_aggr_typedef (yyval.ttype, 1))
                   5265:                    yyval.ttype = NULL_TREE;
                   5266:                  else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   5267:     break;}
1.1.1.6 ! root     5268: case 382:
        !          5269: #line 2187 "cp-parse.y"
1.1       root     5270: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
                   5271:                    yyval.ttype = NULL_TREE;
                   5272:                  else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
                   5273:     break;}
1.1.1.6 ! root     5274: case 383:
        !          5275: #line 2191 "cp-parse.y"
1.1.1.4   root     5276: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
                   5277:                    yyval.ttype = NULL_TREE;
                   5278:                  else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
                   5279:     break;}
1.1.1.6 ! root     5280: case 384:
        !          5281: #line 2198 "cp-parse.y"
1.1       root     5282: {
1.1.1.4   root     5283:                  /* Kludge!!! See rule "template_type" and the code
                   5284:                   * dealing with "template_type_seen_before_scope" in
                   5285:                   * yylex(). */
                   5286:                  yyval.ttype = yyvsp[0].ttype;
1.1       root     5287:                ;
                   5288:     break;}
1.1.1.6 ! root     5289: case 385:
        !          5290: #line 2207 "cp-parse.y"
1.1.1.4   root     5291: {
                   5292:                  extern tree template_type_seen_before_scope;
                   5293:                  tree id = yyvsp[0].ttype ? TYPE_IDENTIFIER (yyvsp[0].ttype) : yyvsp[-2].ttype;
                   5294: 
                   5295:                  /* Check the rule template_type to get this... */
                   5296:                  if (yychar == YYEMPTY)
                   5297:                    yychar = YYLEX;
                   5298:                  if (yychar == SCOPE) {
                   5299:                    template_type_seen_before_scope = id;
                   5300:                    yychar = YYLEX;
                   5301:                  }
                   5302:                ;
                   5303:     break;}
1.1.1.6 ! root     5304: case 388:
        !          5305: #line 2225 "cp-parse.y"
1.1       root     5306: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
                   5307:                    sorry ("non-virtual visibility");
                   5308:                  yyval.itype = visibility_default_virtual; ;
                   5309:     break;}
1.1.1.6 ! root     5310: case 389:
        !          5311: #line 2229 "cp-parse.y"
1.1       root     5312: { int err = 0;
                   5313:                  if (yyvsp[0].itype == visibility_protected)
                   5314:                    {
                   5315:                      warning ("`protected' visibility not implemented");
                   5316:                      yyvsp[0].itype = visibility_public;
                   5317:                      err++;
                   5318:                    }
                   5319:                  else if (yyvsp[0].itype == visibility_public)
                   5320:                    {
                   5321:                      if (yyvsp[-1].itype == visibility_private)
                   5322:                        {
                   5323:                        mixed:
                   5324:                          error ("base class cannot be public and private");
                   5325:                        }
                   5326:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   5327:                        yyval.itype = visibility_public_virtual;
                   5328:                    }
1.1.1.2   root     5329:                  else /* $2 == visibility_private */
1.1       root     5330:                    {
                   5331:                      if (yyvsp[-1].itype == visibility_public)
                   5332:                        goto mixed;
                   5333:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   5334:                        yyval.itype = visibility_private_virtual;
                   5335:                    }
                   5336:                ;
                   5337:     break;}
1.1.1.6 ! root     5338: case 390:
        !          5339: #line 2255 "cp-parse.y"
1.1       root     5340: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
                   5341:                    sorry ("non-virtual visibility");
                   5342:                  if (yyval.itype == visibility_public)
                   5343:                    yyval.itype = visibility_public_virtual;
                   5344:                  else if (yyval.itype == visibility_private)
                   5345:                    yyval.itype = visibility_private_virtual; ;
                   5346:     break;}
1.1.1.6 ! root     5347: case 391:
        !          5348: #line 2264 "cp-parse.y"
1.1       root     5349: { tree t;
                   5350:                  push_obstacks_nochange ();
                   5351:                  end_temporary_allocation ();
                   5352: 
                   5353:                  if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
                   5354:                    {
                   5355:                      yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
                   5356:                      TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
                   5357:                    }
                   5358:                  if (TYPE_SIZE (yyvsp[-1].ttype))
                   5359:                    duplicate_tag_error (yyvsp[-1].ttype);
                   5360:                   if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
                   5361:                     {
                   5362:                       t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
1.1.1.3   root     5363:                       pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t);
1.1       root     5364:                       yyvsp[-1].ttype = t;
                   5365:                     }
                   5366:                  pushclass (yyvsp[-1].ttype, 0);
                   5367:                  TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
1.1.1.3   root     5368:                  t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
1.1.1.6 ! root     5369:                  if (t && IDENTIFIER_TEMPLATE (t))
1.1       root     5370:                    overload_template_name (t, 1);
                   5371:                ;
                   5372:     break;}
1.1.1.6 ! root     5373: case 392:
        !          5374: #line 2291 "cp-parse.y"
1.1       root     5375: { yyval.ttype = NULL_TREE; ;
                   5376:     break;}
1.1.1.6 ! root     5377: case 393:
        !          5378: #line 2293 "cp-parse.y"
1.1       root     5379: { yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   5380:     break;}
1.1.1.6 ! root     5381: case 394:
        !          5382: #line 2295 "cp-parse.y"
1.1       root     5383: { yyval.ttype = chainon (yyval.ttype, build_tree_list ((tree) yyvsp[-2].itype, yyvsp[0].ttype)); ;
                   5384:     break;}
1.1.1.6 ! root     5385: case 396:
        !          5386: #line 2303 "cp-parse.y"
1.1       root     5387: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; ;
                   5388:     break;}
1.1.1.6 ! root     5389: case 397:
1.1.1.5   root     5390: #line 2305 "cp-parse.y"
1.1.1.6 ! root     5391: { /* In pushdecl, we created a reverse list of names
        !          5392:                     in this binding level.  Make sure that the chain
        !          5393:                     of what we're trying to add isn't the item itself
        !          5394:                     (which can happen with what pushdecl's doing).  */
        !          5395:                  if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
1.1       root     5396:                    {
1.1.1.6 ! root     5397:                      if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
        !          5398:                        yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
1.1       root     5399:                      else
1.1.1.6 ! root     5400:                        yyval.ttype = yyvsp[0].ttype;
1.1       root     5401:                    }
1.1.1.6 ! root     5402:                ;
        !          5403:     break;}
        !          5404: case 399:
        !          5405: #line 2322 "cp-parse.y"
        !          5406: { do_components:
        !          5407:                  yyval.ttype = grok_x_components (yyval.ttype, yyvsp[-1].ttype);
1.1       root     5408:                  end_exception_decls ();
                   5409:                ;
                   5410:     break;}
1.1.1.6 ! root     5411: case 400:
        !          5412: #line 2327 "cp-parse.y"
1.1       root     5413: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5414:     break;}
1.1.1.6 ! root     5415: case 401:
        !          5416: #line 2329 "cp-parse.y"
1.1       root     5417: { error ("missing ';' before right brace");
                   5418:                  yyungetc ('}', 0);
                   5419:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5420:     break;}
1.1.1.6 ! root     5421: case 402:
        !          5422: #line 2333 "cp-parse.y"
1.1       root     5423: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5424:     break;}
1.1.1.6 ! root     5425: case 403:
        !          5426: #line 2335 "cp-parse.y"
1.1       root     5427: { error ("missing ';' before right brace");
                   5428:                  yyungetc ('}', 0);
                   5429:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5430:     break;}
1.1.1.6 ! root     5431: case 404:
        !          5432: #line 2339 "cp-parse.y"
1.1       root     5433: { goto do_components; ;
                   5434:     break;}
1.1.1.6 ! root     5435: case 405:
        !          5436: #line 2342 "cp-parse.y"
1.1.1.5   root     5437: { yyval.ttype = grokfield (yyvsp[-1].ttype, yyval.ttype,
                   5438:                                  NULL_TREE, NULL_TREE, NULL_TREE); ;
1.1       root     5439:     break;}
1.1.1.6 ! root     5440: case 406:
        !          5441: #line 2345 "cp-parse.y"
1.1       root     5442: { error ("missing ';' before right brace");
                   5443:                  yyungetc ('}', 0);
                   5444:                  goto do_components; ;
                   5445:     break;}
1.1.1.6 ! root     5446: case 407:
        !          5447: #line 2349 "cp-parse.y"
1.1       root     5448: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5449:     break;}
1.1.1.6 ! root     5450: case 408:
        !          5451: #line 2351 "cp-parse.y"
1.1       root     5452: { error ("missing ';' before right brace");
                   5453:                  yyungetc ('}', 0);
                   5454:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5455:     break;}
1.1.1.6 ! root     5456: case 409:
        !          5457: #line 2355 "cp-parse.y"
1.1       root     5458: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5459:     break;}
1.1.1.6 ! root     5460: case 410:
        !          5461: #line 2357 "cp-parse.y"
1.1       root     5462: { error ("missing ';' before right brace");
                   5463:                  yyungetc ('}', 0);
                   5464:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5465:     break;}
1.1.1.6 ! root     5466: case 411:
        !          5467: #line 2361 "cp-parse.y"
1.1       root     5468: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5469:     break;}
1.1.1.6 ! root     5470: case 412:
        !          5471: #line 2363 "cp-parse.y"
1.1       root     5472: { error ("missing ';' before right brace");
                   5473:                  yyungetc ('}', 0);
                   5474:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5475:     break;}
1.1.1.6 ! root     5476: case 413:
        !          5477: #line 2367 "cp-parse.y"
1.1       root     5478: { yyval.ttype = NULL_TREE; ;
                   5479:     break;}
1.1.1.6 ! root     5480: case 414:
        !          5481: #line 2372 "cp-parse.y"
1.1       root     5482: { yyval.ttype = finish_method (yyval.ttype); ;
                   5483:     break;}
1.1.1.6 ! root     5484: case 415:
        !          5485: #line 2374 "cp-parse.y"
1.1       root     5486: { yyval.ttype = finish_method (yyval.ttype); ;
                   5487:     break;}
1.1.1.6 ! root     5488: case 416:
        !          5489: #line 2376 "cp-parse.y"
1.1       root     5490: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5491:     break;}
1.1.1.6 ! root     5492: case 417:
        !          5493: #line 2378 "cp-parse.y"
1.1       root     5494: { error ("missing ';' before right brace");
                   5495:                  yyungetc ('}', 0);
                   5496:                  yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5497:     break;}
1.1.1.6 ! root     5498: case 418:
        !          5499: #line 2385 "cp-parse.y"
1.1       root     5500: { yyval.ttype = NULL_TREE; ;
                   5501:     break;}
1.1.1.6 ! root     5502: case 420:
        !          5503: #line 2388 "cp-parse.y"
1.1       root     5504: {
                   5505:                  /* In this context, void_type_node encodes
                   5506:                     friends.  They have been recorded elsewhere.  */
                   5507:                  if (yyval.ttype == void_type_node)
                   5508:                    yyval.ttype = yyvsp[0].ttype;
                   5509:                  else
                   5510:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
                   5511:                ;
                   5512:     break;}
1.1.1.6 ! root     5513: case 421:
        !          5514: #line 2400 "cp-parse.y"
1.1.1.3   root     5515: { current_declspecs = yyvsp[-4].ttype;
                   5516:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4   root     5517:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1.1.3   root     5518:     break;}
1.1.1.6 ! root     5519: case 422:
        !          5520: #line 2404 "cp-parse.y"
1.1.1.3   root     5521: { current_declspecs = yyvsp[-6].ttype;
                   5522:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4   root     5523:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1.1.3   root     5524:     break;}
1.1.1.6 ! root     5525: case 423:
        !          5526: #line 2408 "cp-parse.y"
1.1.1.3   root     5527: { current_declspecs = yyvsp[-4].ttype;
                   5528:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4   root     5529:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5530:     break;}
1.1.1.6 ! root     5531: case 424:
        !          5532: #line 2412 "cp-parse.y"
        !          5533: { current_declspecs = yyvsp[-4].ttype;
1.1.1.3   root     5534:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4   root     5535:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5536:     break;}
1.1.1.6 ! root     5537: case 425:
        !          5538: #line 2416 "cp-parse.y"
        !          5539: { current_declspecs = yyvsp[-3].ttype;
        !          5540:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype);
        !          5541:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5542:     break;}
1.1.1.6 ! root     5543: case 426:
        !          5544: #line 2423 "cp-parse.y"
1.1.1.3   root     5545: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4   root     5546:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5547:     break;}
1.1.1.6 ! root     5548: case 427:
        !          5549: #line 2426 "cp-parse.y"
1.1.1.3   root     5550: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4   root     5551:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1       root     5552:     break;}
1.1.1.6 ! root     5553: case 428:
        !          5554: #line 2429 "cp-parse.y"
1.1.1.3   root     5555: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4   root     5556:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5557:     break;}
1.1.1.6 ! root     5558: case 429:
        !          5559: #line 2432 "cp-parse.y"
1.1.1.3   root     5560: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4   root     5561:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5562:     break;}
1.1.1.6 ! root     5563: case 430:
        !          5564: #line 2435 "cp-parse.y"
        !          5565: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype);
        !          5566:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5567:     break;}
1.1.1.6 ! root     5568: case 432:
        !          5569: #line 2446 "cp-parse.y"
1.1       root     5570: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   5571:     break;}
1.1.1.6 ! root     5572: case 433:
        !          5573: #line 2451 "cp-parse.y"
1.1       root     5574: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
                   5575:     break;}
1.1.1.6 ! root     5576: case 434:
        !          5577: #line 2453 "cp-parse.y"
1.1       root     5578: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
                   5579:     break;}
1.1.1.6 ! root     5580: case 435:
        !          5581: #line 2459 "cp-parse.y"
1.1       root     5582: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5583:     break;}
1.1.1.6 ! root     5584: case 436:
        !          5585: #line 2461 "cp-parse.y"
1.1       root     5586: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5587:     break;}
1.1.1.6 ! root     5588: case 437:
        !          5589: #line 2467 "cp-parse.y"
1.1       root     5590: { yyval.ttype = NULL_TREE; ;
                   5591:     break;}
1.1.1.6 ! root     5592: case 439:
        !          5593: #line 2470 "cp-parse.y"
1.1       root     5594: { yyval.ttype = yyvsp[0].ttype; ;
                   5595:     break;}
1.1.1.6 ! root     5596: case 440:
        !          5597: #line 2475 "cp-parse.y"
1.1       root     5598: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   5599:     break;}
1.1.1.6 ! root     5600: case 441:
        !          5601: #line 2477 "cp-parse.y"
1.1       root     5602: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5603:     break;}
1.1.1.6 ! root     5604: case 442:
        !          5605: #line 2482 "cp-parse.y"
1.1       root     5606: { yyval.ttype = NULL_TREE; ;
                   5607:     break;}
1.1.1.6 ! root     5608: case 443:
        !          5609: #line 2484 "cp-parse.y"
1.1       root     5610: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5611:     break;}
1.1.1.6 ! root     5612: case 444:
        !          5613: #line 2492 "cp-parse.y"
1.1       root     5614: { yyval.itype = suspend_momentary (); ;
                   5615:     break;}
1.1.1.6 ! root     5616: case 445:
        !          5617: #line 2493 "cp-parse.y"
1.1.1.5   root     5618: { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
1.1       root     5619:     break;}
1.1.1.6 ! root     5620: case 446:
        !          5621: #line 2499 "cp-parse.y"
1.1       root     5622: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5623:     break;}
1.1.1.6 ! root     5624: case 447:
        !          5625: #line 2501 "cp-parse.y"
1.1       root     5626: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5627:     break;}
1.1.1.6 ! root     5628: case 448:
        !          5629: #line 2503 "cp-parse.y"
1.1       root     5630: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5631:     break;}
1.1.1.6 ! root     5632: case 449:
        !          5633: #line 2505 "cp-parse.y"
1.1       root     5634: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5635:     break;}
1.1.1.6 ! root     5636: case 450:
        !          5637: #line 2507 "cp-parse.y"
1.1       root     5638: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5639:     break;}
1.1.1.6 ! root     5640: case 451:
        !          5641: #line 2509 "cp-parse.y"
1.1       root     5642: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5643:     break;}
1.1.1.6 ! root     5644: case 452:
        !          5645: #line 2511 "cp-parse.y"
1.1       root     5646: { yyval.ttype = yyvsp[-1].ttype; ;
                   5647:     break;}
1.1.1.6 ! root     5648: case 453:
        !          5649: #line 2513 "cp-parse.y"
1.1       root     5650: { yyval.ttype = make_pointer_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5651:     break;}
1.1.1.6 ! root     5652: case 454:
        !          5653: #line 2515 "cp-parse.y"
1.1       root     5654: { see_typename (); ;
                   5655:     break;}
1.1.1.6 ! root     5656: case 456:
        !          5657: #line 2518 "cp-parse.y"
1.1       root     5658: { yyval.ttype = make_reference_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5659:     break;}
1.1.1.6 ! root     5660: case 457:
        !          5661: #line 2520 "cp-parse.y"
1.1       root     5662: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5663:     break;}
1.1.1.6 ! root     5664: case 458:
        !          5665: #line 2522 "cp-parse.y"
1.1       root     5666: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5667:     break;}
1.1.1.6 ! root     5668: case 460:
        !          5669: #line 2528 "cp-parse.y"
1.1       root     5670: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5671:     break;}
1.1.1.6 ! root     5672: case 461:
        !          5673: #line 2530 "cp-parse.y"
1.1       root     5674: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5675:     break;}
1.1.1.6 ! root     5676: case 462:
        !          5677: #line 2532 "cp-parse.y"
1.1       root     5678: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5679:     break;}
1.1.1.6 ! root     5680: case 463:
        !          5681: #line 2534 "cp-parse.y"
1.1       root     5682: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5683:     break;}
1.1.1.6 ! root     5684: case 464:
        !          5685: #line 2536 "cp-parse.y"
1.1       root     5686: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5687:     break;}
1.1.1.6 ! root     5688: case 465:
        !          5689: #line 2538 "cp-parse.y"
1.1       root     5690: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5691:     break;}
1.1.1.6 ! root     5692: case 466:
        !          5693: #line 2540 "cp-parse.y"
1.1       root     5694: { yyval.ttype = yyvsp[-1].ttype; ;
                   5695:     break;}
1.1.1.6 ! root     5696: case 467:
        !          5697: #line 2542 "cp-parse.y"
1.1       root     5698: { see_typename (); ;
                   5699:     break;}
1.1.1.6 ! root     5700: case 469:
        !          5701: #line 2545 "cp-parse.y"
1.1       root     5702: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5703:     break;}
1.1.1.6 ! root     5704: case 470:
        !          5705: #line 2547 "cp-parse.y"
1.1       root     5706: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5707:     break;}
1.1.1.6 ! root     5708: case 471:
        !          5709: #line 2555 "cp-parse.y"
1.1       root     5710: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5711:     break;}
1.1.1.6 ! root     5712: case 472:
        !          5713: #line 2557 "cp-parse.y"
1.1       root     5714: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5715:     break;}
1.1.1.6 ! root     5716: case 473:
        !          5717: #line 2559 "cp-parse.y"
1.1       root     5718: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5719:     break;}
1.1.1.6 ! root     5720: case 474:
        !          5721: #line 2561 "cp-parse.y"
1.1       root     5722: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5723:     break;}
1.1.1.6 ! root     5724: case 475:
        !          5725: #line 2563 "cp-parse.y"
1.1       root     5726: { yyval.ttype = yyvsp[-1].ttype; ;
                   5727:     break;}
1.1.1.6 ! root     5728: case 476:
        !          5729: #line 2565 "cp-parse.y"
1.1       root     5730: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5731:     break;}
1.1.1.6 ! root     5732: case 477:
        !          5733: #line 2567 "cp-parse.y"
1.1       root     5734: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5735:     break;}
1.1.1.6 ! root     5736: case 478:
        !          5737: #line 2569 "cp-parse.y"
1.1       root     5738: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5739:     break;}
1.1.1.6 ! root     5740: case 479:
        !          5741: #line 2571 "cp-parse.y"
1.1       root     5742: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5743:     break;}
1.1.1.6 ! root     5744: case 480:
        !          5745: #line 2573 "cp-parse.y"
1.1       root     5746: { see_typename (); ;
                   5747:     break;}
1.1.1.6 ! root     5748: case 481:
        !          5749: #line 2577 "cp-parse.y"
1.1       root     5750: { see_typename (); ;
                   5751:     break;}
1.1.1.6 ! root     5752: case 482:
        !          5753: #line 2580 "cp-parse.y"
1.1       root     5754: {
1.1.1.4   root     5755:                destructor_name:
1.1       root     5756:                  see_typename ();
1.1.1.4   root     5757:                  yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype);
1.1       root     5758:                ;
                   5759:     break;}
1.1.1.6 ! root     5760: case 483:
        !          5761: #line 2586 "cp-parse.y"
1.1.1.4   root     5762: { goto destructor_name; ;
1.1       root     5763:     break;}
1.1.1.6 ! root     5764: case 484:
        !          5765: #line 2588 "cp-parse.y"
1.1.1.4   root     5766: { goto destructor_name; ;
                   5767:     break;}
1.1.1.6 ! root     5768: case 485:
        !          5769: #line 2590 "cp-parse.y"
1.1       root     5770: { see_typename ();
                   5771:                  if (TREE_CODE (yyval.ttype) != SCOPE_REF)
                   5772:                    yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype);
                   5773:                  else if (TREE_OPERAND (yyval.ttype, 1) == NULL_TREE)
                   5774:                    TREE_OPERAND (yyval.ttype, 1) = yyvsp[0].ttype;
                   5775:                  else
                   5776:                    yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
                   5777:                ;
                   5778:     break;}
1.1.1.6 ! root     5779: case 486:
        !          5780: #line 2599 "cp-parse.y"
1.1       root     5781: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5782:     break;}
1.1.1.6 ! root     5783: case 487:
        !          5784: #line 2601 "cp-parse.y"
1.1       root     5785: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5786:     break;}
1.1.1.6 ! root     5787: case 488:
        !          5788: #line 2603 "cp-parse.y"
1.1       root     5789: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5790:     break;}
1.1.1.6 ! root     5791: case 489:
        !          5792: #line 2605 "cp-parse.y"
1.1       root     5793: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5794:     break;}
1.1.1.6 ! root     5795: case 490:
        !          5796: #line 2607 "cp-parse.y"
1.1       root     5797: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5798:     break;}
1.1.1.6 ! root     5799: case 491:
        !          5800: #line 2610 "cp-parse.y"
1.1       root     5801: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5802:     break;}
1.1.1.6 ! root     5803: case 492:
        !          5804: #line 2612 "cp-parse.y"
1.1       root     5805: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5806:     break;}
1.1.1.6 ! root     5807: case 493:
        !          5808: #line 2614 "cp-parse.y"
1.1       root     5809: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5810:     break;}
1.1.1.6 ! root     5811: case 494:
        !          5812: #line 2616 "cp-parse.y"
1.1       root     5813: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5814:     break;}
1.1.1.6 ! root     5815: case 495:
        !          5816: #line 2618 "cp-parse.y"
1.1       root     5817: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5818:     break;}
1.1.1.6 ! root     5819: case 496:
        !          5820: #line 2620 "cp-parse.y"
1.1       root     5821: { yyval.ttype = build_parse_node (SCOPE_REF, NULL_TREE, yyvsp[0].ttype); ;
                   5822:     break;}
1.1.1.6 ! root     5823: case 497:
        !          5824: #line 2624 "cp-parse.y"
        !          5825: { tree t;
        !          5826:                   do_id_scope:
        !          5827: 
        !          5828:                  t = resolve_scope_to_name (NULL_TREE, yyval.ttype);
        !          5829:                  if (t == NULL_TREE)
1.1.1.2   root     5830:                    {
1.1.1.6 ! root     5831:                      cp_error ("`%T' is not a valid scope", yyval.ttype);
1.1.1.2   root     5832:                      yyval.ttype = error_mark_node; 
                   5833:                    }
1.1.1.6 ! root     5834:                  else
        !          5835:                    yyval.ttype = t;
1.1.1.2   root     5836:                ;
1.1       root     5837:     break;}
1.1.1.6 ! root     5838: case 498:
        !          5839: #line 2637 "cp-parse.y"
        !          5840: { goto do_id_scope; ;
        !          5841:     break;}
        !          5842: case 499:
        !          5843: #line 2639 "cp-parse.y"
1.1       root     5844: {
                   5845:                   if (yyval.ttype == error_mark_node)
                   5846:                     /* leave it alone */;
                   5847:                   else
                   5848:                    {
                   5849:                      yyval.ttype = resolve_scope_to_name (NULL_TREE, TYPE_IDENTIFIER (yyval.ttype));
1.1.1.2   root     5850:                      if (yyval.ttype == NULL_TREE)
                   5851:                        {
                   5852:                          error ("undefined explicitly scoped type");
                   5853:                          yyval.ttype = error_mark_node; 
                   5854:                        }
1.1       root     5855:                    }
1.1.1.4   root     5856: /*                  if ($3) popclass (1); */
1.1       root     5857:                ;
                   5858:     break;}
1.1.1.6 ! root     5859: case 502:
        !          5860: #line 2660 "cp-parse.y"
1.1.1.4   root     5861: {
                   5862:                  /* Kludge!!! See rule "template_type" and the code
                   5863:                   * dealing with "template_type_seen_before_scope" in
                   5864:                   * yylex(). */
                   5865:                  yyval.ttype = yyvsp[0].ttype;
                   5866:                ;
                   5867:     break;}
1.1.1.6 ! root     5868: case 503:
        !          5869: #line 2682 "cp-parse.y"
1.1       root     5870: { see_typename ();
                   5871:                  yyval.ttype = yyvsp[-1].ttype; ;
                   5872:     break;}
1.1.1.6 ! root     5873: case 504:
        !          5874: #line 2686 "cp-parse.y"
1.1       root     5875: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5876:     break;}
1.1.1.6 ! root     5877: case 505:
        !          5878: #line 2688 "cp-parse.y"
1.1       root     5879: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5880:     break;}
1.1.1.6 ! root     5881: case 506:
        !          5882: #line 2690 "cp-parse.y"
1.1       root     5883: { see_typename (); ;
                   5884:     break;}
1.1.1.6 ! root     5885: case 507:
        !          5886: #line 2692 "cp-parse.y"
1.1       root     5887: { yyval.ttype = yyvsp[-1].ttype; ;
                   5888:     break;}
1.1.1.6 ! root     5889: case 508:
        !          5890: #line 2694 "cp-parse.y"
1.1       root     5891: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5892:     break;}
1.1.1.6 ! root     5893: case 509:
        !          5894: #line 2696 "cp-parse.y"
1.1       root     5895: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5896:     break;}
1.1.1.6 ! root     5897: case 510:
        !          5898: #line 2698 "cp-parse.y"
1.1       root     5899: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5900:     break;}
1.1.1.6 ! root     5901: case 511:
        !          5902: #line 2700 "cp-parse.y"
1.1       root     5903: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5904:     break;}
1.1.1.6 ! root     5905: case 512:
        !          5906: #line 2702 "cp-parse.y"
1.1       root     5907: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5908:     break;}
1.1.1.6 ! root     5909: case 513:
        !          5910: #line 2704 "cp-parse.y"
1.1       root     5911: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5912:     break;}
1.1.1.6 ! root     5913: case 514:
        !          5914: #line 2706 "cp-parse.y"
1.1       root     5915: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5916:     break;}
1.1.1.6 ! root     5917: case 515:
        !          5918: #line 2708 "cp-parse.y"
1.1       root     5919: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (), yyvsp[0].ttype); ;
                   5920:     break;}
1.1.1.6 ! root     5921: case 516:
        !          5922: #line 2710 "cp-parse.y"
1.1       root     5923: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
                   5924:     break;}
1.1.1.6 ! root     5925: case 517:
        !          5926: #line 2712 "cp-parse.y"
1.1       root     5927: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
                   5928:     break;}
1.1.1.6 ! root     5929: case 518:
        !          5930: #line 2717 "cp-parse.y"
1.1       root     5931: { tree t;
                   5932:                  t = yyval.ttype;
                   5933:                  while (TREE_OPERAND (t, 1))
                   5934:                    t = TREE_OPERAND (t, 1);
                   5935:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, 0);
                   5936:                ;
                   5937:     break;}
1.1.1.6 ! root     5938: case 519:
        !          5939: #line 2724 "cp-parse.y"
1.1       root     5940: { tree t;
                   5941:                  t = yyval.ttype;
                   5942:                  while (TREE_OPERAND (t, 1))
                   5943:                    t = TREE_OPERAND (t, 1);
                   5944:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5945:                ;
                   5946:     break;}
1.1.1.6 ! root     5947: case 520:
        !          5948: #line 2731 "cp-parse.y"
1.1       root     5949: { tree t;
                   5950:                  t = yyval.ttype;
                   5951:                  while (TREE_OPERAND (t, 1))
                   5952:                    t = TREE_OPERAND (t, 1);
                   5953:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, 0);
                   5954:                ;
                   5955:     break;}
1.1.1.6 ! root     5956: case 521:
        !          5957: #line 2738 "cp-parse.y"
1.1       root     5958: { tree t;
                   5959:                  t = yyval.ttype;
                   5960:                  while (TREE_OPERAND (t, 1))
                   5961:                    t = TREE_OPERAND (t, 1);
                   5962:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5963:                ;
                   5964:     break;}
1.1.1.6 ! root     5965: case 522:
        !          5966: #line 2748 "cp-parse.y"
1.1       root     5967: { tree t;
                   5968:                  t = yyval.ttype;
                   5969:                  while (TREE_OPERAND (t, 1))
                   5970:                    t = TREE_OPERAND (t, 1);
                   5971:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5972:                ;
                   5973:     break;}
1.1.1.6 ! root     5974: case 523:
        !          5975: #line 2755 "cp-parse.y"
1.1       root     5976: { tree t;
                   5977:                  t = yyval.ttype;
                   5978:                  while (TREE_OPERAND (t, 1))
                   5979:                    t = TREE_OPERAND (t, 1);
                   5980:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5981:                ;
                   5982:     break;}
1.1.1.6 ! root     5983: case 529:
        !          5984: #line 2782 "cp-parse.y"
1.1.1.2   root     5985: { emit_line_note (input_filename, lineno);
1.1       root     5986:                  pushlevel (0);
                   5987:                  clear_last_expr ();
                   5988:                  push_momentary ();
1.1.1.5   root     5989:                  expand_start_bindings (0); ;
1.1.1.2   root     5990:     break;}
1.1.1.6 ! root     5991: case 531:
        !          5992: #line 2794 "cp-parse.y"
1.1.1.2   root     5993: { if (pedantic)
1.1.1.4   root     5994:                    pedwarn ("ANSI C++ forbids label declarations"); ;
1.1.1.2   root     5995:     break;}
1.1.1.6 ! root     5996: case 534:
        !          5997: #line 2805 "cp-parse.y"
1.1.1.2   root     5998: { tree link;
                   5999:                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                   6000:                    {
                   6001:                      tree label = shadow_label (TREE_VALUE (link));
                   6002:                      C_DECLARED_LABEL_FLAG (label) = 1;
                   6003:                      declare_nonlocal_label (label);
                   6004:                    }
1.1       root     6005:                ;
                   6006:     break;}
1.1.1.6 ! root     6007: case 535:
        !          6008: #line 2819 "cp-parse.y"
1.1       root     6009: {;
                   6010:     break;}
1.1.1.6 ! root     6011: case 537:
        !          6012: #line 2824 "cp-parse.y"
        !          6013: { pop_implicit_try_blocks (NULL_TREE);
        !          6014:                  expand_end_bindings (getdecls (), kept_level_p(), 1);
        !          6015:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
        !          6016:                  pop_momentary (); ;
1.1       root     6017:     break;}
1.1.1.6 ! root     6018: case 538:
        !          6019: #line 2829 "cp-parse.y"
1.1       root     6020: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.6 ! root     6021:                  expand_end_bindings (getdecls (), kept_level_p(), 1);
1.1       root     6022:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
                   6023:                  pop_momentary (); ;
                   6024:     break;}
1.1.1.6 ! root     6025: case 539:
        !          6026: #line 2834 "cp-parse.y"
1.1       root     6027: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.6 ! root     6028:                  expand_end_bindings (getdecls (), kept_level_p(), 1);
1.1       root     6029:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   6030:                  pop_momentary (); ;
                   6031:     break;}
1.1.1.6 ! root     6032: case 540:
        !          6033: #line 2842 "cp-parse.y"
1.1.1.5   root     6034: { cond_stmt_keyword = "if"; ;
                   6035:     break;}
1.1.1.6 ! root     6036: case 541:
        !          6037: #line 2844 "cp-parse.y"
1.1       root     6038: { emit_line_note (input_filename, lineno);
1.1.1.5   root     6039:                  expand_start_cond (truthvalue_conversion (yyvsp[0].ttype), 0); ;
1.1       root     6040:     break;}
1.1.1.6 ! root     6041: case 543:
        !          6042: #line 2851 "cp-parse.y"
1.1.1.5   root     6043: { finish_stmt (); ;
1.1       root     6044:     break;}
1.1.1.6 ! root     6045: case 544:
        !          6046: #line 2853 "cp-parse.y"
1.1.1.5   root     6047: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.6 ! root     6048:                  expand_end_bindings (getdecls (), getdecls() != NULL_TREE, 1);
1.1.1.5   root     6049:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
                   6050:                  pop_momentary (); ;
                   6051:     break;}
1.1.1.6 ! root     6052: case 545:
        !          6053: #line 2861 "cp-parse.y"
1.1       root     6054: { finish_stmt (); ;
                   6055:     break;}
1.1.1.6 ! root     6056: case 547:
        !          6057: #line 2867 "cp-parse.y"
1.1.1.5   root     6058: { finish_stmt (); ;
1.1       root     6059:     break;}
1.1.1.6 ! root     6060: case 548:
        !          6061: #line 2869 "cp-parse.y"
1.1       root     6062: {
                   6063:                  tree expr = yyvsp[-1].ttype;
                   6064:                  emit_line_note (input_filename, lineno);
                   6065:                  /* Do default conversion if safe and possibly important,
                   6066:                     in case within ({...}).  */
                   6067:                  if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
                   6068:                       && lvalue_p (expr))
                   6069:                      || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
                   6070:                    expr = default_conversion (expr);
                   6071:                  cplus_expand_expr_stmt (expr);
                   6072:                  clear_momentary ();
                   6073:                  finish_stmt (); ;
                   6074:     break;}
1.1.1.6 ! root     6075: case 549:
        !          6076: #line 2882 "cp-parse.y"
1.1.1.5   root     6077: { expand_start_else (); ;
1.1       root     6078:     break;}
1.1.1.6 ! root     6079: case 550:
        !          6080: #line 2884 "cp-parse.y"
1.1       root     6081: { expand_end_cond ();
1.1.1.6 ! root     6082:                  pop_implicit_try_blocks (NULL_TREE);
        !          6083:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6084:                  poplevel (kept_level_p (), 1, 0);
        !          6085:                  pop_momentary ();
1.1       root     6086:                  finish_stmt (); ;
                   6087:     break;}
1.1.1.6 ! root     6088: case 551:
        !          6089: #line 2891 "cp-parse.y"
1.1       root     6090: { expand_end_cond ();
1.1.1.6 ! root     6091:                  pop_implicit_try_blocks (NULL_TREE);
        !          6092:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6093:                  poplevel (kept_level_p (), 1, 0);
        !          6094:                  pop_momentary ();
1.1       root     6095:                  finish_stmt (); ;
                   6096:     break;}
1.1.1.6 ! root     6097: case 552:
        !          6098: #line 2898 "cp-parse.y"
1.1       root     6099: { emit_nop ();
                   6100:                  emit_line_note (input_filename, lineno);
1.1.1.5   root     6101:                  expand_start_loop (1);
                   6102:                  cond_stmt_keyword = "while"; ;
1.1       root     6103:     break;}
1.1.1.6 ! root     6104: case 553:
        !          6105: #line 2903 "cp-parse.y"
1.1.1.5   root     6106: { expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[0].ttype)); ;
                   6107:     break;}
1.1.1.6 ! root     6108: case 554:
        !          6109: #line 2905 "cp-parse.y"
        !          6110: { pop_implicit_try_blocks (NULL_TREE);
        !          6111:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6112:                  poplevel (kept_level_p (), 1, 0);
        !          6113:                  pop_momentary ();
        !          6114:                  expand_end_loop ();
1.1       root     6115:                  finish_stmt (); ;
                   6116:     break;}
1.1.1.6 ! root     6117: case 555:
        !          6118: #line 2912 "cp-parse.y"
1.1       root     6119: { emit_nop ();
                   6120:                  emit_line_note (input_filename, lineno);
1.1.1.5   root     6121:                  expand_start_loop_continue_elsewhere (1); ;
1.1       root     6122:     break;}
1.1.1.6 ! root     6123: case 556:
        !          6124: #line 2916 "cp-parse.y"
1.1.1.5   root     6125: { expand_loop_continue_here ();
                   6126:                  cond_stmt_keyword = "do"; ;
1.1       root     6127:     break;}
1.1.1.6 ! root     6128: case 557:
        !          6129: #line 2919 "cp-parse.y"
1.1       root     6130: { emit_line_note (input_filename, lineno);
1.1.1.5   root     6131:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
1.1       root     6132:                  expand_end_loop ();
                   6133:                  clear_momentary ();
                   6134:                  finish_stmt (); ;
                   6135:     break;}
1.1.1.6 ! root     6136: case 558:
        !          6137: #line 2925 "cp-parse.y"
1.1       root     6138: { emit_nop ();
                   6139:                  emit_line_note (input_filename, lineno);
                   6140:                  if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
                   6141:                  expand_start_loop_continue_elsewhere (1); ;
                   6142:     break;}
1.1.1.6 ! root     6143: case 559:
        !          6144: #line 2930 "cp-parse.y"
1.1       root     6145: { emit_line_note (input_filename, lineno);
                   6146:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   6147:     break;}
1.1.1.6 ! root     6148: case 560:
        !          6149: #line 2935 "cp-parse.y"
1.1.1.5   root     6150: { push_momentary (); ;
1.1       root     6151:     break;}
1.1.1.6 ! root     6152: case 561:
        !          6153: #line 2937 "cp-parse.y"
1.1       root     6154: { emit_line_note (input_filename, lineno);
                   6155:                  expand_loop_continue_here ();
                   6156:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   6157:                  pop_momentary ();
1.1.1.6 ! root     6158:                  pop_implicit_try_blocks (NULL_TREE);
        !          6159:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6160:                  poplevel (kept_level_p (), 1, 0);
        !          6161:                  pop_momentary ();
1.1       root     6162:                  expand_end_loop ();
                   6163:                  finish_stmt (); ;
                   6164:     break;}
1.1.1.6 ! root     6165: case 562:
        !          6166: #line 2948 "cp-parse.y"
1.1       root     6167: { emit_nop ();
                   6168:                  emit_line_note (input_filename, lineno);
                   6169:                  expand_start_loop_continue_elsewhere (1); ;
                   6170:     break;}
1.1.1.6 ! root     6171: case 563:
        !          6172: #line 2952 "cp-parse.y"
1.1       root     6173: { emit_line_note (input_filename, lineno);
                   6174:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   6175:     break;}
1.1.1.6 ! root     6176: case 564:
        !          6177: #line 2957 "cp-parse.y"
1.1       root     6178: { push_momentary ();
                   6179:                  yyvsp[0].itype = lineno; ;
                   6180:     break;}
1.1.1.6 ! root     6181: case 565:
        !          6182: #line 2960 "cp-parse.y"
1.1.1.5   root     6183: { emit_line_note (input_filename, (int) yyvsp[-2].itype);
1.1       root     6184:                  expand_loop_continue_here ();
                   6185:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   6186:                  pop_momentary ();
                   6187:                  pop_implicit_try_blocks (NULL_TREE);
1.1.1.6 ! root     6188:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6189:                  poplevel (kept_level_p (), 1, 0);
        !          6190:                  pop_momentary ();
        !          6191:                  expand_end_loop ();
1.1       root     6192:                  finish_stmt ();
                   6193:                ;
                   6194:     break;}
1.1.1.6 ! root     6195: case 566:
        !          6196: #line 2972 "cp-parse.y"
1.1       root     6197: { emit_line_note (input_filename, lineno);
1.1.1.6 ! root     6198:                  c_expand_start_case (yyvsp[-1].ttype); 
        !          6199:                  /* Don't let the tree nodes for $4 be discarded by
1.1       root     6200:                     clear_momentary during the parsing of the next stmt.  */
1.1.1.5   root     6201:                  push_momentary (); ;
1.1       root     6202:     break;}
1.1.1.6 ! root     6203: case 567:
        !          6204: #line 2978 "cp-parse.y"
1.1       root     6205: { expand_end_case (yyvsp[-3].ttype);
                   6206:                  pop_momentary ();
1.1.1.6 ! root     6207:                  pop_implicit_try_blocks (NULL_TREE);
        !          6208:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
        !          6209:                  poplevel (kept_level_p (), 1, 0);
        !          6210:                  pop_momentary ();
1.1       root     6211:                  finish_stmt (); ;
                   6212:     break;}
1.1.1.6 ! root     6213: case 568:
        !          6214: #line 2986 "cp-parse.y"
1.1       root     6215: { register tree value = yyvsp[-1].ttype;
                   6216:                  register tree label
                   6217:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   6218: 
                   6219:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6220:                     Strip such NOP_EXPRs.  */
                   6221:                  if (TREE_CODE (value) == NOP_EXPR
                   6222:                      && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   6223:                    value = TREE_OPERAND (value, 0);
                   6224: 
                   6225:                  if (TREE_READONLY_DECL_P (value))
                   6226:                    {
                   6227:                      value = decl_constant_value (value);
                   6228:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6229:                         Strip such NOP_EXPRs.  */
                   6230:                      if (TREE_CODE (value) == NOP_EXPR
                   6231:                          && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   6232:                        value = TREE_OPERAND (value, 0);
                   6233:                    }
                   6234:                  value = fold (value);
                   6235: 
                   6236:                  if (TREE_CODE (value) != INTEGER_CST
                   6237:                      && value != error_mark_node)
                   6238:                    {
1.1.1.6 ! root     6239:                      cp_error ("case label `%E' does not reduce to an integer constant", yyvsp[-1].ttype);
1.1       root     6240:                      value = error_mark_node;
                   6241:                    }
                   6242:                  else
                   6243:                    /* Promote char or short to int.  */
                   6244:                    value = default_conversion (value);
                   6245:                  if (value != error_mark_node)
                   6246:                    {
                   6247:                      tree duplicate;
1.1.1.6 ! root     6248:                      int success = pushcase (value, convert_and_check,
        !          6249:                                              label, &duplicate);
1.1       root     6250:                      if (success == 1)
1.1.1.6 ! root     6251:                        cp_error ("case label `%E' not within a switch statement", yyvsp[-1].ttype);
1.1       root     6252:                      else if (success == 2)
                   6253:                        {
1.1.1.6 ! root     6254:                          cp_error ("duplicate case value `%E'", yyvsp[-1].ttype);
        !          6255:                          cp_error_at ("`%E' previously used here", duplicate);
1.1       root     6256:                        }
                   6257:                      else if (success == 3)
                   6258:                        warning ("case value out of range");
                   6259:                      else if (success == 5)
1.1.1.6 ! root     6260:                        cp_error ("case label `%E' within scope of cleanup or variable array", yyvsp[-1].ttype);
1.1       root     6261:                    }
                   6262:                  define_case_label (label);
                   6263:                ;
                   6264:     break;}
1.1.1.6 ! root     6265: case 570:
        !          6266: #line 3037 "cp-parse.y"
1.1       root     6267: { register tree value1 = yyvsp[-3].ttype;
                   6268:                  register tree value2 = yyvsp[-1].ttype;
                   6269:                  register tree label
                   6270:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   6271: 
                   6272:                  if (pedantic)
1.1.1.4   root     6273:                    pedwarn ("ANSI C++ forbids range expressions in switch statement");
                   6274: 
1.1       root     6275:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6276:                     Strip such NOP_EXPRs.  */
                   6277:                  if (TREE_CODE (value1) == NOP_EXPR
                   6278:                      && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   6279:                    value1 = TREE_OPERAND (value1, 0);
                   6280: 
                   6281:                  if (TREE_READONLY_DECL_P (value1))
                   6282:                    {
                   6283:                      value1 = decl_constant_value (value1);
                   6284:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6285:                         Strip such NOP_EXPRs.  */
                   6286:                      if (TREE_CODE (value1) == NOP_EXPR
                   6287:                          && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   6288:                        value1 = TREE_OPERAND (value1, 0);
                   6289:                    }
                   6290:                  value1 = fold (value1);
                   6291: 
                   6292:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6293:                     Strip such NOP_EXPRs.  */
                   6294:                  if (TREE_CODE (value2) == NOP_EXPR
                   6295:                      && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   6296:                    value2 = TREE_OPERAND (value2, 0);
                   6297: 
                   6298:                  if (TREE_READONLY_DECL_P (value2))
                   6299:                    {
                   6300:                      value2 = decl_constant_value (value2);
                   6301:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6302:                         Strip such NOP_EXPRs.  */
                   6303:                      if (TREE_CODE (value2) == NOP_EXPR
                   6304:                          && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   6305:                        value2 = TREE_OPERAND (value2, 0);
                   6306:                    }
                   6307:                  value2 = fold (value2);
                   6308: 
                   6309: 
                   6310:                  if (TREE_CODE (value1) != INTEGER_CST
                   6311:                      && value1 != error_mark_node)
                   6312:                    {
                   6313:                      error ("case label does not reduce to an integer constant");
                   6314:                      value1 = error_mark_node;
                   6315:                    }
                   6316:                  if (TREE_CODE (value2) != INTEGER_CST
                   6317:                      && value2 != error_mark_node)
                   6318:                    {
                   6319:                      error ("case label does not reduce to an integer constant");
                   6320:                      value2 = error_mark_node;
                   6321:                    }
                   6322:                  if (value1 != error_mark_node
                   6323:                      && value2 != error_mark_node)
                   6324:                    {
                   6325:                      tree duplicate;
1.1.1.6 ! root     6326:                      int success = pushcase_range (value1, value2,
        !          6327:                                                    convert_and_check, label,
1.1.1.2   root     6328:                                                    &duplicate);
1.1       root     6329:                      if (success == 1)
                   6330:                        error ("case label not within a switch statement");
                   6331:                      else if (success == 2)
                   6332:                        {
                   6333:                          error ("duplicate (or overlapping) case value");
                   6334:                          error_with_decl (duplicate, "this is the first entry overlapping that value");
                   6335:                        }
                   6336:                      else if (success == 3)
                   6337:                        warning ("case value out of range");
                   6338:                      else if (success == 4)
                   6339:                        warning ("empty range specified");
                   6340:                      else if (success == 5)
                   6341:                        error ("case label within scope of cleanup or variable array");
                   6342:                    }
                   6343:                  define_case_label (label);
                   6344:                ;
                   6345:     break;}
1.1.1.6 ! root     6346: case 572:
        !          6347: #line 3117 "cp-parse.y"
1.1       root     6348: {
                   6349:                  tree duplicate;
                   6350:                  register tree label
                   6351:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
1.1.1.6 ! root     6352:                  int success = pushcase (NULL_TREE, 0, label, &duplicate);
1.1       root     6353:                  if (success == 1)
                   6354:                    error ("default label not within a switch statement");
                   6355:                  else if (success == 2)
                   6356:                    {
                   6357:                      error ("multiple default labels in one switch");
                   6358:                      error_with_decl (duplicate, "this is the first default label");
                   6359:                    }
                   6360:                  define_case_label (NULL_TREE);
                   6361:                ;
                   6362:     break;}
1.1.1.6 ! root     6363: case 574:
        !          6364: #line 3133 "cp-parse.y"
1.1       root     6365: { emit_line_note (input_filename, lineno);
                   6366:                  if ( ! expand_exit_something ())
                   6367:                    error ("break statement not within loop or switch"); ;
                   6368:     break;}
1.1.1.6 ! root     6369: case 575:
        !          6370: #line 3137 "cp-parse.y"
1.1       root     6371: { emit_line_note (input_filename, lineno);
                   6372:                  if (! expand_continue_loop (0))
                   6373:                    error ("continue statement not within a loop"); ;
                   6374:     break;}
1.1.1.6 ! root     6375: case 576:
        !          6376: #line 3141 "cp-parse.y"
1.1       root     6377: { emit_line_note (input_filename, lineno);
                   6378:                  c_expand_return (NULL_TREE); ;
                   6379:     break;}
1.1.1.6 ! root     6380: case 577:
        !          6381: #line 3144 "cp-parse.y"
1.1       root     6382: { emit_line_note (input_filename, lineno);
                   6383:                  c_expand_return (yyvsp[-1].ttype);
                   6384:                  finish_stmt ();
                   6385:                ;
                   6386:     break;}
1.1.1.6 ! root     6387: case 578:
        !          6388: #line 3149 "cp-parse.y"
1.1       root     6389: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   6390:                  emit_line_note (input_filename, lineno);
                   6391:                  expand_asm (yyvsp[-2].ttype);
                   6392:                  finish_stmt ();
                   6393:                ;
                   6394:     break;}
1.1.1.6 ! root     6395: case 579:
        !          6396: #line 3156 "cp-parse.y"
1.1       root     6397: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
                   6398:                  emit_line_note (input_filename, lineno);
                   6399:                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
                   6400:                                         yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
                   6401:                                         input_filename, lineno);
                   6402:                  finish_stmt ();
                   6403:                ;
                   6404:     break;}
1.1.1.6 ! root     6405: case 580:
        !          6406: #line 3165 "cp-parse.y"
1.1       root     6407: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
                   6408:                  emit_line_note (input_filename, lineno);
                   6409:                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
                   6410:                                         yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
                   6411:                                         input_filename, lineno);
                   6412:                  finish_stmt ();
                   6413:                ;
                   6414:     break;}
1.1.1.6 ! root     6415: case 581:
        !          6416: #line 3175 "cp-parse.y"
1.1       root     6417: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
                   6418:                  emit_line_note (input_filename, lineno);
                   6419:                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
                   6420:                                         yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
                   6421:                                         input_filename, lineno);
                   6422:                  finish_stmt ();
                   6423:                ;
                   6424:     break;}
1.1.1.6 ! root     6425: case 582:
        !          6426: #line 3183 "cp-parse.y"
1.1.1.4   root     6427: { emit_line_note (input_filename, lineno);
                   6428:                  expand_computed_goto (yyvsp[-1].ttype); ;
                   6429:     break;}
1.1.1.6 ! root     6430: case 583:
        !          6431: #line 3186 "cp-parse.y"
1.1       root     6432: { tree decl;
                   6433:                  emit_line_note (input_filename, lineno);
                   6434:                  decl = lookup_label (yyvsp[-1].ttype);
                   6435:                  TREE_USED (decl) = 1;
                   6436:                  expand_goto (decl); ;
                   6437:     break;}
1.1.1.6 ! root     6438: case 584:
        !          6439: #line 3192 "cp-parse.y"
1.1       root     6440: { finish_stmt (); ;
                   6441:     break;}
1.1.1.6 ! root     6442: case 585:
        !          6443: #line 3194 "cp-parse.y"
1.1       root     6444: { error ("label must be followed by statement");
                   6445:                  yyungetc ('}', 0);
                   6446:                  finish_stmt (); ;
                   6447:     break;}
1.1.1.6 ! root     6448: case 586:
        !          6449: #line 3198 "cp-parse.y"
1.1       root     6450: { finish_stmt (); ;
                   6451:     break;}
1.1.1.6 ! root     6452: case 587:
        !          6453: #line 3201 "cp-parse.y"
1.1       root     6454: { cplus_expand_throw (NULL_TREE); ;
                   6455:     break;}
1.1.1.6 ! root     6456: case 588:
        !          6457: #line 3202 "cp-parse.y"
1.1       root     6458: { cplus_expand_throw (yyvsp[-1].ttype); ;
                   6459:     break;}
1.1.1.6 ! root     6460: case 589:
        !          6461: #line 3204 "cp-parse.y"
1.1       root     6462: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6463:                  finish_stmt (); ;
                   6464:     break;}
1.1.1.6 ! root     6465: case 590:
        !          6466: #line 3207 "cp-parse.y"
1.1       root     6467: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6468:                  finish_stmt (); ;
                   6469:     break;}
1.1.1.6 ! root     6470: case 591:
        !          6471: #line 3210 "cp-parse.y"
1.1       root     6472: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6473:                  finish_stmt (); ;
                   6474:     break;}
1.1.1.6 ! root     6475: case 592:
        !          6476: #line 3213 "cp-parse.y"
1.1       root     6477: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6478:                  finish_stmt (); ;
                   6479:     break;}
1.1.1.6 ! root     6480: case 593:
        !          6481: #line 3216 "cp-parse.y"
1.1       root     6482: { cplus_expand_reraise (yyvsp[-1].ttype);
                   6483:                  finish_stmt (); ;
                   6484:     break;}
1.1.1.6 ! root     6485: case 594:
        !          6486: #line 3219 "cp-parse.y"
1.1       root     6487: {
                   6488:                  tree decl = cplus_expand_end_try (yyvsp[-3].itype);
                   6489:                  yyvsp[-2].ttype = current_exception_type;
                   6490:                  yyvsp[0].ttype = current_exception_decl;
                   6491:                  yyval.ttype = current_exception_object;
                   6492:                  cplus_expand_start_except (yyvsp[-1].ttype, decl);
                   6493:                  pushlevel (0);
                   6494:                  clear_last_expr ();
                   6495:                  push_momentary ();
                   6496:                  expand_start_bindings (0);
                   6497:                ;
                   6498:     break;}
1.1.1.6 ! root     6499: case 595:
        !          6500: #line 3231 "cp-parse.y"
1.1       root     6501: {
                   6502:                  tree decls = getdecls ();
                   6503:                  /* If there is a default exception to handle,
                   6504:                     handle it here.  */
                   6505:                  if (yyvsp[-1].ttype)
                   6506:                    {
                   6507:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6508:                      tree block;
                   6509: 
                   6510:                      pushlevel (1);
                   6511:                      expand_start_bindings (0);
                   6512:                      expand_expr (yyvsp[-1].ttype, 0, 0, 0);
                   6513:                      expand_end_bindings (0, 1, 0);
                   6514:                      block = poplevel (1, 0, 0);
                   6515: 
                   6516:                      /* This is a catch block.  */
                   6517:                      TREE_LANG_FLAG_2 (block) = 1;
                   6518:                      BLOCK_VARS (block) = decl;
                   6519:                    }
                   6520: 
                   6521:                  expand_end_bindings (decls, decls != 0, 1);
                   6522:                  poplevel (decls != 0, 1, 0);
                   6523:                  pop_momentary ();
                   6524:                  current_exception_type = yyvsp[-5].ttype;
                   6525:                  current_exception_decl = yyvsp[-3].ttype;
                   6526:                  current_exception_object = yyvsp[-2].ttype;
                   6527:                  cplus_expand_end_except (yyvsp[-1].ttype);
                   6528:                ;
                   6529:     break;}
1.1.1.6 ! root     6530: case 596:
        !          6531: #line 3260 "cp-parse.y"
1.1       root     6532: {
                   6533:                  cplus_expand_end_try (yyvsp[-1].itype);
                   6534:                  /* These are the important actions of
                   6535:                     `cplus_expand_end_except' which we must emulate.  */
                   6536:                  if (expand_escape_except ())
                   6537:                    expand_end_except ();
                   6538:                  expand_end_bindings (0, 0, 1);
                   6539:                  poplevel (0, 0, 0);
                   6540:                ;
                   6541:     break;}
1.1.1.6 ! root     6542: case 597:
        !          6543: #line 3270 "cp-parse.y"
1.1       root     6544: {
                   6545:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype);
                   6546:                  yyvsp[-1].ttype = current_exception_type;
                   6547:                  yyvsp[0].ttype = current_exception_decl;
                   6548:                  yyval.ttype = current_exception_object;
                   6549:                  cplus_expand_start_except (NULL, decl);
                   6550:                  pushlevel (0);
                   6551:                  clear_last_expr ();
                   6552:                  push_momentary ();
                   6553:                  expand_start_bindings (0);
                   6554:                ;
                   6555:     break;}
1.1.1.6 ! root     6556: case 598:
        !          6557: #line 3282 "cp-parse.y"
1.1       root     6558: {
                   6559:                  tree decls = getdecls ();
                   6560:                  /* If there is a default exception to handle,
                   6561:                     handle it here.  */
                   6562:                  if (yyvsp[0].ttype)
                   6563:                    {
                   6564:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6565:                      tree block;
                   6566: 
                   6567:                      pushlevel (1);
                   6568:                      expand_start_bindings (0);
                   6569:                      expand_expr (yyvsp[0].ttype, 0, 0, 0);
                   6570:                      expand_end_bindings (0, 1, 0);
                   6571:                      block = poplevel (1, 0, 0);
                   6572: 
                   6573:                      /* This is a catch block.  */
                   6574:                      TREE_LANG_FLAG_2 (block) = 1;
                   6575:                      BLOCK_VARS (block) = decl;
                   6576:                    }
                   6577: 
                   6578:                  expand_end_bindings (decls, decls != 0, 1);
                   6579:                  poplevel (decls != 0, 1, 0);
                   6580:                  pop_momentary ();
                   6581:                  current_exception_type = yyvsp[-3].ttype;
                   6582:                  current_exception_decl = yyvsp[-2].ttype;
                   6583:                  current_exception_object = yyvsp[-1].ttype;
                   6584:                  cplus_expand_end_except (yyvsp[0].ttype);
                   6585:                ;
                   6586:     break;}
1.1.1.6 ! root     6587: case 599:
        !          6588: #line 3311 "cp-parse.y"
1.1       root     6589: { tree name = get_identifier ("(compiler error)");
                   6590:                  tree orig_ex_type = current_exception_type;
                   6591:                  tree orig_ex_decl = current_exception_decl;
                   6592:                  tree orig_ex_obj = current_exception_object;
                   6593:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype), decls;
                   6594: 
                   6595:                  /* Start hidden EXCEPT.  */
                   6596:                  cplus_expand_start_except (name, decl);
                   6597:                  pushlevel (0);
                   6598:                  clear_last_expr ();
                   6599:                  push_momentary ();
                   6600:                  expand_start_bindings (0);
                   6601: 
                   6602:                  /* This sets up the reraise.  */
                   6603:                  cplus_expand_reraise (yyvsp[0].ttype);
                   6604: 
                   6605:                  decls = getdecls ();
                   6606:                  expand_end_bindings (decls, decls != 0, 1);
                   6607:                  poplevel (decls != 0, 1, 0);
                   6608:                  pop_momentary ();
                   6609:                  current_exception_type = orig_ex_type;
                   6610:                  current_exception_decl = orig_ex_decl;
                   6611:                  current_exception_object = orig_ex_obj;
                   6612:                  /* This will reraise for us.  */
                   6613:                  cplus_expand_end_except (error_mark_node);
                   6614:                  if (yychar == YYEMPTY)
                   6615:                    yychar = YYLEX;
                   6616:                  if (yychar != ';')
                   6617:                    error ("missing ';' after reraise statement");
                   6618:                ;
                   6619:     break;}
1.1.1.6 ! root     6620: case 600:
        !          6621: #line 3342 "cp-parse.y"
1.1       root     6622: { yyerror ("`except' missing after `try' statement");
                   6623:                  /* Terminate the binding contour started by special
                   6624:                     code in `.pushlevel'.  Automagically pops off
                   6625:                     the conditional we started for `try' stmt.  */
                   6626:                  cplus_expand_end_try (yyvsp[0].itype);
                   6627:                  expand_end_bindings (0, 0, 1);
                   6628:                  poplevel (0, 0, 0);
                   6629:                  pop_momentary ();
                   6630:                  YYERROR; ;
                   6631:     break;}
1.1.1.6 ! root     6632: case 601:
        !          6633: #line 3357 "cp-parse.y"
1.1       root     6634: {
                   6635:                  yyval.itype = 1;
                   6636:                  pop_implicit_try_blocks (NULL_TREE);
                   6637:                ;
                   6638:     break;}
1.1.1.6 ! root     6639: case 602:
        !          6640: #line 3362 "cp-parse.y"
1.1       root     6641: {
                   6642:                  yyval.itype = 1;
                   6643:                  pop_implicit_try_blocks (NULL_TREE);
                   6644:                ;
                   6645:     break;}
1.1.1.6 ! root     6646: case 603:
        !          6647: #line 3367 "cp-parse.y"
1.1       root     6648: {
                   6649:                  yyval.itype = 0;
                   6650:                  pop_implicit_try_blocks (NULL_TREE);
                   6651:                ;
                   6652:     break;}
1.1.1.6 ! root     6653: case 604:
        !          6654: #line 3375 "cp-parse.y"
1.1       root     6655: { tree label;
                   6656:                do_label:
                   6657:                  label = define_label (input_filename, lineno, yyvsp[-1].ttype);
                   6658:                  if (label)
                   6659:                    expand_label (label);
                   6660:                ;
                   6661:     break;}
1.1.1.6 ! root     6662: case 605:
        !          6663: #line 3382 "cp-parse.y"
1.1       root     6664: { goto do_label; ;
                   6665:     break;}
1.1.1.6 ! root     6666: case 606:
        !          6667: #line 3384 "cp-parse.y"
1.1       root     6668: { tree label = define_label (input_filename, lineno, yyvsp[0].ttype);
                   6669:                  if (label)
                   6670:                    expand_label (label);
                   6671:                ;
                   6672:     break;}
1.1.1.6 ! root     6673: case 607:
        !          6674: #line 3390 "cp-parse.y"
1.1       root     6675: { cplus_expand_start_try (0); ;
                   6676:     break;}
1.1.1.6 ! root     6677: case 609:
        !          6678: #line 3396 "cp-parse.y"
1.1       root     6679: {
                   6680:                  yyval.itype = 1;
                   6681:                  pop_implicit_try_blocks (NULL_TREE);
                   6682:                ;
                   6683:     break;}
1.1.1.6 ! root     6684: case 610:
        !          6685: #line 3401 "cp-parse.y"
1.1       root     6686: {
                   6687:                  yyval.itype = 1;
                   6688:                  pop_implicit_try_blocks (NULL_TREE);
                   6689:                ;
                   6690:     break;}
1.1.1.6 ! root     6691: case 611:
        !          6692: #line 3406 "cp-parse.y"
1.1       root     6693: {
                   6694:                  yyval.itype = 0;
                   6695:                  pop_implicit_try_blocks (NULL_TREE);
                   6696:                ;
                   6697:     break;}
1.1.1.6 ! root     6698: case 613:
        !          6699: #line 3413 "cp-parse.y"
1.1       root     6700: { cplus_expand_start_try (0); ;
                   6701:     break;}
1.1.1.6 ! root     6702: case 615:
        !          6703: #line 3417 "cp-parse.y"
1.1       root     6704: { yyval.ttype = NULL_TREE; ;
                   6705:     break;}
1.1.1.6 ! root     6706: case 616:
        !          6707: #line 3419 "cp-parse.y"
1.1       root     6708: {
                   6709:                  tree type = lookup_exception_type (current_class_type, current_class_name, yyvsp[0].ttype);
                   6710:                  if (type == NULL_TREE)
                   6711:                    {
                   6712:                      error ("`%s' is not an exception type",
                   6713:                             IDENTIFIER_POINTER (TREE_VALUE (yyvsp[0].ttype)));
                   6714:                      current_exception_type = NULL_TREE;
                   6715:                      TREE_TYPE (current_exception_object) = error_mark_node;
                   6716:                    }
                   6717:                  else
                   6718:                    {
                   6719:                      current_exception_type = type;
                   6720:                      /* In-place union.  */
                   6721:                      TREE_TYPE (current_exception_object) = type;
                   6722:                    }
                   6723:                  yyvsp[0].ttype = cplus_expand_start_catch (yyvsp[0].ttype);
                   6724:                  pushlevel (1);
                   6725:                  expand_start_bindings (0);
                   6726:                ;
                   6727:     break;}
1.1.1.6 ! root     6728: case 617:
        !          6729: #line 3439 "cp-parse.y"
1.1       root     6730: {
                   6731:                  expand_end_bindings (0, 1, 0);
                   6732:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6733: 
                   6734:                  cplus_expand_end_catch (0);
                   6735: 
                   6736:                  /* Mark this as a catch block.  */
                   6737:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6738:                  if (yyvsp[-2].ttype != error_mark_node)
                   6739:                    {
                   6740:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-2].ttype), 0);
                   6741:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-2].ttype);
                   6742:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6743:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6744:                    }
                   6745:                ;
                   6746:     break;}
1.1.1.6 ! root     6747: case 618:
        !          6748: #line 3456 "cp-parse.y"
1.1       root     6749: {
                   6750:                  if (yyvsp[-1].ttype)
                   6751:                    error ("duplicate default in exception handler");
                   6752:                  current_exception_type = NULL_TREE;
                   6753:                  /* Takes it right out of scope.  */
                   6754:                  TREE_TYPE (current_exception_object) = error_mark_node;
                   6755: 
                   6756:                  if (! expand_catch_default ())
                   6757:                    compiler_error ("default catch botch");
                   6758: 
                   6759:                  /* The default exception is handled as the
                   6760:                     last in the chain of exceptions handled.  */
                   6761:                  do_pending_stack_adjust ();
                   6762:                  yyvsp[-1].ttype = make_node (RTL_EXPR);
                   6763:                  TREE_TYPE (yyvsp[-1].ttype) = void_type_node;
1.1.1.6 ! root     6764:                  start_sequence_for_rtl_expr (yyvsp[-1].ttype);
1.1       root     6765:                ;
                   6766:     break;}
1.1.1.6 ! root     6767: case 619:
        !          6768: #line 3474 "cp-parse.y"
1.1       root     6769: {
1.1.1.4   root     6770:                  extern struct rtx_def *get_insns ();
1.1       root     6771:                  do_pending_stack_adjust ();
                   6772:                  if (! expand_catch (NULL_TREE))
                   6773:                    compiler_error ("except nesting botch");
                   6774:                  if (! expand_end_catch ())
                   6775:                    compiler_error ("except nesting botch");
1.1.1.4   root     6776:                  RTL_EXPR_SEQUENCE (yyvsp[-3].ttype) = get_insns ();
1.1       root     6777:                  if (yyvsp[0].ttype)
                   6778:                    {
                   6779:                      /* Mark this block as the default catch block.  */
                   6780:                      TREE_LANG_FLAG_1 (yyvsp[0].ttype) = 1;
                   6781:                      TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6782:                    }
                   6783:                  end_sequence ();
                   6784:                ;
                   6785:     break;}
1.1.1.6 ! root     6786: case 620:
        !          6787: #line 3494 "cp-parse.y"
1.1       root     6788: { yyval.ttype = NULL_TREE; ;
                   6789:     break;}
1.1.1.6 ! root     6790: case 622:
        !          6791: #line 3499 "cp-parse.y"
1.1       root     6792: { yyval.ttype = NULL_TREE; ;
                   6793:     break;}
1.1.1.6 ! root     6794: case 623:
        !          6795: #line 3501 "cp-parse.y"
1.1       root     6796: {
                   6797:                  tree type = groktypename (yyvsp[-2].ttype);
                   6798:                  current_exception_type = type;
                   6799:                  /* In-place union.  */
                   6800:                  if (yyvsp[-1].ttype)
                   6801:                    {
                   6802:                      tree tmp;
                   6803:                      tmp = pushdecl (build_decl (VAR_DECL, yyvsp[-1].ttype, type));
                   6804:                      current_exception_object =
                   6805:                          build1 (INDIRECT_REF, type, tmp);
                   6806:                     }
                   6807:                  yyvsp[-2].ttype = ansi_expand_start_catch(type);
                   6808:                  pushlevel (1);
                   6809:                  expand_start_bindings (0);
                   6810:                ;
                   6811:     break;}
1.1.1.6 ! root     6812: case 624:
        !          6813: #line 3517 "cp-parse.y"
1.1       root     6814: {
                   6815:                  expand_end_bindings (0, 1, 0);
                   6816:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6817: 
                   6818:                  cplus_expand_end_catch (0);
                   6819: 
                   6820:                  /* Mark this as a catch block.  */
                   6821:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6822:                  if (yyvsp[-4].ttype != error_mark_node)
                   6823:                    {
                   6824:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-4].ttype), 0);
                   6825:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-4].ttype);
                   6826:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6827:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6828:                    }
                   6829:                ;
                   6830:     break;}
1.1.1.6 ! root     6831: case 625:
        !          6832: #line 3537 "cp-parse.y"
1.1       root     6833: { yyval.ttype = NULL_TREE; ;
                   6834:     break;}
1.1.1.6 ! root     6835: case 626:
        !          6836: #line 3539 "cp-parse.y"
1.1       root     6837: { yyval.ttype = yyvsp[-1].ttype; ;
                   6838:     break;}
1.1.1.6 ! root     6839: case 627:
        !          6840: #line 3541 "cp-parse.y"
1.1       root     6841: { yyval.ttype = NULL_TREE; ;
                   6842:     break;}
1.1.1.6 ! root     6843: case 628:
        !          6844: #line 3546 "cp-parse.y"
1.1       root     6845: { yyval.itype = 0; ;
                   6846:     break;}
1.1.1.6 ! root     6847: case 629:
        !          6848: #line 3548 "cp-parse.y"
1.1       root     6849: { yyval.itype = 0; ;
                   6850:     break;}
1.1.1.6 ! root     6851: case 630:
        !          6852: #line 3550 "cp-parse.y"
1.1       root     6853: { yyval.itype = 1; ;
                   6854:     break;}
1.1.1.6 ! root     6855: case 631:
        !          6856: #line 3552 "cp-parse.y"
1.1       root     6857: { yyval.itype = -1; ;
                   6858:     break;}
1.1.1.6 ! root     6859: case 632:
        !          6860: #line 3559 "cp-parse.y"
1.1.1.5   root     6861: { emit_line_note (input_filename, lineno); ;
1.1       root     6862:     break;}
1.1.1.6 ! root     6863: case 633:
        !          6864: #line 3561 "cp-parse.y"
1.1.1.5   root     6865: { emit_line_note (input_filename, lineno); ;
1.1       root     6866:     break;}
1.1.1.6 ! root     6867: case 634:
        !          6868: #line 3566 "cp-parse.y"
1.1       root     6869: { yyval.ttype = NULL_TREE; ;
                   6870:     break;}
1.1.1.6 ! root     6871: case 636:
        !          6872: #line 3569 "cp-parse.y"
1.1       root     6873: { yyval.ttype = NULL_TREE; ;
                   6874:     break;}
1.1.1.6 ! root     6875: case 637:
        !          6876: #line 3575 "cp-parse.y"
1.1       root     6877: { yyval.ttype = NULL_TREE; ;
                   6878:     break;}
1.1.1.6 ! root     6879: case 640:
        !          6880: #line 3582 "cp-parse.y"
1.1       root     6881: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   6882:     break;}
1.1.1.6 ! root     6883: case 641:
        !          6884: #line 3587 "cp-parse.y"
1.1       root     6885: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
                   6886:     break;}
1.1.1.6 ! root     6887: case 642:
        !          6888: #line 3592 "cp-parse.y"
1.1       root     6889: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
                   6890:     break;}
1.1.1.6 ! root     6891: case 643:
        !          6892: #line 3594 "cp-parse.y"
1.1       root     6893: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   6894:     break;}
1.1.1.6 ! root     6895: case 644:
        !          6896: #line 3603 "cp-parse.y"
1.1       root     6897: {
                   6898:                  if (strict_prototype)
                   6899:                    yyval.ttype = void_list_node;
                   6900:                  else
                   6901:                    yyval.ttype = NULL_TREE;
                   6902:                ;
                   6903:     break;}
1.1.1.6 ! root     6904: case 645:
        !          6905: #line 3610 "cp-parse.y"
1.1       root     6906: {
                   6907:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6908:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6909:                ;
                   6910:     break;}
1.1.1.6 ! root     6911: case 646:
        !          6912: #line 3615 "cp-parse.y"
1.1       root     6913: {
                   6914:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6915:                ;
                   6916:     break;}
1.1.1.6 ! root     6917: case 647:
        !          6918: #line 3620 "cp-parse.y"
1.1       root     6919: {
                   6920:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6921:                ;
                   6922:     break;}
1.1.1.6 ! root     6923: case 648:
        !          6924: #line 3624 "cp-parse.y"
1.1       root     6925: {
1.1.1.4   root     6926:                  /* ARM $8.2.5 has this as a boxed-off comment.  */
                   6927:                  if (pedantic)
                   6928:                    warning ("use of `...' without a first argument is non-portable");
1.1       root     6929:                  yyval.ttype = NULL_TREE;
                   6930:                ;
                   6931:     break;}
1.1.1.6 ! root     6932: case 649:
        !          6933: #line 3631 "cp-parse.y"
1.1       root     6934: {
                   6935:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6936:                ;
                   6937:     break;}
1.1.1.6 ! root     6938: case 650:
        !          6939: #line 3635 "cp-parse.y"
1.1       root     6940: {
                   6941:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6942:                ;
                   6943:     break;}
1.1.1.6 ! root     6944: case 651:
        !          6945: #line 3639 "cp-parse.y"
1.1       root     6946: {
                   6947:                  /* This helps us recover from really nasty
                   6948:                     parse errors, for example, a missing right
                   6949:                     parenthesis.  */
                   6950:                  yyerror ("possibly missing ')'");
                   6951:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6952:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6953:                  yyungetc (':', 0);
                   6954:                  yychar = ')';
                   6955:                ;
                   6956:     break;}
1.1.1.6 ! root     6957: case 652:
        !          6958: #line 3654 "cp-parse.y"
1.1       root     6959: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   6960:     break;}
1.1.1.6 ! root     6961: case 653:
        !          6962: #line 3656 "cp-parse.y"
1.1       root     6963: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
                   6964:     break;}
1.1.1.6 ! root     6965: case 654:
        !          6966: #line 3658 "cp-parse.y"
1.1       root     6967: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6968:     break;}
1.1.1.6 ! root     6969: case 655:
        !          6970: #line 3660 "cp-parse.y"
1.1       root     6971: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6972:     break;}
1.1.1.6 ! root     6973: case 656:
        !          6974: #line 3662 "cp-parse.y"
1.1       root     6975: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6976:     break;}
1.1.1.6 ! root     6977: case 657:
        !          6978: #line 3664 "cp-parse.y"
1.1       root     6979: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6980:     break;}
1.1.1.6 ! root     6981: case 658:
        !          6982: #line 3685 "cp-parse.y"
1.1       root     6983: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6984:                  see_typename (); ;
                   6985:     break;}
1.1.1.6 ! root     6986: case 659:
        !          6987: #line 3688 "cp-parse.y"
1.1       root     6988: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6989:                  see_typename (); ;
                   6990:     break;}
1.1.1.6 ! root     6991: case 662:
        !          6992: #line 3695 "cp-parse.y"
1.1       root     6993: { yyval.ttype = yyvsp[0].ttype; ;
                   6994:     break;}
1.1.1.6 ! root     6995: case 663:
        !          6996: #line 3699 "cp-parse.y"
1.1       root     6997: { see_typename (); ;
                   6998:     break;}
1.1.1.6 ! root     6999: case 664:
        !          7000: #line 3703 "cp-parse.y"
1.1       root     7001: { dont_see_typename (); ;
                   7002:     break;}
1.1.1.6 ! root     7003: case 665:
        !          7004: #line 3722 "cp-parse.y"
1.1       root     7005: {
                   7006:                  warning ("type specifier omitted for parameter");
                   7007:                  yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
                   7008:                ;
                   7009:     break;}
1.1.1.6 ! root     7010: case 666:
        !          7011: #line 3730 "cp-parse.y"
1.1       root     7012: { yyval.ttype = NULL_TREE; ;
                   7013:     break;}
1.1.1.6 ! root     7014: case 667:
        !          7015: #line 3732 "cp-parse.y"
1.1       root     7016: { yyval.ttype = yyvsp[0].ttype; ;
                   7017:     break;}
1.1.1.6 ! root     7018: case 668:
        !          7019: #line 3734 "cp-parse.y"
1.1       root     7020: { yyval.ttype = yyvsp[-1].ttype; ;
                   7021:     break;}
1.1.1.6 ! root     7022: case 669:
        !          7023: #line 3739 "cp-parse.y"
1.1       root     7024: { yyval.ttype = void_list_node; ;
                   7025:     break;}
1.1.1.6 ! root     7026: case 670:
        !          7027: #line 3741 "cp-parse.y"
1.1       root     7028: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   7029:     break;}
1.1.1.6 ! root     7030: case 671:
        !          7031: #line 3743 "cp-parse.y"
1.1       root     7032: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   7033:     break;}
1.1.1.6 ! root     7034: case 672:
        !          7035: #line 3745 "cp-parse.y"
1.1       root     7036: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   7037:     break;}
1.1.1.6 ! root     7038: case 673:
        !          7039: #line 3747 "cp-parse.y"
1.1       root     7040: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   7041:     break;}
1.1.1.6 ! root     7042: case 674:
        !          7043: #line 3749 "cp-parse.y"
1.1       root     7044: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   7045:     break;}
1.1.1.6 ! root     7046: case 676:
        !          7047: #line 3755 "cp-parse.y"
1.1       root     7048: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   7049:     break;}
1.1.1.6 ! root     7050: case 678:
        !          7051: #line 3761 "cp-parse.y"
1.1       root     7052: {
                   7053:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   7054:                  yyval.ttype = yyvsp[0].ttype;
                   7055:                ;
                   7056:     break;}
1.1.1.6 ! root     7057: case 680:
        !          7058: #line 3770 "cp-parse.y"
1.1       root     7059: {
                   7060:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   7061:                  yyval.ttype = yyvsp[0].ttype;
                   7062:                ;
                   7063:     break;}
1.1.1.6 ! root     7064: case 681:
        !          7065: #line 3778 "cp-parse.y"
1.1       root     7066: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
                   7067:     break;}
1.1.1.6 ! root     7068: case 682:
        !          7069: #line 3780 "cp-parse.y"
1.1       root     7070: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
                   7071:     break;}
1.1.1.6 ! root     7072: case 683:
        !          7073: #line 3782 "cp-parse.y"
1.1       root     7074: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
                   7075:     break;}
1.1.1.6 ! root     7076: case 684:
        !          7077: #line 3784 "cp-parse.y"
1.1       root     7078: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
                   7079:     break;}
1.1.1.6 ! root     7080: case 685:
        !          7081: #line 3786 "cp-parse.y"
1.1       root     7082: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
                   7083:     break;}
1.1.1.6 ! root     7084: case 686:
        !          7085: #line 3788 "cp-parse.y"
1.1       root     7086: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
                   7087:     break;}
1.1.1.6 ! root     7088: case 687:
        !          7089: #line 3790 "cp-parse.y"
1.1       root     7090: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
                   7091:     break;}
1.1.1.6 ! root     7092: case 688:
        !          7093: #line 3792 "cp-parse.y"
1.1       root     7094: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
                   7095:     break;}
1.1.1.6 ! root     7096: case 689:
        !          7097: #line 3794 "cp-parse.y"
1.1       root     7098: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
                   7099:     break;}
1.1.1.6 ! root     7100: case 690:
        !          7101: #line 3796 "cp-parse.y"
1.1       root     7102: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
                   7103:     break;}
1.1.1.6 ! root     7104: case 691:
        !          7105: #line 3798 "cp-parse.y"
1.1       root     7106: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   7107:     break;}
1.1.1.6 ! root     7108: case 692:
        !          7109: #line 3800 "cp-parse.y"
1.1       root     7110: { yyval.ttype = ansi_opname[LT_EXPR]; ;
                   7111:     break;}
1.1.1.6 ! root     7112: case 693:
        !          7113: #line 3802 "cp-parse.y"
1.1       root     7114: { yyval.ttype = ansi_opname[GT_EXPR]; ;
                   7115:     break;}
1.1.1.6 ! root     7116: case 694:
        !          7117: #line 3804 "cp-parse.y"
1.1       root     7118: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   7119:     break;}
1.1.1.6 ! root     7120: case 695:
        !          7121: #line 3806 "cp-parse.y"
1.1       root     7122: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
                   7123:     break;}
1.1.1.6 ! root     7124: case 696:
        !          7125: #line 3808 "cp-parse.y"
1.1       root     7126: {
                   7127:                  yyval.ttype = ansi_opname [MODIFY_EXPR];
                   7128:                  if (current_class_type)
                   7129:                    {
                   7130:                      TYPE_HAS_ASSIGNMENT (current_class_type) = 1;
                   7131:                      TYPE_GETS_ASSIGNMENT (current_class_type) = 1;
                   7132:                    }
                   7133:                ;
                   7134:     break;}
1.1.1.6 ! root     7135: case 697:
        !          7136: #line 3817 "cp-parse.y"
1.1       root     7137: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   7138:     break;}
1.1.1.6 ! root     7139: case 698:
        !          7140: #line 3819 "cp-parse.y"
1.1       root     7141: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   7142:     break;}
1.1.1.6 ! root     7143: case 699:
        !          7144: #line 3821 "cp-parse.y"
1.1       root     7145: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
                   7146:     break;}
1.1.1.6 ! root     7147: case 700:
        !          7148: #line 3823 "cp-parse.y"
1.1       root     7149: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
                   7150:     break;}
1.1.1.6 ! root     7151: case 701:
        !          7152: #line 3825 "cp-parse.y"
1.1       root     7153: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
                   7154:     break;}
1.1.1.6 ! root     7155: case 702:
        !          7156: #line 3827 "cp-parse.y"
1.1       root     7157: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
                   7158:     break;}
1.1.1.6 ! root     7159: case 703:
        !          7160: #line 3829 "cp-parse.y"
1.1       root     7161: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
                   7162:     break;}
1.1.1.6 ! root     7163: case 704:
        !          7164: #line 3831 "cp-parse.y"
1.1       root     7165: { yyval.ttype = ansi_opname[COND_EXPR]; ;
                   7166:     break;}
1.1.1.6 ! root     7167: case 705:
        !          7168: #line 3833 "cp-parse.y"
1.1       root     7169: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   7170:     break;}
1.1.1.6 ! root     7171: case 706:
        !          7172: #line 3835 "cp-parse.y"
1.1       root     7173: { yyval.ttype = ansi_opname[COMPONENT_REF];
                   7174:                  if (current_class_type)
                   7175:                    {
                   7176:                      tree t = current_class_type;
                   7177:                      while (t)
                   7178:                        {
                   7179:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   7180:                          t = TYPE_NEXT_VARIANT (t);
                   7181:                        }
                   7182:                    }
                   7183:                ;
                   7184:     break;}
1.1.1.6 ! root     7185: case 707:
        !          7186: #line 3847 "cp-parse.y"
1.1       root     7187: { yyval.ttype = ansi_opname[MEMBER_REF];
                   7188:                  if (current_class_type)
                   7189:                    {
                   7190:                      tree t = current_class_type;
                   7191:                      while (t)
                   7192:                        {
                   7193:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   7194:                          t = TYPE_NEXT_VARIANT (t);
                   7195:                        }
                   7196:                    }
                   7197:                ;
                   7198:     break;}
1.1.1.6 ! root     7199: case 708:
        !          7200: #line 3859 "cp-parse.y"
1.1       root     7201: { yyval.ttype = ansi_opname[CALL_EXPR];
                   7202:                  if (current_class_type)
                   7203:                    {
                   7204:                      tree t = current_class_type;
                   7205:                      while (t)
                   7206:                        {
                   7207:                          TYPE_OVERLOADS_CALL_EXPR (t) = 1;
                   7208:                          t = TYPE_NEXT_VARIANT (t);
                   7209:                        }
                   7210:                    }
                   7211:                ;
                   7212:     break;}
1.1.1.6 ! root     7213: case 709:
        !          7214: #line 3871 "cp-parse.y"
1.1       root     7215: { yyval.ttype = ansi_opname[ARRAY_REF];
                   7216:                  if (current_class_type)
                   7217:                    {
                   7218:                      tree t = current_class_type;
                   7219:                      while (t)
                   7220:                        {
                   7221:                          TYPE_OVERLOADS_ARRAY_REF (t) = 1;
                   7222:                          t = TYPE_NEXT_VARIANT (t);
                   7223:                        }
                   7224:                    }
                   7225:                ;
                   7226:     break;}
1.1.1.6 ! root     7227: case 710:
        !          7228: #line 3883 "cp-parse.y"
1.1       root     7229: {
                   7230:                  yyval.ttype = ansi_opname[NEW_EXPR];
                   7231:                  if (current_class_type)
                   7232:                    {
                   7233:                      tree t = current_class_type;
                   7234:                      while (t)
                   7235:                        {
                   7236:                          TREE_GETS_NEW (t) = 1;
                   7237:                          t = TYPE_NEXT_VARIANT (t);
                   7238:                        }
                   7239:                    }
                   7240:                ;
                   7241:     break;}
1.1.1.6 ! root     7242: case 711:
        !          7243: #line 3911 "cp-parse.y"
1.1       root     7244: {
                   7245:                  yyval.ttype = ansi_opname[DELETE_EXPR];
                   7246:                  if (current_class_type)
                   7247:                    {
                   7248:                      tree t = current_class_type;
                   7249:                      while (t)
                   7250:                        {
                   7251:                          TREE_GETS_DELETE (t) = 1;
                   7252:                          t = TYPE_NEXT_VARIANT (t);
                   7253:                        }
                   7254:                    }
                   7255:                ;
                   7256:     break;}
1.1.1.6 ! root     7257: case 712:
        !          7258: #line 3942 "cp-parse.y"
1.1.1.4   root     7259: { yyval.ttype = build1 (TYPE_EXPR, yyvsp[-1].ttype, yyvsp[0].ttype); ;
1.1       root     7260:     break;}
1.1.1.6 ! root     7261: case 713:
        !          7262: #line 3944 "cp-parse.y"
1.1       root     7263: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
                   7264:     break;}
                   7265: }
                   7266:    /* the action file gets copied in in place of this dollarsign */
1.1.1.6 ! root     7267: #line 480 "/usr/local/lib/bison.simple"
1.1       root     7268: 
                   7269:   yyvsp -= yylen;
                   7270:   yyssp -= yylen;
                   7271: #ifdef YYLSP_NEEDED
                   7272:   yylsp -= yylen;
                   7273: #endif
                   7274: 
                   7275: #if YYDEBUG != 0
                   7276:   if (yydebug)
                   7277:     {
                   7278:       short *ssp1 = yyss - 1;
                   7279:       fprintf (stderr, "state stack now");
                   7280:       while (ssp1 != yyssp)
                   7281:        fprintf (stderr, " %d", *++ssp1);
                   7282:       fprintf (stderr, "\n");
                   7283:     }
                   7284: #endif
                   7285: 
                   7286:   *++yyvsp = yyval;
                   7287: 
                   7288: #ifdef YYLSP_NEEDED
                   7289:   yylsp++;
                   7290:   if (yylen == 0)
                   7291:     {
                   7292:       yylsp->first_line = yylloc.first_line;
                   7293:       yylsp->first_column = yylloc.first_column;
                   7294:       yylsp->last_line = (yylsp-1)->last_line;
                   7295:       yylsp->last_column = (yylsp-1)->last_column;
                   7296:       yylsp->text = 0;
                   7297:     }
                   7298:   else
                   7299:     {
                   7300:       yylsp->last_line = (yylsp+yylen-1)->last_line;
                   7301:       yylsp->last_column = (yylsp+yylen-1)->last_column;
                   7302:     }
                   7303: #endif
                   7304: 
                   7305:   /* Now "shift" the result of the reduction.
                   7306:      Determine what state that goes to,
                   7307:      based on the state we popped back to
                   7308:      and the rule number reduced by.  */
                   7309: 
                   7310:   yyn = yyr1[yyn];
                   7311: 
                   7312:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
                   7313:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   7314:     yystate = yytable[yystate];
                   7315:   else
                   7316:     yystate = yydefgoto[yyn - YYNTBASE];
                   7317: 
                   7318:   goto yynewstate;
                   7319: 
                   7320: yyerrlab:   /* here on detecting error */
                   7321: 
                   7322:   if (! yyerrstatus)
                   7323:     /* If not already recovering from an error, report this error.  */
                   7324:     {
                   7325:       ++yynerrs;
                   7326: 
                   7327: #ifdef YYERROR_VERBOSE
                   7328:       yyn = yypact[yystate];
                   7329: 
                   7330:       if (yyn > YYFLAG && yyn < YYLAST)
                   7331:        {
                   7332:          int size = 0;
                   7333:          char *msg;
                   7334:          int x, count;
                   7335: 
                   7336:          count = 0;
1.1.1.6 ! root     7337:          /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
        !          7338:          for (x = (yyn < 0 ? -yyn : 0);
        !          7339:               x < (sizeof(yytname) / sizeof(char *)); x++)
1.1       root     7340:            if (yycheck[x + yyn] == x)
                   7341:              size += strlen(yytname[x]) + 15, count++;
1.1.1.3   root     7342:          msg = (char *) malloc(size + 15);
                   7343:          if (msg != 0)
1.1.1.2   root     7344:            {
1.1.1.3   root     7345:              strcpy(msg, "parse error");
                   7346: 
                   7347:              if (count < 5)
                   7348:                {
                   7349:                  count = 0;
1.1.1.6 ! root     7350:                  for (x = (yyn < 0 ? -yyn : 0);
        !          7351:                       x < (sizeof(yytname) / sizeof(char *)); x++)
1.1.1.3   root     7352:                    if (yycheck[x + yyn] == x)
                   7353:                      {
                   7354:                        strcat(msg, count == 0 ? ", expecting `" : " or `");
                   7355:                        strcat(msg, yytname[x]);
                   7356:                        strcat(msg, "'");
                   7357:                        count++;
                   7358:                      }
                   7359:                }
                   7360:              yyerror(msg);
                   7361:              free(msg);
1.1       root     7362:            }
1.1.1.3   root     7363:          else
                   7364:            yyerror ("parse error; also virtual memory exceeded");
1.1       root     7365:        }
                   7366:       else
                   7367: #endif /* YYERROR_VERBOSE */
                   7368:        yyerror("parse error");
                   7369:     }
                   7370: 
1.1.1.6 ! root     7371:   goto yyerrlab1;
1.1       root     7372: yyerrlab1:   /* here on error raised explicitly by an action */
                   7373: 
                   7374:   if (yyerrstatus == 3)
                   7375:     {
                   7376:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
                   7377: 
                   7378:       /* return failure if at end of input */
                   7379:       if (yychar == YYEOF)
                   7380:        YYABORT;
                   7381: 
                   7382: #if YYDEBUG != 0
                   7383:       if (yydebug)
                   7384:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
                   7385: #endif
                   7386: 
                   7387:       yychar = YYEMPTY;
                   7388:     }
                   7389: 
                   7390:   /* Else will try to reuse lookahead token
                   7391:      after shifting the error token.  */
                   7392: 
                   7393:   yyerrstatus = 3;             /* Each real token shifted decrements this */
                   7394: 
                   7395:   goto yyerrhandle;
                   7396: 
                   7397: yyerrdefault:  /* current state does not do anything special for the error token. */
                   7398: 
                   7399: #if 0
                   7400:   /* This is wrong; only states that explicitly want error tokens
                   7401:      should shift them.  */
                   7402:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
                   7403:   if (yyn) goto yydefault;
                   7404: #endif
                   7405: 
                   7406: yyerrpop:   /* pop the current state because it cannot handle the error token */
                   7407: 
                   7408:   if (yyssp == yyss) YYABORT;
                   7409:   yyvsp--;
                   7410:   yystate = *--yyssp;
                   7411: #ifdef YYLSP_NEEDED
                   7412:   yylsp--;
                   7413: #endif
                   7414: 
                   7415: #if YYDEBUG != 0
                   7416:   if (yydebug)
                   7417:     {
                   7418:       short *ssp1 = yyss - 1;
                   7419:       fprintf (stderr, "Error: state stack now");
                   7420:       while (ssp1 != yyssp)
                   7421:        fprintf (stderr, " %d", *++ssp1);
                   7422:       fprintf (stderr, "\n");
                   7423:     }
                   7424: #endif
                   7425: 
                   7426: yyerrhandle:
                   7427: 
                   7428:   yyn = yypact[yystate];
                   7429:   if (yyn == YYFLAG)
                   7430:     goto yyerrdefault;
                   7431: 
                   7432:   yyn += YYTERROR;
                   7433:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
                   7434:     goto yyerrdefault;
                   7435: 
                   7436:   yyn = yytable[yyn];
                   7437:   if (yyn < 0)
                   7438:     {
                   7439:       if (yyn == YYFLAG)
                   7440:        goto yyerrpop;
                   7441:       yyn = -yyn;
                   7442:       goto yyreduce;
                   7443:     }
                   7444:   else if (yyn == 0)
                   7445:     goto yyerrpop;
                   7446: 
                   7447:   if (yyn == YYFINAL)
                   7448:     YYACCEPT;
                   7449: 
                   7450: #if YYDEBUG != 0
                   7451:   if (yydebug)
                   7452:     fprintf(stderr, "Shifting error token, ");
                   7453: #endif
                   7454: 
                   7455:   *++yyvsp = yylval;
                   7456: #ifdef YYLSP_NEEDED
                   7457:   *++yylsp = yylloc;
                   7458: #endif
                   7459: 
                   7460:   yystate = yyn;
                   7461:   goto yynewstate;
                   7462: }
1.1.1.6 ! root     7463: #line 3947 "cp-parse.y"
1.1       root     7464: 

unix.superglobalmegacorp.com

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