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

1.1       root        1: 
                      2: /*  A Bison parser, made from cp-parse.y  */
                      3: 
                      4: #define YYBISON 1  /* Identify Bison output.  */
                      5: 
                      6: #define        IDENTIFIER      258
                      7: #define        TYPENAME        259
                      8: #define        SCOPED_TYPENAME 260
                      9: #define        SCSPEC  261
                     10: #define        TYPESPEC        262
                     11: #define        TYPE_QUAL       263
                     12: #define        CONSTANT        264
                     13: #define        STRING  265
                     14: #define        ELLIPSIS        266
                     15: #define        SIZEOF  267
                     16: #define        ENUM    268
                     17: #define        IF      269
                     18: #define        ELSE    270
                     19: #define        WHILE   271
                     20: #define        DO      272
                     21: #define        FOR     273
                     22: #define        SWITCH  274
                     23: #define        CASE    275
                     24: #define        DEFAULT 276
                     25: #define        BREAK   277
                     26: #define        CONTINUE        278
                     27: #define        RETURN  279
                     28: #define        GOTO    280
1.1.1.2   root       29: #define        ASM_KEYWORD     281
1.1       root       30: #define        TYPEOF  282
                     31: #define        ALIGNOF 283
                     32: #define        HEADOF  284
                     33: #define        CLASSOF 285
                     34: #define        ATTRIBUTE       286
1.1.1.2   root       35: #define        EXTENSION       287
                     36: #define        LABEL   288
                     37: #define        AGGR    289
                     38: #define        VISSPEC 290
                     39: #define        DELETE  291
                     40: #define        NEW     292
                     41: #define        OVERLOAD        293
                     42: #define        THIS    294
                     43: #define        OPERATOR        295
                     44: #define        DYNAMIC 296
                     45: #define        POINTSAT_LEFT_RIGHT     297
                     46: #define        LEFT_RIGHT      298
                     47: #define        TEMPLATE        299
                     48: #define        SCOPE   300
                     49: #define        START_DECLARATOR        301
                     50: #define        EMPTY   302
                     51: #define        TYPENAME_COLON  303
                     52: #define        ASSIGN  304
                     53: #define        RANGE   305
                     54: #define        OROR    306
                     55: #define        ANDAND  307
                     56: #define        MIN_MAX 308
                     57: #define        EQCOMPARE       309
                     58: #define        ARITHCOMPARE    310
                     59: #define        LSHIFT  311
                     60: #define        RSHIFT  312
                     61: #define        UNARY   313
                     62: #define        PLUSPLUS        314
                     63: #define        MINUSMINUS      315
                     64: #define        HYPERUNARY      316
                     65: #define        PAREN_STAR_PAREN        317
                     66: #define        POINTSAT        318
                     67: #define        POINTSAT_STAR   319
                     68: #define        DOT_STAR        320
                     69: #define        RAISE   321
                     70: #define        RAISES  322
                     71: #define        RERAISE 323
                     72: #define        TRY     324
                     73: #define        EXCEPT  325
                     74: #define        CATCH   326
                     75: #define        THROW   327
                     76: #define        ANSI_TRY        328
                     77: #define        ANSI_THROW      329
                     78: #define        TYPENAME_ELLIPSIS       330
                     79: #define        PTYPENAME       331
                     80: #define        PRE_PARSED_FUNCTION_DECL        332
                     81: #define        EXTERN_LANG_STRING      333
                     82: #define        ALL     334
                     83: #define        PRE_PARSED_CLASS_DECL   335
                     84: #define        TYPENAME_DEFN   336
                     85: #define        IDENTIFIER_DEFN 337
                     86: #define        PTYPENAME_DEFN  338
                     87: #define        END_OF_SAVED_INPUT      339
1.1       root       88: 
                     89: #line 42 "cp-parse.y"
                     90: 
1.1.1.4 ! root       91: #if defined(GATHER_STATISTICS) || defined(SPEW_DEBUG)
1.1       root       92: #undef YYDEBUG
                     93: #define YYDEBUG 1
                     94: #endif
                     95: 
                     96: #include "config.h"
                     97: 
                     98: #include <stdio.h>
                     99: #include <errno.h>
                    100: 
                    101: #include "tree.h"
                    102: #include "input.h"
1.1.1.4 ! root      103: #include "flags.h"
1.1       root      104: #include "cp-lex.h"
                    105: #include "cp-tree.h"
                    106: 
                    107: extern tree void_list_node;
1.1.1.4 ! root      108: extern struct obstack permanent_obstack;
1.1       root      109: 
                    110: #ifndef errno
                    111: extern int errno;
                    112: #endif
                    113: 
                    114: extern int end_of_file;
                    115: 
                    116: void yyerror ();
                    117: 
                    118: /* Like YYERROR but do call yyerror.  */
                    119: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
                    120: 
                    121: static void position_after_white_space ();
                    122: 
                    123: /* Contains error message to give if user tries to declare
                    124:    a variable where one does not belong.  */
                    125: static char *stmt_decl_msg = 0;
                    126: 
                    127: /* Nonzero if we have an `extern "C"' acting as an extern specifier.  */
1.1.1.4 ! root      128: int have_extern_spec;
        !           129: int used_extern_spec;
1.1       root      130: 
                    131: void yyhook ();
                    132: 
                    133: /* Cons up an empty parameter list.  */
                    134: #ifdef __GNUC__
                    135: __inline
                    136: #endif
                    137: static tree
                    138: empty_parms ()
                    139: {
                    140:   tree parms;
                    141: 
                    142:   if (strict_prototype)
                    143:     parms = void_list_node;
                    144:   else
                    145:     parms = NULL_TREE;
                    146:   return parms;
                    147: }
                    148: 
1.1.1.4 ! root      149: #line 104 "cp-parse.y"
1.1.1.2   root      150: typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
1.1.1.4 ! root      151: #line 261 "cp-parse.y"
1.1       root      152: 
                    153: /* List of types and structure classes of the current declaration.  */
1.1.1.4 ! root      154: static tree current_declspecs;
1.1       root      155: 
                    156: /* When defining an aggregate, this is the most recent one being defined.  */
                    157: static tree current_aggr;
                    158: 
1.1.1.4 ! root      159: /* 1 if we explained undeclared var errors.  */
        !           160: int undeclared_variable_notice;
1.1       root      161: 
1.1.1.4 ! root      162: /* Tell yyparse how to print a token's value, if yydebug is set.  */
1.1       root      163: 
                    164: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
1.1.1.4 ! root      165: extern void yyprint ();
1.1       root      166: 
                    167: #ifndef YYLTYPE
                    168: typedef
                    169:   struct yyltype
                    170:     {
                    171:       int timestamp;
                    172:       int first_line;
                    173:       int first_column;
                    174:       int last_line;
                    175:       int last_column;
                    176:       char *text;
                    177:    }
                    178:   yyltype;
                    179: 
                    180: #define YYLTYPE yyltype
                    181: #endif
                    182: 
                    183: #include <stdio.h>
                    184: 
                    185: #ifndef __STDC__
                    186: #define const
                    187: #endif
                    188: 
                    189: 
                    190: 
1.1.1.4 ! root      191: #define        YYFINAL         1271
1.1       root      192: #define        YYFLAG          -32768
1.1.1.2   root      193: #define        YYNTBASE        109
1.1       root      194: 
1.1.1.4 ! root      195: #define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 298)
1.1       root      196: 
                    197: static const char yytranslate[] = {     0,
                    198:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    199:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    200:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.2   root      201:      2,     2,   107,     2,     2,     2,    72,    60,     2,    82,
                    202:    103,    70,    68,    50,    69,    80,    71,     2,     2,     2,
                    203:      2,     2,     2,     2,     2,     2,     2,    54,   104,    64,
                    204:     52,    65,    53,     2,     2,     2,     2,     2,     2,     2,
1.1       root      205:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    206:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.2   root      207:     83,     2,   108,    59,     2,     2,     2,     2,     2,     2,
1.1       root      208:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    209:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.2   root      210:      2,     2,    49,    58,   105,   106,     2,     2,     2,     2,
1.1       root      211:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    212:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    213:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    214:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    215:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    216:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    217:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    218:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    219:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    220:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    221:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    222:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    223:      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
                    224:      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
                    225:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
                    226:     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
                    227:     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1.1.1.2   root      228:     46,    47,    48,    51,    55,    56,    57,    61,    62,    63,
                    229:     66,    67,    73,    74,    75,    76,    77,    78,    79,    81,
1.1       root      230:     84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1.1.1.2   root      231:     94,    95,    96,    97,    98,    99,   100,   101,   102
1.1       root      232: };
                    233: 
                    234: static const short yyprhs[] = {     0,
                    235:      0,     1,     3,     4,     7,    10,    11,    12,    14,    16,
                    236:     18,    20,    26,    31,    35,    40,    45,    47,    48,    54,
                    237:     56,    60,    63,    68,    72,    74,    78,    80,    84,    85,
                    238:     91,    92,    98,    99,   105,   106,   112,   116,   120,   127,
1.1.1.2   root      239:    135,   140,   144,   148,   150,   152,   154,   156,   158,   161,
                    240:    165,   169,   173,   177,   180,   183,   186,   189,   191,   195,
                    241:    200,   204,   210,   215,   219,   223,   226,   230,   234,   237,
                    242:    244,   251,   256,   261,   263,   270,   275,   279,   286,   291,
                    243:    295,   298,   301,   303,   307,   312,   315,   319,   320,   321,
1.1.1.4 ! root      244:    323,   327,   330,   334,   336,   341,   344,   349,   352,   357,
        !           245:    360,   366,   370,   372,   374,   376,   378,   380,   382,   384,
        !           246:    386,   388,   391,   393,   397,   402,   407,   409,   411,   412,
        !           247:    413,   415,   419,   421,   423,   424,   431,   432,   434,   435,
        !           248:    438,   440,   442,   444,   446,   448,   450,   452,   454,   458,
        !           249:    462,   464,   465,   469,   472,   475,   478,   481,   484,   487,
        !           250:    492,   495,   500,   504,   511,   518,   528,   533,   541,   547,
        !           251:    556,   566,   576,   583,   593,   600,   610,   614,   621,   624,
        !           252:    629,   635,   637,   642,   650,   655,   660,   665,   667,   671,
        !           253:    675,   679,   683,   687,   691,   695,   699,   703,   707,   711,
        !           254:    715,   719,   723,   727,   731,   735,   741,   745,   749,   753,
        !           255:    756,   758,   760,   762,   764,   768,   772,   773,   778,   779,
        !           256:    786,   789,   794,   797,   801,   804,   807,   809,   814,   819,
        !           257:    822,   828,   832,   835,   838,   841,   847,   851,   857,   861,
        !           258:    868,   873,   875,   880,   883,   889,   890,   892,   894,   897,
        !           259:    899,   902,   903,   906,   909,   912,   916,   920,   924,   928,
        !           260:    931,   934,   936,   938,   941,   944,   946,   949,   952,   956,
        !           261:    958,   960,   963,   966,   968,   970,   973,   976,   978,   981,
        !           262:    984,   988,   990,   993,   995,   997,   999,  1001,  1006,  1011,
        !           263:   1013,  1015,  1017,  1019,  1021,  1025,  1027,  1031,  1032,  1037,
        !           264:   1038,  1046,  1051,  1052,  1060,  1065,  1066,  1074,  1079,  1080,
        !           265:   1087,  1089,  1093,  1095,  1100,  1109,  1111,  1115,  1117,  1120,
        !           266:   1124,  1129,  1131,  1133,  1137,  1142,  1149,  1153,  1159,  1160,
        !           267:   1168,  1173,  1174,  1181,  1185,  1188,  1193,  1195,  1196,  1198,
        !           268:   1199,  1201,  1203,  1206,  1212,  1215,  1218,  1221,  1224,  1227,
        !           269:   1230,  1233,  1237,  1241,  1244,  1245,  1249,  1250,  1254,  1257,
        !           270:   1259,  1261,  1262,  1264,  1267,  1269,  1273,  1275,  1277,  1280,
        !           271:   1283,  1286,  1290,  1292,  1294,  1296,  1299,  1302,  1304,  1305,
        !           272:   1307,  1312,  1316,  1318,  1321,  1324,  1328,  1334,  1340,  1344,
        !           273:   1348,  1352,  1356,  1360,  1366,  1372,  1376,  1380,  1384,  1388,
        !           274:   1390,  1393,  1396,  1400,  1404,  1405,  1407,  1411,  1416,  1423,
        !           275:   1428,  1432,  1435,  1440,  1447,  1452,  1456,  1459,  1461,  1465,
        !           276:   1467,  1471,  1474,  1477,  1478,  1480,  1483,  1485,  1488,  1489,
        !           277:   1492,  1493,  1496,  1502,  1508,  1512,  1518,  1523,  1527,  1531,
        !           278:   1537,  1539,  1541,  1547,  1551,  1555,  1557,  1563,  1569,  1573,
        !           279:   1579,  1584,  1588,  1592,  1594,  1596,  1600,  1604,  1610,  1616,
        !           280:   1620,  1626,  1630,  1634,  1638,  1643,  1647,  1649,  1651,  1654,
        !           281:   1657,  1660,  1664,  1668,  1676,  1684,  1690,  1698,  1702,  1710,
        !           282:   1718,  1724,  1732,  1736,  1738,  1741,  1744,  1746,  1749,  1753,
        !           283:   1757,  1760,  1762,  1766,  1770,  1773,  1779,  1783,  1788,  1792,
        !           284:   1797,  1800,  1804,  1807,  1811,  1816,  1820,  1825,  1831,  1837,
        !           285:   1839,  1841,  1844,  1847,  1850,  1851,  1852,  1854,  1856,  1859,
        !           286:   1863,  1865,  1868,  1871,  1877,  1883,  1884,  1891,  1893,  1895,
        !           287:   1898,  1899,  1904,  1906,  1907,  1908,  1916,  1917,  1918,  1928,
        !           288:   1929,  1930,  1931,  1941,  1942,  1943,  1944,  1954,  1955,  1962,
        !           289:   1963,  1969,  1970,  1978,  1979,  1984,  1987,  1990,  1993,  1997,
        !           290:   2004,  2013,  2024,  2037,  2042,  2046,  2049,  2052,  2054,  2057,
        !           291:   2061,  2068,  2073,  2080,  2085,  2089,  2090,  2098,  2101,  2102,
        !           292:   2108,  2112,  2114,  2117,  2121,  2125,  2128,  2131,  2133,  2134,
        !           293:   2139,  2142,  2146,  2150,  2151,  2152,  2157,  2158,  2159,  2164,
        !           294:   2165,  2170,  2171,  2173,  2174,  2175,  2184,  2188,  2193,  2198,
        !           295:   2202,  2207,  2214,  2221,  2222,  2224,  2225,  2227,  2229,  2230,
        !           296:   2232,  2234,  2238,  2243,  2245,  2249,  2250,  2252,  2256,  2259,
        !           297:   2261,  2263,  2266,  2269,  2271,  2275,  2279,  2285,  2289,  2295,
        !           298:   2299,  2303,  2305,  2307,  2310,  2312,  2313,  2315,  2316,  2319,
        !           299:   2324,  2326,  2328,  2330,  2333,  2336,  2339,  2341,  2343,  2345,
        !           300:   2349,  2351,  2355,  2358,  2361,  2364,  2367,  2370,  2373,  2376,
        !           301:   2379,  2382,  2385,  2388,  2391,  2394,  2397,  2400,  2403,  2406,
        !           302:   2409,  2412,  2415,  2418,  2421,  2424,  2428,  2431,  2434,  2437,
        !           303:   2441,  2444,  2448,  2451,  2454,  2458
1.1       root      304: };
                    305: 
                    306: static const short yyrhs[] = {    -1,
1.1.1.2   root      307:    110,     0,     0,   111,   114,     0,   110,   114,     0,     0,
                    308:      0,   129,     0,   128,     0,   122,     0,   120,     0,    26,
1.1.1.4 ! root      309:     82,   164,   103,   104,     0,   115,    49,   110,   105,     0,
1.1.1.2   root      310:    115,    49,   105,     0,   115,   112,   129,   113,     0,   115,
                    311:    112,   128,   113,     0,    96,     0,     0,    44,    64,   117,
1.1.1.4 ! root      312:    118,    65,     0,   119,     0,   118,    50,   119,     0,   197,
        !           313:    138,     0,   197,   139,    54,   209,     0,   197,    48,   209,
1.1.1.3   root      314:      0,   287,     0,    38,   121,   104,     0,     3,     0,   121,
1.1.1.4 ! root      315:     50,     3,     0,     0,   116,   198,    49,   123,   104,     0,
        !           316:      0,   116,   199,    49,   124,   104,     0,     0,   116,   198,
        !           317:     54,   125,   104,     0,     0,   116,   199,    54,   126,   104,
        !           318:      0,   116,   198,   104,     0,   116,   199,   104,     0,   116,
        !           319:    228,   292,   179,   186,   127,     0,   116,   170,   169,   292,
        !           320:    179,   186,   127,     0,   116,   172,   169,   127,     0,   116,
1.1.1.2   root      321:      1,   105,     0,   116,     1,   104,     0,    49,     0,    54,
1.1.1.4 ! root      322:      0,   104,     0,    52,     0,    24,     0,   178,   104,     0,
        !           323:    172,   178,   104,     0,   172,   169,   104,     0,   170,   177,
        !           324:    104,     0,   170,   169,   104,     0,   172,   104,     0,   170,
1.1.1.2   root      325:    104,     0,     1,   104,     0,     1,   105,     0,   104,     0,
1.1.1.3   root      326:    130,   134,   241,     0,   130,   133,   134,   241,     0,   130,
1.1.1.4 ! root      327:    165,   241,     0,   130,   133,   104,   165,   241,     0,   130,
        !           328:    133,   165,   241,     0,   170,   169,     1,     0,   172,   228,
        !           329:      1,     0,   228,     1,     0,   170,   169,   292,     0,   172,
        !           330:    228,   292,     0,   228,   292,     0,     4,    82,   285,   103,
        !           331:    223,   292,     0,   231,    82,   285,   103,   223,   292,     0,
        !           332:      4,    43,   223,   292,     0,   231,    43,   223,   292,     0,
        !           333:     95,     0,   170,    82,   285,   103,   223,   292,     0,   170,
        !           334:     43,   223,   292,     0,   170,   169,   292,     0,   172,    82,
        !           335:    285,   103,   223,   292,     0,   172,    43,   223,   292,     0,
        !           336:    172,   169,   292,     0,   228,   292,     0,    24,     3,     0,
        !           337:    132,     0,   132,    52,   190,     0,   132,    82,   153,   103,
1.1.1.2   root      338:      0,   132,    43,     0,    54,   135,   136,     0,     0,     0,
                    339:    137,     0,   136,    50,   137,     0,   136,     1,     0,    82,
1.1.1.4 ! root      340:    153,   103,     0,    43,     0,   138,    82,   153,   103,     0,
        !           341:    138,    43,     0,   142,    82,   153,   103,     0,   142,    43,
        !           342:      0,   231,    82,   153,   103,     0,   231,    43,     0,   229,
        !           343:    138,    82,   153,   103,     0,   229,   138,    43,     0,     3,
        !           344:      0,     4,     0,    94,     0,   100,     0,    99,     0,   101,
        !           345:      0,     3,     0,     4,     0,    94,     0,   106,   138,     0,
        !           346:    297,     0,   142,   143,   149,     0,    94,    64,   145,    65,
        !           347:      0,     4,    64,   145,    65,     0,    49,     0,    54,     0,
        !           348:      0,     0,   146,     0,   145,    50,   146,     0,   220,     0,
        !           349:    157,     0,     0,    98,   205,   148,   211,   212,   105,     0,
        !           350:      0,   147,     0,     0,   147,   150,     0,    69,     0,    68,
        !           351:      0,    74,     0,    75,     0,   107,     0,   153,     0,   157,
        !           352:      0,   157,     0,   153,    50,   157,     0,   153,    50,     1,
        !           353:      0,   158,     0,     0,    32,   155,   156,     0,    70,   156,
        !           354:      0,    60,   156,     0,   106,   156,     0,   151,   156,     0,
        !           355:     57,   138,     0,    12,   154,     0,    12,    82,   220,   103,
        !           356:      0,    28,   154,     0,    28,    82,   220,   103,     0,   162,
        !           357:    161,   220,     0,   162,   161,    82,   153,   103,   220,     0,
        !           358:    162,   161,   175,    82,   153,   103,     0,   162,   161,    82,
        !           359:    153,   103,   175,    82,   153,   103,     0,   162,   161,   175,
        !           360:     43,     0,   162,   161,    82,   153,   103,   175,    43,     0,
        !           361:    162,   161,   220,    52,   190,     0,   162,   161,    82,   153,
        !           362:    103,   220,    52,   190,     0,   162,   161,    82,   173,   221,
        !           363:    103,    83,   224,   108,     0,   162,   161,    82,   222,   221,
        !           364:    103,    83,   224,   108,     0,   162,   161,    82,   173,   221,
        !           365:    103,     0,   162,   161,    82,   153,   103,    82,   173,   221,
        !           366:    103,     0,   162,   161,    82,   222,   221,   103,     0,   162,
        !           367:    161,    82,   153,   103,    82,   222,   221,   103,     0,   162,
        !           368:    161,    48,     0,   162,   161,    82,   153,   103,    48,     0,
        !           369:    163,   156,     0,   163,    83,   108,   156,     0,   163,    83,
        !           370:    152,   108,   156,     0,   154,     0,    82,   220,   103,   157,
        !           371:      0,    82,   220,   103,    49,   191,   195,   105,     0,    29,
        !           372:     82,   152,   103,     0,    30,    82,   152,   103,     0,    30,
        !           373:     82,     4,   103,     0,   156,     0,   157,    68,   157,     0,
        !           374:    157,    69,   157,     0,   157,    70,   157,     0,   157,    71,
        !           375:    157,     0,   157,    72,   157,     0,   157,    66,   157,     0,
        !           376:    157,    67,   157,     0,   157,    63,   157,     0,   157,    64,
        !           377:    157,     0,   157,    65,   157,     0,   157,    62,   157,     0,
        !           378:    157,    61,   157,     0,   157,    60,   157,     0,   157,    58,
        !           379:    157,     0,   157,    59,   157,     0,   157,    57,   157,     0,
        !           380:    157,    56,   157,     0,   157,    53,   280,    54,   157,     0,
        !           381:    157,    52,   157,     0,   157,    51,   157,     0,   158,    81,
        !           382:    157,     0,   167,   157,     0,     3,     0,   297,     0,     9,
        !           383:      0,   164,     0,    82,   152,   103,     0,    82,     1,   103,
        !           384:      0,     0,    82,   159,   242,   103,     0,     0,   158,    82,
        !           385:    153,   103,   160,   150,     0,   158,    43,     0,   158,    83,
        !           386:    152,   108,     0,   166,   140,     0,   166,   229,   140,     0,
        !           387:    158,    74,     0,   158,    75,     0,    39,     0,     8,    82,
        !           388:    153,   103,     0,   175,    82,   153,   103,     0,   175,    43,
        !           389:      0,    45,   175,    82,   153,   103,     0,    45,   175,    43,
        !           390:      0,    45,     3,     0,    45,   297,     0,   229,   140,     0,
        !           391:    229,   140,    82,   153,   103,     0,   229,   140,    43,     0,
        !           392:    166,   140,    82,   153,   103,     0,   166,   140,    43,     0,
        !           393:    166,   229,   140,    82,   153,   103,     0,   166,   229,   140,
        !           394:     43,     0,    37,     0,    37,    49,   153,   105,     0,    37,
        !           395:     41,     0,    37,    41,    82,   164,   103,     0,     0,    45,
        !           396:      0,    36,     0,    45,   163,     0,    10,     0,   164,    10,
        !           397:      0,     0,   158,    80,     0,   158,    78,     0,   158,    79,
        !           398:      0,   170,   177,   104,     0,   170,   169,   104,     0,   172,
        !           399:    178,   104,     0,   172,   169,   104,     0,   170,   104,     0,
        !           400:    172,   104,     0,   226,     0,   228,     0,    46,   226,     0,
        !           401:     46,   228,     0,   175,     0,   172,   175,     0,   175,   171,
        !           402:      0,   172,   175,   171,     0,   176,     0,     6,     0,   171,
        !           403:    176,     0,   171,     6,     0,     8,     0,     6,     0,   172,
        !           404:      8,     0,   172,     6,     0,   175,     0,   222,   175,     0,
        !           405:    175,   174,     0,   222,   175,   174,     0,   176,     0,   174,
        !           406:    176,     0,   192,     0,     7,     0,     4,     0,   231,     0,
        !           407:     27,    82,   152,   103,     0,    27,    82,   220,   103,     0,
        !           408:    141,     0,     7,     0,     8,     0,   192,     0,   180,     0,
        !           409:    177,    50,   182,     0,   184,     0,   178,    50,   182,     0,
        !           410:      0,    26,    82,   164,   103,     0,     0,   169,   292,   179,
        !           411:    186,    52,   181,   190,     0,   169,   292,   179,   186,     0,
        !           412:      0,   169,   292,   179,   186,    52,   183,   190,     0,   169,
        !           413:    292,   179,   186,     0,     0,   228,   292,   179,   186,    52,
        !           414:    185,   190,     0,   228,   292,   179,   186,     0,     0,    31,
        !           415:     82,    82,   187,   103,   103,     0,   188,     0,   187,    50,
        !           416:    188,     0,     3,     0,     3,    82,     9,   103,     0,     3,
        !           417:     82,     3,    50,     9,    50,     9,   103,     0,   138,     0,
        !           418:    189,    50,   138,     0,   157,     0,    49,   105,     0,    49,
        !           419:    191,   105,     0,    49,   191,    50,   105,     0,     1,     0,
        !           420:    190,     0,   191,    50,   190,     0,    83,   157,   108,   190,
        !           421:      0,   191,    50,    20,   157,    54,   190,     0,   138,    54,
        !           422:    190,     0,   191,    50,   138,    54,   190,     0,     0,    13,
        !           423:    138,    49,   193,   218,   196,   105,     0,    13,   138,    49,
        !           424:    105,     0,     0,    13,    49,   194,   218,   196,   105,     0,
        !           425:     13,    49,   105,     0,    13,   138,     0,   204,   211,   212,
        !           426:    105,     0,   204,     0,     0,    50,     0,     0,    50,     0,
        !           427:     34,     0,    41,    34,     0,    41,    82,   164,   103,    34,
        !           428:      0,   197,     6,     0,   197,     7,     0,   197,     8,     0,
        !           429:    197,    34,     0,   197,   138,     0,   197,   142,     0,   197,
        !           430:     48,     0,   197,   142,    49,     0,   197,   142,    54,     0,
        !           431:    197,   139,     0,     0,   198,   201,   205,     0,     0,   199,
        !           432:    202,   205,     0,   197,    49,     0,   203,     0,   200,     0,
        !           433:      0,    54,     0,    54,   206,     0,   207,     0,   206,    50,
        !           434:    207,     0,   209,     0,   208,     0,   210,   209,     0,   210,
        !           435:    208,     0,   209,     5,     0,   142,   144,   149,     0,   138,
1.1.1.3   root      436:      0,    35,     0,     6,     0,   210,    35,     0,   210,     6,
                    437:      0,    49,     0,     0,   213,     0,   212,    35,    54,   213,
                    438:      0,   212,    35,    54,     0,   214,     0,   213,   214,     0,
1.1.1.4 ! root      439:    213,   104,     0,   170,   215,   104,     0,   170,    82,   285,
        !           440:    103,   104,     0,   170,    82,   285,   103,   105,     0,   170,
        !           441:     43,   104,     0,   170,    43,   105,     0,   172,   215,   104,
        !           442:      0,   172,   169,   104,     0,   172,   215,   105,     0,   172,
        !           443:     82,   285,   103,   104,     0,   172,    82,   285,   103,   105,
        !           444:      0,   172,    43,   104,     0,   172,    43,   105,     0,    54,
        !           445:    157,   104,     0,    54,   157,   105,     0,     1,     0,   131,
        !           446:     54,     0,   131,    49,     0,   228,   292,   104,     0,   228,
        !           447:    292,   105,     0,     0,   216,     0,   215,    50,   217,     0,
        !           448:    169,   292,   179,   186,     0,   169,   292,   179,   186,    52,
        !           449:    190,     0,     3,    54,   157,   186,     0,    48,   157,   186,
        !           450:      0,    54,   157,     0,   169,   292,   179,   186,     0,   169,
        !           451:    292,   179,   186,    52,   190,     0,     3,    54,   157,   186,
        !           452:      0,    48,   157,   186,     0,    54,   157,     0,   219,     0,
        !           453:    218,    50,   219,     0,   138,     0,   138,    52,   157,     0,
        !           454:    173,   221,     0,   222,   221,     0,     0,   232,     0,    46,
1.1.1.3   root      455:    232,     0,     8,     0,   222,     8,     0,     0,   223,     8,
1.1.1.4 ! root      456:      0,     0,   225,   152,     0,   226,    82,   153,   103,   223,
1.1.1.3   root      457:      0,   226,    82,   285,   103,   223,     0,   226,    43,   223,
                    458:      0,   226,    82,     1,   103,   223,     0,   226,    83,   224,
                    459:    108,     0,   226,    83,   108,     0,    82,   227,   103,     0,
                    460:     82,    70,   223,   226,   103,     0,    77,     0,   234,     0,
                    461:     82,    60,   223,   226,   103,     0,    70,   223,   226,     0,
1.1.1.4 ! root      462:     60,   223,   226,     0,     4,     0,   227,    82,   153,   103,
1.1.1.3   root      463:    223,     0,   227,    82,   285,   103,   223,     0,   227,    43,
                    464:    223,     0,   227,    82,     1,   103,   223,     0,   227,    83,
                    465:    224,   108,     0,   227,    83,   108,     0,    82,   227,   103,
                    466:      0,    77,     0,   234,     0,    70,   223,   226,     0,    60,
1.1.1.4 ! root      467:    223,   226,     0,   228,    82,   153,   103,   223,     0,   228,
1.1.1.3   root      468:     82,   285,   103,   223,     0,   228,    43,   223,     0,   228,
                    469:     82,     1,   103,   223,     0,    82,   228,   103,     0,    70,
                    470:    223,   228,     0,    60,   223,   228,     0,   228,    83,   224,
1.1.1.4 ! root      471:    108,     0,   228,    83,   108,     0,     3,     0,   297,     0,
        !           472:    106,     4,     0,   106,     3,     0,   106,    94,     0,   229,
        !           473:    289,   228,     0,   229,   289,     4,     0,   229,   289,     4,
        !           474:     82,   153,   103,   223,     0,   229,   289,     4,    82,   285,
        !           475:    103,   223,     0,   229,   289,     4,    43,   223,     0,   229,
        !           476:    289,     4,    82,     1,   103,   223,     0,   229,   289,    94,
        !           477:      0,   229,   289,    94,    82,   153,   103,   223,     0,   229,
        !           478:    289,    94,    82,   285,   103,   223,     0,   229,   289,    94,
        !           479:     43,   223,     0,   229,   289,    94,    82,     1,   103,   223,
        !           480:      0,    45,   289,   228,     0,   230,     0,   141,    45,     0,
        !           481:      4,    45,     0,     5,     0,   141,     5,     0,    82,   232,
        !           482:    103,     0,    70,   223,   232,     0,    70,   223,     0,    77,
        !           483:      0,    82,   233,   103,     0,    60,   223,   232,     0,    60,
        !           484:    223,     0,   232,    82,   285,   103,   223,     0,   232,    43,
        !           485:    223,     0,   232,    83,   224,   108,     0,   232,    83,   108,
        !           486:      0,    82,   285,   103,   223,     0,    43,   223,     0,    83,
        !           487:    224,   108,     0,    83,   108,     0,   229,    70,   223,     0,
        !           488:    229,    70,   223,   232,     0,   229,    60,   223,     0,   229,
        !           489:     60,   223,   232,     0,   229,   289,    70,   223,   226,     0,
        !           490:    229,   289,    60,   223,   226,     0,   245,     0,   236,     0,
        !           491:    235,   245,     0,   235,   236,     0,     1,   104,     0,     0,
        !           492:      0,   239,     0,   240,     0,   239,   240,     0,    33,   189,
        !           493:    104,     0,   242,     0,     1,   242,     0,    49,   105,     0,
        !           494:     49,   237,   238,   235,   105,     0,    49,   237,   238,     1,
        !           495:    105,     0,     0,    14,    82,   152,   103,   244,   245,     0,
        !           496:    242,     0,   168,     0,   152,   104,     0,     0,   243,    15,
        !           497:    246,   245,     0,   243,     0,     0,     0,    16,   247,    82,
        !           498:    152,   103,   248,   245,     0,     0,     0,    17,   249,   245,
        !           499:     16,   250,    82,   152,   103,   104,     0,     0,     0,     0,
        !           500:    277,   251,   280,   104,   252,   280,   103,   253,   245,     0,
        !           501:      0,     0,     0,   278,   254,   280,   104,   255,   280,   103,
        !           502:    256,   245,     0,     0,    19,    82,   152,   103,   257,   245,
        !           503:      0,     0,    20,   152,    54,   258,   245,     0,     0,    20,
        !           504:    152,    55,   152,    54,   259,   245,     0,     0,    21,    54,
        !           505:    260,   245,     0,    22,   104,     0,    23,   104,     0,    24,
        !           506:    104,     0,    24,   152,   104,     0,    26,   279,    82,   164,
        !           507:    103,   104,     0,    26,   279,    82,   164,    54,   281,   103,
        !           508:    104,     0,    26,   279,    82,   164,    54,   281,    54,   281,
        !           509:    103,   104,     0,    26,   279,    82,   164,    54,   281,    54,
        !           510:    281,    54,   284,   103,   104,     0,    25,    70,   152,   104,
        !           511:      0,    25,   138,   104,     0,   264,   245,     0,   264,   105,
        !           512:      0,   104,     0,    92,   104,     0,    92,   152,   104,     0,
        !           513:     90,   293,    82,   153,   103,   104,     0,    90,   293,    43,
        !           514:    104,     0,    84,   293,    82,   153,   103,   104,     0,    84,
        !           515:    293,    43,   104,     0,    84,   138,   104,     0,     0,   263,
        !           516:     88,   138,    49,   261,   271,   105,     0,   263,     1,     0,
        !           517:      0,   267,   268,   268,   262,   275,     0,   263,    86,   295,
        !           518:      0,   263,     0,   265,   105,     0,   265,   235,   105,     0,
        !           519:    265,     1,   105,     0,     3,    54,     0,    94,    54,     0,
        !           520:     48,     0,     0,    87,    49,   266,   237,     0,   269,   105,
        !           521:      0,   269,   235,   105,     0,   269,     1,   105,     0,     0,
        !           522:      0,    91,    49,   270,   237,     0,     0,     0,   271,   293,
        !           523:    272,   242,     0,     0,   271,    21,   273,   242,     0,     0,
        !           524:    138,     0,     0,     0,   275,    89,    82,   220,   274,   103,
        !           525:    276,   242,     0,    18,    82,   104,     0,    18,    82,   152,
        !           526:    104,     0,    18,    82,    49,   105,     0,    18,    82,   168,
        !           527:      0,    18,    82,     1,   104,     0,    18,    82,    49,   237,
        !           528:    235,   105,     0,    18,    82,    49,   237,     1,   105,     0,
        !           529:      0,     8,     0,     0,   152,     0,     1,     0,     0,   282,
        !           530:      0,   283,     0,   282,    50,   283,     0,    10,    82,   152,
        !           531:    103,     0,    10,     0,   284,    50,    10,     0,     0,   286,
        !           532:      0,   286,    50,    11,     0,   286,    11,     0,    11,     0,
        !           533:     93,     0,   286,    93,     0,   286,    54,     0,   287,     0,
        !           534:    287,    52,   190,     0,   286,    50,   287,     0,   286,    50,
        !           535:    287,    52,   190,     0,   286,    50,   291,     0,   286,    50,
        !           536:    291,    52,   190,     0,   170,   290,   288,     0,   172,   290,
        !           537:    288,     0,   221,     0,   228,     0,    46,   228,     0,   223,
        !           538:      0,     0,   288,     0,     0,    85,   295,     0,    92,    82,
        !           539:    296,   103,     0,    97,     0,     3,     0,     4,     0,    45,
        !           540:      3,     0,    45,     4,     0,   229,     3,     0,   231,     0,
        !           541:    220,     0,   293,     0,   295,    50,   293,     0,   294,     0,
        !           542:    296,    50,   294,     0,    40,    70,     0,    40,    71,     0,
        !           543:     40,    72,     0,    40,    68,     0,    40,    69,     0,    40,
        !           544:     60,     0,    40,    58,     0,    40,    59,     0,    40,   106,
        !           545:      0,    40,    50,     0,    40,    63,     0,    40,    64,     0,
        !           546:     40,    65,     0,    40,    62,     0,    40,    51,     0,    40,
        !           547:     52,     0,    40,    66,     0,    40,    67,     0,    40,    74,
        !           548:      0,    40,    75,     0,    40,    57,     0,    40,    56,     0,
        !           549:     40,   107,     0,    40,    53,    54,     0,    40,    61,     0,
        !           550:     40,    78,     0,    40,    79,     0,    40,    42,   223,     0,
        !           551:     40,    43,     0,    40,    83,   108,     0,    40,    37,     0,
        !           552:     40,    36,     0,    40,   173,   221,     0,    40,     1,     0
1.1       root      553: };
                    554: 
                    555: #if YYDEBUG != 0
                    556: static const short yyrline[] = { 0,
1.1.1.4 ! root      557:    278,   279,   287,   289,   290,   294,   299,   303,   306,   308,
        !           558:    310,   311,   316,   318,   320,   323,   328,   333,   336,   340,
        !           559:    343,   347,   360,   367,   374,   377,   380,   382,   386,   392,
        !           560:    392,   395,   395,   398,   398,   411,   411,   416,   421,   436,
        !           561:    458,   467,   468,   471,   472,   473,   474,   475,   478,   484,
        !           562:    487,   492,   498,   505,   507,   525,   526,   527,   530,   544,
        !           563:    557,   560,   563,   566,   568,   570,   574,   580,   585,   590,
        !           564:    595,   600,   605,   610,   616,   626,   635,   642,   651,   660,
        !           565:    667,   676,   684,   686,   688,   690,   694,   703,   726,   729,
        !           566:    731,   732,   735,   742,   749,   753,   755,   757,   759,   761,
        !           567:    763,   767,   773,   775,   776,   779,   781,   782,   785,   787,
        !           568:    788,   792,   793,   796,   818,   821,   825,   829,   830,   834,
        !           569:    839,   842,   846,   849,   852,   884,   904,   907,   911,   914,
        !           570:    918,   920,   922,   924,   926,   930,   933,   936,   939,   941,
        !           571:    945,   952,   955,   958,   960,   962,   964,   970,   975,   988,
        !           572:    990,  1023,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
        !           573:   1048,  1058,  1061,  1063,  1065,  1067,  1070,  1072,  1075,  1103,
        !           574:   1122,  1147,  1149,  1152,  1167,  1169,  1171,  1182,  1184,  1186,
        !           575:   1188,  1190,  1192,  1194,  1196,  1198,  1200,  1202,  1204,  1206,
        !           576:   1208,  1210,  1212,  1214,  1216,  1218,  1220,  1222,  1229,  1232,
        !           577:   1247,  1250,  1265,  1266,  1268,  1270,  1272,  1280,  1295,  1300,
        !           578:   1307,  1318,  1368,  1370,  1386,  1388,  1392,  1415,  1459,  1461,
        !           579:   1463,  1465,  1467,  1503,  1510,  1512,  1514,  1516,  1519,  1522,
        !           580:   1524,  1566,  1568,  1573,  1575,  1579,  1582,  1586,  1588,  1596,
        !           581:   1598,  1602,  1611,  1626,  1632,  1635,  1642,  1650,  1653,  1660,
        !           582:   1665,  1672,  1674,  1675,  1677,  1685,  1688,  1690,  1692,  1696,
        !           583:   1700,  1705,  1707,  1718,  1722,  1724,  1727,  1742,  1745,  1747,
        !           584:   1749,  1753,  1756,  1764,  1765,  1766,  1767,  1768,  1772,  1776,
        !           585:   1781,  1782,  1783,  1786,  1788,  1791,  1793,  1796,  1799,  1807,
        !           586:   1815,  1817,  1826,  1832,  1833,  1839,  1847,  1849,  1860,  1863,
        !           587:   1868,  1870,  1875,  1880,  1891,  1906,  1909,  1913,  1915,  1920,
        !           588:   1923,  1926,  1932,  1935,  1938,  1940,  1942,  1944,  1948,  1952,
        !           589:   1956,  1959,  1962,  1966,  1969,  1973,  2028,  2043,  2045,  2048,
        !           590:   2050,  2055,  2056,  2058,  2060,  2063,  2066,  2069,  2074,  2077,
        !           591:   2079,  2081,  2087,  2091,  2096,  2101,  2108,  2113,  2122,  2127,
        !           592:   2127,  2129,  2132,  2134,  2138,  2140,  2144,  2149,  2153,  2157,
        !           593:   2163,  2172,  2186,  2189,  2191,  2195,  2221,  2230,  2256,  2259,
        !           594:   2261,  2263,  2266,  2269,  2272,  2277,  2342,  2344,  2348,  2350,
        !           595:   2354,  2357,  2359,  2363,  2365,  2369,  2371,  2375,  2377,  2381,
        !           596:   2386,  2388,  2390,  2392,  2398,  2401,  2402,  2413,  2418,  2422,
        !           597:   2426,  2430,  2435,  2439,  2442,  2445,  2448,  2456,  2458,  2462,
        !           598:   2465,  2469,  2472,  2476,  2479,  2480,  2484,  2487,  2491,  2494,
        !           599:   2502,  2504,  2508,  2511,  2513,  2515,  2517,  2519,  2521,  2523,
        !           600:   2525,  2527,  2528,  2530,  2532,  2534,  2537,  2540,  2542,  2544,
        !           601:   2546,  2548,  2550,  2552,  2554,  2555,  2557,  2564,  2567,  2569,
        !           602:   2571,  2573,  2575,  2577,  2579,  2581,  2583,  2587,  2590,  2596,
        !           603:   2598,  2600,  2609,  2611,  2613,  2615,  2617,  2620,  2622,  2624,
        !           604:   2626,  2628,  2630,  2634,  2642,  2659,  2662,  2663,  2684,  2689,
        !           605:   2691,  2693,  2695,  2697,  2699,  2701,  2703,  2705,  2707,  2709,
        !           606:   2711,  2713,  2715,  2719,  2727,  2734,  2741,  2750,  2758,  2771,
        !           607:   2773,  2774,  2775,  2778,  2785,  2797,  2799,  2804,  2806,  2809,
        !           608:   2823,  2826,  2829,  2831,  2837,  2845,  2851,  2854,  2857,  2862,
        !           609:   2875,  2879,  2882,  2886,  2890,  2894,  2898,  2903,  2906,  2912,
        !           610:   2917,  2920,  2926,  2933,  2937,  2940,  2947,  2963,  2971,  2975,
        !           611:   3025,  3025,  3104,  3104,  3120,  3120,  3124,  3128,  3131,  3136,
        !           612:   3143,  3152,  3161,  3170,  3173,  3179,  3181,  3185,  3189,  3190,
        !           613:   3191,  3194,  3197,  3200,  3203,  3206,  3219,  3248,  3258,  3272,
        !           614:   3300,  3332,  3344,  3352,  3357,  3364,  3372,  3374,  3381,  3383,
        !           615:   3383,  3391,  3396,  3403,  3404,  3406,  3406,  3409,  3430,  3446,
        !           616:   3465,  3483,  3486,  3488,  3491,  3510,  3528,  3531,  3533,  3537,
        !           617:   3540,  3542,  3544,  3550,  3555,  3561,  3564,  3565,  3571,  3573,
        !           618:   3576,  3578,  3582,  3587,  3590,  3599,  3606,  3611,  3616,  3620,
        !           619:   3627,  3631,  3635,  3649,  3652,  3654,  3656,  3658,  3660,  3668,
        !           620:   3684,  3689,  3690,  3691,  3695,  3699,  3717,  3725,  3728,  3730,
        !           621:   3734,  3737,  3739,  3741,  3743,  3745,  3747,  3750,  3755,  3757,
        !           622:   3764,  3766,  3773,  3776,  3778,  3780,  3782,  3784,  3786,  3788,
        !           623:   3790,  3792,  3794,  3796,  3798,  3800,  3802,  3804,  3813,  3815,
        !           624:   3817,  3819,  3821,  3823,  3825,  3827,  3829,  3831,  3843,  3855,
        !           625:   3886,  3898,  3910,  3923,  3939,  3941
1.1       root      626: };
                    627: 
                    628: static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
                    629: "TYPENAME","SCOPED_TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING",
                    630: "ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
1.1.1.2   root      631: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","HEADOF",
                    632: "CLASSOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC","DELETE","NEW","OVERLOAD",
                    633: "THIS","OPERATOR","DYNAMIC","POINTSAT_LEFT_RIGHT","LEFT_RIGHT","TEMPLATE","SCOPE",
                    634: "START_DECLARATOR","EMPTY","TYPENAME_COLON","'{'","','","ASSIGN","'='","'?'",
                    635: "':'","RANGE","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE",
                    636: "'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS",
                    637: "MINUSMINUS","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT","POINTSAT_STAR","'.'",
                    638: "DOT_STAR","'('","'['","RAISE","RAISES","RERAISE","TRY","EXCEPT","CATCH","THROW",
                    639: "ANSI_TRY","ANSI_THROW","TYPENAME_ELLIPSIS","PTYPENAME","PRE_PARSED_FUNCTION_DECL",
                    640: "EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
                    641: "PTYPENAME_DEFN","END_OF_SAVED_INPUT","')'","';'","'}'","'~'","'!'","']'","program",
                    642: "extdefs","@1",".hush_warning",".warning_ok","extdef","extern_lang_string","template_header",
                    643: "@2","template_parm_list","template_parm","overloaddef","ov_identifiers","template_def",
                    644: "@3","@4","@5","@6","fn_tmpl_end","datadef","fndef","fn.def1","fn.def2","return_id",
                    645: "return_init","base_init",".set_base_init","member_init_list","member_init",
1.1.1.4 ! root      646: "identifier","identifier_defn","identifier_or_opname","template_type","template_type_name",
        !           647: "tmpl.1","tmpl.2","template_arg_list","template_arg","template_instantiate_once",
1.1.1.2   root      648: "@7","template_instantiation","template_instantiate_some","unop","expr","nonnull_exprlist",
                    649: "unary_expr","@8","cast_expr","expr_no_commas","primary","@9","@10","new",".scope",
1.1       root      650: "delete","string","nodecls","object","object_star","decl","declarator","typed_declspecs",
                    651: "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
                    652: "typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl0",
1.1.1.2   root      653: "@11","initdcl","@12","notype_initdcl0","@13","maybe_attribute","attribute_list",
1.1.1.3   root      654: "attrib","identifiers_or_typenames","init","initlist","structsp","@14","@15",
                    655: "maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
                    656: "named_class_head","@16","@17","unnamed_class_head","class_head","maybe_base_class_list",
1.1.1.4 ! root      657: "base_class_list","base_class","scoped_base_class","base_class.1","base_class_visibility_list",
        !           658: "left_curly","opt.component_decl_list","component_decl_list","component_decl",
        !           659: "components","component_declarator0","component_declarator","enumlist","enumerator",
        !           660: "typename","absdcl","nonempty_type_quals","type_quals","nonmomentary_expr","@18",
        !           661: "after_type_declarator","after_type_declarator_no_typename","notype_declarator",
        !           662: "scoped_id","typename_scope","scoped_typename","absdcl1","abs_member_declarator",
        !           663: "after_type_member_declarator","stmts","errstmt",".pushlevel","maybe_label_decls",
        !           664: "label_decls","label_decl","compstmt_or_error","compstmt","simple_if","@19",
        !           665: "stmt","@20","@21","@22","@23","@24","@25","@26","@27","@28","@29","@30","@31",
        !           666: "@32","@33","@34","@35","@36","try","label_colon","try_head","@37","ansi_try",
        !           667: "ansi_dummy","ansi_try_head","@38","except_stmts","@39","@40","optional_identifier",
        !           668: "ansi_except_stmts","@41","forhead.1","forhead.2","maybe_type_qual","xexpr",
        !           669: "asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
        !           670: "parms","parm","abs_or_notype_decl","see_typename","dont_see_typename","bad_parm",
        !           671: "maybe_raises","raise_identifier","ansi_raise_identifier","raise_identifiers",
        !           672: "ansi_raise_identifiers","operator_name",""
1.1       root      673: };
                    674: #endif
                    675: 
                    676: static const short yyr1[] = {     0,
1.1.1.2   root      677:    109,   109,   111,   110,   110,   112,   113,   114,   114,   114,
                    678:    114,   114,   114,   114,   114,   114,   115,   117,   116,   118,
                    679:    118,   119,   119,   119,   119,   120,   121,   121,   123,   122,
                    680:    124,   122,   125,   122,   126,   122,   122,   122,   122,   122,
                    681:    122,   122,   122,   127,   127,   127,   127,   127,   128,   128,
                    682:    128,   128,   128,   128,   128,   128,   128,   128,   129,   129,
                    683:    129,   129,   129,   129,   129,   129,   130,   130,   130,   130,
                    684:    130,   130,   130,   130,   131,   131,   131,   131,   131,   131,
                    685:    131,   132,   133,   133,   133,   133,   134,   135,   136,   136,
                    686:    136,   136,   137,   137,   137,   137,   137,   137,   137,   137,
1.1.1.4 ! root      687:    137,   137,   138,   138,   138,   139,   139,   139,   140,   140,
        !           688:    140,   140,   140,   141,   142,   142,   143,   143,   143,   144,
        !           689:    145,   145,   146,   146,   148,   147,   149,   149,   150,   150,
        !           690:    151,   151,   151,   151,   151,   152,   152,   153,   153,   153,
        !           691:    154,   155,   154,   154,   154,   154,   154,   154,   154,   154,
        !           692:    154,   154,   154,   154,   154,   154,   154,   154,   154,   154,
        !           693:    154,   154,   154,   154,   154,   154,   154,   154,   154,   154,
        !           694:    154,   156,   156,   156,   156,   156,   156,   157,   157,   157,
        !           695:    157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
        !           696:    157,   157,   157,   157,   157,   157,   157,   157,   157,   157,
        !           697:    158,   158,   158,   158,   158,   158,   159,   158,   160,   158,
1.1.1.2   root      698:    158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
1.1.1.4 ! root      699:    158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
        !           700:    158,   161,   161,   161,   161,   162,   162,   163,   163,   164,
        !           701:    164,   165,   166,   166,   167,   168,   168,   168,   168,   168,
        !           702:    168,   169,   169,   169,   169,   170,   170,   170,   170,   171,
        !           703:    171,   171,   171,   172,   172,   172,   172,   173,   173,   173,
        !           704:    173,   174,   174,   175,   175,   175,   175,   175,   175,   175,
        !           705:    176,   176,   176,   177,   177,   178,   178,   179,   179,   181,
        !           706:    180,   180,   183,   182,   182,   185,   184,   184,   186,   186,
        !           707:    187,   187,   188,   188,   188,   189,   189,   190,   190,   190,
        !           708:    190,   190,   191,   191,   191,   191,   191,   191,   193,   192,
        !           709:    192,   194,   192,   192,   192,   192,   192,   195,   195,   196,
        !           710:    196,   197,   197,   197,   197,   197,   197,   197,   198,   198,
        !           711:    198,   198,   198,   199,   201,   200,   202,   200,   203,   204,
        !           712:    204,   205,   205,   205,   206,   206,   207,   207,   207,   207,
        !           713:    208,   209,   209,   210,   210,   210,   210,   211,   212,   212,
        !           714:    212,   212,   213,   213,   213,   214,   214,   214,   214,   214,
1.1.1.3   root      715:    214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
1.1.1.4 ! root      716:    214,   214,   214,   214,   215,   215,   215,   216,   216,   216,
        !           717:    216,   216,   217,   217,   217,   217,   217,   218,   218,   219,
        !           718:    219,   220,   220,   221,   221,   221,   222,   222,   223,   223,
        !           719:    225,   224,   226,   226,   226,   226,   226,   226,   226,   226,
        !           720:    226,   226,   226,   226,   226,   226,   227,   227,   227,   227,
        !           721:    227,   227,   227,   227,   227,   227,   227,   228,   228,   228,
1.1.1.2   root      722:    228,   228,   228,   228,   228,   228,   228,   228,   228,   228,
1.1.1.3   root      723:    228,   228,   228,   228,   228,   228,   228,   228,   228,   228,
1.1.1.4 ! root      724:    228,   228,   228,   229,   229,   230,   231,   231,   232,   232,
        !           725:    232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
        !           726:    232,   232,   232,   233,   233,   233,   233,   234,   234,   235,
        !           727:    235,   235,   235,   236,   237,   238,   238,   239,   239,   240,
        !           728:    241,   241,   242,   242,   242,   244,   243,   245,   245,   245,
        !           729:    246,   245,   245,   247,   248,   245,   249,   250,   245,   251,
        !           730:    252,   253,   245,   254,   255,   256,   245,   257,   245,   258,
        !           731:    245,   259,   245,   260,   245,   245,   245,   245,   245,   245,
1.1.1.3   root      732:    245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
1.1.1.4 ! root      733:    245,   245,   245,   245,   245,   261,   245,   245,   262,   245,
        !           734:    245,   245,   263,   263,   263,   264,   264,   264,   266,   265,
        !           735:    267,   267,   267,   268,   270,   269,   271,   272,   271,   273,
        !           736:    271,   274,   274,   275,   276,   275,   277,   277,   277,   278,
        !           737:    278,   278,   278,   279,   279,   280,   280,   280,   281,   281,
        !           738:    282,   282,   283,   284,   284,   285,   285,   285,   285,   285,
        !           739:    285,   285,   285,   286,   286,   286,   286,   286,   286,   287,
        !           740:    287,   288,   288,   288,   289,   290,   291,   292,   292,   292,
        !           741:    293,   293,   293,   293,   293,   293,   293,   294,   295,   295,
        !           742:    296,   296,   297,   297,   297,   297,   297,   297,   297,   297,
        !           743:    297,   297,   297,   297,   297,   297,   297,   297,   297,   297,
        !           744:    297,   297,   297,   297,   297,   297,   297,   297,   297,   297,
        !           745:    297,   297,   297,   297,   297,   297
1.1       root      746: };
                    747: 
                    748: static const short yyr2[] = {     0,
                    749:      0,     1,     0,     2,     2,     0,     0,     1,     1,     1,
                    750:      1,     5,     4,     3,     4,     4,     1,     0,     5,     1,
                    751:      3,     2,     4,     3,     1,     3,     1,     3,     0,     5,
                    752:      0,     5,     0,     5,     0,     5,     3,     3,     6,     7,
1.1.1.2   root      753:      4,     3,     3,     1,     1,     1,     1,     1,     2,     3,
                    754:      3,     3,     3,     2,     2,     2,     2,     1,     3,     4,
                    755:      3,     5,     4,     3,     3,     2,     3,     3,     2,     6,
                    756:      6,     4,     4,     1,     6,     4,     3,     6,     4,     3,
                    757:      2,     2,     1,     3,     4,     2,     3,     0,     0,     1,
1.1.1.4 ! root      758:      3,     2,     3,     1,     4,     2,     4,     2,     4,     2,
        !           759:      5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
        !           760:      1,     2,     1,     3,     4,     4,     1,     1,     0,     0,
        !           761:      1,     3,     1,     1,     0,     6,     0,     1,     0,     2,
        !           762:      1,     1,     1,     1,     1,     1,     1,     1,     3,     3,
        !           763:      1,     0,     3,     2,     2,     2,     2,     2,     2,     4,
        !           764:      2,     4,     3,     6,     6,     9,     4,     7,     5,     8,
        !           765:      9,     9,     6,     9,     6,     9,     3,     6,     2,     4,
        !           766:      5,     1,     4,     7,     4,     4,     4,     1,     3,     3,
1.1       root      767:      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1.1.1.4 ! root      768:      3,     3,     3,     3,     3,     5,     3,     3,     3,     2,
        !           769:      1,     1,     1,     1,     3,     3,     0,     4,     0,     6,
        !           770:      2,     4,     2,     3,     2,     2,     1,     4,     4,     2,
        !           771:      5,     3,     2,     2,     2,     5,     3,     5,     3,     6,
        !           772:      4,     1,     4,     2,     5,     0,     1,     1,     2,     1,
        !           773:      2,     0,     2,     2,     2,     3,     3,     3,     3,     2,
        !           774:      2,     1,     1,     2,     2,     1,     2,     2,     3,     1,
        !           775:      1,     2,     2,     1,     1,     2,     2,     1,     2,     2,
        !           776:      3,     1,     2,     1,     1,     1,     1,     4,     4,     1,
        !           777:      1,     1,     1,     1,     3,     1,     3,     0,     4,     0,
        !           778:      7,     4,     0,     7,     4,     0,     7,     4,     0,     6,
        !           779:      1,     3,     1,     4,     8,     1,     3,     1,     2,     3,
        !           780:      4,     1,     1,     3,     4,     6,     3,     5,     0,     7,
        !           781:      4,     0,     6,     3,     2,     4,     1,     0,     1,     0,
        !           782:      1,     1,     2,     5,     2,     2,     2,     2,     2,     2,
        !           783:      2,     3,     3,     2,     0,     3,     0,     3,     2,     1,
        !           784:      1,     0,     1,     2,     1,     3,     1,     1,     2,     2,
        !           785:      2,     3,     1,     1,     1,     2,     2,     1,     0,     1,
        !           786:      4,     3,     1,     2,     2,     3,     5,     5,     3,     3,
        !           787:      3,     3,     3,     5,     5,     3,     3,     3,     3,     1,
        !           788:      2,     2,     3,     3,     0,     1,     3,     4,     6,     4,
        !           789:      3,     2,     4,     6,     4,     3,     2,     1,     3,     1,
        !           790:      3,     2,     2,     0,     1,     2,     1,     2,     0,     2,
        !           791:      0,     2,     5,     5,     3,     5,     4,     3,     3,     5,
        !           792:      1,     1,     5,     3,     3,     1,     5,     5,     3,     5,
        !           793:      4,     3,     3,     1,     1,     3,     3,     5,     5,     3,
        !           794:      5,     3,     3,     3,     4,     3,     1,     1,     2,     2,
        !           795:      2,     3,     3,     7,     7,     5,     7,     3,     7,     7,
        !           796:      5,     7,     3,     1,     2,     2,     1,     2,     3,     3,
        !           797:      2,     1,     3,     3,     2,     5,     3,     4,     3,     4,
        !           798:      2,     3,     2,     3,     4,     3,     4,     5,     5,     1,
        !           799:      1,     2,     2,     2,     0,     0,     1,     1,     2,     3,
        !           800:      1,     2,     2,     5,     5,     0,     6,     1,     1,     2,
        !           801:      0,     4,     1,     0,     0,     7,     0,     0,     9,     0,
        !           802:      0,     0,     9,     0,     0,     0,     9,     0,     6,     0,
        !           803:      5,     0,     7,     0,     4,     2,     2,     2,     3,     6,
        !           804:      8,    10,    12,     4,     3,     2,     2,     1,     2,     3,
        !           805:      6,     4,     6,     4,     3,     0,     7,     2,     0,     5,
        !           806:      3,     1,     2,     3,     3,     2,     2,     1,     0,     4,
        !           807:      2,     3,     3,     0,     0,     4,     0,     0,     4,     0,
        !           808:      4,     0,     1,     0,     0,     8,     3,     4,     4,     3,
        !           809:      4,     6,     6,     0,     1,     0,     1,     1,     0,     1,
        !           810:      1,     3,     4,     1,     3,     0,     1,     3,     2,     1,
        !           811:      1,     2,     2,     1,     3,     3,     5,     3,     5,     3,
        !           812:      3,     1,     1,     2,     1,     0,     1,     0,     2,     4,
        !           813:      1,     1,     1,     2,     2,     2,     1,     1,     1,     3,
        !           814:      1,     3,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.2   root      815:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.4 ! root      816:      2,     2,     2,     2,     2,     3,     2,     2,     2,     3,
        !           817:      2,     3,     2,     2,     3,     2
1.1       root      818: };
                    819: 
                    820: static const short yydefact[] = {     3,
1.1.1.4 ! root      821:      0,     0,     0,   457,   276,   477,   265,   275,   264,     0,
        !           822:      0,     0,   332,     0,     0,     0,     0,   419,   419,   419,
        !           823:      0,     0,    74,    17,    58,     0,     5,     6,     0,    11,
        !           824:     10,     9,     8,   242,   280,   119,     0,     0,   256,     0,
        !           825:    286,   274,     0,   345,   347,   351,   350,   327,     0,   419,
        !           826:    474,   277,   458,     4,    56,    57,   419,   476,   236,   616,
        !           827:    103,   104,   322,   105,   325,     0,   236,    27,     0,   686,
        !           828:    276,   417,   684,   683,   419,   681,   662,   667,   668,     0,
        !           829:    674,   673,   659,   660,   658,   677,   666,   663,   664,   665,
        !           830:    669,   670,   656,   657,   653,   654,   655,   671,   672,   678,
        !           831:    679,     0,   661,   675,   280,   414,   268,     0,   277,   333,
        !           832:      0,    18,   635,     0,     0,     0,     0,     0,     0,   236,
        !           833:    460,   459,   461,     3,     0,     0,   276,     0,     0,   345,
        !           834:    347,   638,     0,    88,    83,   242,     0,     0,   478,   475,
        !           835:    117,   118,   127,   436,     0,   419,   419,   431,     0,    55,
        !           836:      0,     0,   284,   252,   253,   419,   432,   276,   267,   266,
        !           837:     54,     0,   257,     0,     0,   261,   281,   282,   258,   260,
        !           838:    283,     0,    49,   104,   335,   336,   337,   338,   341,   349,
        !           839:    105,   107,   106,   108,   339,   344,   340,   352,   352,   368,
        !           840:      0,    66,   419,     0,   421,     0,     0,    69,     0,   419,
        !           841:    616,   638,   201,   417,   203,   240,   236,   236,     0,     0,
        !           842:    142,   238,   217,   237,     0,   236,   132,   131,   236,   133,
        !           843:    134,     0,   236,   135,     0,   121,   236,   172,   178,   124,
        !           844:    141,     0,   236,   204,     0,   236,   414,   268,   123,   414,
        !           845:      0,   202,   620,   621,   636,   636,     0,   617,   624,   324,
        !           846:      0,   319,     0,     0,   136,   137,     0,     0,    26,   680,
        !           847:    676,   682,   419,     0,   419,   419,   482,   616,   421,   685,
        !           848:    415,   270,   272,   418,   269,     0,     0,   420,   473,   454,
        !           849:    453,   452,     0,    14,     0,     7,     7,    43,    42,   638,
        !           850:      0,    29,    33,    37,    31,    35,    38,   288,    82,    89,
        !           851:     86,     0,   236,   242,     0,     0,     0,   505,    59,   511,
        !           852:     61,   352,   128,   114,   254,   255,     0,     0,   419,   419,
        !           853:    444,     0,     0,   445,    64,    53,    67,     0,    52,   419,
        !           854:      0,   421,     0,    51,   259,    50,    65,    68,   263,   262,
        !           855:    638,   287,   342,   343,   353,   346,   348,   390,   236,     0,
        !           856:    395,   395,     0,     0,   373,   638,   450,     0,   264,     0,
        !           857:    138,   256,     0,   456,     0,   236,   642,   643,     0,   641,
        !           858:      0,     0,   647,   649,   639,     0,     0,   299,   463,   468,
        !           859:    462,   638,     0,    72,   236,     0,     0,   149,   141,     0,
        !           860:      0,   151,   236,   236,   236,   223,     0,   239,     0,   224,
        !           861:    148,   145,   144,     0,     0,     0,     0,   146,   236,   116,
        !           862:    147,   236,   236,     0,   236,   236,   236,   236,   236,   236,
        !           863:    236,   236,   236,   236,   236,   236,   236,   236,   236,   236,
        !           864:    236,   211,   215,   216,   244,   245,   243,   236,   236,   236,
        !           865:    232,     0,   236,   169,   241,   109,   110,   111,     0,   213,
        !           866:      0,   113,   200,   412,   220,   236,   413,   110,   111,   225,
        !           867:    414,   414,   419,   619,   414,   623,   622,     0,   410,   330,
        !           868:    408,   321,     0,     0,   278,     0,   279,    28,   491,   416,
        !           869:    485,   481,     0,     0,     0,     0,   493,     0,   419,   616,
        !           870:    421,   273,   271,     0,     0,    20,     0,    25,   115,    13,
        !           871:     16,    15,   288,    48,    44,    47,    45,    46,    41,     0,
        !           872:      0,     0,     0,   299,   104,    94,   236,     0,    90,     0,
        !           873:    119,     0,     0,   312,     0,   308,    84,     0,     0,    60,
        !           874:     63,   512,   513,   506,   125,   435,   434,     0,     0,   419,
        !           875:    419,     0,   419,     0,   421,   429,   299,   285,   425,     0,
        !           876:      0,     0,   428,     0,   419,   419,   288,   365,   364,   363,
        !           877:    120,   354,   355,   358,   357,     0,     0,   392,   391,   457,
        !           878:    419,   236,   236,   616,   638,     0,   396,   419,   616,   638,
        !           879:      0,     0,   326,   375,   374,    81,   419,   419,   419,   455,
        !           880:    422,   644,   645,   646,     0,   648,   651,     0,     0,     0,
        !           881:    298,   419,     0,   419,     0,    73,   419,     0,     0,     0,
        !           882:      0,   276,     0,   143,   222,   236,   206,   205,     0,   236,
        !           883:    122,   198,   197,   608,   607,     0,   195,   194,   192,   193,
        !           884:    191,   190,   189,   186,   187,   188,   184,   185,   179,   180,
        !           885:    181,   182,   183,   199,     0,     0,   234,   236,   167,   236,
        !           886:    268,   153,   236,     0,   112,   229,   236,   214,     0,   227,
        !           887:    236,     0,   419,   419,   616,   632,   633,   630,   631,   638,
        !           888:    618,   626,   637,   628,   625,   236,   331,     0,   330,    12,
        !           889:    140,   139,   484,   480,   419,   419,   479,   483,   419,   492,
        !           890:    487,     0,   489,     0,   334,     0,    19,   341,   339,   344,
        !           891:    299,    30,    34,    32,    36,     0,     0,    92,     0,    96,
        !           892:    236,    98,   236,     0,   100,   236,   201,   276,   236,   309,
        !           893:      0,   313,     0,    85,    62,     0,     0,   507,   508,     0,
        !           894:      0,     0,     0,     0,   443,   439,     0,     0,     0,   442,
        !           895:      0,   292,   419,   419,   419,   427,     0,     0,   299,   127,
        !           896:      0,   361,   367,   366,   360,   359,   388,   389,   236,   379,
        !           897:    380,   638,   299,   402,     0,   288,     0,   376,   386,   387,
        !           898:    638,     0,   382,   288,   381,   383,     0,   393,   394,   451,
        !           899:    448,   449,   650,     0,   640,     0,     0,   296,   466,     0,
        !           900:      0,     0,   471,     0,     0,     0,   638,   218,   150,   152,
        !           901:    175,   177,   176,     0,   208,     0,   173,   236,   209,   212,
        !           902:      0,     0,     0,   414,   414,   157,   236,     0,   170,   236,
        !           903:      0,   231,   236,   219,     0,   634,   485,   481,   419,    70,
        !           904:      0,     0,   411,   409,   323,     0,   496,   494,   490,   419,
        !           905:    488,    21,    24,     0,     0,    39,    93,    91,     0,     0,
        !           906:    102,   236,     0,     0,     0,     0,   310,   306,     0,     0,
        !           907:    201,     0,   524,   527,     0,     0,   236,     0,     0,     0,
        !           908:    236,     0,   604,   578,     0,     0,     0,     0,   236,     0,
        !           909:    558,     0,   519,     0,     0,     0,   501,   518,   523,   500,
        !           910:      0,   236,     0,   584,     0,   530,   534,   509,     0,   433,
        !           911:    430,   447,   446,   419,   419,   419,   441,   290,   426,   423,
        !           912:    424,   499,   498,   295,   362,   356,   299,    76,   401,   419,
        !           913:    299,   457,   236,   236,   638,   397,    79,   419,     0,   652,
        !           914:    289,     0,     0,   419,   419,   419,   419,   419,   419,    71,
        !           915:    221,   328,   196,   129,     0,   233,     0,     0,     0,     0,
        !           916:    159,   171,   228,     0,   226,   627,   629,   320,   497,   495,
        !           917:    486,    23,    40,    95,    97,     0,    99,     0,   317,   236,
        !           918:    311,     0,   314,     0,   510,   504,   515,   576,   236,     0,
        !           919:    236,     0,   236,     0,   544,   546,   547,   548,     0,   236,
        !           920:      0,   605,     0,   642,   643,     0,     0,   579,     0,   585,
        !           921:    559,     0,   577,   520,   250,   638,     0,   251,     0,     0,
        !           922:    638,     0,   514,   503,   502,   521,   568,     0,     0,   557,
        !           923:    556,     0,   573,     0,   584,     0,   581,     0,     0,     0,
        !           924:      0,   440,   437,   438,     0,   293,   400,   377,   378,   638,
        !           925:    398,   236,   299,   407,   288,   384,   385,   638,   303,     0,
        !           926:    301,   297,   467,   464,   465,   472,   469,   470,     0,     0,
        !           927:    129,   210,   235,   168,     0,   268,   154,   163,   165,   155,
        !           928:    230,   101,   315,     0,     0,   307,     0,   236,     0,     0,
        !           929:    505,   597,     0,   600,     0,   540,   236,   236,   549,     0,
        !           930:    555,     0,   565,     0,   236,   505,     0,   236,   505,   560,
        !           931:    247,   288,   246,   249,   248,   288,   236,   571,     0,   575,
        !           932:    574,   569,   583,   582,     0,     0,   126,   291,     0,    75,
        !           933:      0,   299,   406,   299,    78,     0,     0,     0,   174,   130,
        !           934:    414,   414,   158,   236,     0,   421,   421,     0,   318,   516,
        !           935:      0,   528,   601,   599,     0,   598,   538,   236,     0,   545,
        !           936:    554,     0,   564,     0,   580,   562,     0,   586,   522,   566,
        !           937:    594,   531,   535,   294,   399,   405,   403,     0,     0,   302,
        !           938:    300,     0,     0,     0,   160,     0,     0,   316,   236,   525,
        !           939:      0,     0,     0,   236,   541,   542,   609,     0,     0,     0,
        !           940:    587,   570,     0,     0,     0,     0,   304,   164,   166,   156,
        !           941:    161,   162,   517,   236,   236,   603,   602,   539,   236,     0,
        !           942:      0,   610,   611,   550,   563,   561,     0,     0,     0,     0,
        !           943:    404,     0,   526,     0,   543,   236,   609,     0,     0,   590,
        !           944:    567,   588,     0,   532,   536,     0,     0,     0,     0,   551,
        !           945:    612,     0,     0,   592,   236,   236,     0,   529,   613,     0,
        !           946:      0,   591,   589,   593,     0,   533,   537,   305,   614,     0,
        !           947:    552,   595,     0,     0,     0,   615,   553,   596,     0,     0,
        !           948:      0
1.1       root      949: };
                    950: 
1.1.1.4 ! root      951: static const short yydefgoto[] = {  1269,
        !           952:      1,     2,   125,   501,    27,    28,    29,   277,   495,   496,
        !           953:     30,    69,    31,   510,   512,   511,   513,   509,    32,    33,
        !           954:     34,   350,   135,   136,   137,   300,   518,   519,   560,   186,
        !           955:    450,    35,    36,   143,   750,   225,   226,   313,   730,   314,
        !           956:   1062,   227,   882,   255,   228,   395,   229,   256,   231,   406,
        !           957:    944,   442,   232,   233,   234,   138,   235,   236,   883,   341,
        !           958:    884,   169,   885,   237,   272,   390,   273,   152,    40,   378,
        !           959:    153,  1035,   342,  1119,    41,   933,   601,  1050,  1051,   859,
        !           960:    722,   723,    42,   473,   251,  1060,   678,    43,    44,    45,
        !           961:     46,   188,   189,    47,    48,   346,   562,   563,   564,   565,
        !           962:    566,   191,   353,   354,   355,   576,   577,   926,   470,   471,
        !           963:    239,   666,   240,   113,   365,   366,   154,   323,   155,   241,
        !           964:     51,   109,   271,   485,   157,   886,   887,   534,   727,   728,
        !           965:    729,   309,   888,   889,  1179,   890,  1107,   980,  1204,   981,
        !           966:   1181,  1029,  1193,  1245,  1030,  1194,  1246,  1184,  1148,  1209,
        !           967:   1088,  1191,  1161,   891,   892,   893,  1096,   894,  1025,   895,
        !           968:   1099,  1217,  1243,  1242,  1255,  1192,  1265,   896,   897,   993,
        !           969:    626,  1211,  1212,  1213,  1260,   486,   248,   249,   668,   199,
        !           970:    461,   674,   198,   374,   597,   375,   598,   242
1.1       root      971: };
                    972: 
1.1.1.4 ! root      973: static const short yypact[] = {   198,
        !           974:   1834,  4824,   391,-32768,   583,-32768,-32768,-32768,-32768,   286,
        !           975:    133,   135,-32768,   261,  3239,   203,   169,-32768,-32768,-32768,
        !           976:    380,   272,-32768,-32768,-32768,   144,-32768,   293,  5180,-32768,
        !           977: -32768,-32768,-32768,   195,   309,   325,   850,  6231,   970,    32,
        !           978: -32768,-32768,  1232,-32768,-32768,-32768,-32768,   329,  1576,-32768,
        !           979: -32768,   315,-32768,-32768,-32768,-32768,-32768,-32768,  5817,  2205,
        !           980: -32768,-32768,   370,-32768,   365,   441,  5817,-32768,    72,-32768,
        !           981:    418,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   437,
1.1.1.2   root      982: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1       root      983: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.4 ! root      984: -32768,   399,-32768,-32768,   524,   774,  1155,  1384,-32768,-32768,
        !           985:    441,-32768,   551,   380,  1094,  1094,    30,   505,   312,  5817,
        !           986: -32768,-32768,-32768,   467,  5129,   527,    30,   710,  6360,    52,
        !           987:    201,   653,   619,-32768,   679,    31,   340,   340,-32768,-32768,
        !           988: -32768,-32768,   507,    30,  1379,-32768,-32768,-32768,  1904,-32768,
        !           989:    103,   101,-32768,   577,   610,-32768,-32768,   881,-32768,-32768,
        !           990: -32768,   558,   970,   161,  6391,-32768,-32768,-32768,  1087,-32768,
        !           991: -32768,   710,-32768,   418,-32768,-32768,-32768,-32768,-32768,-32768,
        !           992:    272,-32768,-32768,-32768,-32768,-32768,   602,   649,   649,-32768,
        !           993:   5013,-32768,-32768,  3331,   591,   109,   634,   216,   947,-32768,
        !           994:   2205,   100,-32768,   641,-32768,-32768,  6059,  6135,   700,   702,
        !           995: -32768,-32768,-32768,  1809,   146,  5900,-32768,-32768,  5900,-32768,
        !           996: -32768,  4281,  5900,-32768,   434,-32768,  5900,-32768,-32768,  5185,
        !           997:   1784,   749,  5485,   793,    77,  5900,   774,  1241,-32768,  6483,
        !           998:     93,-32768,-32768,-32768,-32768,   426,   716,    39,   753,-32768,
        !           999:    146,   724,    57,   718,   788,  6617,   729,   859,-32768,   551,
        !          1000: -32768,-32768,-32768,   624,-32768,-32768,-32768,  6451,   756,-32768,
        !          1001:    628,  1155,-32768,-32768,  1155,    60,   761,-32768,-32768,   610,
        !          1002:    610,-32768,   448,-32768,  2019,-32768,-32768,-32768,-32768,   496,
        !          1003:    307,-32768,-32768,-32768,-32768,-32768,-32768,   841,-32768,    95,
        !          1004: -32768,  4364,  5900,-32768,   340,   340,   820,   766,-32768,-32768,
        !          1005: -32768,   649,-32768,-32768,   577,   610,   497,   497,-32768,-32768,
        !          1006: -32768,  1998,   320,-32768,-32768,-32768,   216,   710,-32768,-32768,
        !          1007:   3438,   770,  1584,-32768,  1087,-32768,-32768,   216,-32768,-32768,
        !          1008:    496,-32768,-32768,-32768,   275,-32768,-32768,-32768,  5900,   633,
        !          1009:   1502,  2144,    36,  4897,-32768,   653,   551,   779,   641,    23,
        !          1010:   6661,  1083,   798,-32768,   795,  5900,-32768,    30,    75,-32768,
        !          1011:    309,   870,-32768,-32768,   856,  1698,   832,   894,    30,   272,
        !          1012: -32768,   100,   828,-32768,  5900,   641,  4281,-32768,   765,   511,
        !          1013:   4281,-32768,  5900,  5983,  5900,-32768,   390,-32768,   528,-32768,
        !          1014: -32768,-32768,-32768,   840,   844,   820,   846,-32768,  5817,-32768,
        !          1015: -32768,  5900,  5900,  4447,  5900,  5900,  5900,  5900,  5900,  5900,
        !          1016:   5900,  5900,  5900,  5900,  5900,  5900,  5900,  5900,  5900,  5900,
        !          1017:   5900,-32768,-32768,-32768,-32768,-32768,-32768,  5900,  5900,  5900,
        !          1018:    748,   548,  4779,-32768,-32768,-32768,    30,   272,   146,   596,
        !          1019:     93,-32768,-32768,-32768,-32768,  5900,-32768,-32768,-32768,   645,
        !          1020:    322,   322,-32768,-32768,  1711,-32768,-32768,  4364,   877,   903,
        !          1021: -32768,-32768,   146,   861,-32768,  4696,-32768,-32768,   551,   628,
        !          1022:    517,   517,   471,   420,   860,   865,-32768,   867,-32768,  2205,
        !          1023:    871,-32768,  1155,   954,   698,-32768,  1512,-32768,-32768,-32768,
        !          1024: -32768,-32768,   841,-32768,-32768,-32768,-32768,-32768,-32768,   887,
        !          1025:    893,   899,   901,   894,    30,-32768,  5900,   472,-32768,   655,
        !          1026:    742,   146,   689,-32768,  3866,  6661,-32768,    55,   340,-32768,
        !          1027: -32768,-32768,-32768,   977,-32768,   577,   577,   497,   497,-32768,
        !          1028: -32768,   445,-32768,  3545,   906,-32768,   894,-32768,   551,   913,
        !          1029:    244,   922,-32768,   918,-32768,-32768,   841,-32768,-32768,-32768,
        !          1030: -32768,   986,-32768,-32768,  1035,   403,  6544,-32768,-32768,   991,
        !          1031:    782,  5900,  5900,  6276,   496,   179,-32768,   813,  6276,   721,
        !          1032:    211,   992,-32768,-32768,-32768,   817,-32768,-32768,-32768,-32768,
        !          1033: -32768,-32768,-32768,-32768,   109,-32768,-32768,   249,   441,   967,
        !          1034:    998,-32768,  3652,-32768,  3759,-32768,-32768,   282,   948,   951,
        !          1035:    955,   189,   958,-32768,-32768,  5900,-32768,-32768,   965,  5568,
        !          1036: -32768,  6661,  6661,-32768,-32768,  1011,  6697,  6712,  6572,  2413,
        !          1037:   3391,  2064,  2095,  2250,  2250,  2250,   962,   962,    20,    20,
        !          1038: -32768,-32768,-32768,-32768,   310,   961,   988,  5900,-32768,  5817,
        !          1039:   1372,  1021,  5900,   966,-32768,-32768,  5900,   690,   314,-32768,
        !          1040:   5900,   912,-32768,-32768,  6180,-32768,   610,-32768,-32768,   100,
        !          1041: -32768,  1023,-32768,  1027,-32768,  5900,   146,   976,   903,-32768,
        !          1042: -32768,  6661,   628,   628,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1043:    551,   979,-32768,   978,-32768,   761,-32768,  1009,   699,  1031,
        !          1044:    894,-32768,-32768,-32768,-32768,   307,   326,-32768,    95,-32768,
        !          1045:   5900,-32768,  5900,   691,-32768,  5900,  1038,   855,  5900,-32768,
        !          1046:   1053,-32768,   172,-32768,-32768,   146,  3040,   977,-32768,   329,
        !          1047:    481,   483,   497,   497,-32768,   551,  1005,   341,  1008,-32768,
        !          1048:   1004,  1061,-32768,-32768,-32768,-32768,   497,   497,   894,   507,
        !          1049:    275,-32768,-32768,-32768,-32768,  1035,-32768,-32768,  5900,-32768,
        !          1050: -32768,   100,  6594,  6661,  1013,   826,  1902,-32768,-32768,-32768,
        !          1051:    100,  1016,-32768,   848,-32768,-32768,  5071,-32768,-32768,   551,
        !          1052:    551,   551,-32768,  1698,-32768,    67,  1040,-32768,   551,  1017,
        !          1053:    362,  1020,   551,  1022,   374,  1026,   100,-32768,-32768,-32768,
        !          1054: -32768,-32768,-32768,   409,-32768,  4198,-32768,  5900,-32768,-32768,
        !          1055:    441,   196,   411,   774,  6483,-32768,  5900,  4364,-32768,  5900,
        !          1056:    433,-32768,  5900,-32768,   442,   610,   603,   603,   471,-32768,
        !          1057:   4364,  4364,  6661,-32768,-32768,  1028,   517,   517,   551,-32768,
        !          1058: -32768,-32768,-32768,   254,   307,-32768,-32768,-32768,   466,   482,
        !          1059: -32768,  5900,   526,  6522,  4364,  3949,-32768,-32768,   225,   831,
        !          1060:   1081,  1055,-32768,-32768,  1056,  1058,  5900,  1088,  1037,  1041,
        !          1061:   5651,   158,  1138,-32768,   304,  1100,   109,  1101,  5734,   346,
        !          1062: -32768,  1047,-32768,  1395,  6344,  2362,-32768,-32768,  1137,-32768,
        !          1063:   2255,  5275,  2505,-32768,  2612,-32768,-32768,-32768,  5013,-32768,
        !          1064: -32768,   577,   577,-32768,-32768,-32768,-32768,-32768,   551,   551,
        !          1065:    551,   577,   577,  1103,-32768,-32768,  6594,-32768,-32768,   834,
        !          1066:    894,  1105,  5900,  5900,   496,-32768,-32768,   836,  4955,-32768,
        !          1067: -32768,  1157,  4364,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1068: -32768,  1111,  6681,   507,    78,-32768,  1987,  1063,  1066,   530,
        !          1069: -32768,-32768,-32768,   533,-32768,-32768,-32768,-32768,   628,   628,
        !          1070:    551,-32768,-32768,-32768,-32768,   542,-32768,  4364,-32768,  5900,
        !          1071: -32768,  1116,-32768,   146,-32768,-32768,-32768,-32768,  5900,  1104,
        !          1072:   5380,  4032,  5900,   905,-32768,-32768,-32768,-32768,  1086,  5900,
        !          1073:   1089,-32768,  1110,  1090,   167,  1091,   708,-32768,   711,-32768,
        !          1074: -32768,  1093,-32768,-32768,-32768,   819,   230,-32768,  1095,   277,
        !          1075:     33,  1098,-32768,-32768,-32768,-32768,-32768,   109,   146,-32768,
        !          1076: -32768,   880,-32768,  2719,-32768,   897,-32768,  2826,  4530,  4530,
        !          1077:     37,   551,   551,   551,  4364,-32768,-32768,-32768,-32768,   100,
        !          1078:   1146,  5900,  6594,  6661,   841,-32768,-32768,   100,  1122,   547,
        !          1079: -32768,-32768,   551,   551,   551,   551,   551,   551,  4115,  1102,
        !          1080:    507,-32768,-32768,-32768,  1698,  1686,  1154,  1127,  1128,-32768,
        !          1081: -32768,-32768,-32768,  6639,  4364,-32768,  1112,  5900,  1197,  1113,
        !          1082:   1109,-32768,  1115,-32768,  1117,-32768,  5900,  5380,-32768,  1118,
        !          1083: -32768,   441,-32768,  1120,  5900,-32768,  1121,  5900,-32768,-32768,
        !          1084: -32768,   841,-32768,-32768,-32768,   841,  5380,   856,  1167,-32768,
        !          1085: -32768,-32768,-32768,-32768,  1125,  1126,-32768,-32768,  4364,-32768,
        !          1086:   4364,  6594,-32768,   894,-32768,   743,  1157,  1123,-32768,-32768,
        !          1087:    774,  6483,-32768,  5900,  4364,-32768,-32768,  4364,-32768,-32768,
        !          1088:   1131,-32768,-32768,-32768,  3147,-32768,-32768,  5380,  1177,-32768,
        !          1089: -32768,    76,-32768,   563,-32768,-32768,   565,-32768,-32768,-32768,
        !          1090: -32768,-32768,-32768,-32768,-32768,-32768,  1169,  1196,  1144,-32768,
        !          1091: -32768,  1147,  1148,   566,-32768,  1145,  1150,-32768,  5380,-32768,
        !          1092:   1170,   915,  2933,  5380,-32768,-32768,  1245,  1156,  1158,  1161,
        !          1093: -32768,  1172,  4613,  4613,  4364,  1250,-32768,-32768,-32768,-32768,
        !          1094: -32768,-32768,-32768,  5380,  5900,-32768,-32768,-32768,  5380,  1186,
        !          1095:    333,  1219,-32768,-32768,-32768,-32768,   736,  1189,  1171,  1176,
        !          1096: -32768,  1223,-32768,  1180,-32768,  5900,  1245,  1181,  1245,-32768,
        !          1097: -32768,-32768,  1698,-32768,-32768,  1279,  1188,  1207,   367,-32768,
        !          1098: -32768,   820,   820,   146,  5380,  5380,  1208,-32768,-32768,  1302,
        !          1099:   1209,-32768,-32768,-32768,  1211,-32768,-32768,-32768,-32768,   571,
        !          1100: -32768,-32768,  1305,  1214,   820,-32768,-32768,-32768,  1321,  1322,
        !          1101: -32768
1.1       root     1102: };
                   1103: 
                   1104: static const short yypgoto[] = {-32768,
1.1.1.4 ! root     1105:   1200,-32768,-32768,  1043,  1323,-32768,-32768,-32768,-32768,   632,
        !          1106: -32768,-32768,-32768,-32768,-32768,-32768,-32768,  -665,  1204,  1210,
        !          1107: -32768,-32768,-32768,-32768,  1202,-32768,-32768,   631,    -7,   845,
        !          1108:   -197,    -5,   -26,-32768,-32768,  1221,   936,  -879,-32768,   598,
        !          1109:    288,-32768,   -21,   -99,   814,-32768,  -159,   878,  -185,-32768,
        !          1110: -32768,-32768,-32768,  -179,   -64,   -84,-32768,-32768,   368,    -8,
        !          1111:    799,  1194,  1076,    -9,  1077,    -1,    15,   474,   -19,  -287,
        !          1112: -32768,-32768,  1034,-32768,-32768,-32768,  -445,-32768,   224,-32768,
        !          1113:    -20,   557,   -24,-32768,-32768,-32768,   686,  -244,  1337,  1339,
        !          1114: -32768,-32768,-32768,-32768,-32768,  -126,-32768,   618,   804,  -523,
        !          1115: -32768,   642,   475,   594,  -334,  1024,-32768,-32768,   904,   704,
        !          1116:    -54,   -94,    -6,  1566,  -248,-32768,   -58,  1065,  1042,   509,
        !          1117: -32768,     6,  -219,-32768,  -125,  -842,  -859,  -321,-32768,-32768,
        !          1118:    662,   -82,  -133,-32768,-32768,   386,-32768,-32768,-32768,-32768,
1.1       root     1119: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.4 ! root     1120: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   375,-32768,
1.1.1.2   root     1121: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.4 ! root     1122:   -968,   174,-32768,   176,-32768,   -35,-32768,  -238,   190,     8,
        !          1123:   1163,-32768,   137,  -577,   636,   394,-32768,  1318
1.1       root     1124: };
                   1125: 
                   1126: 
1.1.1.4 ! root     1127: #define        YYLAST          6784
1.1       root     1128: 
                   1129: 
1.1.1.4 ! root     1130: static const short yytable[] = {    39,
        !          1131:     39,   253,    65,   310,   310,   106,    52,    52,   108,   105,
        !          1132:    514,   270,   257,   107,   171,   118,   187,   783,   164,   585,
        !          1133:    488,   389,   389,   324,   247,   114,  1014,    39,   151,   162,
        !          1134:    389,   118,   497,   389,   398,   185,   163,   389,   498,   547,
        !          1135:    846,   389,   756,   460,   480,   254,   276,   389,   484,   464,
        !          1136:   1024,   306,  1028,   170,   105,   311,   402,   238,    39,   403,
        !          1137:   1115,  1116,   347,   408,  1061,   238,   445,   411,   706,   445,
        !          1138:    582,   582,   476,   444,    58,   193,   445,   592,   593,   446,
        !          1139:    447,   172,   171,   554,   134,   445,   315,   445,   465,   429,
        !          1140:    430,   431,   466,    59,   360,   446,   458,    61,   515,     6,
        !          1141:    292,   742,   105,   325,   476,   293,   275,   278,   118,   118,
        !          1142:    118,   367,   368,     6,   194,   195,    15,   196,   238,   290,
        !          1143:    291,   258,   118,    39,   197,   588,  -638,   163,  -638,  1187,
        !          1144:     52,   467,    15,  -638,   304,   173,  -253,   516,   171,   118,
        !          1145:    583,  1117,   454,   118,   171,   457,   121,   122,    61,    62,
        !          1146:    328,  -638,  -638,   369,  -638,   294,  -638,   724,   363,   474,
        !          1147:     61,    62,   494,   333,  1014,   383,   118,   407,  1014,   931,
        !          1148:    448,   310,   310,   532,   843,   259,   517,   170,  1188,   963,
        !          1149:   1063,  1061,   449,   340,   196,   535,   459,   196,   181,    39,
        !          1150:    371,   197,   362,   118,   197,   105,   324,    -1,   449,    39,
        !          1151:    405,   373,    22,   528,   329,   370,   326,   401,   105,   389,
        !          1152:    172,    58,   399,   171,    66,   701,    67,   398,   133,   529,
        !          1153:    238,   856,   530,   531,  1219,  1220,   672,   990,   767,   118,
        !          1154:     59,   551,   112,    58,   105,   614,   110,   123,   275,    64,
        !          1155:    105,   377,   694,   469,   163,   476,  -288,   171,   134,   295,
        !          1156:    171,    64,    59,   658,   296,   845,    61,   174,   536,   537,
        !          1157:    767,   683,   684,    68,   336,  -288,    39,  -288,   298,   749,
        !          1158:   -104,   105,   619,   521,   974,    39,   857,    61,   174,   328,
        !          1159:    558,   527,   768,    39,   111,   608,   492,   327,    61,    62,
        !          1160:     52,   802,   520,   476,   371,   552,   741,   997,   784,   999,
        !          1161:    946,   338,  1183,   914,   297,   523,   994,   995,     6,   559,
        !          1162:    171,   118,   118,   139,   775,   776,   118,   919,   561,  -288,
        !          1163:    962,   596,   118,  1014,     4,   117,   172,   118,   975,   362,
        !          1164:    504,   476,   609,  1103,    63,   120,   610,   171,   384,   645,
        !          1165:    307,   124,   575,   580,   591,   118,   744,   181,   369,   340,
        !          1166:    163,   785,    39,   140,   193,   505,   659,   200,   506,   476,
        !          1167:    507,    15,   543,   476,   263,   405,    18,   662,   181,   405,
        !          1168:    105,   611,   613,   141,   107,   476,   170,   190,   142,    64,
        !          1169:   1105,   663,     4,   117,   798,   238,  1227,   652,   308,   238,
        !          1170:    476,   664,   625,   194,   195,   310,   201,   181,   267,  1003,
        !          1171:    370,   544,   545,   665,   269,    61,   174,   238,   753,   120,
        !          1172:    508,   476,   809,   252,   282,    22,   824,   707,   646,    15,
        !          1173:   1250,   654,   546,   476,    18,   212,   503,    26,   847,    71,
        !          1174:      6,   159,     8,   160,   397,  1228,   105,   754,    10,    19,
        !          1175:    651,   655,   480,   905,   738,   484,   725,   675,   324,    20,
        !          1176:    206,   497,    12,   324,   692,   118,   118,   498,   476,    13,
        !          1177:    476,    21,   489,    39,   935,   469,    16,   389,   171,  1251,
        !          1178:    187,  1037,   708,    22,   250,  1041,   938,   557,   921,   731,
        !          1179:    732,    59,   476,   409,   105,    26,   921,   543,    39,   699,
        !          1180:    261,   476,   586,   819,    55,    56,   181,   409,   410,     4,
        !          1181:    144,   490,   491,   791,   278,   795,   262,   492,   739,    50,
        !          1182:     50,   941,   499,   947,   714,   476,   804,   721,   606,    22,
        !          1183:    -87,   709,   687,   330,   278,   330,   544,   545,   139,    50,
        !          1184:    685,   476,   118,   118,   786,   953,    15,    50,   765,   561,
        !          1185:    686,    18,   362,   772,   955,   156,   156,   735,   812,   140,
        !          1186:    813,    71,     6,   455,     8,    72,   146,   821,   278,   263,
        !          1187:     10,   825,   331,   332,   331,   332,   147,   792,   964,   796,
        !          1188:    615,   284,    39,   148,    12,   476,   265,    39,   149,   476,
        !          1189:    196,    13,   476,   900,   965,   901,   266,   197,    16,   371,
        !          1190:     22,   476,   456,   267,   585,   649,  1127,  1123,   268,   269,
        !          1191:    373,   362,    26,   362,   312,     4,   117,   683,   684,   616,
        !          1192:    278,   849,   476,   850,   476,   476,   853,   959,   960,   330,
        !          1193:   1263,   299,    50,    50,    50,    57,   171,    58,   967,   650,
        !          1194:    288,   289,  1070,    50,   389,  1071,   156,   156,   656,  1232,
        !          1195:    814,    22,    15,   815,  1072,   263,    59,    18,   238,  1128,
        !          1196:    343,   669,   193,   156,   673,   344,   118,   156,   331,   332,
        !          1197:    952,   334,   663,    39,    60,  1189,   263,  1190,  1200,   469,
        !          1198:    489,   561,   664,  1264,   902,   903,  1166,   657,  1167,   267,
        !          1199:    156,   568,   521,   265,   665,   269,   569,   660,   912,   913,
        !          1200:    105,   194,   195,   266,    39,   193,    22,   710,   364,    50,
        !          1201:    267,   520,   345,   371,   372,   268,   269,    50,    26,   490,
        !          1202:    491,   766,     4,   144,   523,   376,   774,   950,   858,   948,
        !          1203:    949,   301,   385,   954,   561,   362,   661,   118,   118,   596,
        !          1204:    302,   715,   822,   851,   194,   195,   711,   196,   367,   368,
        !          1205:      6,   118,   118,   451,   197,  1168,   945,   696,   -22,    15,
        !          1206:   1094,  1169,   966,  1097,    18,   145,  1230,  1124,   925,  1145,
        !          1207:    303,   118,   697,   -22,    71,     6,     7,     8,     9,   146,
        !          1208:    716,   823,   852,    10,  1155,    39,   483,  1158,   105,   147,
        !          1209:    369,   393,   107,   394,   712,   441,   148,    12,   647,  1095,
        !          1210:    141,   149,  1098,    50,    13,   142,   648,   951,   721,    37,
        !          1211:     37,    16,   445,    22,   468,   196,   830,   432,   522,   105,
        !          1212:    956,   957,   197,   275,   547,    26,   263,   561,   463,   264,
        !          1213:    475,   118,   118,   713,   773,   156,   156,   128,   472,    22,
        !          1214:    156,   477,   370,   265,   969,   973,   156,   476,   433,   434,
        !          1215:   1231,    50,   435,   266,   437,   984,   439,   440,   972,   989,
        !          1216:    267,   377,     4,   144,    22,   268,   269,  1002,   245,   156,
        !          1217:    156,   478,    50,   487,   991,  1010,   377,   996,   308,   371,
        !          1218:    533,   371,   594,   377,   -77,  1006,  1009,   553,   118,   -77,
        !          1219:    373,   587,   373,   163,   362,   760,   761,  1176,  1177,    15,
        !          1220:    362,   362,  1067,   362,    18,   145,   -80,    39,   918,    58,
        !          1221:    589,   -80,   590,   196,  -436,   595,  -436,   927,  -104,   146,
        !          1222:    197,  -436,  1052,   599,     4,   117,   769,   770,    59,   147,
        !          1223:    778,   779,  1101,    37,   600,    58,   148,    39,   676,  -436,
        !          1224:    607,   149,  -436,   940,   976,   977,   230,  1038,  1039,  1046,
        !          1225:   1047,   105,   617,    22,    59,  1066,   618,  1073,   620,     4,
        !          1226:    379,    15,   677,   150,   263,    26,    18,  1077,  1086,  1087,
        !          1227:   1083,  1085,   688,  -436,   680,  -436,  1076,   689,  1090,    50,
        !          1228:     50,   663,  -436,    50,   690,   166,   167,   168,   693,   362,
        !          1229:    362,   664,    10,   976,  1110,  -436,    15,   695,   267,   351,
        !          1230:    702,    18,   245,   665,   269,  1154,   703,   230,  1157,   245,
        !          1231:    976,  1113,   704,    13,   705,    22,    19,   625,   625,   726,
        !          1232:     16,  1109,   371,   740,  1118,   743,    20,    26,   976,  1206,
        !          1233:    388,   392,   362,   373,   745,   746,   362,  1152,    21,   427,
        !          1234:    428,   429,   430,   431,  1174,   751,  1172,  1173,   973,   752,
        !          1235:    380,   171,    49,    49,   759,   777,   156,   156,   787,   788,
        !          1236:    799,   972,    26,   800,  1139,  1131,  1141,   801,  1132,   105,
        !          1237:    803,  1045,   119,   107,   808,  1149,   245,   805,   810,   811,
        !          1238:    132,   361,   818,   820,   831,   245,    38,    38,   832,   165,
        !          1239:    835,   840,   156,    37,   844,   841,   362,   156,   166,   167,
        !          1240:    168,  -103,   339,   167,   168,    10,     4,   117,  1164,    10,
        !          1241:   1165,   278,   181,   372,   129,   362,   855,   904,  1252,  1253,
        !          1242:    906,   907,   908,   453,  1175,   920,    13,  1178,   928,   934,
        !          1243:     13,   932,   936,    16,   937,   455,   105,    16,   939,   245,
        !          1244:    275,  1268,   958,    15,   978,   246,   979,   982,    18,   983,
        !          1245:    986,   985,  1102,   362,   987,   992,   362,  1106,   998,  1000,
        !          1246:   1004,  1016,   351,    19,  1036,   279,   280,   281,  1042,  1049,
        !          1247:   1059,   167,   168,    20,   456,  1068,    49,    10,  1069,  1075,
        !          1248:     50,   625,   625,   829,  1221,    21,  1120,   362,  1244,   526,
        !          1249:    361,   362,   362,  1224,  1125,  1078,   316,    22,    13,  1089,
        !          1250:    119,  1092,  1091,  -103,  1093,    16,  1100,  1121,  1104,    26,
        !          1251:     38,   976,   362,  1126,  1238,  1135,  1129,   362,   361,  1136,
        !          1252:   1137,   371,  1142,  1144,  1140,  1160,  1143,   522,  1146,  1147,
        !          1253:   1195,  1151,   373,  1153,  1156,  1171,   567,   105,  1162,  1163,
        !          1254:   1186,   107,   356,  1180,    61,   174,  1254,   175,   176,   177,
        !          1255:    381,   156,   156,   362,   362,  1196,  1197,   167,   168,  1198,
        !          1256:   1199,  1205,  1201,    10,  1210,   156,   156,  1202,  1222,  1214,
        !          1257:   1218,  1215,   361,   245,  1216,   178,   352,  1226,  1229,   246,
        !          1258:   1233,  1015,  1236,  1234,    13,   156,   246,  1021,  1235,   179,
        !          1259:    180,    16,  1237,   455,  1240,    50,   230,  1247,   245,   622,
        !          1260:    623,  1248,   627,   628,   629,   630,   631,   632,   633,   634,
        !          1261:    635,   636,   637,   638,   639,   640,   641,   642,   643,  1249,
        !          1262:   1258,  1259,  1261,  1262,  1266,   644,   361,  1267,    53,    53,
        !          1263:   1270,  1271,   456,   285,    54,   181,    49,   842,   286,   502,
        !          1264:    182,   183,   184,   361,   287,    50,    50,   305,    53,   848,
        !          1265:    283,   700,   245,   246,   621,   526,    53,   915,  1130,  1084,
        !          1266:   1170,   493,   246,   682,    53,    53,   335,  1007,   280,   281,
        !          1267:     38,   548,   942,   119,   836,   130,  1079,   131,   916,   755,
        !          1268:    929,   899,   245,  1031,   381,   581,   679,   245,   167,   168,
        !          1269:    834,     4,   144,   372,    10,   372,   542,    71,     6,   898,
        !          1270:      8,   274,   156,   156,   361,   356,    10,     4,   144,  1112,
        !          1271:   1239,   245,   526,   245,  1241,    13,   246,    50,   462,  1015,
        !          1272:     12,  1108,    16,  1015,   816,     0,     0,    13,    15,   930,
        !          1273:      0,   361,     0,    18,    16,     0,     0,     0,     0,   352,
        !          1274:      0,    53,    53,    53,    15,     0,     0,    50,   146,    18,
        !          1275:    145,     0,    53,     0,     0,    53,    53,     0,   147,   763,
        !          1276:    764,     0,     0,   817,   146,   148,     0,     0,     0,     0,
        !          1277:    149,     0,    53,   245,   147,     0,    53,     0,     0,     0,
        !          1278:      0,   148,    22,  1150,     0,     0,   149,    22,     0,     0,
        !          1279:    361,     0,   361,     0,    26,     0,     0,     0,    22,    53,
        !          1280:      0,     0,  1159,   361,   245,     0,     0,   807,  1005,     0,
        !          1281:     26,     0,   667,   667,   570,   144,   667,     0,    53,     0,
        !          1282:      0,     0,     0,     0,    61,   174,    53,   175,   176,   177,
        !          1283:      0,     0,     0,     0,     0,   361,   372,   361,     0,     0,
        !          1284:      0,   400,     0,  1185,   361,     0,     0,     0,   361,     0,
        !          1285:    246,    15,     0,     0,   571,   178,    18,   145,     0,   572,
        !          1286:      0,     0,   452,   833,     0,   573,     0,     0,   452,   698,
        !          1287:    180,   146,     0,     0,  1203,   246,     0,     0,  1015,  1208,
        !          1288:      0,   147,     0,     0,     0,   351,   192,     0,   148,   280,
        !          1289:    281,     0,     0,   574,   115,   116,     4,   379,   361,  1223,
        !          1290:    361,     0,     0,   361,  1225,    22,   854,     0,     0,  -638,
        !          1291:      0,  -638,    53,     0,     0,   181,  -638,    26,     0,     0,
        !          1292:    182,   183,   184,     0,     0,   119,     0,     0,   193,   246,
        !          1293:    119,     0,   202,    15,  -638,  -638,     0,  -638,    18,  -638,
        !          1294:   1256,  1257,     0,     0,    53,    53,   917,     0,     0,    53,
        !          1295:    260,     0,     0,   555,     0,    53,     0,     0,     0,   246,
        !          1296:     53,     0,     0,   556,   246,     0,     0,   194,   195,     0,
        !          1297:    196,     0,     0,     0,     0,    21,     0,   197,    53,    53,
        !          1298:      0,    53,     0,     0,     0,     0,     0,   380,   246,  -638,
        !          1299:    246,     0,     0,   526,     0,   943,     0,     0,     0,    26,
        !          1300:      0,     0,   167,   168,   361,   526,     0,   351,    10,     0,
        !          1301:    361,    71,     6,   826,     8,    72,   119,     0,   526,   526,
        !          1302:     10,   317,   318,     4,   127,     6,     7,     8,     9,    13,
        !          1303:      0,   671,     0,    10,    12,   372,    16,   351,  1133,   361,
        !          1304:      0,    13,   526,   526,     0,     0,     0,    12,    16,     0,
        !          1305:    246,     0,     0,     0,    13,     0,     0,     0,     0,     0,
        !          1306:     15,    16,     0,   263,     0,    18,   662,     0,   357,     0,
        !          1307:      0,     0,     0,     0,     0,   382,     0,  1134,   452,     0,
        !          1308:    663,   246,     0,     0,   280,   281,     0,     0,    53,    53,
        !          1309:    664,     0,    53,     0,     0,     0,     0,   267,   280,   281,
        !          1310:      0,    22,   665,   269,     0,     0,     0,     0,     0,     0,
        !          1311:   1043,  1044,     0,     0,    22,     0,     0,     0,     0,     0,
        !          1312:    526,   396,    71,     6,     0,     8,    26,     0,   356,     0,
        !          1313:      0,    10,     0,     0,     0,     0,   432,     0,   479,     0,
        !          1314:    481,   482,     0,    -2,     3,    12,     4,     5,     6,     7,
        !          1315:      8,     9,    13,     0,   212,   526,    10,  1074,    15,    16,
        !          1316:      0,     0,   352,   397,     0,    53,    53,   433,   434,    11,
        !          1317:     12,   435,   436,   437,   438,   439,   440,    13,   280,   281,
        !          1318:      0,    14,     0,    15,    16,     0,     0,    17,    18,     0,
        !          1319:      0,     0,     0,     0,   538,   539,     0,     0,     0,     0,
        !          1320:      0,    53,     0,    19,     0,   549,    53,     0,     0,     0,
        !          1321:      0,     0,    22,    20,   922,   144,     4,   117,     0,     0,
        !          1322:      0,     0,   526,     0,     0,    21,     0,     0,     0,  1122,
        !          1323:      0,     0,     0,     0,     0,     0,  1011,    22,    23,    24,
        !          1324:      0,     0,     0,     0,     0,     0,   526,    25,     0,    26,
        !          1325:    356,    15,     0,    15,     0,     0,    18,   145,    18,   923,
        !          1326:      0,     0,   526,     0,     0,   924,     0,     0,     0,     0,
        !          1327:      0,   146,     0,   319,     0,     0,     0,     0,     0,     0,
        !          1328:    356,   147,   361,   320,   352,   361,     0,     0,   148,    53,
        !          1329:    321,     0,    53,   149,     0,   322,     0,     0,     0,     0,
        !          1330:     71,     6,     0,     8,    72,    22,   526,    22,   526,    10,
        !          1331:      4,   117,     0,     0,   352,     0,     0,    26,     0,    26,
        !          1332:      0,   361,   526,    12,     0,   526,     0,     0,     0,     3,
        !          1333:     13,     4,     5,     6,     7,     8,     9,    16,   670,     0,
        !          1334:      0,    10,     0,     0,  1064,     0,     0,    15,     0,     0,
        !          1335:      0,     0,    18,     0,    11,    12,     0,     0,     0,     0,
        !          1336:     53,    53,    13,     0,   691,     0,    14,   540,    15,    16,
        !          1337:      0,     0,    17,    18,    53,    53,     0,   541,  1065,     0,
        !          1338:      0,     0,   526,     0,   321,     0,     0,     0,    19,   322,
        !          1339:     22,     0,     0,     0,    53,     0,     0,     0,    20,     0,
        !          1340:      0,    22,     0,     0,    53,     0,     0,     0,     0,     0,
        !          1341:     21,     0,     0,    26,     0,   733,   734,     0,   736,     0,
        !          1342:      0,     0,    22,    23,    24,     0,     0,     0,     0,     0,
        !          1343:    747,   748,    25,   500,    26,   421,   422,   423,   424,   425,
        !          1344:    426,   427,   428,   429,   430,   431,   762,     0,     0,     0,
        !          1345:      0,     0,     0,   771,    53,    53,   570,   158,     6,   159,
        !          1346:      8,   160,   780,   781,   782,     0,    10,   422,   423,   424,
        !          1347:    425,   426,   427,   428,   429,   430,   431,   789,     0,   793,
        !          1348:     12,     0,   797,     0,     0,     0,     0,    13,     0,     0,
        !          1349:      0,     0,     0,    15,    16,     0,   578,     0,    18,   145,
        !          1350:      0,   572,     0,     0,     0,     0,     0,   573,     0,     0,
        !          1351:      0,    53,    53,   146,     0,     0,     0,     0,    71,     6,
        !          1352:      7,     8,     9,   147,     0,   243,    53,    10,     0,     0,
        !          1353:    148,     0,     0,     0,     0,   579,     0,     0,   827,   828,
        !          1354:      0,    12,     0,     0,     0,     0,     0,    22,    13,     0,
        !          1355:      0,     0,     0,     0,     0,    16,    53,     0,     0,    26,
        !          1356:    837,   838,     0,     0,   839,  1017,     0,  -572,  -572,  -572,
        !          1357:   -572,  -572,  -572,  -572,  -572,     0,  -572,  -572,  -572,  -572,
        !          1358:   -572,  -572,  -572,  -572,  -572,  -572,  -572,  -572,  -572,  -572,
        !          1359:   -572,  -572,  -572,  -572,  -572,     0,  -572,     0,  -572,     0,
        !          1360:   -572,  -572,     0,  -572,  -572,  -572,     0,   244,    22,  -572,
        !          1361:      0,     0,  -572,  -572,     0,     0,     0,     0,   909,   910,
        !          1362:    911,  -572,     0,     0,  -572,   425,   426,   427,   428,   429,
        !          1363:    430,   431,  -572,  -572,  -572,     0,     0,     0,  -572,  -572,
        !          1364:      0,     0,     0,     0,     0,     0,  -572,     0,  -572,     0,
        !          1365:   1018,  -572,  1019,     0,  -572,  -572,  -572,     0,  -572,     0,
        !          1366:      0,     0,     0,     0,     0,     0,     0,     0,  -572,  -572,
        !          1367:   -572,  -572,  1012,     0,   861,   127,     6,     7,     8,   359,
        !          1368:    205,   206,     0,   207,    10,   862,     0,   863,   864,   865,
        !          1369:    866,   867,   868,   869,   870,   871,   872,   873,    12,   208,
        !          1370:    209,   210,     0,   211,     0,    13,     0,   212,  -236,     0,
        !          1371:    213,    15,    16,     0,     0,   961,   214,     0,     0,   874,
        !          1372:    308,     0,     0,     0,     0,     0,     0,     0,   215,     0,
        !          1373:      0,   216,     0,     0,     0,     0,     0,     0,     0,   217,
        !          1374:    218,   219,     0,     0,     0,   220,   221,     0,     0,     0,
        !          1375:      0,     0,     0,   222,     0,   875,     0,     0,   876,     0,
        !          1376:      0,   877,   878,   879,     0,   880,     0,     0,     0,     0,
        !          1377:      0,     0,     0,     0,     0,   881,  1013,   223,   224,  1032,
        !          1378:   1033,  1034,   419,   420,   421,   422,   423,   424,   425,   426,
        !          1379:    427,   428,   429,   430,   431,  1040,     0,     0,     0,     0,
        !          1380:      0,     0,     0,  1048,     0,     0,     0,     0,     0,  1053,
        !          1381:   1054,  1055,  1056,  1057,  1058,  1022,     0,   861,   127,     6,
        !          1382:      7,     8,   359,   205,   206,     0,   207,    10,   862,     0,
        !          1383:    863,   864,   865,   866,   867,   868,   869,   870,   871,   872,
        !          1384:    873,    12,   208,   209,   210,     0,   211,     0,    13,     0,
        !          1385:    212,  -236,     0,   213,    15,    16,     0,     0,     0,   214,
        !          1386:      0,     0,   874,   308,     0,     0,     0,     0,     0,     0,
        !          1387:      0,   215,     0,     0,   216,     0,     0,     0,     0,     0,
        !          1388:      0,     0,   217,   218,   219,     0,     0,     0,   220,   221,
        !          1389:      0,     0,     0,     0,     0,     0,   222,     0,   875,     0,
        !          1390:      0,   876,     0,     0,   877,   878,   879,     0,   880,     0,
        !          1391:      0,     0,     0,     0,     0,     0,     0,     0,   881,  1023,
        !          1392:    223,   224,  1026,     0,   861,   127,     6,     7,     8,   359,
        !          1393:    205,   206,     0,   207,    10,   862,     0,   863,   864,   865,
        !          1394:    866,   867,   868,   869,   870,   871,   872,   873,    12,   208,
        !          1395:    209,   210,     0,   211,     0,    13,     0,   212,  -236,     0,
        !          1396:    213,    15,    16,     0,     0,     0,   214,     0,     0,   874,
        !          1397:    308,     0,     0,     0,     0,     0,     0,     0,   215,     0,
        !          1398:      0,   216,     0,     0,     0,     0,     0,     0,     0,   217,
        !          1399:    218,   219,     0,     0,     0,   220,   221,     0,     0,     0,
        !          1400:      0,     0,     0,   222,     0,   875,     0,     0,   876,     0,
        !          1401:      0,   877,   878,   879,     0,   880,     0,     0,     0,     0,
        !          1402:      0,     0,     0,     0,     0,   881,  1027,   223,   224,  1012,
        !          1403:      0,   861,   127,     6,     7,     8,   359,   205,   206,     0,
        !          1404:    207,    10,   862,     0,   863,   864,   865,   866,   867,   868,
        !          1405:    869,   870,   871,   872,   873,    12,   208,   209,   210,     0,
        !          1406:    211,     0,    13,     0,   212,  -236,     0,   213,    15,    16,
        !          1407:      0,     0,     0,   214,     0,     0,   874,   308,     0,     0,
        !          1408:      0,     0,     0,     0,     0,   215,     0,     0,   216,     0,
        !          1409:      0,     0,     0,     0,     0,     0,   217,   218,   219,     0,
        !          1410:      0,     0,   220,   221,     0,     0,     0,     0,     0,     0,
        !          1411:    222,     0,   875,     0,     0,   876,     0,     0,   877,   878,
        !          1412:    879,     0,   880,     0,     0,     0,     0,     0,     0,     0,
        !          1413:      0,     0,   881,  1111,   223,   224,  1012,     0,   861,   127,
        !          1414:      6,     7,     8,   359,   205,   206,     0,   207,    10,   862,
        !          1415:      0,   863,   864,   865,   866,   867,   868,   869,   870,   871,
        !          1416:    872,   873,    12,   208,   209,   210,     0,   211,     0,    13,
        !          1417:      0,   212,  -236,     0,   213,    15,    16,     0,     0,     0,
        !          1418:    214,     0,     0,   874,   308,     0,     0,     0,     0,     0,
        !          1419:      0,     0,   215,     0,     0,   216,     0,     0,     0,     0,
        !          1420:      0,     0,     0,   217,   218,   219,     0,     0,     0,   220,
        !          1421:    221,     0,     0,     0,     0,     0,     0,   222,     0,   875,
        !          1422:      0,     0,   876,     0,     0,   877,   878,   879,     0,   880,
        !          1423:      0,     0,     0,     0,     0,     0,     0,     0,     0,   881,
        !          1424:   1114,   223,   224,  1012,     0,   861,   127,     6,     7,     8,
        !          1425:    359,   205,   206,     0,   207,    10,   862,     0,   863,   864,
        !          1426:    865,   866,   867,   868,   869,   870,   871,   872,   873,    12,
        !          1427:    208,   209,   210,     0,   211,     0,    13,     0,   212,  -236,
        !          1428:      0,   213,    15,    16,     0,     0,     0,   214,     0,     0,
        !          1429:    874,   308,     0,     0,     0,     0,     0,     0,     0,   215,
        !          1430:      0,     0,   216,     0,     0,     0,     0,     0,     0,     0,
        !          1431:    217,   218,   219,     0,     0,     0,   220,   221,     0,     0,
        !          1432:      0,     0,     0,     0,   222,     0,   875,     0,     0,   876,
        !          1433:      0,     0,   877,   878,   879,     0,   880,     0,     0,     0,
        !          1434:      0,     0,     0,     0,     0,     0,   881,  1207,   223,   224,
        !          1435:    860,     0,   861,   127,     6,     7,     8,   359,   205,   206,
        !          1436:      0,   207,    10,   862,     0,   863,   864,   865,   866,   867,
        !          1437:    868,   869,   870,   871,   872,   873,    12,   208,   209,   210,
        !          1438:      0,   211,     0,    13,     0,   212,  -236,     0,   213,    15,
        !          1439:     16,     0,     0,     0,   214,     0,     0,   874,   308,     0,
        !          1440:      0,     0,     0,     0,     0,     0,   215,     0,     0,   216,
        !          1441:      0,     0,     0,     0,     0,     0,     0,   217,   218,   219,
        !          1442:      0,     0,     0,   220,   221,     0,     0,     0,     0,     0,
        !          1443:      0,   222,     0,   875,     0,     0,   876,     0,     0,   877,
        !          1444:    878,   879,     0,   880,     0,     0,     0,     0,     0,     0,
        !          1445:      0,     0,     0,   881,     0,   223,   224,  1182,     0,   861,
        !          1446:    127,     6,     7,     8,   359,   205,   206,     0,   207,    10,
        !          1447:    862,     0,   863,   864,   865,   866,   867,   868,   869,   870,
        !          1448:    871,   872,   873,    12,   208,   209,   210,     0,   211,     0,
        !          1449:     13,     0,   212,  -236,     0,   213,    15,    16,     0,     0,
        !          1450:      0,   214,     0,     0,   874,   308,     0,     0,     0,     0,
        !          1451:      0,     0,     0,   215,     0,     0,   216,     0,     0,     0,
        !          1452:      0,     0,     0,     0,   217,   218,   219,     0,     0,     0,
        !          1453:    220,   221,     0,     0,     0,     0,     0,     0,   222,     0,
        !          1454:    875,     0,     0,   876,     0,     0,   877,   878,   879,    70,
        !          1455:    880,     0,    71,     6,     0,     8,    72,     0,     0,     0,
        !          1456:    881,    10,   223,   224,     0,     0,     0,     0,     0,     0,
        !          1457:      0,     0,     0,     0,     0,    12,     0,     0,     0,     0,
        !          1458:      0,     0,    13,     0,    73,    74,     0,     0,     0,    16,
        !          1459:     75,    76,     0,     0,     0,     0,     0,     0,    77,    78,
        !          1460:     79,    80,     0,     0,    81,    82,    83,    84,    85,    86,
        !          1461:     87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
        !          1462:     97,     0,    98,    99,     0,     0,   100,   101,     0,     0,
        !          1463:      0,   102,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1464:      0,   358,    22,   203,   127,     6,     7,     8,   359,   205,
        !          1465:    206,   243,   207,    10,   103,   104,     0,     0,     0,     0,
        !          1466:      0,     0,     0,     0,     0,     0,     0,    12,   208,   209,
        !          1467:    210,     0,   211,     0,    13,     0,   212,  -236,     0,   213,
        !          1468:     15,    16,     0,     0,     0,   214,     0,     0,     0,     0,
        !          1469:      0,     0,     0,     0,     0,     0,     0,   215,     0,     0,
        !          1470:    216,     0,     0,     0,     0,     0,     0,     0,   217,   218,
        !          1471:    219,     0,     0,     0,   220,   221,     0,     0,     0,     0,
        !          1472:      0,     0,   222,     0,     0,     0,     0,     0,     0,     0,
        !          1473:      0,     0,     0,   244,    22,     0,     0,     0,     0,     0,
        !          1474:      0,     0,     0,  -616,     0,     0,   223,   224,   550,     0,
        !          1475:    203,   127,     6,     7,     8,   359,   205,   206,   243,   207,
        !          1476:     10,   420,   421,   422,   423,   424,   425,   426,   427,   428,
        !          1477:    429,   430,   431,     0,    12,   208,   209,   210,     0,   211,
        !          1478:      0,    13,     0,   212,  -236,     0,   213,    15,    16,     0,
        !          1479:      0,     0,   214,     0,     0,     0,     0,     0,     0,     0,
        !          1480:      0,     0,     0,     0,   215,     0,     0,   216,     0,     0,
        !          1481:      0,     0,     0,     0,     0,   217,   218,   219,     0,     0,
        !          1482:      0,   220,   221,     0,     0,     0,     0,     0,     0,   222,
1.1.1.3   root     1483:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.4 ! root     1484:    244,    22,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1485:   -616,     0,     0,   223,   224,   737,     0,   203,   127,     6,
        !          1486:      7,     8,   359,   205,   206,   243,   207,    10,     0,     0,
1.1.1.3   root     1487:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.4 ! root     1488:      0,    12,   208,   209,   210,     0,   211,     0,    13,     0,
        !          1489:    212,  -236,     0,   213,    15,    16,     0,     0,     0,   214,
1.1.1.3   root     1490:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.4 ! root     1491:      0,   215,     0,     0,   216,     0,     0,     0,     0,     0,
        !          1492:      0,     0,   217,   218,   219,     0,     0,     0,   220,   221,
        !          1493:      0,     0,     0,     0,     0,     0,   222,     0,     0,     0,
        !          1494:      0,     0,     0,     0,     0,     0,     0,   244,    22,     0,
        !          1495:      0,     0,     0,     0,     0,     0,     0,  -616,     0,     0,
        !          1496:    223,   224,   790,     0,   203,   127,     6,     7,     8,   359,
        !          1497:    205,   206,   243,   207,    10,     0,     0,     0,     0,     0,
        !          1498:      0,     0,     0,     0,     0,     0,     0,     0,    12,   208,
        !          1499:    209,   210,     0,   211,     0,    13,     0,   212,  -236,     0,
        !          1500:    213,    15,    16,     0,     0,     0,   214,     0,     0,     0,
        !          1501:      0,     0,     0,     0,     0,     0,     0,     0,   215,     0,
        !          1502:      0,   216,     0,     0,     0,     0,     0,     0,     0,   217,
        !          1503:    218,   219,     0,     0,     0,   220,   221,     0,     0,     0,
        !          1504:      0,     0,     0,   222,     0,     0,     0,     0,     0,     0,
        !          1505:      0,     0,     0,     0,   244,    22,     0,     0,     0,     0,
        !          1506:      0,     0,     0,     0,  -616,     0,     0,   223,   224,   794,
        !          1507:      0,   203,   127,     6,     7,     8,   359,   205,   206,   243,
        !          1508:    207,    10,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1509:      0,     0,     0,     0,     0,    12,   208,   209,   210,     0,
        !          1510:    211,     0,    13,     0,   212,  -236,     0,   213,    15,    16,
        !          1511:      0,     0,     0,   214,     0,     0,     0,     0,     0,     0,
        !          1512:      0,     0,     0,     0,     0,   215,     0,     0,   216,     0,
        !          1513:      0,     0,     0,     0,     0,     0,   217,   218,   219,     0,
        !          1514:      0,     0,   220,   221,     0,     0,     0,     0,     0,     0,
        !          1515:    222,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1516:      0,   244,    22,     0,     0,     0,     0,     0,     0,     0,
        !          1517:      0,  -616,     0,     0,   223,   224,   524,     0,   717,   718,
        !          1518:      6,     0,     8,   386,   205,   206,     0,   207,    10,     0,
1.1.1.2   root     1519:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.4 ! root     1520:      0,     0,    12,   208,   209,   210,     0,   211,     0,    13,
        !          1521:      0,   212,  -236,     0,   213,    15,    16,     0,     0,     0,
        !          1522:    214,     0,     0,     0,   525,     0,     0,     0,     0,     0,
        !          1523:      0,     0,   215,     0,     0,   216,     0,     0,     0,     0,
        !          1524:      0,     0,     0,   217,   218,   219,     0,     0,     0,   220,
        !          1525:    221,     0,     0,     0,     0,     0,     0,   222,   719,   524,
        !          1526:      0,   717,   718,     6,     0,     8,   386,   205,   206,   181,
        !          1527:    207,    10,     0,     0,     0,     0,     0,     0,   970,     0,
        !          1528:    720,   223,   224,     0,     0,    12,   208,   209,   210,     0,
        !          1529:    211,     0,    13,     0,   212,  -236,     0,   213,    15,    16,
        !          1530:      0,     0,     0,   214,     0,     0,     0,   525,     0,     0,
        !          1531:      0,     0,     0,     0,     0,   215,     0,     0,   216,     0,
        !          1532:      0,     0,     0,     0,     0,     0,   217,   218,   219,     0,
        !          1533:      0,     0,   220,   221,     0,     0,     0,     0,     0,     0,
        !          1534:    222,     0,  1080,     0,   203,   127,     6,     7,     8,   359,
        !          1535:    205,   206,   181,   207,    10,     0,     0,     0,     0,     0,
        !          1536:      0,     0,     0,   971,   223,   224,     0,     0,    12,   208,
        !          1537:    209,   210,     0,   211,     0,    13,     0,   212,  -236,     0,
        !          1538:    213,    15,    16,     0,     0,     0,   214,     0,     0,     0,
        !          1539:   1081,     0,     0,     0,     0,     0,     0,     0,   215,     0,
        !          1540:      0,   216,     0,     0,     0,     0,     0,     0,     0,   217,
        !          1541:    218,   219,     0,     0,     0,   220,   221,     0,     0,     0,
        !          1542:      0,     0,     0,   222,     0,   524,     0,   717,   718,     6,
        !          1543:      0,     8,   386,   205,   206,    22,   207,    10,     0,     0,
        !          1544:      0,     0,     0,     0,   970,  1082,     0,   223,   224,     0,
        !          1545:      0,    12,   208,   209,   210,     0,   211,     0,    13,     0,
        !          1546:    212,  -236,     0,   213,    15,    16,     0,     0,     0,   214,
        !          1547:      0,     0,     0,   525,     0,     0,     0,     0,     0,     0,
        !          1548:      0,   215,     0,     0,   216,     0,     0,     0,     0,     0,
        !          1549:      0,     0,   217,   218,   219,     0,     0,     0,   220,   221,
        !          1550:      0,     0,     0,     0,     0,     0,   222,     0,   524,     0,
        !          1551:    717,   718,     6,     0,     8,   386,   205,   206,   181,   207,
        !          1552:     10,     0,     0,     0,     0,     0,     0,     0,     0,  -329,
        !          1553:    223,   224,     0,     0,    12,   208,   209,   210,     0,   211,
        !          1554:      0,    13,     0,   212,  -236,     0,   213,    15,    16,     0,
        !          1555:      0,     0,   214,     0,     0,     0,   525,     0,     0,     0,
        !          1556:      0,     0,     0,     0,   215,     0,     0,   216,     0,     0,
        !          1557:      0,     0,     0,     0,     0,   217,   218,   219,     0,     0,
        !          1558:      0,   220,   221,     0,     0,     0,     0,     0,     0,   222,
        !          1559:    719,   404,     0,   203,   127,     6,     0,     8,   204,   205,
        !          1560:    206,   181,   207,    10,     0,     0,     0,     0,     0,     0,
        !          1561:      0,     0,     0,   223,   224,     0,     0,    12,   208,   209,
        !          1562:    210,     0,   211,     0,    13,     0,   212,  -236,     0,   213,
        !          1563:     15,    16,     0,     0,     0,   214,     0,     0,     0,  -207,
        !          1564:      0,     0,     0,     0,     0,     0,     0,   215,     0,     0,
        !          1565:    216,     0,     0,     0,     0,     0,     0,     0,   217,   218,
        !          1566:    219,     0,     0,     0,   220,   221,     0,     0,     0,     0,
        !          1567:      0,     0,   222,     0,   524,     0,   203,   127,     6,     0,
        !          1568:      8,   386,   205,   206,    22,   207,    10,     0,     0,     0,
        !          1569:      0,     0,     0,     0,     0,     0,   223,   224,     0,     0,
        !          1570:     12,   208,   209,   210,     0,   211,     0,    13,     0,   212,
        !          1571:   -236,     0,   213,    15,    16,     0,     0,     0,   214,     0,
        !          1572:      0,     0,   525,     0,     0,     0,     0,     0,     0,     0,
        !          1573:    215,     0,     0,   216,     0,     0,     0,     0,     0,     0,
        !          1574:      0,   217,   218,   219,     0,     0,     0,   220,   221,     0,
        !          1575:      0,     0,     0,     0,     0,   222,     0,   624,     0,   203,
        !          1576:    127,     6,     0,     8,   386,   205,   206,    22,   207,    10,
        !          1577:      0,     0,     0,     0,     0,     0,     0,     0,     0,   223,
        !          1578:    224,     0,     0,    12,   208,   209,   210,     0,   211,     0,
        !          1579:     13,     0,   212,  -236,     0,   213,    15,    16,     0,     0,
        !          1580:      0,   214,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1581:   -606,     0,     0,   215,     0,     0,   216,     0,     0,     0,
        !          1582:      0,     0,     0,     0,   217,   218,   219,     0,     0,     0,
        !          1583:    220,   221,     0,     0,     0,     0,     0,     0,   222,     0,
        !          1584:    624,     0,   203,   127,     6,     0,     8,   386,   205,   206,
        !          1585:     22,   207,    10,     0,     0,     0,     0,     0,     0,     0,
        !          1586:      0,     0,   223,   224,     0,     0,    12,   208,   209,   210,
        !          1587:      0,   211,     0,    13,     0,   212,  -236,     0,   213,    15,
        !          1588:     16,     0,     0,     0,   214,     0,     0,     0,     0,     0,
        !          1589:      0,     0,     0,     0,     0,     0,   215,     0,     0,   216,
        !          1590:      0,     0,     0,     0,     0,     0,     0,   217,   218,   219,
        !          1591:      0,     0,     0,   220,   221,     0,     0,     0,     0,     0,
        !          1592:      0,   222,     0,   624,     0,   203,   127,     6,     0,     8,
        !          1593:    386,   205,   206,    22,   207,    10,     0,     0,     0,     0,
        !          1594:      0,     0,     0,  -606,     0,   223,   224,     0,     0,    12,
        !          1595:    208,   209,   210,     0,   211,     0,    13,     0,   212,  -236,
        !          1596:      0,   213,    15,    16,     0,     0,     0,   214,     0,     0,
        !          1597:      0,     0,     0,     0,     0,     0,     0,     0,     0,   215,
        !          1598:      0,     0,   216,     0,     0,     0,     0,     0,     0,     0,
        !          1599:    217,   218,   219,     0,     0,     0,   220,   221,     0,     0,
        !          1600:      0,     0,     0,     0,   222,     0,   681,     0,   203,   127,
        !          1601:      6,     0,     8,   386,   205,   206,    22,   207,    10,     0,
        !          1602:      0,     0,     0,     0,     0,  -606,     0,     0,   223,   224,
        !          1603:      0,     0,    12,   208,   209,   210,     0,   211,     0,    13,
        !          1604:      0,   212,  -236,     0,   213,    15,    16,     0,     0,     0,
        !          1605:    214,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1606:      0,     0,   215,     0,     0,   216,     0,     0,     0,     0,
        !          1607:      0,     0,     0,   217,   218,   219,     0,     0,     0,   220,
        !          1608:    221,     0,     0,     0,     0,     0,     0,   222,     0,     0,
        !          1609:      0,   203,   127,     6,     0,     8,   386,   205,   206,    22,
        !          1610:    207,    10,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1611:      0,   223,   224,     0,     0,    12,   208,   209,   210,     0,
        !          1612:    211,     0,    13,     0,   212,     0,     0,   213,    15,    16,
        !          1613:      0,     0,     0,   214,     3,     0,     4,     5,     6,     7,
        !          1614:      8,     9,     0,     0,     0,   215,    10,     0,   216,     0,
        !          1615:      0,     0,     0,     0,     0,     0,   217,   218,   219,    11,
        !          1616:     12,     0,   220,   221,     0,     0,     0,    13,     0,     0,
        !          1617:    222,    14,     0,    15,    16,     0,     0,    17,    18,     0,
        !          1618:      0,     0,    22,     0,     0,     0,     0,     0,     0,     0,
        !          1619:      0,     0,     0,    19,   223,   224,   653,     0,     0,     0,
        !          1620:      0,     0,     0,    20,     0,     0,     0,   348,     0,     4,
        !          1621:    127,     6,     7,     8,     9,    21,     0,     0,     0,    10,
        !          1622:      0,     0,     0,     0,     0,     0,     0,    22,    23,    24,
        !          1623:      0,     0,     0,    12,     0,     0,     0,    25,     0,    26,
        !          1624:     13,  -370,     0,     0,     0,     0,    15,    16,     0,     0,
        !          1625:      0,    18,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1626:    349,     0,     0,     0,     0,   348,    19,     4,   127,     6,
        !          1627:      7,     8,     9,     0,     0,     0,    20,    10,     0,     0,
1.1.1.3   root     1628:      0,     0,     0,     0,     0,     0,     0,     0,    21,     0,
1.1.1.4 ! root     1629:      0,    12,     0,     0,     0,     0,     0,     0,    13,  -371,
        !          1630:     22,     0,     0,     0,    15,    16,     0,     0,     0,    18,
        !          1631:    584,  -370,    26,     0,     0,     0,     0,     0,   349,     0,
        !          1632:      0,     0,     0,   348,    19,     4,   127,     6,     7,     8,
        !          1633:      9,     0,     0,     0,    20,    10,     0,     0,     0,     0,
        !          1634:      0,     0,     0,     0,     0,     0,    21,     0,     0,    12,
        !          1635:      0,     0,     0,     0,     0,     0,    13,  -369,    22,     0,
        !          1636:      0,     0,    15,    16,     0,     0,     0,    18,   584,  -371,
        !          1637:     26,     0,     0,     0,     0,     0,   349,     0,     0,     0,
        !          1638:      0,   348,    19,     4,   127,     6,     7,     8,     9,     0,
        !          1639:      0,     0,    20,    10,     0,     0,     0,     0,     0,     0,
        !          1640:      0,     0,     0,     0,    21,     0,     0,    12,     0,     0,
        !          1641:      0,     0,     0,     0,    13,  -372,    22,     0,     0,     0,
        !          1642:     15,    16,     0,     0,     0,    18,     0,  -369,    26,     0,
        !          1643:      0,     0,     0,     0,   349,     0,     0,     0,     0,     3,
        !          1644:     19,     4,     5,     6,     7,     8,     9,     0,     0,     0,
        !          1645:     20,    10,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1646:      0,     0,    21,     0,     0,    12,     0,     0,     0,     0,
        !          1647:      0,     0,    13,     0,    22,     0,     0,     0,    15,    16,
        !          1648:      0,     0,     0,    18,     0,  -372,    26,     0,     0,     0,
        !          1649:    126,     0,     4,   127,     6,     7,     8,     9,    19,     0,
        !          1650:      0,     0,    10,     0,     0,     0,     0,     0,    20,     0,
        !          1651:      0,     0,     0,     0,     0,     0,    12,     0,     0,     0,
        !          1652:     21,     0,     0,    13,     0,     0,     0,     0,     0,    15,
        !          1653:     16,     0,    22,    23,    18,     0,     0,     0,     0,     0,
        !          1654:      0,     0,    25,     0,    26,   412,   413,   414,     0,    19,
        !          1655:    415,   416,   417,   418,   419,   420,   421,   422,   423,    20,
        !          1656:    425,   426,   427,   428,   429,   430,   431,     0,     0,     0,
        !          1657:      0,    21,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1658:      0,     0,     0,    22,     0,     0,     0,   861,   127,     6,
        !          1659:      7,     8,   359,   205,   206,    26,   207,    10,   862,     0,
        !          1660:    863,   864,   865,   866,   867,   868,   869,   870,   871,   872,
        !          1661:    873,    12,   208,   209,   210,     0,   211,     0,    13,     0,
        !          1662:    212,     0,     0,   213,    15,    16,     0,     0,     0,   214,
        !          1663:      0,     0,   874,   308,     0,     0,     0,     0,     0,     0,
        !          1664:      0,   215,     0,     0,   216,     0,     0,     0,     0,     0,
        !          1665:      0,     0,   217,   218,   219,     0,     0,     0,   220,   221,
        !          1666:      0,     0,     0,     0,     0,     0,   222,     0,   875,     0,
        !          1667:      0,   876,     0,     0,   877,   878,   879,     0,   880,     0,
        !          1668:      0,     0,     0,     0,     0,     0,     0,     0,   881,  1020,
        !          1669:    223,   224,   861,   127,     6,     7,     8,   359,   205,   206,
        !          1670:      0,   207,    10,   862,     0,   863,   864,   865,   866,   867,
        !          1671:    868,   869,   870,   871,   872,   873,    12,   208,   209,   210,
        !          1672:      0,   211,     0,    13,     0,   212,     0,     0,   213,    15,
        !          1673:     16,     0,     0,     0,   214,     0,     0,   874,   308,     0,
        !          1674:      0,     0,     0,     0,     0,     0,   215,     0,     0,   216,
        !          1675:      0,     0,     0,     0,     0,     0,     0,   217,   218,   219,
        !          1676:      0,     0,     0,   220,   221,     0,     0,     0,     0,     0,
        !          1677:      0,   222,     0,   875,     0,     0,   876,     0,     0,   877,
        !          1678:    878,   879,     0,   880,     0,     0,     0,     0,     0,     0,
        !          1679:      0,     0,     0,   881,     0,   223,   224,   203,   127,     6,
        !          1680:      0,     8,   386,   205,   206,     0,   207,    10,     0,     0,
1.1       root     1681:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.4 ! root     1682:      0,    12,   208,   209,   210,     0,   211,     0,    13,     0,
        !          1683:    212,     0,     0,   213,    15,    16,     0,     0,     0,   214,
1.1       root     1684:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.4 ! root     1685:      0,   215,     0,     0,   216,     0,     0,     0,     0,     0,
        !          1686:      0,     0,   217,   218,   219,     0,     0,     0,   220,   221,
        !          1687:      0,     0,     0,     0,     0,     0,   222,   443,     0,     0,
        !          1688:    203,   127,     6,     0,     8,   386,   205,   206,    22,   207,
        !          1689:     10,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1690:    223,   224,     0,     0,    12,   208,   209,   210,     0,   211,
        !          1691:      0,    13,     0,   212,     0,     0,   213,    15,    16,     0,
        !          1692:      0,     0,   214,     0,     0,     0,   806,     0,     0,     0,
        !          1693:      0,     0,     0,     0,   215,     0,     0,   216,     0,     0,
        !          1694:      0,     0,     0,     0,     0,   217,   218,   219,     0,     0,
        !          1695:      0,   220,   221,     0,     0,     0,     0,     0,     0,   222,
        !          1696:      0,     0,     0,   203,   127,     6,     0,     8,   386,   205,
        !          1697:    206,    22,   207,    10,     0,     0,     0,     0,     0,     0,
        !          1698:      0,     0,     0,   223,   224,     0,     0,    12,   208,   209,
        !          1699:    210,     0,   211,     0,    13,     0,   212,     0,     0,   213,
        !          1700:     15,    16,     0,     0,     0,   214,     0,     0,     0,     0,
        !          1701:      0,     0,     0,     0,     0,     0,     0,   215,     0,     0,
        !          1702:    216,     0,     0,     0,     0,     0,     0,     0,   217,   218,
        !          1703:    219,     0,     0,     0,   220,   221,     0,     0,     0,     0,
        !          1704:      0,     0,   222,     0,     0,     0,   203,   127,     6,     0,
        !          1705:      8,   386,   205,   206,    22,   207,    10,     0,     0,     0,
        !          1706:      0,     0,     0,     0,   988,     0,   223,   224,     0,     0,
        !          1707:     12,   208,   209,   210,     0,   211,     0,    13,     0,   212,
        !          1708:      0,     0,   213,    15,    16,     0,     0,     0,   214,     0,
1.1.1.2   root     1709:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.4 ! root     1710:    215,     0,     0,   216,     0,     0,     0,     0,     0,     0,
        !          1711:      0,   217,   218,   219,     0,     0,     0,   220,   221,     0,
        !          1712:      0,     0,     0,     0,     0,   222,     0,     0,     0,   203,
        !          1713:    127,     6,     0,     8,   204,   205,   206,    22,   207,    10,
        !          1714:      0,     0,     0,     0,     0,     0,     0,  1001,     0,   223,
        !          1715:    224,     0,     0,    12,   208,   209,   210,     0,   211,     0,
        !          1716:     13,     0,   212,     0,     0,   213,    15,    16,     0,     0,
        !          1717:      0,   214,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1718:      0,     0,     0,   215,     0,     0,   216,     0,     0,     0,
        !          1719:      0,     0,     0,     0,   217,   218,   219,     0,     0,     0,
        !          1720:    220,   221,     0,     0,     0,     0,     0,     0,   222,     0,
        !          1721:      0,     0,   203,   127,     6,     0,     8,   386,   205,   206,
        !          1722:     22,   207,    10,     0,     0,     0,     0,     0,     0,     0,
        !          1723:      0,     0,   223,   224,     0,     0,    12,   208,   209,   210,
        !          1724:      0,   211,     0,    13,     0,   212,     0,     0,   213,    15,
        !          1725:     16,     0,     0,     0,   214,     0,     0,     0,     0,     0,
        !          1726:      0,     0,     0,     0,     0,     0,   215,     0,     0,   216,
        !          1727:      0,     0,     0,     0,     0,     0,     0,   217,   218,   219,
        !          1728:      0,     0,     0,   220,   221,     0,     0,     0,     0,     0,
        !          1729:      0,   222,     0,     0,     0,   203,   612,     6,     0,     8,
        !          1730:    386,   205,   206,    22,   207,    10,     0,     0,     0,     0,
        !          1731:      0,     0,     0,     0,     0,   223,   224,     0,     0,    12,
        !          1732:    208,   209,   210,     0,   211,     0,    13,     0,   212,     0,
        !          1733:      0,   213,    15,    16,     0,     0,     0,   214,     0,     0,
        !          1734:      0,     0,     0,     0,     0,     0,     0,     0,     0,   215,
        !          1735:      0,     0,   216,     0,     0,     0,     0,     0,     0,     0,
        !          1736:    217,   218,   219,     0,     0,     0,   220,   221,     0,     0,
        !          1737:      0,   203,   127,     6,   222,     8,   386,   205,   206,     0,
        !          1738:    207,    10,     0,     0,     0,     0,    22,     0,     0,     0,
        !          1739:      0,     0,     0,     0,     0,    12,   208,     0,   223,   224,
        !          1740:    211,     0,    13,     0,   212,     0,     0,   213,    15,    16,
        !          1741:      0,     0,     0,   214,     0,     0,     0,     0,     0,     0,
        !          1742:      0,     0,     0,     0,     0,   215,     0,     0,   216,     0,
        !          1743:      0,     0,     0,     0,     0,     0,   217,   218,   219,     0,
        !          1744:      0,     0,   220,   221,     0,     0,     0,   203,   127,     6,
        !          1745:    387,     8,   386,   205,   206,     0,   207,    10,     0,     0,
        !          1746:      0,     0,    22,     0,     0,     0,     0,     0,     0,     0,
        !          1747:      0,    12,   208,     0,   223,   224,   211,     0,    13,     0,
        !          1748:    212,     0,     0,   213,    15,    16,     0,     0,     0,   214,
        !          1749:      0,     0,     4,   127,     6,     7,     8,     9,     0,     0,
        !          1750:    243,   215,    10,     0,   216,     0,     0,     0,     0,     0,
        !          1751:      0,     0,   217,   218,   219,     0,    12,     0,   220,   221,
        !          1752:      0,     0,     0,    13,     0,     0,   391,     0,     0,    15,
        !          1753:     16,     0,   263,     0,    18,     0,     0,     0,    22,     0,
        !          1754:      0,     0,     0,     4,   158,     6,   159,     8,   160,   663,
        !          1755:    223,   224,     0,    10,     0,     0,     0,     0,     0,   664,
        !          1756:      0,     0,     0,     0,     0,     0,   267,    12,     0,     0,
        !          1757:      0,   665,   269,     0,    13,     0,     0,     0,     0,     0,
        !          1758:     15,    16,   244,    22,     0,    18,   145,     0,     4,   127,
        !          1759:      6,     7,     8,     9,     0,    26,   243,     0,    10,     0,
        !          1760:    146,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1761:    147,     0,    12,     0,     0,     0,     0,   148,     0,    13,
        !          1762:      0,     0,   149,     0,     0,    15,    16,     0,     0,     0,
        !          1763:     18,     0,     0,     0,    22,     0,     0,     0,     0,     0,
        !          1764:      0,     0,     0,     0,   161,   319,    26,     0,     0,     0,
        !          1765:      0,     0,     0,     0,     0,   320,     4,   158,     6,   159,
        !          1766:      8,   160,   321,     0,     0,     0,    10,   322,     0,     0,
        !          1767:      0,     0,     4,   158,     6,   159,     8,   160,   244,    22,
        !          1768:     12,     0,    10,     0,     0,     0,     0,    13,     0,     0,
        !          1769:      0,    26,     0,    15,    16,     0,    12,     0,    18,   145,
        !          1770:      0,   337,     0,    13,     0,     0,     0,     0,     0,    15,
        !          1771:     16,     0,     0,   146,    18,   145,     0,     0,     0,     0,
        !          1772:      0,     0,     0,   147,  -638,     0,  -638,     0,     0,   146,
        !          1773:    148,  -638,     0,     0,     0,   149,     0,     0,     0,   147,
        !          1774:      0,     0,     0,   193,     0,     0,   148,    22,     0,  -638,
        !          1775:   -638,   149,  -638,     0,  -638,     0,     0,  1008,     0,    26,
        !          1776:      0,     0,     0,    22,   127,     6,     7,     8,     9,     0,
        !          1777:      0,   243,     0,    10,     0,    26,     0,     0,     0,     0,
        !          1778:      0,     0,   194,   195,     0,   196,     0,    12,     0,     0,
        !          1779:      0,     0,   197,     0,    13,     0,    71,     6,     0,     8,
        !          1780:    274,    16,     0,   263,  -253,    10,     0,     0,     0,     0,
        !          1781:      0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
        !          1782:    265,     0,     0,     0,     0,     0,    13,     0,     0,     0,
        !          1783:    266,     0,     0,    16,     0,   263,     0,   267,   264,     0,
        !          1784:      0,     0,   268,   269,     0,     0,     0,     0,     0,     0,
        !          1785:      0,     0,   265,   244,    22,     0,     0,     0,     0,     0,
        !          1786:      0,     0,   266,     0,     0,     0,     0,     0,     0,   267,
        !          1787:      0,     0,     0,     0,   268,   269,     0,     0,     0,     0,
        !          1788:      0,     0,   412,   413,   414,     0,    22,   415,   416,   417,
        !          1789:    418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
        !          1790:    428,   429,   430,   431,   412,   413,   414,     0,     0,   415,
        !          1791:    416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
        !          1792:    426,   427,   428,   429,   430,   431,     0,     0,     0,     0,
        !          1793:      0,     0,     0,     0,   600,     0,     0,     0,     0,   968,
        !          1794:    418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
        !          1795:    428,   429,   430,   431,   412,   413,   414,   757,   758,   415,
        !          1796:    416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
        !          1797:    426,   427,   428,   429,   430,   431,  -138,   412,   413,   414,
        !          1798:      0,     0,   415,   416,   417,   418,   419,   420,   421,   422,
        !          1799:    423,   424,   425,   426,   427,   428,   429,   430,   431,   412,
        !          1800:    413,   414,  1138,     0,   415,   416,   417,   418,   419,   420,
        !          1801:    421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
        !          1802:    431,   412,   413,   414,     0,     0,   415,   416,   417,   418,
        !          1803:    419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
        !          1804:    429,   430,   431,   414,     0,     0,   415,   416,   417,   418,
        !          1805:    419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
        !          1806:    429,   430,   431,   416,   417,   418,   419,   420,   421,   422,
        !          1807:    423,   424,   425,   426,   427,   428,   429,   430,   431,   417,
        !          1808:    418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
        !          1809:    428,   429,   430,   431
1.1       root     1810: };
                   1811: 
                   1812: static const short yycheck[] = {     1,
1.1.1.4 ! root     1813:      2,    66,    10,   137,   138,    15,     1,     2,    15,    15,
        !          1814:    298,   106,    67,    15,    39,    21,    43,   595,    38,   354,
        !          1815:    269,   207,   208,   149,    60,    18,   886,    29,    37,    38,
        !          1816:    216,    37,   277,   219,   214,    43,    38,   223,   277,   327,
        !          1817:    706,   227,   566,   241,   264,    67,   111,   233,   268,    11,
        !          1818:    893,   136,   895,    39,    60,   138,   216,    59,    60,   219,
        !          1819:   1029,  1030,   189,   223,   944,    67,    10,   227,   514,    10,
        !          1820:     35,    35,    50,   233,    45,    43,    10,     3,     4,     3,
        !          1821:      4,    50,   107,   332,    54,    10,   145,    10,    50,    70,
        !          1822:     71,    72,    54,    64,   194,     3,     4,     3,     4,     5,
        !          1823:     49,   547,   108,     1,    50,    54,   108,     8,   114,   115,
        !          1824:    116,     3,     4,     5,    82,    83,    40,    85,   120,   128,
        !          1825:    129,    50,   128,   125,    92,   103,    24,   129,    26,    54,
        !          1826:    125,    93,    40,    31,   104,   104,   104,    43,   163,   145,
        !          1827:    105,   105,   237,   149,   169,   240,     3,     4,     3,     4,
        !          1828:     50,    49,    50,    45,    52,   104,    54,   103,   194,   103,
        !          1829:      3,     4,   103,   156,  1024,   201,   172,   222,  1028,   103,
        !          1830:     94,   305,   306,   307,   698,   104,    82,   163,   103,   845,
        !          1831:    103,  1061,   106,   169,    85,   312,    94,    85,    94,   191,
        !          1832:    196,    92,   194,   199,    92,   201,   322,     0,   106,   201,
        !          1833:    222,   196,    94,   303,   104,    97,   104,   215,   214,   395,
        !          1834:     50,    45,   214,   238,    82,   503,    82,   397,    24,   304,
        !          1835:    222,    50,   305,   306,  1193,  1194,   465,    70,    50,   235,
        !          1836:     64,   331,    64,    45,   240,   395,    34,    94,   240,    94,
        !          1837:    246,    26,   491,   251,   246,    50,    31,   272,    54,    49,
        !          1838:    275,    94,    64,   451,    54,   701,     3,     4,   317,   318,
        !          1839:     50,   481,   482,     3,   104,    50,   268,    52,   132,   557,
        !          1840:    104,   277,   406,   300,    50,   277,   105,     3,     4,    50,
        !          1841:      6,   302,   104,   285,    82,   385,   272,   151,     3,     4,
        !          1842:    285,   103,   300,    50,   300,   331,   545,   875,    50,   877,
        !          1843:    105,   165,  1145,   749,   104,   300,     3,     4,     5,    35,
        !          1844:    335,   317,   318,     5,   104,   105,   322,   763,   345,   104,
        !          1845:    844,   376,   328,  1183,     3,     4,    50,   333,   104,   331,
        !          1846:     24,    50,   387,   104,    49,    64,   391,   362,   202,   439,
        !          1847:      1,    49,   351,   352,   366,   351,   103,    94,    45,   335,
        !          1848:    352,   103,   354,    45,    43,    49,   456,    43,    52,    50,
        !          1849:     54,    40,    43,    50,    43,   387,    45,    46,    94,   391,
        !          1850:    376,   393,   394,    49,   376,    50,   362,    49,    54,    94,
        !          1851:    104,    60,     3,     4,   103,   387,    54,   442,    49,   391,
        !          1852:     50,    70,   414,    82,    83,   529,    82,    94,    77,    54,
        !          1853:     97,    82,    83,    82,    83,     3,     4,   409,     6,    64,
        !          1854:    104,    50,   103,    49,   103,    94,   103,   517,   440,    40,
        !          1855:     54,   443,   103,    50,    45,    36,   290,   106,   103,     4,
        !          1856:      5,     6,     7,     8,    45,   103,   442,    35,    13,    60,
        !          1857:    442,   449,   662,   103,   544,   665,   529,   468,   574,    70,
        !          1858:     10,   696,    27,   579,   490,   461,   462,   696,    50,    34,
        !          1859:     50,    82,    43,   465,   103,   473,    41,   653,   493,   103,
        !          1860:    497,   917,     1,    94,   105,   921,   103,   341,   766,   538,
        !          1861:    539,    64,    50,    50,   490,   106,   774,    43,   490,   497,
        !          1862:     54,    50,   356,   653,   104,   105,    94,    50,    65,     3,
        !          1863:      4,    82,    83,   603,     8,   605,   108,   493,   544,     1,
        !          1864:      2,   103,    65,   103,   522,    50,   616,   525,   382,    94,
        !          1865:     49,    50,   103,    43,     8,    43,    82,    83,     5,    21,
        !          1866:     60,    50,   538,   539,   599,   103,    40,    29,   574,   566,
        !          1867:     70,    45,   544,   579,   103,    37,    38,   103,   648,    45,
        !          1868:    650,     4,     5,    43,     7,     8,    60,   657,     8,    43,
        !          1869:     13,   661,    82,    83,    82,    83,    70,   603,   103,   605,
        !          1870:     43,   105,   574,    77,    27,    50,    60,   579,    82,    50,
        !          1871:     85,    34,    50,   103,   103,   103,    70,    92,    41,   595,
        !          1872:     94,    50,    82,    77,   929,    48,    50,  1043,    82,    83,
        !          1873:    595,   603,   106,   605,    98,     3,     4,   827,   828,    82,
        !          1874:      8,   711,    50,   713,    50,    50,   716,   837,   838,    43,
        !          1875:     50,     3,   114,   115,   116,    43,   651,    45,   103,    82,
        !          1876:    104,   105,   103,   125,   820,   103,   128,   129,    43,  1217,
        !          1877:    650,    94,    40,   650,   103,    43,    64,    45,   650,   103,
        !          1878:     49,   462,    43,   145,   465,    54,   662,   149,    82,    83,
        !          1879:    820,   104,    60,   665,    82,   103,    43,   103,   103,   677,
        !          1880:     43,   698,    70,   103,   733,   734,  1122,    82,  1124,    77,
        !          1881:    172,    49,   709,    60,    82,    83,    54,    43,   747,   748,
        !          1882:    696,    82,    83,    70,   696,    43,    94,    43,   108,   191,
        !          1883:     77,   709,    54,   709,   196,    82,    83,   199,   106,    82,
        !          1884:     83,   575,     3,     4,   709,    82,   580,   817,   726,   814,
        !          1885:    815,    43,    82,   823,   751,   727,    82,   733,   734,   784,
        !          1886:     52,    43,    43,    43,    82,    83,    82,    85,     3,     4,
        !          1887:      5,   747,   748,   235,    92,     3,   811,    50,    50,    40,
        !          1888:     43,     9,   852,    43,    45,    46,    21,  1045,   767,  1081,
        !          1889:     82,   767,    65,    65,     4,     5,     6,     7,     8,    60,
        !          1890:     82,    82,    82,    13,  1096,   777,   268,  1099,   784,    70,
        !          1891:     45,    82,   784,    82,    43,    37,    77,    27,    41,    82,
        !          1892:     49,    82,    82,   285,    34,    54,    49,   818,   806,     1,
        !          1893:      2,    41,    10,    94,    52,    85,   670,    43,   300,   815,
        !          1894:    831,   832,    92,   815,  1102,   106,    43,   844,   103,    46,
        !          1895:    103,   827,   828,    82,   104,   317,   318,    29,   105,    94,
        !          1896:    322,   103,    97,    60,   855,   856,   328,    50,    74,    75,
        !          1897:    105,   333,    78,    70,    80,   867,    82,    83,   856,   871,
        !          1898:     77,    26,     3,     4,    94,    82,    83,   879,    60,   351,
        !          1899:    352,     3,   354,   108,   872,   885,    26,   875,    49,   875,
        !          1900:    105,   877,     3,    26,    49,   884,   885,   108,   884,    54,
        !          1901:    875,   103,   877,   885,   886,   104,   105,  1136,  1137,    40,
        !          1902:    892,   893,   947,   895,    45,    46,    49,   899,   762,    45,
        !          1903:    103,    54,   108,    85,    24,    50,    26,   771,    54,    60,
        !          1904:     92,    31,   933,    82,     3,     4,   104,   105,    64,    70,
        !          1905:    104,   105,   104,   125,    31,    45,    77,   929,    52,    49,
        !          1906:    103,    82,    52,   797,   104,   105,    59,   104,   105,   104,
        !          1907:    105,   947,   103,    94,    64,   947,   103,   968,   103,     3,
        !          1908:      4,    40,    50,   104,    43,   106,    45,   979,    54,    55,
        !          1909:    982,   983,   103,    83,   104,    85,   974,   103,   990,   461,
        !          1910:    462,    60,    92,   465,   108,     6,     7,     8,   108,   981,
        !          1911:    982,    70,    13,   104,   105,   105,    40,    34,    77,   191,
        !          1912:    104,    45,   194,    82,    83,  1095,   104,   120,  1098,   201,
        !          1913:    104,   105,   104,    34,   104,    94,    60,  1029,  1030,    33,
        !          1914:     41,  1019,  1018,   108,  1035,   103,    70,   106,   104,   105,
        !          1915:    207,   208,  1024,  1018,   103,   108,  1028,  1092,    82,    68,
        !          1916:     69,    70,    71,    72,  1134,    50,  1131,  1132,  1059,     5,
        !          1917:     94,  1066,     1,     2,    54,    54,   538,   539,    82,    52,
        !          1918:    103,  1059,   106,   103,  1075,  1065,  1078,   103,  1065,  1065,
        !          1919:    103,   925,    21,  1065,    54,  1087,   268,   103,   108,    82,
        !          1920:     29,   194,    52,   108,    52,   277,     1,     2,    52,    38,
        !          1921:    105,   103,   574,   285,    54,   108,  1088,   579,     6,     7,
        !          1922:      8,    54,     6,     7,     8,    13,     3,     4,  1119,    13,
        !          1923:   1121,     8,    94,   595,    29,  1107,    54,   103,  1242,  1243,
        !          1924:    103,   108,    52,   236,  1135,   103,    34,  1138,   103,   103,
        !          1925:     34,    82,   103,    41,   103,    43,  1132,    41,   103,   331,
        !          1926:   1132,  1265,   105,    40,    54,    60,    82,    82,    45,    82,
        !          1927:    104,    54,  1006,  1145,   104,     8,  1148,  1011,    49,    49,
        !          1928:    104,    15,   354,    60,    52,   114,   115,   116,    54,     3,
        !          1929:     50,     7,     8,    70,    82,   103,   125,    13,   103,    54,
        !          1930:    662,  1193,  1194,   665,  1195,    82,  1040,  1179,  1233,   302,
        !          1931:    303,  1183,  1184,  1205,  1048,    82,   145,    94,    34,   104,
        !          1932:    149,    82,   104,   104,   104,    41,   104,    52,   104,   106,
        !          1933:    125,   104,  1204,    82,  1226,    52,   105,  1209,   331,    83,
        !          1934:     83,  1217,    16,   105,   103,    49,   104,   709,   104,   103,
        !          1935:     52,   104,  1217,   104,   104,   103,   349,  1233,   104,   104,
        !          1936:     54,  1233,   191,   103,     3,     4,  1244,     6,     7,     8,
        !          1937:    199,   733,   734,  1245,  1246,    50,   103,     7,     8,   103,
        !          1938:    103,    82,   108,    13,    10,   747,   748,   108,     9,   104,
        !          1939:     89,   104,   385,   465,   104,    34,   191,    82,    50,   194,
        !          1940:     82,   886,    50,   103,    34,   767,   201,   892,   103,    48,
        !          1941:     49,    41,   103,    43,   104,   777,   409,     9,   490,   412,
        !          1942:    413,   104,   415,   416,   417,   418,   419,   420,   421,   422,
        !          1943:    423,   424,   425,   426,   427,   428,   429,   430,   431,   103,
        !          1944:    103,    10,   104,   103,    10,   438,   439,   104,     1,     2,
        !          1945:      0,     0,    82,   124,     2,    94,   285,   696,   125,   287,
        !          1946:     99,   100,   101,   456,   125,   827,   828,   136,    21,   709,
        !          1947:    120,   497,   544,   268,   409,   468,    29,   750,  1061,   982,
        !          1948:   1127,   275,   277,   476,    37,    38,   163,   884,   317,   318,
        !          1949:    285,   328,   806,   322,   679,    29,   981,    29,   751,   566,
        !          1950:    777,   730,   574,   899,   333,   352,   473,   579,     7,     8,
        !          1951:    677,     3,     4,   875,    13,   877,   322,     4,     5,   728,
        !          1952:      7,     8,   884,   885,   517,   354,    13,     3,     4,  1025,
        !          1953:   1227,   603,   525,   605,  1229,    34,   331,   899,   246,  1024,
        !          1954:     27,  1018,    41,  1028,    43,    -1,    -1,    34,    40,   784,
        !          1955:     -1,   544,    -1,    45,    41,    -1,    -1,    -1,    -1,   354,
        !          1956:     -1,   114,   115,   116,    40,    -1,    -1,   929,    60,    45,
        !          1957:     46,    -1,   125,    -1,    -1,   128,   129,    -1,    70,   572,
        !          1958:    573,    -1,    -1,    82,    60,    77,    -1,    -1,    -1,    -1,
        !          1959:     82,    -1,   145,   665,    70,    -1,   149,    -1,    -1,    -1,
        !          1960:     -1,    77,    94,  1088,    -1,    -1,    82,    94,    -1,    -1,
        !          1961:    603,    -1,   605,    -1,   106,    -1,    -1,    -1,    94,   172,
        !          1962:     -1,    -1,  1107,   616,   696,    -1,    -1,   620,   104,    -1,
        !          1963:    106,    -1,   461,   462,     3,     4,   465,    -1,   191,    -1,
        !          1964:     -1,    -1,    -1,    -1,     3,     4,   199,     6,     7,     8,
        !          1965:     -1,    -1,    -1,    -1,    -1,   648,  1018,   650,    -1,    -1,
        !          1966:     -1,   214,    -1,  1148,   657,    -1,    -1,    -1,   661,    -1,
        !          1967:    465,    40,    -1,    -1,    43,    34,    45,    46,    -1,    48,
        !          1968:     -1,    -1,   235,   676,    -1,    54,    -1,    -1,   241,    48,
        !          1969:     49,    60,    -1,    -1,  1179,   490,    -1,    -1,  1183,  1184,
        !          1970:     -1,    70,    -1,    -1,    -1,   777,     1,    -1,    77,   538,
        !          1971:    539,    -1,    -1,    82,    19,    20,     3,     4,   711,  1204,
        !          1972:    713,    -1,    -1,   716,  1209,    94,   719,    -1,    -1,    24,
        !          1973:     -1,    26,   285,    -1,    -1,    94,    31,   106,    -1,    -1,
        !          1974:     99,   100,   101,    -1,    -1,   574,    -1,    -1,    43,   544,
        !          1975:    579,    -1,    57,    40,    49,    50,    -1,    52,    45,    54,
        !          1976:   1245,  1246,    -1,    -1,   317,   318,   759,    -1,    -1,   322,
        !          1977:     75,    -1,    -1,    60,    -1,   328,    -1,    -1,    -1,   574,
        !          1978:    333,    -1,    -1,    70,   579,    -1,    -1,    82,    83,    -1,
        !          1979:     85,    -1,    -1,    -1,    -1,    82,    -1,    92,   351,   352,
        !          1980:     -1,   354,    -1,    -1,    -1,    -1,    -1,    94,   603,   104,
        !          1981:    605,    -1,    -1,   806,    -1,   808,    -1,    -1,    -1,   106,
        !          1982:     -1,    -1,     7,     8,   817,   818,    -1,   899,    13,    -1,
        !          1983:    823,     4,     5,   662,     7,     8,   665,    -1,   831,   832,
        !          1984:     13,   146,   147,     3,     4,     5,     6,     7,     8,    34,
        !          1985:     -1,    11,    -1,    13,    27,  1217,    41,   929,    43,   852,
        !          1986:     -1,    34,   855,   856,    -1,    -1,    -1,    27,    41,    -1,
        !          1987:    665,    -1,    -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,
        !          1988:     40,    41,    -1,    43,    -1,    45,    46,    -1,   193,    -1,
        !          1989:     -1,    -1,    -1,    -1,    -1,   200,    -1,    82,   451,    -1,
        !          1990:     60,   696,    -1,    -1,   733,   734,    -1,    -1,   461,   462,
        !          1991:     70,    -1,   465,    -1,    -1,    -1,    -1,    77,   747,   748,
        !          1992:     -1,    94,    82,    83,    -1,    -1,    -1,    -1,    -1,    -1,
        !          1993:    923,   924,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
        !          1994:    933,     3,     4,     5,    -1,     7,   106,    -1,   777,    -1,
        !          1995:     -1,    13,    -1,    -1,    -1,    -1,    43,    -1,   263,    -1,
        !          1996:    265,   266,    -1,     0,     1,    27,     3,     4,     5,     6,
        !          1997:      7,     8,    34,    -1,    36,   968,    13,   970,    40,    41,
        !          1998:     -1,    -1,   777,    45,    -1,   538,   539,    74,    75,    26,
        !          1999:     27,    78,    79,    80,    81,    82,    83,    34,   827,   828,
        !          2000:     -1,    38,    -1,    40,    41,    -1,    -1,    44,    45,    -1,
        !          2001:     -1,    -1,    -1,    -1,   319,   320,    -1,    -1,    -1,    -1,
        !          2002:     -1,   574,    -1,    60,    -1,   330,   579,    -1,    -1,    -1,
        !          2003:     -1,    -1,    94,    70,     3,     4,     3,     4,    -1,    -1,
        !          2004:     -1,    -1,  1035,    -1,    -1,    82,    -1,    -1,    -1,  1042,
        !          2005:     -1,    -1,    -1,    -1,    -1,    -1,   885,    94,    95,    96,
        !          2006:     -1,    -1,    -1,    -1,    -1,    -1,  1059,   104,    -1,   106,
        !          2007:    899,    40,    -1,    40,    -1,    -1,    45,    46,    45,    48,
        !          2008:     -1,    -1,  1075,    -1,    -1,    54,    -1,    -1,    -1,    -1,
        !          2009:     -1,    60,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2010:    929,    70,  1095,    70,   899,  1098,    -1,    -1,    77,   662,
        !          2011:     77,    -1,   665,    82,    -1,    82,    -1,    -1,    -1,    -1,
        !          2012:      4,     5,    -1,     7,     8,    94,  1119,    94,  1121,    13,
        !          2013:      3,     4,    -1,    -1,   929,    -1,    -1,   106,    -1,   106,
        !          2014:     -1,  1134,  1135,    27,    -1,  1138,    -1,    -1,    -1,     1,
        !          2015:     34,     3,     4,     5,     6,     7,     8,    41,   463,    -1,
        !          2016:     -1,    13,    -1,    -1,    48,    -1,    -1,    40,    -1,    -1,
        !          2017:     -1,    -1,    45,    -1,    26,    27,    -1,    -1,    -1,    -1,
        !          2018:    733,   734,    34,    -1,   489,    -1,    38,    60,    40,    41,
        !          2019:     -1,    -1,    44,    45,   747,   748,    -1,    70,    82,    -1,
        !          2020:     -1,    -1,  1195,    -1,    77,    -1,    -1,    -1,    60,    82,
        !          2021:     94,    -1,    -1,    -1,   767,    -1,    -1,    -1,    70,    -1,
        !          2022:     -1,    94,    -1,    -1,   777,    -1,    -1,    -1,    -1,    -1,
        !          2023:     82,    -1,    -1,   106,    -1,   540,   541,    -1,   543,    -1,
        !          2024:     -1,    -1,    94,    95,    96,    -1,    -1,    -1,    -1,    -1,
        !          2025:    555,   556,   104,   105,   106,    62,    63,    64,    65,    66,
        !          2026:     67,    68,    69,    70,    71,    72,   571,    -1,    -1,    -1,
        !          2027:     -1,    -1,    -1,   578,   827,   828,     3,     4,     5,     6,
        !          2028:      7,     8,   587,   588,   589,    -1,    13,    63,    64,    65,
        !          2029:     66,    67,    68,    69,    70,    71,    72,   602,    -1,   604,
        !          2030:     27,    -1,   607,    -1,    -1,    -1,    -1,    34,    -1,    -1,
        !          2031:     -1,    -1,    -1,    40,    41,    -1,    43,    -1,    45,    46,
        !          2032:     -1,    48,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,
        !          2033:     -1,   884,   885,    60,    -1,    -1,    -1,    -1,     4,     5,
        !          2034:      6,     7,     8,    70,    -1,    11,   899,    13,    -1,    -1,
        !          2035:     77,    -1,    -1,    -1,    -1,    82,    -1,    -1,   663,   664,
        !          2036:     -1,    27,    -1,    -1,    -1,    -1,    -1,    94,    34,    -1,
        !          2037:     -1,    -1,    -1,    -1,    -1,    41,   929,    -1,    -1,   106,
        !          2038:    685,   686,    -1,    -1,   689,     1,    -1,     3,     4,     5,
        !          2039:      6,     7,     8,     9,    10,    -1,    12,    13,    14,    15,
        !          2040:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !          2041:     26,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
        !          2042:     36,    37,    -1,    39,    40,    41,    -1,    93,    94,    45,
        !          2043:     -1,    -1,    48,    49,    -1,    -1,    -1,    -1,   743,   744,
        !          2044:    745,    57,    -1,    -1,    60,    66,    67,    68,    69,    70,
        !          2045:     71,    72,    68,    69,    70,    -1,    -1,    -1,    74,    75,
        !          2046:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    -1,
        !          2047:     86,    87,    88,    -1,    90,    91,    92,    -1,    94,    -1,
        !          2048:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
        !          2049:    106,   107,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2050:      9,    10,    -1,    12,    13,    14,    -1,    16,    17,    18,
        !          2051:     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
        !          2052:     29,    30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,
        !          2053:     39,    40,    41,    -1,    -1,   840,    45,    -1,    -1,    48,
        !          2054:     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,
        !          2055:     -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
        !          2056:     69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
        !          2057:     -1,    -1,    -1,    82,    -1,    84,    -1,    -1,    87,    -1,
        !          2058:     -1,    90,    91,    92,    -1,    94,    -1,    -1,    -1,    -1,
        !          2059:     -1,    -1,    -1,    -1,    -1,   104,   105,   106,   107,   904,
        !          2060:    905,   906,    60,    61,    62,    63,    64,    65,    66,    67,
        !          2061:     68,    69,    70,    71,    72,   920,    -1,    -1,    -1,    -1,
        !          2062:     -1,    -1,    -1,   928,    -1,    -1,    -1,    -1,    -1,   934,
        !          2063:    935,   936,   937,   938,   939,     1,    -1,     3,     4,     5,
1.1.1.2   root     2064:      6,     7,     8,     9,    10,    -1,    12,    13,    14,    -1,
                   2065:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
                   2066:     26,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
                   2067:     36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
                   2068:     -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2069:     -1,    57,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
1.1.1.2   root     2070:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
                   2071:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    -1,
                   2072:     -1,    87,    -1,    -1,    90,    91,    92,    -1,    94,    -1,
                   2073:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
                   2074:    106,   107,     1,    -1,     3,     4,     5,     6,     7,     8,
                   2075:      9,    10,    -1,    12,    13,    14,    -1,    16,    17,    18,
                   2076:     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
                   2077:     29,    30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,
                   2078:     39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,    48,
1.1.1.4 ! root     2079:     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,
1.1.1.2   root     2080:     -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
                   2081:     69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
                   2082:     -1,    -1,    -1,    82,    -1,    84,    -1,    -1,    87,    -1,
                   2083:     -1,    90,    91,    92,    -1,    94,    -1,    -1,    -1,    -1,
1.1.1.3   root     2084:     -1,    -1,    -1,    -1,    -1,   104,   105,   106,   107,     1,
1.1.1.2   root     2085:     -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
                   2086:     12,    13,    14,    -1,    16,    17,    18,    19,    20,    21,
                   2087:     22,    23,    24,    25,    26,    27,    28,    29,    30,    -1,
                   2088:     32,    -1,    34,    -1,    36,    37,    -1,    39,    40,    41,
                   2089:     -1,    -1,    -1,    45,    -1,    -1,    48,    49,    -1,    -1,
1.1.1.4 ! root     2090:     -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,
1.1.1.2   root     2091:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
                   2092:     -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
                   2093:     82,    -1,    84,    -1,    -1,    87,    -1,    -1,    90,    91,
1.1.1.3   root     2094:     92,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2095:     -1,    -1,   104,   105,   106,   107,     1,    -1,     3,     4,
                   2096:      5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
                   2097:     -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
                   2098:     25,    26,    27,    28,    29,    30,    -1,    32,    -1,    34,
                   2099:     -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,
                   2100:     45,    -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2101:     -1,    -1,    57,    -1,    -1,    60,    -1,    -1,    -1,    -1,
1.1.1.3   root     2102:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
                   2103:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,
                   2104:     -1,    -1,    87,    -1,    -1,    90,    91,    92,    -1,    94,
                   2105:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
                   2106:    105,   106,   107,     1,    -1,     3,     4,     5,     6,     7,
                   2107:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
                   2108:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1.1.1.2   root     2109:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    37,
1.1.1.3   root     2110:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,
1.1.1.4 ! root     2111:     48,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
1.1.1.3   root     2112:     -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2   root     2113:     68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,
1.1.1.3   root     2114:     -1,    -1,    -1,    -1,    82,    -1,    84,    -1,    -1,    87,
                   2115:     -1,    -1,    90,    91,    92,    -1,    94,    -1,    -1,    -1,
1.1.1.4 ! root     2116:     -1,    -1,    -1,    -1,    -1,    -1,   104,   105,   106,   107,
1.1.1.2   root     2117:      1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
1.1.1.3   root     2118:     -1,    12,    13,    14,    -1,    16,    17,    18,    19,    20,
                   2119:     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1.1.1.2   root     2120:     -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,    40,
1.1.1.3   root     2121:     41,    -1,    -1,    -1,    45,    -1,    -1,    48,    49,    -1,
1.1.1.4 ! root     2122:     -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,
1.1.1.2   root     2123:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
                   2124:     -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
1.1.1.3   root     2125:     -1,    82,    -1,    84,    -1,    -1,    87,    -1,    -1,    90,
                   2126:     91,    92,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
                   2127:     -1,    -1,    -1,   104,    -1,   106,   107,     1,    -1,     3,
1.1.1.4 ! root     2128:      4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
        !          2129:     14,    -1,    16,    17,    18,    19,    20,    21,    22,    23,
        !          2130:     24,    25,    26,    27,    28,    29,    30,    -1,    32,    -1,
1.1.1.2   root     2131:     34,    -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,
1.1.1.4 ! root     2132:     -1,    45,    -1,    -1,    48,    49,    -1,    -1,    -1,    -1,
        !          2133:     -1,    -1,    -1,    57,    -1,    -1,    60,    -1,    -1,    -1,
        !          2134:     -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,
1.1.1.2   root     2135:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
1.1.1.4 ! root     2136:     84,    -1,    -1,    87,    -1,    -1,    90,    91,    92,     1,
        !          2137:     94,    -1,     4,     5,    -1,     7,     8,    -1,    -1,    -1,
        !          2138:    104,    13,   106,   107,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2139:     -1,    -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,
        !          2140:     -1,    -1,    34,    -1,    36,    37,    -1,    -1,    -1,    41,
        !          2141:     42,    43,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,
        !          2142:     52,    53,    -1,    -1,    56,    57,    58,    59,    60,    61,
        !          2143:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
        !          2144:     72,    -1,    74,    75,    -1,    -1,    78,    79,    -1,    -1,
        !          2145:     -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2146:     -1,     1,    94,     3,     4,     5,     6,     7,     8,     9,
        !          2147:     10,    11,    12,    13,   106,   107,    -1,    -1,    -1,    -1,
1.1.1.3   root     2148:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
1.1.1.2   root     2149:     30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,
                   2150:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2151:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,
1.1.1.3   root     2152:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
                   2153:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
                   2154:     -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2155:     -1,    -1,    -1,    93,    94,    -1,    -1,    -1,    -1,    -1,
                   2156:     -1,    -1,    -1,   103,    -1,    -1,   106,   107,     1,    -1,
                   2157:      3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
1.1.1.4 ! root     2158:     13,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          2159:     70,    71,    72,    -1,    27,    28,    29,    30,    -1,    32,
1.1.1.3   root     2160:     -1,    34,    -1,    36,    37,    -1,    39,    40,    41,    -1,
                   2161:     -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2162:     -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,    -1,
1.1.1.3   root     2163:     -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,
                   2164:     -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,
                   2165:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2166:     93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2167:    103,    -1,    -1,   106,   107,     1,    -1,     3,     4,     5,
                   2168:      6,     7,     8,     9,    10,    11,    12,    13,    -1,    -1,
1.1.1.4 ! root     2169:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.3   root     2170:     -1,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
                   2171:     36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
                   2172:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2173:     -1,    57,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
1.1.1.3   root     2174:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
1.1.1.4 ! root     2175:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,
        !          2176:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    93,    94,    -1,
        !          2177:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
        !          2178:    106,   107,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2179:      9,    10,    11,    12,    13,    -1,    -1,    -1,    -1,    -1,
1.1.1.3   root     2180:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
                   2181:     29,    30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,
                   2182:     39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,
1.1.1.4 ! root     2183:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,
        !          2184:     -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
        !          2185:     69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
        !          2186:     -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2187:     -1,    -1,    -1,    -1,    93,    94,    -1,    -1,    -1,    -1,
        !          2188:     -1,    -1,    -1,    -1,   103,    -1,    -1,   106,   107,     1,
        !          2189:     -1,     3,     4,     5,     6,     7,     8,     9,    10,    11,
        !          2190:     12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2191:     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    -1,
        !          2192:     32,    -1,    34,    -1,    36,    37,    -1,    39,    40,    41,
        !          2193:     -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2194:     -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,
        !          2195:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
        !          2196:     -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2197:     82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2198:     -1,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2199:     -1,   103,    -1,    -1,   106,   107,     1,    -1,     3,     4,
        !          2200:      5,    -1,     7,     8,     9,    10,    -1,    12,    13,    -1,
        !          2201:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2202:     -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,    34,
        !          2203:     -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,
        !          2204:     45,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,
        !          2205:     -1,    -1,    57,    -1,    -1,    60,    -1,    -1,    -1,    -1,
        !          2206:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
        !          2207:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    83,     1,
        !          2208:     -1,     3,     4,     5,    -1,     7,     8,     9,    10,    94,
        !          2209:     12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,
        !          2210:    105,   106,   107,    -1,    -1,    27,    28,    29,    30,    -1,
        !          2211:     32,    -1,    34,    -1,    36,    37,    -1,    39,    40,    41,
        !          2212:     -1,    -1,    -1,    45,    -1,    -1,    -1,    49,    -1,    -1,
        !          2213:     -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,
        !          2214:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
        !          2215:     -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2216:     82,    -1,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2217:      9,    10,    94,    12,    13,    -1,    -1,    -1,    -1,    -1,
        !          2218:     -1,    -1,    -1,   105,   106,   107,    -1,    -1,    27,    28,
        !          2219:     29,    30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,
        !          2220:     39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,
        !          2221:     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,
1.1.1.3   root     2222:     -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
                   2223:     69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
1.1.1.4 ! root     2224:     -1,    -1,    -1,    82,    -1,     1,    -1,     3,     4,     5,
1.1.1.3   root     2225:     -1,     7,     8,     9,    10,    94,    12,    13,    -1,    -1,
1.1.1.4 ! root     2226:     -1,    -1,    -1,    -1,    20,   104,    -1,   106,   107,    -1,
1.1.1.3   root     2227:     -1,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
                   2228:     36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
                   2229:     -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2230:     -1,    57,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
1.1.1.3   root     2231:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
                   2232:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,     1,    -1,
1.1.1.4 ! root     2233:      3,     4,     5,    -1,     7,     8,     9,    10,    94,    12,
1.1.1.3   root     2234:     13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
                   2235:    106,   107,    -1,    -1,    27,    28,    29,    30,    -1,    32,
1.1.1.2   root     2236:     -1,    34,    -1,    36,    37,    -1,    39,    40,    41,    -1,
                   2237:     -1,    -1,    45,    -1,    -1,    -1,    49,    -1,    -1,    -1,
1.1.1.4 ! root     2238:     -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,    -1,
1.1.1.3   root     2239:     -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,
                   2240:     -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,
1.1.1.4 ! root     2241:     83,     1,    -1,     3,     4,     5,    -1,     7,     8,     9,
1.1.1.2   root     2242:     10,    94,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2243:     -1,    -1,    -1,   106,   107,    -1,    -1,    27,    28,    29,
1.1.1.2   root     2244:     30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,
                   2245:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    49,
1.1.1.4 ! root     2246:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,
1.1.1.2   root     2247:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
                   2248:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
1.1.1.3   root     2249:     -1,    -1,    82,    -1,     1,    -1,     3,     4,     5,    -1,
1.1.1.2   root     2250:      7,     8,     9,    10,    94,    12,    13,    -1,    -1,    -1,
1.1.1.4 ! root     2251:     -1,    -1,    -1,    -1,    -1,    -1,   106,   107,    -1,    -1,
1.1.1.2   root     2252:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    36,
                   2253:     37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,
                   2254:     -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2255:     57,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2   root     2256:     -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,
1.1.1.4 ! root     2257:     -1,    -1,    -1,    -1,    -1,    82,    -1,     1,    -1,     3,
1.1.1.2   root     2258:      4,     5,    -1,     7,     8,     9,    10,    94,    12,    13,
1.1.1.3   root     2259:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,
1.1.1.2   root     2260:    107,    -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,
                   2261:     34,    -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,
1.1.1.4 ! root     2262:     -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2263:     54,    -1,    -1,    57,    -1,    -1,    60,    -1,    -1,    -1,
1.1.1.2   root     2264:     -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,
                   2265:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
                   2266:      1,    -1,     3,     4,     5,    -1,     7,     8,     9,    10,
                   2267:     94,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.3   root     2268:     -1,    -1,   106,   107,    -1,    -1,    27,    28,    29,    30,
1.1.1.2   root     2269:     -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,    40,
1.1.1.4 ! root     2270:     41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,
        !          2271:     -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,
1.1.1.2   root     2272:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
                   2273:     -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
1.1.1.3   root     2274:     -1,    82,    -1,     1,    -1,     3,     4,     5,    -1,     7,
1.1.1.2   root     2275:      8,     9,    10,    94,    12,    13,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2276:     -1,    -1,    -1,   104,    -1,   106,   107,    -1,    -1,    27,
1.1.1.2   root     2277:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    37,
                   2278:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,
1.1.1.4 ! root     2279:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
1.1.1.2   root     2280:     -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2281:     68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,
        !          2282:     -1,    -1,    -1,    -1,    82,    -1,     1,    -1,     3,     4,
1.1.1.2   root     2283:      5,    -1,     7,     8,     9,    10,    94,    12,    13,    -1,
1.1.1.4 ! root     2284:     -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,   106,   107,
1.1       root     2285:     -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,    34,
1.1.1.2   root     2286:     -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,
1.1.1.4 ! root     2287:     45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2288:     -1,    -1,    57,    -1,    -1,    60,    -1,    -1,    -1,    -1,
1.1.1.2   root     2289:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
1.1.1.4 ! root     2290:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
1.1.1.2   root     2291:     -1,     3,     4,     5,    -1,     7,     8,     9,    10,    94,
1.1.1.4 ! root     2292:     12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2   root     2293:     -1,   106,   107,    -1,    -1,    27,    28,    29,    30,    -1,
1.1.1.4 ! root     2294:     32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,    41,
        !          2295:     -1,    -1,    -1,    45,     1,    -1,     3,     4,     5,     6,
        !          2296:      7,     8,    -1,    -1,    -1,    57,    13,    -1,    60,    -1,
        !          2297:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    26,
        !          2298:     27,    -1,    74,    75,    -1,    -1,    -1,    34,    -1,    -1,
        !          2299:     82,    38,    -1,    40,    41,    -1,    -1,    44,    45,    -1,
        !          2300:     -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2301:     -1,    -1,    -1,    60,   106,   107,   108,    -1,    -1,    -1,
        !          2302:     -1,    -1,    -1,    70,    -1,    -1,    -1,     1,    -1,     3,
        !          2303:      4,     5,     6,     7,     8,    82,    -1,    -1,    -1,    13,
        !          2304:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    95,    96,
        !          2305:     -1,    -1,    -1,    27,    -1,    -1,    -1,   104,    -1,   106,
        !          2306:     34,    35,    -1,    -1,    -1,    -1,    40,    41,    -1,    -1,
        !          2307:     -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2308:     54,    -1,    -1,    -1,    -1,     1,    60,     3,     4,     5,
        !          2309:      6,     7,     8,    -1,    -1,    -1,    70,    13,    -1,    -1,
        !          2310:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
        !          2311:     -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,    34,    35,
        !          2312:     94,    -1,    -1,    -1,    40,    41,    -1,    -1,    -1,    45,
        !          2313:    104,   105,   106,    -1,    -1,    -1,    -1,    -1,    54,    -1,
        !          2314:     -1,    -1,    -1,     1,    60,     3,     4,     5,     6,     7,
        !          2315:      8,    -1,    -1,    -1,    70,    13,    -1,    -1,    -1,    -1,
        !          2316:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    27,
        !          2317:     -1,    -1,    -1,    -1,    -1,    -1,    34,    35,    94,    -1,
        !          2318:     -1,    -1,    40,    41,    -1,    -1,    -1,    45,   104,   105,
        !          2319:    106,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    -1,
        !          2320:     -1,     1,    60,     3,     4,     5,     6,     7,     8,    -1,
        !          2321:     -1,    -1,    70,    13,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2322:     -1,    -1,    -1,    -1,    82,    -1,    -1,    27,    -1,    -1,
        !          2323:     -1,    -1,    -1,    -1,    34,    35,    94,    -1,    -1,    -1,
        !          2324:     40,    41,    -1,    -1,    -1,    45,    -1,   105,   106,    -1,
        !          2325:     -1,    -1,    -1,    -1,    54,    -1,    -1,    -1,    -1,     1,
        !          2326:     60,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1,
        !          2327:     70,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2328:     -1,    -1,    82,    -1,    -1,    27,    -1,    -1,    -1,    -1,
        !          2329:     -1,    -1,    34,    -1,    94,    -1,    -1,    -1,    40,    41,
        !          2330:     -1,    -1,    -1,    45,    -1,   105,   106,    -1,    -1,    -1,
        !          2331:      1,    -1,     3,     4,     5,     6,     7,     8,    60,    -1,
        !          2332:     -1,    -1,    13,    -1,    -1,    -1,    -1,    -1,    70,    -1,
        !          2333:     -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,
        !          2334:     82,    -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    40,
        !          2335:     41,    -1,    94,    95,    45,    -1,    -1,    -1,    -1,    -1,
        !          2336:     -1,    -1,   104,    -1,   106,    51,    52,    53,    -1,    60,
        !          2337:     56,    57,    58,    59,    60,    61,    62,    63,    64,    70,
        !          2338:     66,    67,    68,    69,    70,    71,    72,    -1,    -1,    -1,
        !          2339:     -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2340:     -1,    -1,    -1,    94,    -1,    -1,    -1,     3,     4,     5,
        !          2341:      6,     7,     8,     9,    10,   106,    12,    13,    14,    -1,
        !          2342:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !          2343:     26,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
        !          2344:     36,    -1,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
        !          2345:     -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2346:     -1,    57,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
        !          2347:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
        !          2348:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    -1,
        !          2349:     -1,    87,    -1,    -1,    90,    91,    92,    -1,    94,    -1,
        !          2350:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
        !          2351:    106,   107,     3,     4,     5,     6,     7,     8,     9,    10,
        !          2352:     -1,    12,    13,    14,    -1,    16,    17,    18,    19,    20,
        !          2353:     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
        !          2354:     -1,    32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,
        !          2355:     41,    -1,    -1,    -1,    45,    -1,    -1,    48,    49,    -1,
        !          2356:     -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,
        !          2357:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
        !          2358:     -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
        !          2359:     -1,    82,    -1,    84,    -1,    -1,    87,    -1,    -1,    90,
        !          2360:     91,    92,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2361:     -1,    -1,    -1,   104,    -1,   106,   107,     3,     4,     5,
        !          2362:     -1,     7,     8,     9,    10,    -1,    12,    13,    -1,    -1,
        !          2363:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2364:     -1,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
        !          2365:     36,    -1,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
        !          2366:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2367:     -1,    57,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
        !          2368:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
        !          2369:     -1,    -1,    -1,    -1,    -1,    -1,    82,    83,    -1,    -1,
        !          2370:      3,     4,     5,    -1,     7,     8,     9,    10,    94,    12,
1.1.1.3   root     2371:     13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2372:    106,   107,    -1,    -1,    27,    28,    29,    30,    -1,    32,
        !          2373:     -1,    34,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
        !          2374:     -1,    -1,    45,    -1,    -1,    -1,    49,    -1,    -1,    -1,
        !          2375:     -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,    -1,
        !          2376:     -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,
        !          2377:     -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,
        !          2378:     -1,    -1,    -1,     3,     4,     5,    -1,     7,     8,     9,
        !          2379:     10,    94,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2380:     -1,    -1,    -1,   106,   107,    -1,    -1,    27,    28,    29,
1.1.1.2   root     2381:     30,    -1,    32,    -1,    34,    -1,    36,    -1,    -1,    39,
1.1.1.4 ! root     2382:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
        !          2383:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,
1.1.1.2   root     2384:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
                   2385:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2386:     -1,    -1,    82,    -1,    -1,    -1,     3,     4,     5,    -1,
1.1.1.2   root     2387:      7,     8,     9,    10,    94,    12,    13,    -1,    -1,    -1,
1.1.1.4 ! root     2388:     -1,    -1,    -1,    -1,   104,    -1,   106,   107,    -1,    -1,
1.1.1.2   root     2389:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    36,
1.1.1.4 ! root     2390:     -1,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,
        !          2391:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2392:     57,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2393:     -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,
        !          2394:     -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,     3,
1.1.1.2   root     2395:      4,     5,    -1,     7,     8,     9,    10,    94,    12,    13,
1.1.1.4 ! root     2396:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,    -1,   106,
1.1.1.2   root     2397:    107,    -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,
1.1.1.4 ! root     2398:     34,    -1,    36,    -1,    -1,    39,    40,    41,    -1,    -1,
        !          2399:     -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2400:     -1,    -1,    -1,    57,    -1,    -1,    60,    -1,    -1,    -1,
        !          2401:     -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,
        !          2402:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
1.1.1.2   root     2403:     -1,    -1,     3,     4,     5,    -1,     7,     8,     9,    10,
1.1.1.3   root     2404:     94,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2405:     -1,    -1,   106,   107,    -1,    -1,    27,    28,    29,    30,
1.1.1.3   root     2406:     -1,    32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,
                   2407:     41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2408:     -1,    -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,
1.1.1.2   root     2409:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
1.1.1.3   root     2410:     -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
                   2411:     -1,    82,    -1,    -1,    -1,     3,     4,     5,    -1,     7,
1.1.1.2   root     2412:      8,     9,    10,    94,    12,    13,    -1,    -1,    -1,    -1,
1.1.1.4 ! root     2413:     -1,    -1,    -1,    -1,    -1,   106,   107,    -1,    -1,    27,
1.1.1.2   root     2414:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    -1,
                   2415:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,
1.1.1.4 ! root     2416:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    57,
1.1.1.2   root     2417:     -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2418:     68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,
1.1.1.4 ! root     2419:     -1,     3,     4,     5,    82,     7,     8,     9,    10,    -1,
        !          2420:     12,    13,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
        !          2421:     -1,    -1,    -1,    -1,    -1,    27,    28,    -1,   106,   107,
1.1.1.2   root     2422:     32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,    41,
1.1.1.4 ! root     2423:     -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2424:     -1,    -1,    -1,    -1,    -1,    57,    -1,    -1,    60,    -1,
        !          2425:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
        !          2426:     -1,    -1,    74,    75,    -1,    -1,    -1,     3,     4,     5,
        !          2427:     82,     7,     8,     9,    10,    -1,    12,    13,    -1,    -1,
        !          2428:     -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2429:     -1,    27,    28,    -1,   106,   107,    32,    -1,    34,    -1,
        !          2430:     36,    -1,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
        !          2431:     -1,    -1,     3,     4,     5,     6,     7,     8,    -1,    -1,
        !          2432:     11,    57,    13,    -1,    60,    -1,    -1,    -1,    -1,    -1,
        !          2433:     -1,    -1,    68,    69,    70,    -1,    27,    -1,    74,    75,
        !          2434:     -1,    -1,    -1,    34,    -1,    -1,    82,    -1,    -1,    40,
        !          2435:     41,    -1,    43,    -1,    45,    -1,    -1,    -1,    94,    -1,
        !          2436:     -1,    -1,    -1,     3,     4,     5,     6,     7,     8,    60,
        !          2437:    106,   107,    -1,    13,    -1,    -1,    -1,    -1,    -1,    70,
        !          2438:     -1,    -1,    -1,    -1,    -1,    -1,    77,    27,    -1,    -1,
        !          2439:     -1,    82,    83,    -1,    34,    -1,    -1,    -1,    -1,    -1,
        !          2440:     40,    41,    93,    94,    -1,    45,    46,    -1,     3,     4,
        !          2441:      5,     6,     7,     8,    -1,   106,    11,    -1,    13,    -1,
        !          2442:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2443:     70,    -1,    27,    -1,    -1,    -1,    -1,    77,    -1,    34,
        !          2444:     -1,    -1,    82,    -1,    -1,    40,    41,    -1,    -1,    -1,
        !          2445:     45,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
        !          2446:     -1,    -1,    -1,    -1,   104,    60,   106,    -1,    -1,    -1,
        !          2447:     -1,    -1,    -1,    -1,    -1,    70,     3,     4,     5,     6,
        !          2448:      7,     8,    77,    -1,    -1,    -1,    13,    82,    -1,    -1,
        !          2449:     -1,    -1,     3,     4,     5,     6,     7,     8,    93,    94,
        !          2450:     27,    -1,    13,    -1,    -1,    -1,    -1,    34,    -1,    -1,
        !          2451:     -1,   106,    -1,    40,    41,    -1,    27,    -1,    45,    46,
        !          2452:     -1,     1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    40,
        !          2453:     41,    -1,    -1,    60,    45,    46,    -1,    -1,    -1,    -1,
        !          2454:     -1,    -1,    -1,    70,    24,    -1,    26,    -1,    -1,    60,
        !          2455:     77,    31,    -1,    -1,    -1,    82,    -1,    -1,    -1,    70,
        !          2456:     -1,    -1,    -1,    43,    -1,    -1,    77,    94,    -1,    49,
        !          2457:     50,    82,    52,    -1,    54,    -1,    -1,   104,    -1,   106,
        !          2458:     -1,    -1,    -1,    94,     4,     5,     6,     7,     8,    -1,
        !          2459:     -1,    11,    -1,    13,    -1,   106,    -1,    -1,    -1,    -1,
        !          2460:     -1,    -1,    82,    83,    -1,    85,    -1,    27,    -1,    -1,
        !          2461:     -1,    -1,    92,    -1,    34,    -1,     4,     5,    -1,     7,
        !          2462:      8,    41,    -1,    43,   104,    13,    -1,    -1,    -1,    -1,
        !          2463:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
        !          2464:     60,    -1,    -1,    -1,    -1,    -1,    34,    -1,    -1,    -1,
        !          2465:     70,    -1,    -1,    41,    -1,    43,    -1,    77,    46,    -1,
        !          2466:     -1,    -1,    82,    83,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2467:     -1,    -1,    60,    93,    94,    -1,    -1,    -1,    -1,    -1,
        !          2468:     -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    77,
        !          2469:     -1,    -1,    -1,    -1,    82,    83,    -1,    -1,    -1,    -1,
        !          2470:     -1,    -1,    51,    52,    53,    -1,    94,    56,    57,    58,
1.1       root     2471:     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1.1.1.2   root     2472:     69,    70,    71,    72,    51,    52,    53,    -1,    -1,    56,
                   2473:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1.1.1.4 ! root     2474:     67,    68,    69,    70,    71,    72,    -1,    -1,    -1,    -1,
        !          2475:     -1,    -1,    -1,    -1,    31,    -1,    -1,    -1,    -1,   108,
        !          2476:     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
        !          2477:     69,    70,    71,    72,    51,    52,    53,   104,   105,    56,
1.1.1.2   root     2478:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1.1.1.4 ! root     2479:     67,    68,    69,    70,    71,    72,    50,    51,    52,    53,
        !          2480:     -1,    -1,    56,    57,    58,    59,    60,    61,    62,    63,
        !          2481:     64,    65,    66,    67,    68,    69,    70,    71,    72,    51,
        !          2482:     52,    53,    54,    -1,    56,    57,    58,    59,    60,    61,
        !          2483:     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
        !          2484:     72,    51,    52,    53,    -1,    -1,    56,    57,    58,    59,
        !          2485:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          2486:     70,    71,    72,    53,    -1,    -1,    56,    57,    58,    59,
        !          2487:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          2488:     70,    71,    72,    57,    58,    59,    60,    61,    62,    63,
        !          2489:     64,    65,    66,    67,    68,    69,    70,    71,    72,    58,
        !          2490:     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
        !          2491:     69,    70,    71,    72
1.1       root     2492: };
                   2493: /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
                   2494: #line 3 "bison.simple"
                   2495: 
                   2496: /* Skeleton output parser for bison,
                   2497:    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
                   2498: 
                   2499:    This program is free software; you can redistribute it and/or modify
                   2500:    it under the terms of the GNU General Public License as published by
                   2501:    the Free Software Foundation; either version 1, or (at your option)
                   2502:    any later version.
                   2503: 
                   2504:    This program is distributed in the hope that it will be useful,
                   2505:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                   2506:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                   2507:    GNU General Public License for more details.
                   2508: 
                   2509:    You should have received a copy of the GNU General Public License
                   2510:    along with this program; if not, write to the Free Software
                   2511:    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
                   2512: 
                   2513: 
                   2514: #ifndef alloca
                   2515: #ifdef __GNUC__
                   2516: #define alloca __builtin_alloca
                   2517: #else /* not GNU C.  */
                   2518: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
                   2519: #include <alloca.h>
                   2520: #else /* not sparc */
                   2521: #if defined (MSDOS) && !defined (__TURBOC__)
                   2522: #include <malloc.h>
                   2523: #else /* not MSDOS, or __TURBOC__ */
                   2524: #if defined(_AIX)
                   2525: #include <malloc.h>
1.1.1.3   root     2526:  #pragma alloca
1.1       root     2527: #endif /* not _AIX */
                   2528: #endif /* not MSDOS, or __TURBOC__ */
                   2529: #endif /* not sparc.  */
                   2530: #endif /* not GNU C.  */
                   2531: #endif /* alloca not defined.  */
                   2532: 
                   2533: /* This is the parser code that is written into each bison parser
                   2534:   when the %semantic_parser declaration is not specified in the grammar.
                   2535:   It was written by Richard Stallman by simplifying the hairy parser
                   2536:   used when %semantic_parser is specified.  */
                   2537: 
                   2538: /* Note: there must be only one dollar sign in this file.
                   2539:    It is replaced by the list of actions, each action
                   2540:    as one case of the switch.  */
                   2541: 
                   2542: #define yyerrok                (yyerrstatus = 0)
                   2543: #define yyclearin      (yychar = YYEMPTY)
                   2544: #define YYEMPTY                -2
                   2545: #define YYEOF          0
                   2546: #define YYACCEPT       return(0)
                   2547: #define YYABORT        return(1)
                   2548: #define YYERROR                goto yyerrlab1
                   2549: /* Like YYERROR except do call yyerror.
                   2550:    This remains here temporarily to ease the
                   2551:    transition to the new meaning of YYERROR, for GCC.
                   2552:    Once GCC version 2 has supplanted version 1, this can go.  */
                   2553: #define YYFAIL         goto yyerrlab
                   2554: #define YYRECOVERING()  (!!yyerrstatus)
                   2555: #define YYBACKUP(token, value) \
                   2556: do                                                             \
                   2557:   if (yychar == YYEMPTY && yylen == 1)                         \
                   2558:     { yychar = (token), yylval = (value);                      \
                   2559:       yychar1 = YYTRANSLATE (yychar);                          \
                   2560:       YYPOPSTACK;                                              \
                   2561:       goto yybackup;                                           \
                   2562:     }                                                          \
                   2563:   else                                                         \
                   2564:     { yyerror ("syntax error: cannot back up"); YYERROR; }     \
                   2565: while (0)
                   2566: 
                   2567: #define YYTERROR       1
                   2568: #define YYERRCODE      256
                   2569: 
                   2570: #ifndef YYPURE
                   2571: #define YYLEX          yylex()
                   2572: #endif
                   2573: 
                   2574: #ifdef YYPURE
                   2575: #ifdef YYLSP_NEEDED
                   2576: #define YYLEX          yylex(&yylval, &yylloc)
                   2577: #else
                   2578: #define YYLEX          yylex(&yylval)
                   2579: #endif
                   2580: #endif
                   2581: 
                   2582: /* If nonreentrant, generate the variables here */
                   2583: 
                   2584: #ifndef YYPURE
                   2585: 
                   2586: int    yychar;                 /*  the lookahead symbol                */
                   2587: YYSTYPE        yylval;                 /*  the semantic value of the           */
                   2588:                                /*  lookahead symbol                    */
                   2589: 
                   2590: #ifdef YYLSP_NEEDED
                   2591: YYLTYPE yylloc;                        /*  location data for the lookahead     */
                   2592:                                /*  symbol                              */
                   2593: #endif
                   2594: 
                   2595: int yynerrs;                   /*  number of parse errors so far       */
                   2596: #endif  /* not YYPURE */
                   2597: 
                   2598: #if YYDEBUG != 0
                   2599: int yydebug;                   /*  nonzero means print parse trace     */
                   2600: /* Since this is uninitialized, it does not stop multiple parsers
                   2601:    from coexisting.  */
                   2602: #endif
                   2603: 
                   2604: /*  YYINITDEPTH indicates the initial size of the parser's stacks      */
                   2605: 
                   2606: #ifndef        YYINITDEPTH
                   2607: #define YYINITDEPTH 200
                   2608: #endif
                   2609: 
                   2610: /*  YYMAXDEPTH is the maximum size the stacks can grow to
                   2611:     (effective only if the built-in stack extension method is used).  */
                   2612: 
                   2613: #if YYMAXDEPTH == 0
                   2614: #undef YYMAXDEPTH
                   2615: #endif
                   2616: 
                   2617: #ifndef YYMAXDEPTH
                   2618: #define YYMAXDEPTH 10000
                   2619: #endif
                   2620: 
                   2621: #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
                   2622: #define __yy_bcopy(FROM,TO,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
                   2623: #else                          /* not GNU C or C++ */
                   2624: #ifndef __cplusplus
                   2625: 
                   2626: /* This is the most reliable way to avoid incompatibilities
                   2627:    in available built-in functions on various systems.  */
                   2628: static void
                   2629: __yy_bcopy (from, to, count)
                   2630:      char *from;
                   2631:      char *to;
                   2632:      int count;
                   2633: {
                   2634:   register char *f = from;
                   2635:   register char *t = to;
                   2636:   register int i = count;
                   2637: 
                   2638:   while (i-- > 0)
                   2639:     *t++ = *f++;
                   2640: }
                   2641: 
                   2642: #else /* __cplusplus */
                   2643: 
                   2644: /* This is the most reliable way to avoid incompatibilities
                   2645:    in available built-in functions on various systems.  */
                   2646: static void
                   2647: __yy_bcopy (char *from, char *to, int count)
                   2648: {
                   2649:   register char *f = from;
                   2650:   register char *t = to;
                   2651:   register int i = count;
                   2652: 
                   2653:   while (i-- > 0)
                   2654:     *t++ = *f++;
                   2655: }
                   2656: 
                   2657: #endif
                   2658: #endif
                   2659: 
                   2660: #line 169 "bison.simple"
                   2661: int
                   2662: yyparse()
                   2663: {
                   2664:   register int yystate;
                   2665:   register int yyn;
                   2666:   register short *yyssp;
                   2667:   register YYSTYPE *yyvsp;
                   2668:   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
                   2669:   int yychar1;         /*  lookahead token as an internal (translated) token number */
                   2670: 
                   2671:   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
                   2672:   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
                   2673: 
                   2674:   short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
                   2675:   YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
                   2676: 
                   2677: #ifdef YYLSP_NEEDED
                   2678:   YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
                   2679:   YYLTYPE *yyls = yylsa;
                   2680:   YYLTYPE *yylsp;
                   2681: 
1.1.1.3   root     2682: #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
1.1       root     2683: #else
1.1.1.3   root     2684: #define YYPOPSTACK   (yyvsp--, yyssp--)
1.1       root     2685: #endif
                   2686: 
                   2687:   int yystacksize = YYINITDEPTH;
                   2688: 
                   2689: #ifdef YYPURE
                   2690:   int yychar;
                   2691:   YYSTYPE yylval;
                   2692:   int yynerrs;
                   2693: #ifdef YYLSP_NEEDED
                   2694:   YYLTYPE yylloc;
                   2695: #endif
                   2696: #endif
                   2697: 
                   2698:   YYSTYPE yyval;               /*  the variable used to return         */
                   2699:                                /*  semantic values from the action     */
                   2700:                                /*  routines                            */
                   2701: 
                   2702:   int yylen;
                   2703: 
                   2704: #if YYDEBUG != 0
                   2705:   if (yydebug)
                   2706:     fprintf(stderr, "Starting parse\n");
                   2707: #endif
                   2708: 
                   2709:   yystate = 0;
                   2710:   yyerrstatus = 0;
                   2711:   yynerrs = 0;
                   2712:   yychar = YYEMPTY;            /* Cause a token to be read.  */
                   2713: 
                   2714:   /* Initialize stack pointers.
                   2715:      Waste one element of value and location stack
                   2716:      so that they stay on the same level as the state stack.  */
                   2717: 
                   2718:   yyssp = yyss - 1;
                   2719:   yyvsp = yyvs;
                   2720: #ifdef YYLSP_NEEDED
                   2721:   yylsp = yyls;
                   2722: #endif
                   2723: 
                   2724: /* Push a new state, which is found in  yystate  .  */
                   2725: /* In all cases, when you get here, the value and location stacks
                   2726:    have just been pushed. so pushing a state here evens the stacks.  */
                   2727: yynewstate:
                   2728: 
                   2729:   *++yyssp = yystate;
                   2730: 
                   2731:   if (yyssp >= yyss + yystacksize - 1)
                   2732:     {
                   2733:       /* Give user a chance to reallocate the stack */
                   2734:       /* Use copies of these so that the &'s don't force the real ones into memory. */
                   2735:       YYSTYPE *yyvs1 = yyvs;
                   2736:       short *yyss1 = yyss;
                   2737: #ifdef YYLSP_NEEDED
                   2738:       YYLTYPE *yyls1 = yyls;
                   2739: #endif
                   2740: 
                   2741:       /* Get the current used size of the three stacks, in elements.  */
                   2742:       int size = yyssp - yyss + 1;
                   2743: 
                   2744: #ifdef yyoverflow
                   2745:       /* Each stack pointer address is followed by the size of
                   2746:         the data in use in that stack, in bytes.  */
                   2747:       yyoverflow("parser stack overflow",
                   2748:                 &yyss1, size * sizeof (*yyssp),
                   2749:                 &yyvs1, size * sizeof (*yyvsp),
                   2750: #ifdef YYLSP_NEEDED
                   2751:                 &yyls1, size * sizeof (*yylsp),
                   2752: #endif
                   2753:                 &yystacksize);
                   2754: 
                   2755:       yyss = yyss1; yyvs = yyvs1;
                   2756: #ifdef YYLSP_NEEDED
                   2757:       yyls = yyls1;
                   2758: #endif
                   2759: #else /* no yyoverflow */
                   2760:       /* Extend the stack our own way.  */
                   2761:       if (yystacksize >= YYMAXDEPTH)
                   2762:        {
                   2763:          yyerror("parser stack overflow");
                   2764:          return 2;
                   2765:        }
                   2766:       yystacksize *= 2;
                   2767:       if (yystacksize > YYMAXDEPTH)
                   2768:        yystacksize = YYMAXDEPTH;
                   2769:       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
                   2770:       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
                   2771:       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
                   2772:       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
                   2773: #ifdef YYLSP_NEEDED
                   2774:       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
                   2775:       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
                   2776: #endif
                   2777: #endif /* no yyoverflow */
                   2778: 
                   2779:       yyssp = yyss + size - 1;
                   2780:       yyvsp = yyvs + size - 1;
                   2781: #ifdef YYLSP_NEEDED
                   2782:       yylsp = yyls + size - 1;
                   2783: #endif
                   2784: 
                   2785: #if YYDEBUG != 0
                   2786:       if (yydebug)
                   2787:        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
                   2788: #endif
                   2789: 
                   2790:       if (yyssp >= yyss + yystacksize - 1)
                   2791:        YYABORT;
                   2792:     }
                   2793: 
                   2794: #if YYDEBUG != 0
                   2795:   if (yydebug)
                   2796:     fprintf(stderr, "Entering state %d\n", yystate);
                   2797: #endif
                   2798: 
                   2799:  yybackup:
                   2800: 
                   2801: /* Do appropriate processing given the current state.  */
                   2802: /* Read a lookahead token if we need one and don't already have one.  */
                   2803: /* yyresume: */
                   2804: 
                   2805:   /* First try to decide what to do without reference to lookahead token.  */
                   2806: 
                   2807:   yyn = yypact[yystate];
                   2808:   if (yyn == YYFLAG)
                   2809:     goto yydefault;
                   2810: 
                   2811:   /* Not known => get a lookahead token if don't already have one.  */
                   2812: 
                   2813:   /* yychar is either YYEMPTY or YYEOF
                   2814:      or a valid token in external form.  */
                   2815: 
                   2816:   if (yychar == YYEMPTY)
                   2817:     {
                   2818: #if YYDEBUG != 0
                   2819:       if (yydebug)
                   2820:        fprintf(stderr, "Reading a token: ");
                   2821: #endif
                   2822:       yychar = YYLEX;
                   2823:     }
                   2824: 
                   2825:   /* Convert token to internal form (in yychar1) for indexing tables with */
                   2826: 
                   2827:   if (yychar <= 0)             /* This means end of input. */
                   2828:     {
                   2829:       yychar1 = 0;
                   2830:       yychar = YYEOF;          /* Don't call YYLEX any more */
                   2831: 
                   2832: #if YYDEBUG != 0
                   2833:       if (yydebug)
                   2834:        fprintf(stderr, "Now at end of input.\n");
                   2835: #endif
                   2836:     }
                   2837:   else
                   2838:     {
                   2839:       yychar1 = YYTRANSLATE(yychar);
                   2840: 
                   2841: #if YYDEBUG != 0
                   2842:       if (yydebug)
                   2843:        {
                   2844:          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
                   2845:          /* Give the individual parser a way to print the precise meaning
                   2846:             of a token, for further debugging info.  */
                   2847: #ifdef YYPRINT
                   2848:          YYPRINT (stderr, yychar, yylval);
                   2849: #endif
                   2850:          fprintf (stderr, ")\n");
                   2851:        }
                   2852: #endif
                   2853:     }
                   2854: 
                   2855:   yyn += yychar1;
                   2856:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
                   2857:     goto yydefault;
                   2858: 
                   2859:   yyn = yytable[yyn];
                   2860: 
                   2861:   /* yyn is what to do for this token type in this state.
                   2862:      Negative => reduce, -yyn is rule number.
                   2863:      Positive => shift, yyn is new state.
                   2864:        New state is final state => don't bother to shift,
                   2865:        just return success.
                   2866:      0, or most negative number => error.  */
                   2867: 
                   2868:   if (yyn < 0)
                   2869:     {
                   2870:       if (yyn == YYFLAG)
                   2871:        goto yyerrlab;
                   2872:       yyn = -yyn;
                   2873:       goto yyreduce;
                   2874:     }
                   2875:   else if (yyn == 0)
                   2876:     goto yyerrlab;
                   2877: 
                   2878:   if (yyn == YYFINAL)
                   2879:     YYACCEPT;
                   2880: 
                   2881:   /* Shift the lookahead token.  */
                   2882: 
                   2883: #if YYDEBUG != 0
                   2884:   if (yydebug)
                   2885:     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
                   2886: #endif
                   2887: 
                   2888:   /* Discard the token being shifted unless it is eof.  */
                   2889:   if (yychar != YYEOF)
                   2890:     yychar = YYEMPTY;
                   2891: 
                   2892:   *++yyvsp = yylval;
                   2893: #ifdef YYLSP_NEEDED
                   2894:   *++yylsp = yylloc;
                   2895: #endif
                   2896: 
                   2897:   /* count tokens shifted since error; after three, turn off error status.  */
                   2898:   if (yyerrstatus) yyerrstatus--;
                   2899: 
                   2900:   yystate = yyn;
                   2901:   goto yynewstate;
                   2902: 
                   2903: /* Do the default action for the current state.  */
                   2904: yydefault:
                   2905: 
                   2906:   yyn = yydefact[yystate];
                   2907:   if (yyn == 0)
                   2908:     goto yyerrlab;
                   2909: 
                   2910: /* Do a reduction.  yyn is the number of a rule to reduce with.  */
                   2911: yyreduce:
                   2912:   yylen = yyr2[yyn];
                   2913:   yyval = yyvsp[1-yylen]; /* implement default value of the action */
                   2914: 
                   2915: #if YYDEBUG != 0
                   2916:   if (yydebug)
                   2917:     {
                   2918:       int i;
                   2919: 
                   2920:       fprintf (stderr, "Reducing via rule %d (line %d), ",
                   2921:               yyn, yyrline[yyn]);
                   2922: 
                   2923:       /* Print the symboles being reduced, and their result.  */
                   2924:       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
                   2925:        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
                   2926:       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
                   2927:     }
                   2928: #endif
                   2929: 
                   2930: 
                   2931:   switch (yyn) {
                   2932: 
                   2933: case 2:
1.1.1.4 ! root     2934: #line 280 "cp-parse.y"
1.1       root     2935: { finish_file (); ;
                   2936:     break;}
                   2937: case 3:
1.1.1.4 ! root     2938: #line 288 "cp-parse.y"
1.1       root     2939: { yyval.ttype = NULL_TREE; ;
                   2940:     break;}
                   2941: case 4:
1.1.1.4 ! root     2942: #line 289 "cp-parse.y"
1.1       root     2943: {yyval.ttype = NULL_TREE; ;
                   2944:     break;}
                   2945: case 5:
1.1.1.4 ! root     2946: #line 291 "cp-parse.y"
1.1       root     2947: {yyval.ttype = NULL_TREE; ;
                   2948:     break;}
                   2949: case 6:
1.1.1.4 ! root     2950: #line 295 "cp-parse.y"
1.1.1.2   root     2951: { have_extern_spec = 1;
1.1.1.4 ! root     2952:                  used_extern_spec = 0;
1.1.1.2   root     2953:                  yyval.ttype = NULL_TREE; ;
1.1       root     2954:     break;}
                   2955: case 7:
1.1.1.4 ! root     2956: #line 300 "cp-parse.y"
1.1       root     2957: { have_extern_spec = 0; ;
                   2958:     break;}
                   2959: case 8:
1.1.1.4 ! root     2960: #line 305 "cp-parse.y"
1.1       root     2961: { if (pending_inlines) do_pending_inlines (); ;
                   2962:     break;}
                   2963: case 9:
1.1.1.4 ! root     2964: #line 307 "cp-parse.y"
1.1       root     2965: { if (pending_inlines) do_pending_inlines (); ;
                   2966:     break;}
                   2967: case 10:
1.1.1.4 ! root     2968: #line 309 "cp-parse.y"
1.1       root     2969: { if (pending_inlines) do_pending_inlines (); ;
                   2970:     break;}
                   2971: case 12:
1.1.1.4 ! root     2972: #line 312 "cp-parse.y"
1.1       root     2973: { if (pedantic)
1.1.1.4 ! root     2974:                    pedwarn ("ANSI C++ forbids use of `asm' keyword");
1.1       root     2975:                  if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   2976:                  assemble_asm (yyvsp[-2].ttype); ;
                   2977:     break;}
                   2978: case 13:
1.1.1.4 ! root     2979: #line 317 "cp-parse.y"
1.1       root     2980: { pop_lang_context (); ;
                   2981:     break;}
                   2982: case 14:
1.1.1.4 ! root     2983: #line 319 "cp-parse.y"
1.1       root     2984: { pop_lang_context (); ;
                   2985:     break;}
                   2986: case 15:
1.1.1.4 ! root     2987: #line 321 "cp-parse.y"
1.1       root     2988: { if (pending_inlines) do_pending_inlines ();
                   2989:                  pop_lang_context (); ;
                   2990:     break;}
                   2991: case 16:
1.1.1.4 ! root     2992: #line 324 "cp-parse.y"
1.1       root     2993: { if (pending_inlines) do_pending_inlines ();
                   2994:                  pop_lang_context (); ;
                   2995:     break;}
                   2996: case 17:
1.1.1.4 ! root     2997: #line 330 "cp-parse.y"
1.1       root     2998: { push_lang_context (yyvsp[0].ttype); ;
                   2999:     break;}
                   3000: case 18:
1.1.1.4 ! root     3001: #line 335 "cp-parse.y"
1.1       root     3002: { begin_template_parm_list (); ;
                   3003:     break;}
                   3004: case 19:
1.1.1.4 ! root     3005: #line 337 "cp-parse.y"
1.1       root     3006: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
                   3007:     break;}
                   3008: case 20:
1.1.1.4 ! root     3009: #line 342 "cp-parse.y"
1.1       root     3010: { yyval.ttype = process_template_parm (0, yyvsp[0].ttype); ;
                   3011:     break;}
                   3012: case 21:
1.1.1.4 ! root     3013: #line 344 "cp-parse.y"
1.1       root     3014: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   3015:     break;}
                   3016: case 22:
1.1.1.4 ! root     3017: #line 355 "cp-parse.y"
1.1       root     3018: {
1.1.1.2   root     3019:                  if (yyvsp[-1].ttype != class_type_node)
1.1       root     3020:                    error ("template type parameter must use keyword `class'");
                   3021:                  yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
                   3022:                ;
                   3023:     break;}
                   3024: case 23:
1.1.1.4 ! root     3025: #line 361 "cp-parse.y"
1.1       root     3026: {
1.1.1.2   root     3027:                  if (yyvsp[-3].ttype != class_type_node)
1.1       root     3028:                    error ("template type parameter must use keyword `class'");
                   3029:                  warning ("restricted template type parameters not yet implemented");
                   3030:                  yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
                   3031:                ;
                   3032:     break;}
                   3033: case 24:
1.1.1.4 ! root     3034: #line 368 "cp-parse.y"
1.1       root     3035: {
1.1.1.2   root     3036:                  if (yyvsp[-2].ttype != class_type_node)
1.1       root     3037:                    error ("template type parameter must use keyword `class'");
                   3038:                  warning ("restricted template type parameters not yet implemented");
                   3039:                  yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
                   3040:                ;
                   3041:     break;}
                   3042: case 27:
1.1.1.4 ! root     3043: #line 381 "cp-parse.y"
1.1       root     3044: { declare_overloaded (yyvsp[0].ttype); ;
                   3045:     break;}
                   3046: case 28:
1.1.1.4 ! root     3047: #line 383 "cp-parse.y"
1.1       root     3048: { declare_overloaded (yyvsp[0].ttype); ;
                   3049:     break;}
                   3050: case 29:
1.1.1.4 ! root     3051: #line 390 "cp-parse.y"
1.1       root     3052: { yychar = '{'; goto template1; ;
                   3053:     break;}
                   3054: case 31:
1.1.1.4 ! root     3055: #line 393 "cp-parse.y"
1.1       root     3056: { yychar = '{'; goto template1; ;
                   3057:     break;}
                   3058: case 33:
1.1.1.4 ! root     3059: #line 396 "cp-parse.y"
1.1       root     3060: { yychar = ':'; goto template1; ;
                   3061:     break;}
                   3062: case 35:
1.1.1.4 ! root     3063: #line 399 "cp-parse.y"
1.1       root     3064: {
                   3065:                  yychar = ':';
                   3066:                template1:
                   3067:                  if (current_aggr == exception_type_node)
                   3068:                    error ("template type must define an aggregate or union");
                   3069:                  /* Maybe pedantic warning for union?
                   3070:                     How about an enum? :-)  */
                   3071:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3072:                  reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
                   3073:                  yychar = YYEMPTY;
                   3074:                ;
                   3075:     break;}
                   3076: case 37:
1.1.1.4 ! root     3077: #line 412 "cp-parse.y"
1.1       root     3078: {
                   3079:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3080:                  /* declare $2 as template name with $1 parm list */
                   3081:                ;
                   3082:     break;}
                   3083: case 38:
1.1.1.4 ! root     3084: #line 417 "cp-parse.y"
1.1       root     3085: {
                   3086:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3087:                  /* declare $2 as template name with $1 parm list */
                   3088:                ;
                   3089:     break;}
                   3090: case 39:
1.1.1.4 ! root     3091: #line 424 "cp-parse.y"
1.1       root     3092: {
                   3093:                  tree d;
                   3094:                  int momentary;
                   3095:                  momentary = suspend_momentary ();
                   3096:                  d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/0, 0, yyvsp[-3].ttype);
1.1.1.4 ! root     3097:                  cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3   root     3098:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1       root     3099:                  end_template_decl (yyvsp[-5].ttype, d, 0);
                   3100:                  if (yyvsp[0].itype != ';')
                   3101:                    reinit_parse_for_template (yyvsp[0].itype, yyvsp[-5].ttype, d);
                   3102:                  resume_momentary (momentary);
                   3103:                ;
                   3104:     break;}
                   3105: case 40:
1.1.1.4 ! root     3106: #line 439 "cp-parse.y"
1.1       root     3107: {
                   3108:                  tree d;
                   3109:                  int momentary;
                   3110: 
                   3111:                  current_declspecs = yyvsp[-5].ttype;
                   3112:                  momentary = suspend_momentary ();
                   3113:                  d = start_decl (yyvsp[-4].ttype, current_declspecs, 0, yyvsp[-3].ttype);
1.1.1.4 ! root     3114:                  cplus_decl_attributes (d, yyvsp[-1].ttype);
1.1.1.3   root     3115:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1       root     3116:                  end_exception_decls ();
                   3117:                  end_template_decl (yyvsp[-6].ttype, d, 0);
                   3118:                  if (yyvsp[0].itype != ';')
                   3119:                    {
                   3120:                      reinit_parse_for_template (yyvsp[0].itype, yyvsp[-6].ttype, d);
                   3121:                      yychar = YYEMPTY;
                   3122:                    }
                   3123:                  note_list_got_semicolon (yyvsp[-5].ttype);
                   3124:                  resume_momentary (momentary);
                   3125:                ;
                   3126:     break;}
                   3127: case 41:
1.1.1.4 ! root     3128: #line 459 "cp-parse.y"
1.1       root     3129: {
                   3130:                  tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
1.1.1.3   root     3131:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3132:                  end_template_decl (yyvsp[-3].ttype, d, 0);
                   3133:                  if (yyvsp[0].itype != ';')
                   3134:                    reinit_parse_for_template (yyvsp[0].itype, yyvsp[-3].ttype, d);
                   3135:                ;
                   3136:     break;}
                   3137: case 42:
1.1.1.4 ! root     3138: #line 467 "cp-parse.y"
1.1.1.2   root     3139: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3140:     break;}
                   3141: case 43:
1.1.1.4 ! root     3142: #line 468 "cp-parse.y"
1.1.1.2   root     3143: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3144:     break;}
                   3145: case 44:
1.1.1.4 ! root     3146: #line 471 "cp-parse.y"
1.1.1.2   root     3147: { yyval.itype = '{'; ;
1.1       root     3148:     break;}
                   3149: case 45:
1.1.1.4 ! root     3150: #line 472 "cp-parse.y"
1.1.1.2   root     3151: { yyval.itype = ':'; ;
1.1       root     3152:     break;}
                   3153: case 46:
1.1.1.4 ! root     3154: #line 473 "cp-parse.y"
1.1.1.2   root     3155: { yyval.itype = ';'; ;
1.1       root     3156:     break;}
                   3157: case 47:
1.1.1.4 ! root     3158: #line 474 "cp-parse.y"
1.1.1.2   root     3159: { yyval.itype = '='; ;
                   3160:     break;}
                   3161: case 48:
1.1.1.4 ! root     3162: #line 475 "cp-parse.y"
1.1.1.2   root     3163: { yyval.itype = RETURN; ;
                   3164:     break;}
                   3165: case 49:
1.1.1.4 ! root     3166: #line 480 "cp-parse.y"
1.1       root     3167: { if (pedantic)
1.1.1.4 ! root     3168:                    pedwarn ("ANSI C++ forbids data definition with no type or storage class");
1.1       root     3169:                  else if (! flag_traditional && ! have_extern_spec)
                   3170:                    warning ("data definition has no type or storage class"); ;
                   3171:     break;}
1.1.1.2   root     3172: case 50:
1.1.1.4 ! root     3173: #line 485 "cp-parse.y"
1.1       root     3174: {;
                   3175:     break;}
1.1.1.2   root     3176: case 51:
1.1.1.4 ! root     3177: #line 488 "cp-parse.y"
1.1       root     3178: { tree d;
                   3179:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     3180:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3181:                ;
                   3182:     break;}
1.1.1.2   root     3183: case 52:
1.1.1.4 ! root     3184: #line 493 "cp-parse.y"
1.1       root     3185: {
                   3186:                  end_exception_decls ();
                   3187:                  note_list_got_semicolon (yyval.ttype);
                   3188:                ;
                   3189:     break;}
1.1.1.2   root     3190: case 53:
1.1.1.4 ! root     3191: #line 499 "cp-parse.y"
1.1       root     3192: { tree d;
                   3193:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     3194:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3195:                  end_exception_decls ();
                   3196:                  note_list_got_semicolon (yyval.ttype);
                   3197:                ;
                   3198:     break;}
1.1.1.2   root     3199: case 54:
1.1.1.4 ! root     3200: #line 506 "cp-parse.y"
        !          3201: { pedwarn ("empty declaration"); ;
1.1       root     3202:     break;}
1.1.1.2   root     3203: case 55:
1.1.1.4 ! root     3204: #line 508 "cp-parse.y"
1.1       root     3205: {
                   3206:            tree t = yyval.ttype;
                   3207:            shadow_tag (t);
                   3208:            if (TREE_CODE (t) == TREE_LIST
                   3209:                && TREE_PURPOSE (t) == NULL_TREE)
                   3210:              {
                   3211:                t = TREE_VALUE (t);
                   3212:                if (TREE_CODE (t) == RECORD_TYPE)
                   3213:                  {
                   3214:                    if (CLASSTYPE_USE_TEMPLATE (t) == 0)
                   3215:                      CLASSTYPE_USE_TEMPLATE (t) = 2;
                   3216:                    else if (CLASSTYPE_USE_TEMPLATE (t) == 1)
                   3217:                      error ("override declaration for already-expanded template");
                   3218:                  }
                   3219:              }
                   3220:            note_list_got_semicolon (yyval.ttype);
                   3221:          ;
                   3222:     break;}
1.1.1.2   root     3223: case 59:
1.1.1.4 ! root     3224: #line 532 "cp-parse.y"
1.1       root     3225: {
                   3226:                  finish_function (lineno, 1);
                   3227:                  /* finish_function performs these three statements:
                   3228: 
                   3229:                     expand_end_bindings (getdecls (), 1, 0);
                   3230:                     poplevel (1, 1, 0);
                   3231: 
                   3232:                     expand_end_bindings (0, 0, 0);
                   3233:                     poplevel (0, 0, 1);
                   3234:                     */
                   3235:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3236:                ;
                   3237:     break;}
1.1.1.2   root     3238: case 60:
1.1.1.4 ! root     3239: #line 545 "cp-parse.y"
1.1       root     3240: {
                   3241:                  finish_function (lineno, 1);
                   3242:                  /* finish_function performs these three statements:
                   3243: 
                   3244:                     expand_end_bindings (getdecls (), 1, 0);
                   3245:                     poplevel (1, 1, 0);
                   3246: 
                   3247:                     expand_end_bindings (0, 0, 0);
                   3248:                     poplevel (0, 0, 1);
                   3249:                     */
                   3250:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3251:                ;
                   3252:     break;}
1.1.1.2   root     3253: case 61:
1.1.1.4 ! root     3254: #line 558 "cp-parse.y"
1.1       root     3255: { finish_function (lineno, 0);
                   3256:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3257:     break;}
1.1.1.2   root     3258: case 62:
1.1.1.4 ! root     3259: #line 561 "cp-parse.y"
1.1       root     3260: { finish_function (lineno, 0);
                   3261:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3262:     break;}
1.1.1.2   root     3263: case 63:
1.1.1.4 ! root     3264: #line 564 "cp-parse.y"
1.1       root     3265: { finish_function (lineno, 0);
                   3266:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3267:     break;}
1.1.1.2   root     3268: case 64:
1.1.1.4 ! root     3269: #line 567 "cp-parse.y"
1.1       root     3270: {;
                   3271:     break;}
1.1.1.2   root     3272: case 65:
1.1.1.4 ! root     3273: #line 569 "cp-parse.y"
1.1       root     3274: {;
                   3275:     break;}
1.1.1.2   root     3276: case 66:
1.1.1.4 ! root     3277: #line 571 "cp-parse.y"
1.1       root     3278: {;
                   3279:     break;}
1.1.1.2   root     3280: case 67:
1.1.1.4 ! root     3281: #line 576 "cp-parse.y"
1.1       root     3282: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3283:                    YYERROR1;
                   3284:                  reinit_parse_for_function ();
                   3285:                  yyval.ttype = NULL_TREE; ;
                   3286:     break;}
1.1.1.2   root     3287: case 68:
1.1.1.4 ! root     3288: #line 581 "cp-parse.y"
1.1       root     3289: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3290:                    YYERROR1;
                   3291:                  reinit_parse_for_function ();
                   3292:                  yyval.ttype = NULL_TREE; ;
                   3293:     break;}
1.1.1.2   root     3294: case 69:
1.1.1.4 ! root     3295: #line 586 "cp-parse.y"
1.1       root     3296: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
                   3297:                    YYERROR1;
                   3298:                  reinit_parse_for_function ();
                   3299:                  yyval.ttype = NULL_TREE; ;
                   3300:     break;}
1.1.1.2   root     3301: case 70:
1.1.1.4 ! root     3302: #line 591 "cp-parse.y"
1.1       root     3303: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3304:                    YYERROR1;
                   3305:                  reinit_parse_for_function ();
                   3306:                  yyval.ttype = NULL_TREE; ;
                   3307:     break;}
1.1.1.2   root     3308: case 71:
1.1.1.4 ! root     3309: #line 596 "cp-parse.y"
1.1       root     3310: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3311:                    YYERROR1;
                   3312:                  reinit_parse_for_function ();
                   3313:                  yyval.ttype = NULL_TREE; ;
                   3314:     break;}
1.1.1.2   root     3315: case 72:
1.1.1.4 ! root     3316: #line 601 "cp-parse.y"
1.1       root     3317: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3318:                    YYERROR1;
                   3319:                  reinit_parse_for_function ();
                   3320:                  yyval.ttype = NULL_TREE; ;
                   3321:     break;}
1.1.1.2   root     3322: case 73:
1.1.1.4 ! root     3323: #line 606 "cp-parse.y"
1.1       root     3324: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3325:                    YYERROR1;
                   3326:                  reinit_parse_for_function ();
                   3327:                  yyval.ttype = NULL_TREE; ;
                   3328:     break;}
1.1.1.2   root     3329: case 74:
1.1.1.4 ! root     3330: #line 611 "cp-parse.y"
1.1       root     3331: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
                   3332:                  reinit_parse_for_function (); ;
                   3333:     break;}
1.1.1.2   root     3334: case 75:
1.1.1.4 ! root     3335: #line 618 "cp-parse.y"
1.1       root     3336: {
                   3337:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3338:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3339:                  if (! yyval.ttype)
                   3340:                    YYERROR1;
                   3341:                  if (yychar == YYEMPTY)
                   3342:                    yychar = YYLEX;
                   3343:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3344:     break;}
1.1.1.2   root     3345: case 76:
1.1.1.4 ! root     3346: #line 627 "cp-parse.y"
1.1       root     3347: {
                   3348:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3349:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3350:                  if (! yyval.ttype)
                   3351:                    YYERROR1;
                   3352:                  if (yychar == YYEMPTY)
                   3353:                    yychar = YYLEX;
                   3354:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3355:     break;}
1.1.1.2   root     3356: case 77:
1.1.1.4 ! root     3357: #line 636 "cp-parse.y"
1.1       root     3358: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3359:                  if (! yyval.ttype)
                   3360:                    YYERROR1;
                   3361:                  if (yychar == YYEMPTY)
                   3362:                    yychar = YYLEX;
                   3363:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3364:     break;}
1.1.1.2   root     3365: case 78:
1.1.1.4 ! root     3366: #line 643 "cp-parse.y"
1.1       root     3367: {
                   3368:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3369:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3370:                  if (! yyval.ttype)
                   3371:                    YYERROR1;
                   3372:                  if (yychar == YYEMPTY)
                   3373:                    yychar = YYLEX;
                   3374:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3375:     break;}
1.1.1.2   root     3376: case 79:
1.1.1.4 ! root     3377: #line 652 "cp-parse.y"
1.1       root     3378: {
                   3379:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3380:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3381:                  if (! yyval.ttype)
                   3382:                    YYERROR1;
                   3383:                  if (yychar == YYEMPTY)
                   3384:                    yychar = YYLEX;
                   3385:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3386:     break;}
1.1.1.2   root     3387: case 80:
1.1.1.4 ! root     3388: #line 661 "cp-parse.y"
1.1       root     3389: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3390:                  if (! yyval.ttype)
                   3391:                    YYERROR1;
                   3392:                  if (yychar == YYEMPTY)
                   3393:                    yychar = YYLEX;
                   3394:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3395:     break;}
1.1.1.2   root     3396: case 81:
1.1.1.4 ! root     3397: #line 668 "cp-parse.y"
1.1       root     3398: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype);
                   3399:                  if (! yyval.ttype)
                   3400:                    YYERROR1;
                   3401:                  if (yychar == YYEMPTY)
                   3402:                    yychar = YYLEX;
                   3403:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3404:     break;}
1.1.1.2   root     3405: case 82:
1.1.1.4 ! root     3406: #line 677 "cp-parse.y"
1.1       root     3407: {
                   3408:                  if (! current_function_parms_stored)
                   3409:                    store_parm_decls ();
                   3410:                  yyval.ttype = yyvsp[0].ttype;
                   3411:                ;
                   3412:     break;}
1.1.1.2   root     3413: case 83:
1.1.1.4 ! root     3414: #line 685 "cp-parse.y"
1.1       root     3415: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3416:     break;}
1.1.1.2   root     3417: case 84:
1.1.1.4 ! root     3418: #line 687 "cp-parse.y"
        !          3419: { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     3420:     break;}
1.1.1.2   root     3421: case 85:
1.1.1.4 ! root     3422: #line 689 "cp-parse.y"
1.1       root     3423: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
                   3424:     break;}
1.1.1.2   root     3425: case 86:
1.1.1.4 ! root     3426: #line 691 "cp-parse.y"
1.1       root     3427: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3428:     break;}
1.1.1.2   root     3429: case 87:
1.1.1.4 ! root     3430: #line 696 "cp-parse.y"
1.1       root     3431: {
                   3432:                  if (yyvsp[0].itype == 0)
                   3433:                    error ("no base initializers given following ':'");
                   3434:                  setup_vtbl_ptr ();
                   3435:                ;
                   3436:     break;}
1.1.1.2   root     3437: case 88:
1.1.1.4 ! root     3438: #line 705 "cp-parse.y"
1.1       root     3439: {
                   3440:                  if (! current_function_parms_stored)
                   3441:                    store_parm_decls ();
                   3442: 
                   3443:                  /* Flag that we are processing base and member initializers.  */
                   3444:                  current_vtable_decl = error_mark_node;
                   3445: 
                   3446:                  if (DECL_CONSTRUCTOR_P (current_function_decl))
                   3447:                    {
                   3448:                      /* Make a contour for the initializer list.  */
                   3449:                      pushlevel (0);
                   3450:                      clear_last_expr ();
                   3451:                      expand_start_bindings (0);
                   3452:                    }
                   3453:                  else if (current_class_type == NULL_TREE)
                   3454:                    error ("base initializers not allowed for non-member functions");
                   3455:                  else if (! DECL_CONSTRUCTOR_P (current_function_decl))
                   3456:                    error ("only constructors take base initializers");
                   3457:                ;
                   3458:     break;}
1.1.1.2   root     3459: case 89:
1.1.1.4 ! root     3460: #line 728 "cp-parse.y"
1.1       root     3461: { yyval.itype = 0; ;
                   3462:     break;}
1.1.1.2   root     3463: case 90:
1.1.1.4 ! root     3464: #line 730 "cp-parse.y"
1.1       root     3465: { yyval.itype = 1; ;
                   3466:     break;}
1.1.1.2   root     3467: case 93:
1.1.1.4 ! root     3468: #line 736 "cp-parse.y"
1.1       root     3469: {
1.1.1.4 ! root     3470:                  if (current_class_name && !flag_traditional)
        !          3471:                    pedwarn ("ANSI C++ forbids old style base class initialization",
1.1       root     3472:                             IDENTIFIER_POINTER (current_class_name));
                   3473:                  expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
                   3474:                ;
                   3475:     break;}
1.1.1.2   root     3476: case 94:
1.1.1.4 ! root     3477: #line 743 "cp-parse.y"
1.1       root     3478: {
1.1.1.4 ! root     3479:                  if (current_class_name && !flag_traditional)
        !          3480:                    pedwarn ("ANSI C++ forbids old style base class initialization",
1.1       root     3481:                             IDENTIFIER_POINTER (current_class_name));
                   3482:                  expand_member_init (C_C_D, NULL_TREE, void_type_node);
                   3483:                ;
                   3484:     break;}
1.1.1.2   root     3485: case 95:
1.1.1.4 ! root     3486: #line 750 "cp-parse.y"
1.1       root     3487: {
                   3488:                  expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype);
                   3489:                ;
                   3490:     break;}
1.1.1.2   root     3491: case 96:
1.1.1.4 ! root     3492: #line 754 "cp-parse.y"
1.1       root     3493: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3494:     break;}
1.1.1.2   root     3495: case 97:
1.1.1.4 ! root     3496: #line 756 "cp-parse.y"
1.1.1.2   root     3497: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
                   3498:     break;}
                   3499: case 98:
1.1.1.4 ! root     3500: #line 758 "cp-parse.y"
1.1.1.2   root     3501: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3502:     break;}
                   3503: case 99:
1.1.1.4 ! root     3504: #line 760 "cp-parse.y"
        !          3505: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
        !          3506:     break;}
        !          3507: case 100:
        !          3508: #line 762 "cp-parse.y"
        !          3509: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
        !          3510:     break;}
        !          3511: case 101:
        !          3512: #line 764 "cp-parse.y"
1.1       root     3513: {
                   3514:                  do_member_init (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3515:                ;
                   3516:     break;}
1.1.1.4 ! root     3517: case 102:
        !          3518: #line 768 "cp-parse.y"
1.1       root     3519: {
                   3520:                  do_member_init (yyval.ttype, yyvsp[-1].ttype, void_type_node);
                   3521:                ;
                   3522:     break;}
1.1.1.2   root     3523: case 112:
1.1.1.4 ! root     3524: #line 792 "cp-parse.y"
        !          3525: { yyval.ttype = build_parse_node (BIT_NOT_EXPR,yyvsp[0].ttype);;
1.1       root     3526:     break;}
1.1.1.2   root     3527: case 114:
1.1.1.4 ! root     3528: #line 798 "cp-parse.y"
1.1       root     3529: {
1.1.1.4 ! root     3530:                  extern tree template_type_seen_before_scope;
        !          3531: 
1.1       root     3532:                  if (yyvsp[0].ttype) 
                   3533:                    yyval.ttype = yyvsp[0].ttype;
                   3534:                  else if (yyval.ttype != error_mark_node)
                   3535:                    yyval.ttype = IDENTIFIER_TYPE_VALUE (yyval.ttype);
1.1.1.4 ! root     3536:                  /* This is a kludge: In order to detect nested types inside
        !          3537:                   * template classes, we have to tell the lexer that it should
        !          3538:                   * try to replace a following SCOPE token with the correct
        !          3539:                   * SCOPED_TYPENAME for the nested type.  This SCOPED_TYPENAME
        !          3540:                   * token will be handled in the rule "scoped_typename".
        !          3541:                   * - [email protected] */
        !          3542:                  if (yychar == SCOPE) {
        !          3543:                    template_type_seen_before_scope = TYPE_IDENTIFIER (yyval.ttype);
        !          3544:                    yychar = YYLEX;
        !          3545:                  }
1.1       root     3546:                ;
                   3547:     break;}
1.1.1.4 ! root     3548: case 115:
        !          3549: #line 820 "cp-parse.y"
1.1       root     3550: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype); ;
                   3551:     break;}
1.1.1.4 ! root     3552: case 116:
        !          3553: #line 822 "cp-parse.y"
        !          3554: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype); ;
        !          3555:     break;}
        !          3556: case 117:
        !          3557: #line 828 "cp-parse.y"
1.1       root     3558: { yyungetc ('{', 1); yyval.ttype = 0; ;
                   3559:     break;}
1.1.1.4 ! root     3560: case 118:
        !          3561: #line 829 "cp-parse.y"
1.1       root     3562: { yyungetc (':', 1); yyval.ttype = 0; ;
                   3563:     break;}
1.1.1.4 ! root     3564: case 119:
        !          3565: #line 831 "cp-parse.y"
1.1       root     3566: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3567:     break;}
1.1.1.4 ! root     3568: case 120:
        !          3569: #line 836 "cp-parse.y"
1.1       root     3570: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3571:     break;}
1.1.1.4 ! root     3572: case 121:
        !          3573: #line 841 "cp-parse.y"
1.1       root     3574: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3575:     break;}
1.1.1.4 ! root     3576: case 122:
        !          3577: #line 843 "cp-parse.y"
1.1       root     3578: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3579:     break;}
1.1.1.4 ! root     3580: case 123:
        !          3581: #line 848 "cp-parse.y"
1.1       root     3582: { yyval.ttype = groktypename (yyval.ttype); ;
                   3583:     break;}
1.1.1.4 ! root     3584: case 125:
        !          3585: #line 854 "cp-parse.y"
1.1       root     3586: {
                   3587:                  tree t, decl, id, tmpl;
                   3588: 
                   3589:                  id = TREE_VALUE (yyvsp[-1].ttype);
                   3590:                  tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (id));
                   3591:                  t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, id, yyvsp[0].ttype);
                   3592:                  set_current_level_tags_transparency (1);
1.1.1.4 ! root     3593:                  my_friendly_assert (TREE_CODE (t) == RECORD_TYPE, 257);
1.1       root     3594:                  yyval.ttype = t;
                   3595: 
                   3596:                  /* Now, put a copy of the decl in global scope, to avoid
                   3597:                     recursive expansion.  */
                   3598:                  decl = IDENTIFIER_LOCAL_VALUE (id);
                   3599:                  if (!decl)
                   3600:                    decl = IDENTIFIER_CLASS_VALUE (id);
                   3601:                  /* Now, put a copy of the decl in global scope, to avoid
                   3602:                     recursive expansion.  */
                   3603:                   if (decl)
                   3604:                     {
                   3605:                      /* Need to copy it to clear the chain pointer,
                   3606:                         and need to get it into permanent storage.  */
1.1.1.4 ! root     3607:                       my_friendly_assert (TREE_CODE (decl) == TYPE_DECL, 258);
1.1       root     3608:                      push_obstacks (&permanent_obstack, &permanent_obstack);
                   3609:                       decl = copy_node (decl);
                   3610:                      if (DECL_LANG_SPECIFIC (decl))
                   3611:                        copy_lang_decl (decl);
                   3612:                      pop_obstacks ();
                   3613:                      pushdecl_top_level (decl);
                   3614:                    }
                   3615:                ;
                   3616:     break;}
1.1.1.4 ! root     3617: case 126:
        !          3618: #line 885 "cp-parse.y"
1.1       root     3619: {
                   3620:                  extern void end_template_instantiation ();
1.1.1.4 ! root     3621:                  int old_interface = interface_unknown;
1.1       root     3622: 
1.1.1.4 ! root     3623:                  interface_unknown = 1;
1.1       root     3624:                  yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0, 0);
                   3625: 
                   3626:                  pop_obstacks ();
                   3627:                  end_template_instantiation (yyvsp[-5].ttype, yyvsp[-3].ttype);
                   3628: 
                   3629:                   /* Now go after the methods & class data.  */
1.1.1.4 ! root     3630:                  old_interface = interface_unknown;
        !          3631:                  interface_unknown = 1;
1.1       root     3632:                   instantiate_member_templates (yyvsp[-5].ttype);
1.1.1.4 ! root     3633:                  interface_unknown = old_interface;
        !          3634:                  CLASSTYPE_GOT_SEMICOLON (yyval.ttype) = 1;
1.1       root     3635:                ;
                   3636:     break;}
1.1.1.4 ! root     3637: case 127:
        !          3638: #line 906 "cp-parse.y"
1.1       root     3639: { yyval.ttype = NULL_TREE; ;
                   3640:     break;}
1.1.1.4 ! root     3641: case 128:
        !          3642: #line 908 "cp-parse.y"
1.1       root     3643: { yyval.ttype = yyvsp[0].ttype; ;
                   3644:     break;}
1.1.1.4 ! root     3645: case 129:
        !          3646: #line 913 "cp-parse.y"
1.1       root     3647: { yyval.ttype = NULL_TREE; /* never used from here... */;
                   3648:     break;}
1.1.1.4 ! root     3649: case 130:
        !          3650: #line 915 "cp-parse.y"
1.1       root     3651: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
                   3652:     break;}
1.1.1.4 ! root     3653: case 131:
        !          3654: #line 919 "cp-parse.y"
1.1       root     3655: { yyval.code = NEGATE_EXPR; ;
                   3656:     break;}
1.1.1.4 ! root     3657: case 132:
        !          3658: #line 921 "cp-parse.y"
1.1       root     3659: { yyval.code = CONVERT_EXPR; ;
                   3660:     break;}
1.1.1.4 ! root     3661: case 133:
        !          3662: #line 923 "cp-parse.y"
1.1       root     3663: { yyval.code = PREINCREMENT_EXPR; ;
                   3664:     break;}
1.1.1.4 ! root     3665: case 134:
        !          3666: #line 925 "cp-parse.y"
1.1       root     3667: { yyval.code = PREDECREMENT_EXPR; ;
                   3668:     break;}
1.1.1.4 ! root     3669: case 135:
        !          3670: #line 927 "cp-parse.y"
1.1       root     3671: { yyval.code = TRUTH_NOT_EXPR; ;
                   3672:     break;}
1.1.1.4 ! root     3673: case 136:
        !          3674: #line 931 "cp-parse.y"
1.1       root     3675: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
                   3676:     break;}
1.1.1.4 ! root     3677: case 138:
        !          3678: #line 938 "cp-parse.y"
1.1       root     3679: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3680:     break;}
1.1.1.4 ! root     3681: case 139:
        !          3682: #line 940 "cp-parse.y"
1.1       root     3683: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3684:     break;}
1.1.1.4 ! root     3685: case 140:
        !          3686: #line 942 "cp-parse.y"
1.1       root     3687: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
                   3688:     break;}
1.1.1.4 ! root     3689: case 141:
        !          3690: #line 947 "cp-parse.y"
1.1       root     3691: {
                   3692:                  if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
                   3693:                    yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
                   3694:                ;
                   3695:     break;}
1.1.1.4 ! root     3696: case 142:
        !          3697: #line 953 "cp-parse.y"
1.1.1.2   root     3698: { yyvsp[0].itype = pedantic;
                   3699:                  pedantic = 0; ;
                   3700:     break;}
1.1.1.4 ! root     3701: case 143:
        !          3702: #line 956 "cp-parse.y"
1.1.1.2   root     3703: { yyval.ttype = yyvsp[0].ttype;
                   3704:                  pedantic = yyvsp[-2].itype; ;
                   3705:     break;}
1.1.1.4 ! root     3706: case 144:
        !          3707: #line 959 "cp-parse.y"
1.1       root     3708: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
                   3709:     break;}
1.1.1.4 ! root     3710: case 145:
        !          3711: #line 961 "cp-parse.y"
1.1       root     3712: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
                   3713:     break;}
1.1.1.4 ! root     3714: case 146:
        !          3715: #line 963 "cp-parse.y"
1.1       root     3716: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
                   3717:     break;}
1.1.1.4 ! root     3718: case 147:
        !          3719: #line 965 "cp-parse.y"
1.1       root     3720: { yyval.ttype = build_x_unary_op (yyval.ttype, yyvsp[0].ttype);
                   3721:                  if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
                   3722:                    TREE_NEGATED_INT (yyval.ttype) = 1;
                   3723:                ;
                   3724:     break;}
1.1.1.4 ! root     3725: case 148:
        !          3726: #line 971 "cp-parse.y"
        !          3727: { tree label = lookup_label (yyvsp[0].ttype);
        !          3728:                  TREE_USED (label) = 1;
        !          3729:                  yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
        !          3730:                  TREE_CONSTANT (yyval.ttype) = 1; ;
        !          3731:     break;}
        !          3732: case 149:
        !          3733: #line 976 "cp-parse.y"
1.1       root     3734: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3735:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3736:                    error ("sizeof applied to a bit-field");
                   3737:                  /* ANSI says arrays and functions are converted inside comma.
                   3738:                     But we can't really convert them in build_compound_expr
                   3739:                     because that would break commas in lvalues.
                   3740:                     So do the conversion here if operand was a comma.  */
                   3741:                  if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3742:                      && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3743:                          || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3744:                    yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
                   3745:                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
                   3746:     break;}
1.1.1.4 ! root     3747: case 150:
        !          3748: #line 989 "cp-parse.y"
1.1       root     3749: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
                   3750:     break;}
1.1.1.4 ! root     3751: case 151:
        !          3752: #line 991 "cp-parse.y"
1.1       root     3753: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3754:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3755:                    error ("`__alignof' applied to a bit-field");
                   3756:                  if (TREE_CODE (yyvsp[0].ttype) == INDIRECT_REF)
                   3757:                    {
                   3758:                      tree t = TREE_OPERAND (yyvsp[0].ttype, 0);
                   3759:                      tree best = t;
                   3760:                      int bestalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3761:                      while (TREE_CODE (t) == NOP_EXPR
                   3762:                             && TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 0))) == POINTER_TYPE)
                   3763:                        {
                   3764:                          int thisalign;
                   3765:                          t = TREE_OPERAND (t, 0);
                   3766:                          thisalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3767:                          if (thisalign > bestalign)
                   3768:                            best = t, bestalign = thisalign;
                   3769:                        }
                   3770:                      yyval.ttype = c_alignof (TREE_TYPE (TREE_TYPE (best)));
                   3771:                    }
                   3772:                  else
                   3773:                    {
                   3774:                      /* ANSI says arrays and fns are converted inside comma.
                   3775:                         But we can't convert them in build_compound_expr
                   3776:                         because that would break commas in lvalues.
                   3777:                         So do the conversion here if operand was a comma.  */
                   3778:                      if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3779:                          && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3780:                              || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3781:                        yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
                   3782:                      yyval.ttype = c_alignof (TREE_TYPE (yyvsp[0].ttype));
                   3783:                    }
                   3784:                ;
                   3785:     break;}
1.1.1.4 ! root     3786: case 152:
        !          3787: #line 1024 "cp-parse.y"
1.1       root     3788: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
                   3789:     break;}
1.1.1.4 ! root     3790: case 153:
        !          3791: #line 1027 "cp-parse.y"
1.1       root     3792: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
                   3793:     break;}
1.1.1.4 ! root     3794: case 154:
        !          3795: #line 1029 "cp-parse.y"
        !          3796: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
        !          3797:     break;}
        !          3798: case 155:
        !          3799: #line 1031 "cp-parse.y"
1.1       root     3800: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype); ;
                   3801:     break;}
1.1.1.4 ! root     3802: case 156:
        !          3803: #line 1033 "cp-parse.y"
        !          3804: { yyval.ttype = build_new (yyvsp[-5].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype); ;
        !          3805:     break;}
        !          3806: case 157:
        !          3807: #line 1035 "cp-parse.y"
1.1       root     3808: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype); ;
                   3809:     break;}
1.1.1.4 ! root     3810: case 158:
        !          3811: #line 1037 "cp-parse.y"
        !          3812: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype); ;
        !          3813:     break;}
        !          3814: case 159:
        !          3815: #line 1039 "cp-parse.y"
1.1       root     3816: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   3817:     break;}
1.1.1.4 ! root     3818: case 160:
        !          3819: #line 1041 "cp-parse.y"
        !          3820: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
        !          3821:     break;}
1.1.1.2   root     3822: case 161:
1.1.1.4 ! root     3823: #line 1049 "cp-parse.y"
1.1       root     3824: {
                   3825:                  tree absdcl, typename;
                   3826: 
                   3827:                illegal_new_array:
                   3828:                  absdcl = build_parse_node (ARRAY_REF, yyvsp[-4].ttype, yyvsp[-1].ttype);
                   3829:                  typename = build_decl_list (yyvsp[-5].ttype, absdcl);
1.1.1.4 ! root     3830:                  pedwarn ("ANSI C++ forbids array dimensions with parenthesized type");
1.1       root     3831:                  yyval.ttype = build_new (yyvsp[-7].ttype, typename, NULL_TREE, yyval.ttype);
                   3832:                ;
                   3833:     break;}
1.1.1.2   root     3834: case 162:
1.1.1.4 ! root     3835: #line 1059 "cp-parse.y"
1.1       root     3836: { goto illegal_new_array; ;
                   3837:     break;}
1.1.1.2   root     3838: case 163:
1.1.1.4 ! root     3839: #line 1062 "cp-parse.y"
        !          3840: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
1.1       root     3841:     break;}
1.1.1.2   root     3842: case 164:
1.1.1.4 ! root     3843: #line 1064 "cp-parse.y"
        !          3844: { yyval.ttype = build_new (yyvsp[-5].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
1.1       root     3845:     break;}
1.1.1.2   root     3846: case 165:
1.1.1.4 ! root     3847: #line 1066 "cp-parse.y"
        !          3848: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
1.1       root     3849:     break;}
1.1.1.2   root     3850: case 166:
1.1.1.4 ! root     3851: #line 1068 "cp-parse.y"
        !          3852: { yyval.ttype = build_new (yyvsp[-5].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
        !          3853:     break;}
        !          3854: case 167:
        !          3855: #line 1071 "cp-parse.y"
        !          3856: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
        !          3857:     break;}
        !          3858: case 168:
        !          3859: #line 1073 "cp-parse.y"
        !          3860: { yyungetc (':', 1); yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
        !          3861:     break;}
        !          3862: case 169:
        !          3863: #line 1076 "cp-parse.y"
1.1       root     3864: { tree expr = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3865:                  tree type = TREE_TYPE (expr);
                   3866: 
1.1.1.4 ! root     3867:                  if (TREE_CODE (type) != POINTER_TYPE)
1.1       root     3868:                    {
                   3869:                      error ("non-pointer type to `delete'");
                   3870:                      yyval.ttype = error_mark_node;
                   3871:                      break;
                   3872:                    }
1.1.1.4 ! root     3873:                  else if (integer_zerop (expr))
        !          3874:                    {
        !          3875:                      /* ANSI C++ June 5 1992 WP 5.3.4.  Deleting a pointer
        !          3876:                         with the value zero is legal and has no effect.  */
        !          3877:                      yyval.ttype = build1 (NOP_EXPR, void_type_node, expr);
        !          3878:                      break;
        !          3879:                    }
        !          3880:                  else if (TREE_READONLY (TREE_TYPE (type)))
        !          3881:                    {
        !          3882:                      error ("`const *' cannot be deleted");
        !          3883:                      yyval.ttype = error_mark_node;
        !          3884:                      break;
        !          3885:                    }
1.1       root     3886:                  yyval.ttype = build_delete (type, expr, integer_three_node,
                   3887:                                     LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
1.1.1.4 ! root     3888:                                     TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)),
        !          3889:                                     0);
1.1       root     3890:                ;
                   3891:     break;}
1.1.1.4 ! root     3892: case 170:
        !          3893: #line 1104 "cp-parse.y"
1.1       root     3894: {
                   3895:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
1.1.1.4 ! root     3896:                  tree type = TREE_TYPE (exp);
        !          3897:                  tree elt_size = c_sizeof (type);
1.1       root     3898: 
                   3899:                  if (yychar == YYEMPTY)
                   3900:                    yychar = YYLEX;
                   3901: 
1.1.1.4 ! root     3902:                  if (TREE_CODE (type) == POINTER_TYPE
        !          3903:                      && TREE_READONLY (TREE_TYPE (type)))
        !          3904:                    {
        !          3905:                      error ("`const *' cannot be deleted");
        !          3906:                      yyval.ttype = error_mark_node;
        !          3907:                      break;
        !          3908:                    }
1.1       root     3909:                  yyval.ttype = build_vec_delete (exp, NULL_TREE, elt_size, NULL_TREE,
                   3910:                                         integer_one_node, integer_two_node);
                   3911:                ;
                   3912:     break;}
1.1.1.4 ! root     3913: case 171:
        !          3914: #line 1123 "cp-parse.y"
1.1       root     3915: {
                   3916:                  tree maxindex = build_binary_op (MINUS_EXPR, yyvsp[-2].ttype,
                   3917:                                                   integer_one_node);
                   3918:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
1.1.1.4 ! root     3919:                  tree type = TREE_TYPE (exp);
        !          3920:                  tree elt_size = c_sizeof (type);
1.1       root     3921: 
                   3922:                  if (yychar == YYEMPTY)
                   3923:                    yychar = YYLEX;
                   3924: 
1.1.1.4 ! root     3925:                  if (! flag_traditional)
        !          3926:                    pedwarn ("ANSI C++ forbids array size in vector delete");
        !          3927:                  if (TREE_CODE (type) == POINTER_TYPE
        !          3928:                      && TREE_READONLY (TREE_TYPE (type)))
        !          3929:                    {
        !          3930:                      error ("`const *' cannot be deleted");
        !          3931:                      yyval.ttype = error_mark_node;
        !          3932:                      break;
        !          3933:                    }
1.1       root     3934:                  yyval.ttype = build_vec_delete (exp, maxindex, elt_size, NULL_TREE,
                   3935:                                         integer_one_node, integer_two_node);
                   3936:                ;
                   3937:     break;}
1.1.1.4 ! root     3938: case 173:
        !          3939: #line 1150 "cp-parse.y"
1.1       root     3940: { tree type = groktypename (yyvsp[-2].ttype);
                   3941:                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
                   3942:     break;}
1.1.1.4 ! root     3943: case 174:
        !          3944: #line 1153 "cp-parse.y"
1.1       root     3945: { tree type = groktypename (yyvsp[-5].ttype);
                   3946:                  tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   3947:                  if (pedantic)
1.1.1.4 ! root     3948:                    pedwarn ("ANSI C++ forbids constructor-expressions");
1.1       root     3949:                  /* Indicate that this was a GNU C constructor expression.  */
                   3950:                  TREE_HAS_CONSTRUCTOR (init) = 1;
                   3951:                  yyval.ttype = digest_init (type, init, 0);
                   3952:                  if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
                   3953:                    {
                   3954:                      int failure = complete_array_type (type, yyval.ttype, 1);
                   3955:                      if (failure)
1.1.1.3   root     3956:                        my_friendly_abort (78);
1.1       root     3957:                    }
                   3958:                ;
                   3959:     break;}
1.1.1.4 ! root     3960: case 175:
        !          3961: #line 1168 "cp-parse.y"
1.1       root     3962: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
                   3963:     break;}
1.1.1.4 ! root     3964: case 176:
        !          3965: #line 1170 "cp-parse.y"
1.1       root     3966: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
                   3967:     break;}
1.1.1.4 ! root     3968: case 177:
        !          3969: #line 1172 "cp-parse.y"
1.1       root     3970: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
                   3971:                    {
                   3972:                      tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
                   3973:                      yyval.ttype = CLASSTYPE_DOSSIER (type);
                   3974:                    }
                   3975:                  else
                   3976:                    yyval.ttype = error_mark_node;
                   3977:                ;
                   3978:     break;}
1.1.1.2   root     3979: case 179:
1.1.1.4 ! root     3980: #line 1185 "cp-parse.y"
1.1       root     3981: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3982:     break;}
1.1.1.2   root     3983: case 180:
1.1.1.4 ! root     3984: #line 1187 "cp-parse.y"
1.1       root     3985: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3986:     break;}
1.1.1.2   root     3987: case 181:
1.1.1.4 ! root     3988: #line 1189 "cp-parse.y"
1.1       root     3989: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3990:     break;}
1.1.1.2   root     3991: case 182:
1.1.1.4 ! root     3992: #line 1191 "cp-parse.y"
1.1       root     3993: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3994:     break;}
1.1.1.2   root     3995: case 183:
1.1.1.4 ! root     3996: #line 1193 "cp-parse.y"
1.1       root     3997: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3998:     break;}
1.1.1.2   root     3999: case 184:
1.1.1.4 ! root     4000: #line 1195 "cp-parse.y"
        !          4001: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4002:     break;}
1.1.1.2   root     4003: case 185:
1.1.1.4 ! root     4004: #line 1197 "cp-parse.y"
        !          4005: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4006:     break;}
1.1.1.2   root     4007: case 186:
1.1.1.4 ! root     4008: #line 1199 "cp-parse.y"
1.1       root     4009: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4010:     break;}
1.1.1.2   root     4011: case 187:
1.1.1.4 ! root     4012: #line 1201 "cp-parse.y"
        !          4013: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4014:     break;}
1.1.1.2   root     4015: case 188:
1.1.1.4 ! root     4016: #line 1203 "cp-parse.y"
        !          4017: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4018:     break;}
1.1.1.2   root     4019: case 189:
1.1.1.4 ! root     4020: #line 1205 "cp-parse.y"
1.1       root     4021: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4022:     break;}
1.1.1.2   root     4023: case 190:
1.1.1.4 ! root     4024: #line 1207 "cp-parse.y"
1.1       root     4025: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   4026:     break;}
1.1.1.2   root     4027: case 191:
1.1.1.4 ! root     4028: #line 1209 "cp-parse.y"
        !          4029: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4030:     break;}
1.1.1.2   root     4031: case 192:
1.1.1.4 ! root     4032: #line 1211 "cp-parse.y"
        !          4033: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4034:     break;}
1.1.1.2   root     4035: case 193:
1.1.1.4 ! root     4036: #line 1213 "cp-parse.y"
        !          4037: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4038:     break;}
1.1.1.2   root     4039: case 194:
1.1.1.4 ! root     4040: #line 1215 "cp-parse.y"
        !          4041: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
1.1       root     4042:     break;}
1.1.1.2   root     4043: case 195:
1.1.1.4 ! root     4044: #line 1217 "cp-parse.y"
        !          4045: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
        !          4046:     break;}
        !          4047: case 196:
        !          4048: #line 1219 "cp-parse.y"
        !          4049: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
        !          4050:     break;}
        !          4051: case 197:
        !          4052: #line 1221 "cp-parse.y"
        !          4053: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
        !          4054:     break;}
        !          4055: case 198:
        !          4056: #line 1223 "cp-parse.y"
1.1       root     4057: { register tree rval;
1.1.1.4 ! root     4058:                  if (rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype,
        !          4059:                        make_node (yyvsp[-1].code)))
1.1       root     4060:                    yyval.ttype = rval;
                   4061:                  else
                   4062:                    yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
                   4063:     break;}
1.1.1.4 ! root     4064: case 199:
        !          4065: #line 1230 "cp-parse.y"
1.1       root     4066: { yyval.ttype = build_m_component_ref (yyval.ttype, build_indirect_ref (yyvsp[0].ttype, 0)); ;
                   4067:     break;}
1.1.1.4 ! root     4068: case 200:
        !          4069: #line 1233 "cp-parse.y"
1.1       root     4070: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
                   4071:     break;}
1.1.1.4 ! root     4072: case 201:
        !          4073: #line 1249 "cp-parse.y"
1.1       root     4074: { yyval.ttype = do_identifier (yyval.ttype); ;
                   4075:     break;}
1.1.1.4 ! root     4076: case 202:
        !          4077: #line 1251 "cp-parse.y"
1.1       root     4078: {
                   4079:                  tree op = yyval.ttype;
                   4080:                  if (TREE_CODE (op) != IDENTIFIER_NODE)
                   4081:                    yyval.ttype = op;
                   4082:                  else
                   4083:                    {
1.1.1.4 ! root     4084:                      yyval.ttype = lookup_name (op, 0);
1.1       root     4085:                      if (yyval.ttype == NULL_TREE)
                   4086:                        {
                   4087:                          error ("operator %s not defined", operator_name_string (op));
                   4088:                          yyval.ttype = error_mark_node;
                   4089:                        }
                   4090:                    }
                   4091:                ;
                   4092:     break;}
1.1.1.4 ! root     4093: case 204:
        !          4094: #line 1267 "cp-parse.y"
1.1       root     4095: { yyval.ttype = combine_strings (yyval.ttype); ;
                   4096:     break;}
1.1.1.4 ! root     4097: case 205:
        !          4098: #line 1269 "cp-parse.y"
1.1       root     4099: { yyval.ttype = yyvsp[-1].ttype; ;
                   4100:     break;}
1.1.1.4 ! root     4101: case 206:
        !          4102: #line 1271 "cp-parse.y"
1.1       root     4103: { yyval.ttype = error_mark_node; ;
                   4104:     break;}
1.1.1.4 ! root     4105: case 207:
        !          4106: #line 1273 "cp-parse.y"
1.1       root     4107: { if (current_function_decl == 0)
                   4108:                    {
                   4109:                      error ("braced-group within expression allowed only inside a function");
                   4110:                      YYERROR;
                   4111:                    }
                   4112:                  keep_next_level ();
                   4113:                  yyval.ttype = expand_start_stmt_expr (); ;
                   4114:     break;}
1.1.1.4 ! root     4115: case 208:
        !          4116: #line 1281 "cp-parse.y"
1.1       root     4117: { tree rtl_exp;
                   4118:                  if (pedantic)
1.1.1.4 ! root     4119:                    pedwarn ("ANSI C++ forbids braced-groups within expressions");
1.1       root     4120:                  rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
                   4121:                  /* The statements have side effects, so the group does.  */
                   4122:                  TREE_SIDE_EFFECTS (rtl_exp) = 1;
                   4123:                  /* Make a BIND_EXPR for the BLOCK already made.  */
                   4124:                  yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
                   4125:                              NULL_TREE, rtl_exp, yyvsp[-1].ttype);
1.1.1.4 ! root     4126:                  /* Remove the block from the tree at this point.
        !          4127:                     It gets put back at the proper place
        !          4128:                     when the BIND_EXPR is expanded.  */
        !          4129:                  delete_block (yyvsp[-1].ttype);
1.1       root     4130:                ;
                   4131:     break;}
1.1.1.4 ! root     4132: case 209:
        !          4133: #line 1296 "cp-parse.y"
1.1       root     4134: { /* [eichin:19911016.1902EST] */
                   4135:                   yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
                   4136:                   /* here we instantiate_class_template as needed... */
1.1.1.4 ! root     4137:                   do_pending_templates ();
1.1       root     4138:                 ;
                   4139:     break;}
1.1.1.4 ! root     4140: case 210:
        !          4141: #line 1300 "cp-parse.y"
1.1       root     4142: {
                   4143:                   if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
                   4144:                       && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
                   4145:                    yyval.ttype = require_complete_type (yyvsp[-1].ttype);
                   4146:                   else
                   4147:                     yyval.ttype = yyvsp[-1].ttype;
                   4148:                 ;
                   4149:     break;}
1.1.1.4 ! root     4150: case 211:
        !          4151: #line 1308 "cp-parse.y"
1.1       root     4152: { 
1.1.1.4 ! root     4153:                if (yyval.ttype != error_mark_node)
        !          4154:                  {
        !          4155:                    yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE,
        !          4156:                                                current_class_decl);
        !          4157:                    if (TREE_CODE (yyval.ttype) == CALL_EXPR
        !          4158:                        && TREE_TYPE (yyval.ttype) != void_type_node)
        !          4159:                      yyval.ttype = require_complete_type (yyval.ttype);
        !          4160:                  }
1.1       root     4161:                 ;
                   4162:     break;}
1.1.1.4 ! root     4163: case 212:
        !          4164: #line 1319 "cp-parse.y"
1.1       root     4165: {
                   4166:                do_array:
                   4167:                  {
                   4168:                    tree array_expr = yyval.ttype;
                   4169:                    tree index_exp = yyvsp[-1].ttype;
                   4170:                    tree type = TREE_TYPE (array_expr);
                   4171:                    if (type == error_mark_node || index_exp == error_mark_node)
                   4172:                      yyval.ttype = error_mark_node;
                   4173:                    else if (type == NULL_TREE)
                   4174:                      {
                   4175:                        /* Something has gone very wrong.  Assume we
                   4176:                           are mistakenly reducing an expression
                   4177:                           instead of a declaration.  */
                   4178:                        error ("parser may be lost: is there a '{' missing somewhere?");
                   4179:                        yyval.ttype = NULL_TREE;
                   4180:                      }
                   4181:                    else
                   4182:                      {
                   4183:                        if (TREE_CODE (type) == OFFSET_TYPE)
                   4184:                          type = TREE_TYPE (type);
                   4185:                        if (TREE_CODE (type) == REFERENCE_TYPE)
                   4186:                          type = TREE_TYPE (type);
                   4187: 
                   4188:                        if (TYPE_LANG_SPECIFIC (type)
                   4189:                            && TYPE_OVERLOADS_ARRAY_REF (type))
                   4190:                          yyval.ttype = build_opfncall (ARRAY_REF, LOOKUP_NORMAL, array_expr, index_exp);
                   4191:                        else if (TREE_CODE (type) == POINTER_TYPE
                   4192:                                 || TREE_CODE (type) == ARRAY_TYPE)
                   4193:                          yyval.ttype = build_array_ref (array_expr, index_exp);
                   4194:                        else
                   4195:                          {
                   4196:                            type = TREE_TYPE (index_exp);
                   4197:                            if (TREE_CODE (type) == OFFSET_TYPE)
                   4198:                              type = TREE_TYPE (type);
                   4199:                            if (TREE_CODE (type) == REFERENCE_TYPE)
                   4200:                              type = TREE_TYPE (type);
                   4201:                            
                   4202:                            if (TYPE_LANG_SPECIFIC (type)
                   4203:                                && TYPE_OVERLOADS_ARRAY_REF (type))
                   4204:                              error ("array expression backwards");
                   4205:                            else if (TREE_CODE (type) == POINTER_TYPE
                   4206:                                     || TREE_CODE (type) == ARRAY_TYPE)
                   4207:                              yyval.ttype = build_array_ref (index_exp, array_expr);
                   4208:                            else
                   4209:                              error("[] applied to non-pointer type");
                   4210:                          }
                   4211:                      }
                   4212:                  }
                   4213:                ;
                   4214:     break;}
1.1.1.4 ! root     4215: case 213:
        !          4216: #line 1369 "cp-parse.y"
1.1       root     4217: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
                   4218:     break;}
1.1.1.4 ! root     4219: case 214:
        !          4220: #line 1371 "cp-parse.y"
1.1       root     4221: {
                   4222:                  tree basetype = yyvsp[-1].ttype;
                   4223:                  if (is_aggr_typedef (basetype, 1))
                   4224:                    {
                   4225:                      basetype = IDENTIFIER_TYPE_VALUE (basetype);
                   4226: 
                   4227:                      if (yyval.ttype == error_mark_node)
                   4228:                        ;
                   4229:                      else if (binfo_or_else (basetype, TREE_TYPE (yyval.ttype)))
                   4230:                        yyval.ttype = build_component_ref (build_scoped_ref (yyval.ttype, yyvsp[-1].ttype), yyvsp[0].ttype, NULL_TREE, 1);
                   4231:                      else
                   4232:                        yyval.ttype = error_mark_node;
                   4233:                    }
                   4234:                  else yyval.ttype = error_mark_node;
                   4235:                ;
                   4236:     break;}
1.1.1.4 ! root     4237: case 215:
        !          4238: #line 1387 "cp-parse.y"
1.1       root     4239: { yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
                   4240:     break;}
1.1.1.4 ! root     4241: case 216:
        !          4242: #line 1389 "cp-parse.y"
1.1       root     4243: { yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
                   4244:     break;}
1.1.1.4 ! root     4245: case 217:
        !          4246: #line 1393 "cp-parse.y"
1.1       root     4247: { if (current_class_decl)
                   4248:                    {
                   4249: #ifdef WARNING_ABOUT_CCD
                   4250:                      TREE_USED (current_class_decl) = 1;
                   4251: #endif
                   4252:                      yyval.ttype = current_class_decl;
                   4253:                    }
                   4254:                  else if (current_function_decl
                   4255:                           && DECL_STATIC_FUNCTION_P (current_function_decl))
                   4256:                    {
                   4257:                      error ("`this' is unavailable for static member functions");
                   4258:                      yyval.ttype = error_mark_node;
                   4259:                    }
                   4260:                  else
                   4261:                    {
                   4262:                      if (current_function_decl)
                   4263:                        error ("invalid use of `this' in non-member function");
                   4264:                      else
                   4265:                        error ("invalid use of `this' at top level");
                   4266:                      yyval.ttype = error_mark_node;
                   4267:                    }
                   4268:                ;
                   4269:     break;}
1.1.1.4 ! root     4270: case 218:
        !          4271: #line 1416 "cp-parse.y"
1.1       root     4272: {
                   4273:                  tree type;
                   4274:                  tree id = yyval.ttype;
                   4275: 
                   4276:                  /* This is a C cast in C++'s `functional' notation.  */
                   4277:                  if (yyvsp[-1].ttype == error_mark_node)
                   4278:                    {
                   4279:                      yyval.ttype = error_mark_node;
                   4280:                      break;
                   4281:                    }
                   4282: #if 0
                   4283:                  if (yyvsp[-1].ttype == NULL_TREE)
                   4284:                    {
                   4285:                      error ("cannot cast null list to type `%s'",
                   4286:                             IDENTIFIER_POINTER (TYPE_NAME (id)));
                   4287:                      yyval.ttype = error_mark_node;
                   4288:                      break;
                   4289:                    }
                   4290: #endif
1.1.1.4 ! root     4291: #if 0
        !          4292:                  /* type is not set! (mrs) */
1.1       root     4293:                  if (type == error_mark_node)
                   4294:                    yyval.ttype = error_mark_node;
                   4295:                  else
1.1.1.4 ! root     4296: #endif
1.1       root     4297:                    {
                   4298:                      if (id == ridpointers[(int) RID_CONST])
                   4299:                        type = build_type_variant (integer_type_node, 1, 0);
                   4300:                      else if (id == ridpointers[(int) RID_VOLATILE])
                   4301:                        type = build_type_variant (integer_type_node, 0, 1);
1.1.1.4 ! root     4302: #if 0
        !          4303:                      /* should not be able to get here (mrs) */
1.1       root     4304:                      else if (id == ridpointers[(int) RID_FRIEND])
                   4305:                        {
                   4306:                          error ("cannot cast expression to `friend' type");
                   4307:                          yyval.ttype = error_mark_node;
                   4308:                          break;
                   4309:                        }
1.1.1.4 ! root     4310: #endif
1.1.1.3   root     4311:                      else my_friendly_abort (79);
1.1       root     4312:                      yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
                   4313:                    }
                   4314:                ;
                   4315:     break;}
1.1.1.4 ! root     4316: case 219:
        !          4317: #line 1460 "cp-parse.y"
1.1       root     4318: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
                   4319:     break;}
1.1.1.4 ! root     4320: case 220:
        !          4321: #line 1462 "cp-parse.y"
1.1       root     4322: { yyval.ttype = build_functional_cast (yyval.ttype, NULL_TREE); ;
                   4323:     break;}
1.1.1.4 ! root     4324: case 221:
        !          4325: #line 1464 "cp-parse.y"
        !          4326: { yyval.ttype = build_functional_cast (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
        !          4327:     break;}
        !          4328: case 222:
        !          4329: #line 1466 "cp-parse.y"
        !          4330: { yyval.ttype = build_functional_cast (yyvsp[-1].ttype, NULL_TREE); ;
        !          4331:     break;}
        !          4332: case 223:
        !          4333: #line 1468 "cp-parse.y"
1.1       root     4334: {
                   4335:                do_scoped_id:
                   4336:                  yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
                   4337:                  if (yychar == YYEMPTY)
                   4338:                    yychar = YYLEX;
                   4339:                  if (! yyval.ttype)
                   4340:                    {
                   4341:                      if (yychar == '(' || yychar == LEFT_RIGHT)
                   4342:                        yyval.ttype = implicitly_declare (yyvsp[0].ttype);
                   4343:                      else
                   4344:                        {
                   4345:                          if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
                   4346:                            error ("undeclared variable `%s' (first use here)",
                   4347:                                   IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4348:                          yyval.ttype = error_mark_node;
                   4349:                          /* Prevent repeated error messages.  */
                   4350:                          IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
                   4351:                        }
                   4352:                    }
                   4353:                  else
                   4354:                    {
                   4355:                      assemble_external (yyval.ttype);
                   4356:                      TREE_USED (yyval.ttype) = 1;
                   4357:                    }
                   4358:                  if (TREE_CODE (yyval.ttype) == CONST_DECL)
1.1.1.4 ! root     4359:                    {
        !          4360:                      /* XXX CHS - should we set TREE_USED of the constant? */
        !          4361:                      yyval.ttype = DECL_INITIAL (yyval.ttype);
        !          4362:                      /* This is to prevent an enum whose value is 0
        !          4363:                         from being considered a null pointer constant.  */
        !          4364:                      yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
        !          4365:                      TREE_CONSTANT (yyval.ttype) = 1;
        !          4366:                    }
        !          4367: 
1.1       root     4368:                ;
                   4369:     break;}
1.1.1.4 ! root     4370: case 224:
        !          4371: #line 1504 "cp-parse.y"
1.1       root     4372: {
                   4373:                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                   4374:                    goto do_scoped_id;
                   4375:                do_scoped_operator:
                   4376:                  yyval.ttype = yyvsp[0].ttype;
                   4377:                ;
                   4378:     break;}
1.1.1.4 ! root     4379: case 225:
        !          4380: #line 1511 "cp-parse.y"
1.1       root     4381: { yyval.ttype = build_offset_ref (yyval.ttype, yyvsp[0].ttype); ;
                   4382:     break;}
1.1.1.4 ! root     4383: case 226:
        !          4384: #line 1513 "cp-parse.y"
1.1       root     4385: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4386:     break;}
1.1.1.4 ! root     4387: case 227:
        !          4388: #line 1515 "cp-parse.y"
1.1       root     4389: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4390:     break;}
1.1.1.4 ! root     4391: case 228:
        !          4392: #line 1517 "cp-parse.y"
1.1       root     4393: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
                   4394:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4395:     break;}
1.1.1.4 ! root     4396: case 229:
        !          4397: #line 1520 "cp-parse.y"
1.1       root     4398: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
                   4399:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4400:     break;}
1.1.1.4 ! root     4401: case 230:
        !          4402: #line 1523 "cp-parse.y"
1.1       root     4403: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4404:     break;}
1.1.1.4 ! root     4405: case 231:
        !          4406: #line 1525 "cp-parse.y"
1.1       root     4407: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4408:     break;}
1.1.1.4 ! root     4409: case 232:
        !          4410: #line 1567 "cp-parse.y"
1.1       root     4411: { yyval.ttype = NULL_TREE; ;
                   4412:     break;}
1.1.1.4 ! root     4413: case 233:
        !          4414: #line 1569 "cp-parse.y"
        !          4415: {
        !          4416:                  yyval.ttype = yyvsp[-1].ttype;
        !          4417:                  pedwarn ("old style placement syntax, use () instead");
        !          4418:                ;
1.1       root     4419:     break;}
1.1.1.4 ! root     4420: case 234:
        !          4421: #line 1574 "cp-parse.y"
1.1       root     4422: { yyval.ttype = void_type_node; ;
                   4423:     break;}
1.1.1.4 ! root     4424: case 235:
        !          4425: #line 1576 "cp-parse.y"
1.1       root     4426: { yyval.ttype = combine_strings (yyvsp[-1].ttype); ;
                   4427:     break;}
1.1.1.4 ! root     4428: case 236:
        !          4429: #line 1581 "cp-parse.y"
1.1       root     4430: { yyval.itype = 0; ;
                   4431:     break;}
1.1.1.4 ! root     4432: case 237:
        !          4433: #line 1583 "cp-parse.y"
1.1       root     4434: { yyval.itype = 1; ;
                   4435:     break;}
1.1.1.4 ! root     4436: case 238:
        !          4437: #line 1587 "cp-parse.y"
1.1       root     4438: { yyval.ttype = NULL_TREE; ;
                   4439:     break;}
1.1.1.4 ! root     4440: case 239:
        !          4441: #line 1589 "cp-parse.y"
1.1       root     4442: { if (yyvsp[0].ttype)
                   4443:                    error ("extra `::' before `delete' ignored");
                   4444:                  yyval.ttype = error_mark_node;
                   4445:                ;
                   4446:     break;}
1.1.1.4 ! root     4447: case 241:
        !          4448: #line 1599 "cp-parse.y"
1.1       root     4449: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4450:     break;}
1.1.1.4 ! root     4451: case 242:
        !          4452: #line 1604 "cp-parse.y"
1.1       root     4453: {
                   4454:                  if (! current_function_parms_stored)
                   4455:                    store_parm_decls ();
                   4456:                  setup_vtbl_ptr ();
                   4457:                ;
                   4458:     break;}
1.1.1.4 ! root     4459: case 243:
        !          4460: #line 1612 "cp-parse.y"
1.1       root     4461: {
                   4462:                  if (yyval.ttype == error_mark_node)
                   4463:                    ;
                   4464:                  else
                   4465:                    {
                   4466:                      tree type = TREE_TYPE (yyval.ttype);
                   4467: 
                   4468:                      if (! PROMOTES_TO_AGGR_TYPE (type, REFERENCE_TYPE))
                   4469:                        {
                   4470:                          error ("object in '.' expression is not of aggregate type");
                   4471:                          yyval.ttype = error_mark_node;
                   4472:                        }
                   4473:                    }
                   4474:                ;
                   4475:     break;}
1.1.1.4 ! root     4476: case 244:
        !          4477: #line 1627 "cp-parse.y"
1.1       root     4478: {
1.1.1.4 ! root     4479:                  yyval.ttype = build_x_arrow (yyval.ttype);
1.1       root     4480:                ;
                   4481:     break;}
1.1.1.4 ! root     4482: case 246:
        !          4483: #line 1637 "cp-parse.y"
1.1       root     4484: {
                   4485:                  resume_momentary (yyvsp[-1].itype);
                   4486:                  note_list_got_semicolon (yyval.ttype);
                   4487:                ;
                   4488:     break;}
1.1.1.4 ! root     4489: case 247:
        !          4490: #line 1643 "cp-parse.y"
1.1       root     4491: { tree d;
                   4492:                  int yes = suspend_momentary ();
                   4493:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     4494:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     4495:                  resume_momentary (yes);
                   4496:                  note_list_got_semicolon (yyval.ttype);
                   4497:                ;
                   4498:     break;}
1.1.1.4 ! root     4499: case 248:
        !          4500: #line 1651 "cp-parse.y"
1.1       root     4501: { resume_momentary (yyvsp[-1].itype); ;
                   4502:     break;}
1.1.1.4 ! root     4503: case 249:
        !          4504: #line 1654 "cp-parse.y"
1.1       root     4505: { tree d;
                   4506:                  int yes = suspend_momentary ();
                   4507:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3   root     4508:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     4509:                  resume_momentary (yes);
                   4510:                ;
                   4511:     break;}
1.1.1.4 ! root     4512: case 250:
        !          4513: #line 1661 "cp-parse.y"
1.1       root     4514: {
                   4515:                  shadow_tag (yyval.ttype);
                   4516:                  note_list_got_semicolon (yyval.ttype);
                   4517:                ;
                   4518:     break;}
1.1.1.4 ! root     4519: case 251:
        !          4520: #line 1666 "cp-parse.y"
1.1       root     4521: { warning ("empty declaration"); ;
                   4522:     break;}
1.1.1.4 ! root     4523: case 254:
        !          4524: #line 1676 "cp-parse.y"
1.1       root     4525: { yyval.ttype = yyvsp[0].ttype; ;
                   4526:     break;}
1.1.1.4 ! root     4527: case 255:
        !          4528: #line 1678 "cp-parse.y"
1.1       root     4529: { yyval.ttype = yyvsp[0].ttype; ;
                   4530:     break;}
1.1.1.4 ! root     4531: case 256:
        !          4532: #line 1687 "cp-parse.y"
1.1       root     4533: { yyval.ttype = list_hash_lookup_or_cons (yyval.ttype); ;
                   4534:     break;}
1.1.1.4 ! root     4535: case 257:
        !          4536: #line 1689 "cp-parse.y"
1.1       root     4537: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4538:     break;}
1.1.1.4 ! root     4539: case 258:
        !          4540: #line 1691 "cp-parse.y"
1.1       root     4541: { yyval.ttype = hash_tree_chain (yyval.ttype, yyvsp[0].ttype); ;
                   4542:     break;}
1.1.1.4 ! root     4543: case 259:
        !          4544: #line 1693 "cp-parse.y"
1.1       root     4545: { yyval.ttype = hash_tree_chain (yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4546:     break;}
1.1.1.4 ! root     4547: case 260:
        !          4548: #line 1699 "cp-parse.y"
1.1       root     4549: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   4550:     break;}
1.1.1.4 ! root     4551: case 261:
        !          4552: #line 1701 "cp-parse.y"
        !          4553: { if (extra_warnings)
        !          4554:                    warning ("`%s' is not at beginning of declaration",
        !          4555:                             IDENTIFIER_POINTER (yyval.ttype));
        !          4556:                  yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
1.1       root     4557:     break;}
1.1.1.4 ! root     4558: case 262:
        !          4559: #line 1706 "cp-parse.y"
1.1       root     4560: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4561:     break;}
1.1.1.4 ! root     4562: case 263:
        !          4563: #line 1708 "cp-parse.y"
        !          4564: { if (extra_warnings)
        !          4565:                    warning ("`%s' is not at beginning of declaration",
        !          4566:                             IDENTIFIER_POINTER (yyvsp[0].ttype));
        !          4567:                  yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
1.1       root     4568:     break;}
1.1.1.4 ! root     4569: case 264:
        !          4570: #line 1720 "cp-parse.y"
        !          4571: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype);
        !          4572:                  TREE_STATIC (yyval.ttype) = 1; ;
1.1       root     4573:     break;}
1.1.1.4 ! root     4574: case 265:
        !          4575: #line 1723 "cp-parse.y"
1.1       root     4576: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   4577:     break;}
1.1.1.4 ! root     4578: case 266:
        !          4579: #line 1725 "cp-parse.y"
        !          4580: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
        !          4581:                  TREE_STATIC (yyval.ttype) = 1; ;
1.1       root     4582:     break;}
1.1.1.4 ! root     4583: case 267:
        !          4584: #line 1728 "cp-parse.y"
        !          4585: { if (extra_warnings && TREE_STATIC (yyval.ttype))
        !          4586:                    warning ("`%s' is not at beginning of declaration",
        !          4587:                             IDENTIFIER_POINTER (yyvsp[0].ttype));
        !          4588:                  yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype);
        !          4589:                  TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
1.1       root     4590:     break;}
1.1.1.4 ! root     4591: case 268:
        !          4592: #line 1744 "cp-parse.y"
1.1       root     4593: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4594:     break;}
1.1.1.4 ! root     4595: case 269:
        !          4596: #line 1746 "cp-parse.y"
1.1       root     4597: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4598:     break;}
1.1.1.4 ! root     4599: case 270:
        !          4600: #line 1748 "cp-parse.y"
1.1       root     4601: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
                   4602:     break;}
1.1.1.4 ! root     4603: case 271:
        !          4604: #line 1750 "cp-parse.y"
1.1       root     4605: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4606:     break;}
1.1.1.4 ! root     4607: case 272:
        !          4608: #line 1755 "cp-parse.y"
1.1       root     4609: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4610:     break;}
1.1.1.4 ! root     4611: case 273:
        !          4612: #line 1757 "cp-parse.y"
1.1       root     4613: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4614:     break;}
1.1.1.4 ! root     4615: case 278:
        !          4616: #line 1769 "cp-parse.y"
1.1       root     4617: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
                   4618:                  if (pedantic)
1.1.1.4 ! root     4619:                    pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1       root     4620:     break;}
1.1.1.4 ! root     4621: case 279:
        !          4622: #line 1773 "cp-parse.y"
1.1       root     4623: { yyval.ttype = groktypename (yyvsp[-1].ttype);
                   4624:                  if (pedantic)
1.1.1.4 ! root     4625:                    pedwarn ("ANSI C++ forbids `typeof'"); ;
1.1       root     4626:     break;}
1.1.1.4 ! root     4627: case 288:
        !          4628: #line 1798 "cp-parse.y"
1.1       root     4629: { yyval.ttype = NULL_TREE; ;
                   4630:     break;}
1.1.1.4 ! root     4631: case 289:
        !          4632: #line 1800 "cp-parse.y"
1.1       root     4633: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                   4634:                  yyval.ttype = yyvsp[-1].ttype;
                   4635:                  if (pedantic)
1.1.1.4 ! root     4636:                    pedwarn ("ANSI C++ forbids use of `asm' keyword");
1.1       root     4637:                ;
                   4638:     break;}
1.1.1.4 ! root     4639: case 290:
        !          4640: #line 1809 "cp-parse.y"
1.1       root     4641: { current_declspecs = yyvsp[-5].ttype;
                   4642:                  yyvsp[0].itype = suspend_momentary ();
1.1.1.3   root     4643:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4 ! root     4644:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4645:     break;}
1.1.1.4 ! root     4646: case 291:
        !          4647: #line 1815 "cp-parse.y"
1.1.1.3   root     4648: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1       root     4649:                  yyval.itype = yyvsp[-2].itype; ;
                   4650:     break;}
1.1.1.4 ! root     4651: case 292:
        !          4652: #line 1818 "cp-parse.y"
1.1       root     4653: { tree d;
                   4654:                  current_declspecs = yyvsp[-4].ttype;
                   4655:                  yyval.itype = suspend_momentary ();
                   4656:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4 ! root     4657:                  cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3   root     4658:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4659:     break;}
1.1.1.4 ! root     4660: case 293:
        !          4661: #line 1828 "cp-parse.y"
1.1.1.3   root     4662: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4 ! root     4663:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4664:     break;}
1.1.1.4 ! root     4665: case 294:
        !          4666: #line 1832 "cp-parse.y"
1.1.1.3   root     4667: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
1.1       root     4668:     break;}
1.1.1.4 ! root     4669: case 295:
        !          4670: #line 1834 "cp-parse.y"
1.1       root     4671: { tree d = start_decl (yyval.itype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4 ! root     4672:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype);
1.1.1.3   root     4673:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4674:     break;}
1.1.1.4 ! root     4675: case 296:
        !          4676: #line 1841 "cp-parse.y"
1.1       root     4677: { current_declspecs = yyvsp[-5].ttype;
                   4678:                  yyvsp[0].itype = suspend_momentary ();
1.1.1.3   root     4679:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
1.1.1.4 ! root     4680:                  cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4681:     break;}
1.1.1.4 ! root     4682: case 297:
        !          4683: #line 1847 "cp-parse.y"
1.1.1.3   root     4684: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1       root     4685:                  yyval.itype = yyvsp[-2].itype; ;
                   4686:     break;}
1.1.1.4 ! root     4687: case 298:
        !          4688: #line 1850 "cp-parse.y"
1.1       root     4689: { tree d;
                   4690:                  current_declspecs = yyvsp[-4].ttype;
                   4691:                  yyval.itype = suspend_momentary ();
                   4692:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.4 ! root     4693:                  cplus_decl_attributes (d, yyvsp[0].ttype);
1.1.1.3   root     4694:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4695:     break;}
1.1.1.4 ! root     4696: case 299:
        !          4697: #line 1862 "cp-parse.y"
1.1       root     4698: { yyval.ttype = NULL_TREE; ;
                   4699:     break;}
1.1.1.4 ! root     4700: case 300:
        !          4701: #line 1864 "cp-parse.y"
1.1       root     4702: { yyval.ttype = yyvsp[-2].ttype; ;
                   4703:     break;}
1.1.1.4 ! root     4704: case 301:
        !          4705: #line 1869 "cp-parse.y"
1.1.1.3   root     4706: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
                   4707:     break;}
1.1.1.4 ! root     4708: case 302:
        !          4709: #line 1871 "cp-parse.y"
1.1.1.3   root     4710: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   4711:     break;}
1.1.1.4 ! root     4712: case 303:
        !          4713: #line 1876 "cp-parse.y"
1.1.1.3   root     4714: { if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
                   4715:            warning ("`%s' attribute directive ignored",
                   4716:                     IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4717:          yyval.ttype = yyvsp[0].ttype; ;
1.1       root     4718:     break;}
1.1.1.4 ! root     4719: case 304:
        !          4720: #line 1881 "cp-parse.y"
1.1.1.3   root     4721: { /* if not "aligned(n)", then issue warning */
                   4722:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
                   4723:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   4724:            {
                   4725:              warning ("`%s' attribute directive ignored",
                   4726:                       IDENTIFIER_POINTER (yyvsp[-3].ttype));
                   4727:              yyval.ttype = yyvsp[-3].ttype;
                   4728:            }
                   4729:          else
1.1.1.4 ! root     4730:            yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE); ;
1.1       root     4731:     break;}
1.1.1.4 ! root     4732: case 305:
        !          4733: #line 1892 "cp-parse.y"
1.1.1.3   root     4734: { /* if not "format(...)", then issue warning */
                   4735:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
                   4736:              || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
                   4737:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
                   4738:            {
                   4739:              warning ("`%s' attribute directive ignored",
                   4740:                       IDENTIFIER_POINTER (yyvsp[-7].ttype));
                   4741:              yyval.ttype = yyvsp[-7].ttype;
                   4742:            }
                   4743:          else
1.1.1.4 ! root     4744:            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     4745:     break;}
1.1.1.4 ! root     4746: case 306:
        !          4747: #line 1908 "cp-parse.y"
1.1.1.2   root     4748: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   4749:     break;}
1.1.1.4 ! root     4750: case 307:
        !          4751: #line 1910 "cp-parse.y"
1.1.1.2   root     4752: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   4753:     break;}
1.1.1.4 ! root     4754: case 309:
        !          4755: #line 1916 "cp-parse.y"
1.1       root     4756: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
                   4757:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1;
                   4758:                  if (pedantic)
1.1.1.4 ! root     4759:                    pedwarn ("ANSI C++ forbids empty initializer braces"); ;
1.1       root     4760:     break;}
1.1.1.4 ! root     4761: case 310:
        !          4762: #line 1921 "cp-parse.y"
1.1       root     4763: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
                   4764:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4765:     break;}
1.1.1.4 ! root     4766: case 311:
        !          4767: #line 1924 "cp-parse.y"
1.1       root     4768: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   4769:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4770:     break;}
1.1.1.4 ! root     4771: case 312:
        !          4772: #line 1927 "cp-parse.y"
1.1       root     4773: { yyval.ttype = NULL_TREE; ;
                   4774:     break;}
1.1.1.4 ! root     4775: case 313:
        !          4776: #line 1934 "cp-parse.y"
1.1       root     4777: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   4778:     break;}
1.1.1.4 ! root     4779: case 314:
        !          4780: #line 1936 "cp-parse.y"
1.1       root     4781: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4782:     break;}
1.1.1.4 ! root     4783: case 315:
        !          4784: #line 1939 "cp-parse.y"
1.1       root     4785: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4786:     break;}
1.1.1.4 ! root     4787: case 316:
        !          4788: #line 1941 "cp-parse.y"
1.1       root     4789: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4790:     break;}
1.1.1.4 ! root     4791: case 317:
        !          4792: #line 1943 "cp-parse.y"
1.1       root     4793: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
                   4794:     break;}
1.1.1.4 ! root     4795: case 318:
        !          4796: #line 1945 "cp-parse.y"
1.1       root     4797: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4798:     break;}
1.1.1.4 ! root     4799: case 319:
        !          4800: #line 1950 "cp-parse.y"
1.1       root     4801: { yyvsp[0].itype = suspend_momentary ();
                   4802:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
                   4803:     break;}
1.1.1.4 ! root     4804: case 320:
        !          4805: #line 1953 "cp-parse.y"
1.1       root     4806: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
                   4807:                  resume_momentary (yyvsp[-4].itype);
                   4808:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4809:     break;}
1.1.1.4 ! root     4810: case 321:
        !          4811: #line 1957 "cp-parse.y"
1.1       root     4812: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
                   4813:                  check_for_missing_semicolon (yyval.ttype); ;
                   4814:     break;}
1.1.1.4 ! root     4815: case 322:
        !          4816: #line 1960 "cp-parse.y"
1.1       root     4817: { yyvsp[0].itype = suspend_momentary ();
                   4818:                  yyval.ttype = start_enum (make_anon_name ()); ;
                   4819:     break;}
1.1.1.4 ! root     4820: case 323:
        !          4821: #line 1963 "cp-parse.y"
1.1       root     4822: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
                   4823:                  resume_momentary (yyvsp[-5].itype);
                   4824:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4825:     break;}
1.1.1.4 ! root     4826: case 324:
        !          4827: #line 1967 "cp-parse.y"
1.1       root     4828: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
                   4829:                  check_for_missing_semicolon (yyval.ttype); ;
                   4830:     break;}
1.1.1.4 ! root     4831: case 325:
        !          4832: #line 1970 "cp-parse.y"
1.1       root     4833: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE); ;
                   4834:     break;}
1.1.1.4 ! root     4835: case 326:
        !          4836: #line 1974 "cp-parse.y"
1.1       root     4837: {
                   4838:                  int semi;
1.1.1.4 ! root     4839:                  tree id;
        !          4840: 
1.1       root     4841: #if 0
                   4842:                  /* Need to rework class nesting in the
                   4843:                     presence of nested classes, etc.  */
                   4844:                  shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
                   4845: #endif
1.1.1.4 ! root     4846:                  if (yychar == YYEMPTY)
        !          4847:                    yychar = YYLEX;
1.1       root     4848:                  semi = yychar == ';';
1.1.1.4 ! root     4849:                  /* finish_struct nukes this anyway; if
        !          4850:                     finish_exception does too, then it can go. */
1.1       root     4851:                  if (semi)
                   4852:                    note_got_semicolon (yyval.ttype);
1.1.1.4 ! root     4853: 
1.1       root     4854:                  if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
                   4855:                    /* $$ = $1 from default rule.  */;
                   4856:                  else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
                   4857:                    {
                   4858:                      if (! semi)
                   4859:                        yyval.ttype = finish_exception (yyval.ttype, yyvsp[-1].ttype);
                   4860:                      else
                   4861:                        warning ("empty exception declaration\n");
                   4862:                    }
                   4863:                  else
1.1.1.4 ! root     4864:                    {
        !          4865:                      yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi, semi);
        !          4866:                      if (semi) note_got_semicolon (yyval.ttype);
        !          4867:                    }
1.1       root     4868: 
                   4869:                  pop_obstacks ();
1.1.1.4 ! root     4870: 
        !          4871:                  id = TYPE_IDENTIFIER (yyval.ttype);
        !          4872:                  if (IDENTIFIER_TEMPLATE (id))
        !          4873:                    {
        !          4874:                      tree decl;
        !          4875: 
        !          4876:                      /* I don't know if the copying of this TYPE_DECL is
        !          4877:                       * really needed.  However, it's such a small per-
        !          4878:                       * formance penalty that the extra safety is a bargain.
        !          4879:                       * - [email protected]
        !          4880:                       */
        !          4881:                      push_obstacks (&permanent_obstack, &permanent_obstack);
        !          4882:                      decl = copy_node (lookup_name (id));
        !          4883:                      if (DECL_LANG_SPECIFIC (decl))
        !          4884:                        copy_lang_decl (decl);
        !          4885:                      pop_obstacks ();
        !          4886:                      undo_template_name_overload (id, 0);
        !          4887:                      pushdecl_top_level (decl);
        !          4888:                    }
1.1       root     4889:                  if (! semi)
                   4890:                    check_for_missing_semicolon (yyval.ttype); ;
                   4891:     break;}
1.1.1.4 ! root     4892: case 327:
        !          4893: #line 2029 "cp-parse.y"
1.1       root     4894: {
                   4895: #if 0
                   4896:   /* It's no longer clear what the following error is supposed to
                   4897:      accomplish.  If it turns out to be needed, add a comment why.  */
                   4898:                  if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
                   4899:                    {
                   4900:                      error ("incomplete definition of type `%s'",
                   4901:                             TYPE_NAME_STRING (yyval.ttype));
                   4902:                      yyval.ttype = error_mark_node;
                   4903:                    }
                   4904: #endif
                   4905:                ;
                   4906:     break;}
1.1.1.4 ! root     4907: case 331:
        !          4908: #line 2051 "cp-parse.y"
        !          4909: { if (pedantic)
        !          4910:                    pedwarn ("ANSI C++ forbids comma at end of enumerator list"); ;
1.1       root     4911:     break;}
1.1.1.4 ! root     4912: case 333:
        !          4913: #line 2057 "cp-parse.y"
1.1       root     4914: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   4915:     break;}
1.1.1.4 ! root     4916: case 334:
        !          4917: #line 2059 "cp-parse.y"
1.1       root     4918: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4919:     break;}
1.1.1.4 ! root     4920: case 335:
        !          4921: #line 2061 "cp-parse.y"
1.1       root     4922: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4923:                ;
                   4924:     break;}
1.1.1.4 ! root     4925: case 336:
        !          4926: #line 2064 "cp-parse.y"
1.1       root     4927: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4928:                ;
                   4929:     break;}
1.1.1.4 ! root     4930: case 337:
        !          4931: #line 2067 "cp-parse.y"
1.1       root     4932: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4933:                ;
                   4934:     break;}
1.1.1.4 ! root     4935: case 338:
        !          4936: #line 2070 "cp-parse.y"
1.1       root     4937: { error ("no body nor ';' separates two class, struct or union declarations");
                   4938:                ;
                   4939:     break;}
1.1.1.4 ! root     4940: case 339:
        !          4941: #line 2076 "cp-parse.y"
1.1       root     4942: { aggr1: current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4943:     break;}
1.1.1.4 ! root     4944: case 340:
        !          4945: #line 2078 "cp-parse.y"
1.1       root     4946: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4947:     break;}
1.1.1.4 ! root     4948: case 341:
        !          4949: #line 2080 "cp-parse.y"
1.1       root     4950: { yyungetc (':', 1); goto aggr1; ;
                   4951:     break;}
1.1.1.4 ! root     4952: case 342:
        !          4953: #line 2082 "cp-parse.y"
1.1       root     4954: { yyungetc ('{', 1);
                   4955:                aggr2:
                   4956:                  current_aggr = yyval.ttype;
1.1.1.4 ! root     4957:                  yyval.ttype = yyvsp[-1].ttype;
        !          4958:                  overload_template_name (yyval.ttype, 0); ;
1.1       root     4959:     break;}
1.1.1.4 ! root     4960: case 343:
        !          4961: #line 2088 "cp-parse.y"
1.1       root     4962: { yyungetc (':', 1); goto aggr2; ;
                   4963:     break;}
1.1.1.4 ! root     4964: case 344:
        !          4965: #line 2093 "cp-parse.y"
1.1       root     4966: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4967:     break;}
1.1.1.4 ! root     4968: case 345:
        !          4969: #line 2098 "cp-parse.y"
1.1       root     4970: {
                   4971:                  yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4972:                ;
                   4973:     break;}
1.1.1.4 ! root     4974: case 346:
        !          4975: #line 2102 "cp-parse.y"
1.1       root     4976: {
                   4977:                  if (yyvsp[0].ttype)
                   4978:                    yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   4979:                  else
                   4980:                    yyval.ttype = yyvsp[-1].ttype;
                   4981:                ;
                   4982:     break;}
1.1.1.4 ! root     4983: case 347:
        !          4984: #line 2110 "cp-parse.y"
1.1       root     4985: {
                   4986:                  yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4987:                ;
                   4988:     break;}
1.1.1.4 ! root     4989: case 348:
        !          4990: #line 2114 "cp-parse.y"
1.1       root     4991: {
                   4992:                  if (yyvsp[0].ttype)
                   4993:                    yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   4994:                  else
                   4995:                    yyval.ttype = yyvsp[-1].ttype;
                   4996:                ;
                   4997:     break;}
1.1.1.4 ! root     4998: case 349:
        !          4999: #line 2123 "cp-parse.y"
1.1       root     5000: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE);
                   5001:                  yyungetc ('{', 1); ;
                   5002:     break;}
1.1.1.4 ! root     5003: case 352:
        !          5004: #line 2131 "cp-parse.y"
1.1       root     5005: { yyval.ttype = NULL_TREE; ;
                   5006:     break;}
1.1.1.4 ! root     5007: case 353:
        !          5008: #line 2133 "cp-parse.y"
1.1       root     5009: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
                   5010:     break;}
1.1.1.4 ! root     5011: case 354:
        !          5012: #line 2135 "cp-parse.y"
1.1       root     5013: { yyval.ttype = yyvsp[0].ttype; ;
                   5014:     break;}
1.1.1.4 ! root     5015: case 356:
        !          5016: #line 2141 "cp-parse.y"
1.1       root     5017: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   5018:     break;}
1.1.1.4 ! root     5019: case 357:
        !          5020: #line 2146 "cp-parse.y"
1.1       root     5021: { if (! is_aggr_typedef (yyval.ttype, 1))
                   5022:                    yyval.ttype = NULL_TREE;
                   5023:                  else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   5024:     break;}
1.1.1.4 ! root     5025: case 358:
        !          5026: #line 2150 "cp-parse.y"
        !          5027: { if (! is_aggr_typedef (yyval.ttype, 1))
        !          5028:                    yyval.ttype = NULL_TREE;
        !          5029:                  else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
        !          5030:     break;}
        !          5031: case 359:
        !          5032: #line 2154 "cp-parse.y"
1.1       root     5033: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
                   5034:                    yyval.ttype = NULL_TREE;
                   5035:                  else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
                   5036:     break;}
1.1.1.4 ! root     5037: case 360:
        !          5038: #line 2158 "cp-parse.y"
        !          5039: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
        !          5040:                    yyval.ttype = NULL_TREE;
        !          5041:                  else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
        !          5042:     break;}
        !          5043: case 361:
        !          5044: #line 2165 "cp-parse.y"
1.1       root     5045: {
1.1.1.4 ! root     5046:                  /* Kludge!!! See rule "template_type" and the code
        !          5047:                   * dealing with "template_type_seen_before_scope" in
        !          5048:                   * yylex(). */
        !          5049:                  yyval.ttype = yyvsp[0].ttype;
1.1       root     5050:                ;
                   5051:     break;}
1.1.1.4 ! root     5052: case 362:
        !          5053: #line 2174 "cp-parse.y"
        !          5054: {
        !          5055:                  extern tree template_type_seen_before_scope;
        !          5056:                  tree id = yyvsp[0].ttype ? TYPE_IDENTIFIER (yyvsp[0].ttype) : yyvsp[-2].ttype;
        !          5057: 
        !          5058:                  /* Check the rule template_type to get this... */
        !          5059:                  if (yychar == YYEMPTY)
        !          5060:                    yychar = YYLEX;
        !          5061:                  if (yychar == SCOPE) {
        !          5062:                    template_type_seen_before_scope = id;
        !          5063:                    yychar = YYLEX;
        !          5064:                  }
        !          5065:                ;
        !          5066:     break;}
        !          5067: case 365:
        !          5068: #line 2192 "cp-parse.y"
1.1       root     5069: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
                   5070:                    sorry ("non-virtual visibility");
                   5071:                  yyval.itype = visibility_default_virtual; ;
                   5072:     break;}
1.1.1.4 ! root     5073: case 366:
        !          5074: #line 2196 "cp-parse.y"
1.1       root     5075: { int err = 0;
                   5076:                  if (yyvsp[0].itype == visibility_protected)
                   5077:                    {
                   5078:                      warning ("`protected' visibility not implemented");
                   5079:                      yyvsp[0].itype = visibility_public;
                   5080:                      err++;
                   5081:                    }
                   5082:                  else if (yyvsp[0].itype == visibility_public)
                   5083:                    {
                   5084:                      if (yyvsp[-1].itype == visibility_private)
                   5085:                        {
                   5086:                        mixed:
                   5087:                          error ("base class cannot be public and private");
                   5088:                        }
                   5089:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   5090:                        yyval.itype = visibility_public_virtual;
                   5091:                    }
1.1.1.2   root     5092:                  else /* $2 == visibility_private */
1.1       root     5093:                    {
                   5094:                      if (yyvsp[-1].itype == visibility_public)
                   5095:                        goto mixed;
                   5096:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   5097:                        yyval.itype = visibility_private_virtual;
                   5098:                    }
                   5099:                ;
                   5100:     break;}
1.1.1.4 ! root     5101: case 367:
        !          5102: #line 2222 "cp-parse.y"
1.1       root     5103: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
                   5104:                    sorry ("non-virtual visibility");
                   5105:                  if (yyval.itype == visibility_public)
                   5106:                    yyval.itype = visibility_public_virtual;
                   5107:                  else if (yyval.itype == visibility_private)
                   5108:                    yyval.itype = visibility_private_virtual; ;
                   5109:     break;}
1.1.1.4 ! root     5110: case 368:
        !          5111: #line 2231 "cp-parse.y"
1.1       root     5112: { tree t;
                   5113:                  push_obstacks_nochange ();
                   5114:                  end_temporary_allocation ();
                   5115: 
                   5116:                  if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
                   5117:                    {
                   5118:                      yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
                   5119:                      TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
                   5120:                    }
                   5121:                  if (TYPE_SIZE (yyvsp[-1].ttype))
                   5122:                    duplicate_tag_error (yyvsp[-1].ttype);
                   5123:                   if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
                   5124:                     {
                   5125:                       t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
1.1.1.3   root     5126:                       pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t);
1.1       root     5127:                       yyvsp[-1].ttype = t;
                   5128:                     }
                   5129:                  pushclass (yyvsp[-1].ttype, 0);
                   5130:                  TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
1.1.1.3   root     5131:                  t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
1.1       root     5132:                  if (IDENTIFIER_TEMPLATE (t))
                   5133:                    overload_template_name (t, 1);
                   5134:                ;
                   5135:     break;}
1.1.1.4 ! root     5136: case 369:
        !          5137: #line 2258 "cp-parse.y"
1.1       root     5138: { yyval.ttype = NULL_TREE; ;
                   5139:     break;}
1.1.1.4 ! root     5140: case 370:
        !          5141: #line 2260 "cp-parse.y"
1.1       root     5142: { yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   5143:     break;}
1.1.1.4 ! root     5144: case 371:
        !          5145: #line 2262 "cp-parse.y"
1.1       root     5146: { yyval.ttype = chainon (yyval.ttype, build_tree_list ((tree) yyvsp[-2].itype, yyvsp[0].ttype)); ;
                   5147:     break;}
1.1.1.4 ! root     5148: case 373:
        !          5149: #line 2268 "cp-parse.y"
1.1       root     5150: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; ;
                   5151:     break;}
1.1.1.4 ! root     5152: case 374:
        !          5153: #line 2270 "cp-parse.y"
1.1       root     5154: { if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
                   5155:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   5156:     break;}
1.1.1.4 ! root     5157: case 375:
        !          5158: #line 2273 "cp-parse.y"
1.1       root     5159: { if (pedantic)
1.1.1.4 ! root     5160:                    pedwarn ("ANSI C++ forbids extra semicolons here"); ;
1.1       root     5161:     break;}
1.1.1.4 ! root     5162: case 376:
        !          5163: #line 2279 "cp-parse.y"
1.1       root     5164: {
                   5165:                do_components:
                   5166:                  if (yyvsp[-1].ttype == void_type_node)
                   5167:                    /* We just got some friends.
                   5168:                       They have been recorded elsewhere.  */
                   5169:                    yyval.ttype = NULL_TREE;
                   5170:                  else if (yyvsp[-1].ttype == NULL_TREE)
                   5171:                    {
                   5172:                      tree t = groktypename (build_decl_list (yyval.ttype, NULL_TREE));
                   5173:                      if (t == NULL_TREE)
                   5174:                        {
                   5175:                          error ("error in component specification");
                   5176:                          yyval.ttype = NULL_TREE;
                   5177:                        }
                   5178:                      else if (TREE_CODE (t) == UNION_TYPE)
                   5179:                        {
                   5180:                          /* handle anonymous unions */
1.1.1.4 ! root     5181:                          if (ANON_AGGRNAME_P (TYPE_IDENTIFIER (t)))
        !          5182:                            yyval.ttype = build_lang_field_decl (FIELD_DECL,
        !          5183:                                                        NULL_TREE, t);
        !          5184:                          else
        !          5185:                            {
        !          5186:                              /* This is a local union decl with a name, but
        !          5187:                                 no components, I think this is the right thing
        !          5188:                                 to do.  (mrs)  */
        !          5189: #if 0
        !          5190:                              /* I copied this from below, it is probably
        !          5191:                                 needed, but I cannot prove that to myself
        !          5192:                                 right now, but if you find it is needed
        !          5193:                                 please turn it on. (mrs)  */
        !          5194:                              if (TYPE_LANG_SPECIFIC (t)
        !          5195:                                  && CLASSTYPE_DECLARED_EXCEPTION (t))
        !          5196:                                shadow_tag (yyval.ttype);
        !          5197: #endif
        !          5198:                              yyval.ttype = NULL_TREE;
        !          5199:                            }
1.1       root     5200:                        }
                   5201:                      else if (TREE_CODE (t) == ENUMERAL_TYPE)
                   5202:                        yyval.ttype = grok_enum_decls (t, NULL_TREE);
                   5203:                      else if (TREE_CODE (t) == RECORD_TYPE)
                   5204:                        {
                   5205:                          if (TYPE_LANG_SPECIFIC (t)
                   5206:                              && CLASSTYPE_DECLARED_EXCEPTION (t))
                   5207:                            shadow_tag (yyval.ttype);
                   5208:                          yyval.ttype = NULL_TREE;
                   5209:                        }
                   5210:                      else if (t != void_type_node)
                   5211:                        {
                   5212:                          error ("empty component declaration");
                   5213:                          yyval.ttype = NULL_TREE;
                   5214:                        }
                   5215:                      else yyval.ttype = NULL_TREE;
                   5216:                    }
                   5217:                  else
                   5218:                    {
                   5219:                      tree t = TREE_TYPE (yyvsp[-1].ttype);
                   5220:                      if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
                   5221:                        yyval.ttype = grok_enum_decls (t, yyvsp[-1].ttype);
                   5222:                      else
                   5223:                        yyval.ttype = yyvsp[-1].ttype;
                   5224:                    }
                   5225:                  end_exception_decls ();
                   5226:                ;
                   5227:     break;}
1.1.1.4 ! root     5228: case 377:
        !          5229: #line 2343 "cp-parse.y"
1.1       root     5230: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5231:     break;}
1.1.1.4 ! root     5232: case 378:
        !          5233: #line 2345 "cp-parse.y"
1.1       root     5234: { error ("missing ';' before right brace");
                   5235:                  yyungetc ('}', 0);
                   5236:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5237:     break;}
1.1.1.4 ! root     5238: case 379:
        !          5239: #line 2349 "cp-parse.y"
1.1       root     5240: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5241:     break;}
1.1.1.4 ! root     5242: case 380:
        !          5243: #line 2351 "cp-parse.y"
1.1       root     5244: { error ("missing ';' before right brace");
                   5245:                  yyungetc ('}', 0);
                   5246:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5247:     break;}
1.1.1.4 ! root     5248: case 381:
        !          5249: #line 2355 "cp-parse.y"
1.1       root     5250: { goto do_components; ;
                   5251:     break;}
1.1.1.4 ! root     5252: case 382:
        !          5253: #line 2358 "cp-parse.y"
1.1       root     5254: { yyval.ttype = grokfield (yyvsp[-1].ttype, yyval.ttype, 0, 0, 0, 0); ;
                   5255:     break;}
1.1.1.4 ! root     5256: case 383:
        !          5257: #line 2360 "cp-parse.y"
1.1       root     5258: { error ("missing ';' before right brace");
                   5259:                  yyungetc ('}', 0);
                   5260:                  goto do_components; ;
                   5261:     break;}
1.1.1.4 ! root     5262: case 384:
        !          5263: #line 2364 "cp-parse.y"
1.1       root     5264: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5265:     break;}
1.1.1.4 ! root     5266: case 385:
        !          5267: #line 2366 "cp-parse.y"
1.1       root     5268: { error ("missing ';' before right brace");
                   5269:                  yyungetc ('}', 0);
                   5270:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5271:     break;}
1.1.1.4 ! root     5272: case 386:
        !          5273: #line 2370 "cp-parse.y"
1.1       root     5274: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5275:     break;}
1.1.1.4 ! root     5276: case 387:
        !          5277: #line 2372 "cp-parse.y"
1.1       root     5278: { error ("missing ';' before right brace");
                   5279:                  yyungetc ('}', 0);
                   5280:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5281:     break;}
1.1.1.4 ! root     5282: case 388:
        !          5283: #line 2376 "cp-parse.y"
1.1       root     5284: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5285:     break;}
1.1.1.4 ! root     5286: case 389:
        !          5287: #line 2378 "cp-parse.y"
1.1       root     5288: { error ("missing ';' before right brace");
                   5289:                  yyungetc ('}', 0);
                   5290:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5291:     break;}
1.1.1.4 ! root     5292: case 390:
        !          5293: #line 2382 "cp-parse.y"
1.1       root     5294: { yyval.ttype = NULL_TREE; ;
                   5295:     break;}
1.1.1.4 ! root     5296: case 391:
        !          5297: #line 2387 "cp-parse.y"
1.1       root     5298: { yyval.ttype = finish_method (yyval.ttype); ;
                   5299:     break;}
1.1.1.4 ! root     5300: case 392:
        !          5301: #line 2389 "cp-parse.y"
1.1       root     5302: { yyval.ttype = finish_method (yyval.ttype); ;
                   5303:     break;}
1.1.1.4 ! root     5304: case 393:
        !          5305: #line 2391 "cp-parse.y"
1.1       root     5306: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5307:     break;}
1.1.1.4 ! root     5308: case 394:
        !          5309: #line 2393 "cp-parse.y"
1.1       root     5310: { error ("missing ';' before right brace");
                   5311:                  yyungetc ('}', 0);
                   5312:                  yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5313:     break;}
1.1.1.4 ! root     5314: case 395:
        !          5315: #line 2400 "cp-parse.y"
1.1       root     5316: { yyval.ttype = NULL_TREE; ;
                   5317:     break;}
1.1.1.4 ! root     5318: case 397:
        !          5319: #line 2403 "cp-parse.y"
1.1       root     5320: {
                   5321:                  /* In this context, void_type_node encodes
                   5322:                     friends.  They have been recorded elsewhere.  */
                   5323:                  if (yyval.ttype == void_type_node)
                   5324:                    yyval.ttype = yyvsp[0].ttype;
                   5325:                  else
                   5326:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
                   5327:                ;
                   5328:     break;}
1.1.1.4 ! root     5329: case 398:
        !          5330: #line 2415 "cp-parse.y"
1.1.1.3   root     5331: { current_declspecs = yyvsp[-4].ttype;
                   5332:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4 ! root     5333:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1.1.3   root     5334:     break;}
1.1.1.4 ! root     5335: case 399:
        !          5336: #line 2419 "cp-parse.y"
1.1.1.3   root     5337: { current_declspecs = yyvsp[-6].ttype;
                   5338:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4 ! root     5339:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1.1.3   root     5340:     break;}
1.1.1.4 ! root     5341: case 400:
        !          5342: #line 2423 "cp-parse.y"
1.1.1.3   root     5343: { current_declspecs = yyvsp[-4].ttype;
                   5344:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 ! root     5345:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5346:     break;}
1.1.1.4 ! root     5347: case 401:
        !          5348: #line 2427 "cp-parse.y"
1.1.1.3   root     5349: { current_declspecs = yyvsp[-3].ttype;
                   5350:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 ! root     5351:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5352:     break;}
1.1.1.4 ! root     5353: case 402:
        !          5354: #line 2431 "cp-parse.y"
1.1.1.3   root     5355: { current_declspecs = yyvsp[-2].ttype;
                   5356:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
1.1       root     5357:     break;}
1.1.1.4 ! root     5358: case 403:
        !          5359: #line 2437 "cp-parse.y"
1.1.1.3   root     5360: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
1.1.1.4 ! root     5361:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5362:     break;}
1.1.1.4 ! root     5363: case 404:
        !          5364: #line 2440 "cp-parse.y"
1.1.1.3   root     5365: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
1.1.1.4 ! root     5366:                  cplus_decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1       root     5367:     break;}
1.1.1.4 ! root     5368: case 405:
        !          5369: #line 2443 "cp-parse.y"
1.1.1.3   root     5370: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 ! root     5371:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5372:     break;}
1.1.1.4 ! root     5373: case 406:
        !          5374: #line 2446 "cp-parse.y"
1.1.1.3   root     5375: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
1.1.1.4 ! root     5376:                  cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5377:     break;}
1.1.1.4 ! root     5378: case 407:
        !          5379: #line 2449 "cp-parse.y"
1.1       root     5380: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
                   5381:     break;}
1.1.1.4 ! root     5382: case 409:
        !          5383: #line 2459 "cp-parse.y"
1.1       root     5384: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   5385:     break;}
1.1.1.4 ! root     5386: case 410:
        !          5387: #line 2464 "cp-parse.y"
1.1       root     5388: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
                   5389:     break;}
1.1.1.4 ! root     5390: case 411:
        !          5391: #line 2466 "cp-parse.y"
1.1       root     5392: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
                   5393:     break;}
1.1.1.4 ! root     5394: case 412:
        !          5395: #line 2471 "cp-parse.y"
1.1       root     5396: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5397:     break;}
1.1.1.4 ! root     5398: case 413:
        !          5399: #line 2473 "cp-parse.y"
1.1       root     5400: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5401:     break;}
1.1.1.4 ! root     5402: case 414:
        !          5403: #line 2478 "cp-parse.y"
1.1       root     5404: { yyval.ttype = NULL_TREE; ;
                   5405:     break;}
1.1.1.4 ! root     5406: case 416:
        !          5407: #line 2481 "cp-parse.y"
1.1       root     5408: { yyval.ttype = yyvsp[0].ttype; ;
                   5409:     break;}
1.1.1.4 ! root     5410: case 417:
        !          5411: #line 2486 "cp-parse.y"
1.1       root     5412: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   5413:     break;}
1.1.1.4 ! root     5414: case 418:
        !          5415: #line 2488 "cp-parse.y"
1.1       root     5416: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5417:     break;}
1.1.1.4 ! root     5418: case 419:
        !          5419: #line 2493 "cp-parse.y"
1.1       root     5420: { yyval.ttype = NULL_TREE; ;
                   5421:     break;}
1.1.1.4 ! root     5422: case 420:
        !          5423: #line 2495 "cp-parse.y"
1.1       root     5424: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5425:     break;}
1.1.1.4 ! root     5426: case 421:
        !          5427: #line 2503 "cp-parse.y"
1.1       root     5428: { yyval.itype = suspend_momentary (); ;
                   5429:     break;}
1.1.1.4 ! root     5430: case 422:
        !          5431: #line 2504 "cp-parse.y"
1.1       root     5432: { resume_momentary (yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
                   5433:     break;}
1.1.1.4 ! root     5434: case 423:
        !          5435: #line 2510 "cp-parse.y"
1.1       root     5436: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5437:     break;}
1.1.1.4 ! root     5438: case 424:
        !          5439: #line 2512 "cp-parse.y"
1.1       root     5440: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5441:     break;}
1.1.1.4 ! root     5442: case 425:
        !          5443: #line 2514 "cp-parse.y"
1.1       root     5444: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5445:     break;}
1.1.1.4 ! root     5446: case 426:
        !          5447: #line 2516 "cp-parse.y"
1.1       root     5448: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5449:     break;}
1.1.1.4 ! root     5450: case 427:
        !          5451: #line 2518 "cp-parse.y"
1.1       root     5452: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5453:     break;}
1.1.1.4 ! root     5454: case 428:
        !          5455: #line 2520 "cp-parse.y"
1.1       root     5456: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5457:     break;}
1.1.1.4 ! root     5458: case 429:
        !          5459: #line 2522 "cp-parse.y"
1.1       root     5460: { yyval.ttype = yyvsp[-1].ttype; ;
                   5461:     break;}
1.1.1.4 ! root     5462: case 430:
        !          5463: #line 2524 "cp-parse.y"
1.1       root     5464: { yyval.ttype = make_pointer_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5465:     break;}
1.1.1.4 ! root     5466: case 431:
        !          5467: #line 2526 "cp-parse.y"
1.1       root     5468: { see_typename (); ;
                   5469:     break;}
1.1.1.4 ! root     5470: case 433:
        !          5471: #line 2529 "cp-parse.y"
1.1       root     5472: { yyval.ttype = make_reference_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5473:     break;}
1.1.1.4 ! root     5474: case 434:
        !          5475: #line 2531 "cp-parse.y"
1.1       root     5476: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5477:     break;}
1.1.1.4 ! root     5478: case 435:
        !          5479: #line 2533 "cp-parse.y"
1.1       root     5480: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5481:     break;}
1.1.1.4 ! root     5482: case 437:
        !          5483: #line 2539 "cp-parse.y"
1.1       root     5484: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5485:     break;}
1.1.1.4 ! root     5486: case 438:
        !          5487: #line 2541 "cp-parse.y"
1.1       root     5488: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5489:     break;}
1.1.1.4 ! root     5490: case 439:
        !          5491: #line 2543 "cp-parse.y"
1.1       root     5492: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5493:     break;}
1.1.1.4 ! root     5494: case 440:
        !          5495: #line 2545 "cp-parse.y"
1.1       root     5496: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5497:     break;}
1.1.1.4 ! root     5498: case 441:
        !          5499: #line 2547 "cp-parse.y"
1.1       root     5500: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5501:     break;}
1.1.1.4 ! root     5502: case 442:
        !          5503: #line 2549 "cp-parse.y"
1.1       root     5504: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5505:     break;}
1.1.1.4 ! root     5506: case 443:
        !          5507: #line 2551 "cp-parse.y"
1.1       root     5508: { yyval.ttype = yyvsp[-1].ttype; ;
                   5509:     break;}
1.1.1.4 ! root     5510: case 444:
        !          5511: #line 2553 "cp-parse.y"
1.1       root     5512: { see_typename (); ;
                   5513:     break;}
1.1.1.4 ! root     5514: case 446:
        !          5515: #line 2556 "cp-parse.y"
1.1       root     5516: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5517:     break;}
1.1.1.4 ! root     5518: case 447:
        !          5519: #line 2558 "cp-parse.y"
1.1       root     5520: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5521:     break;}
1.1.1.4 ! root     5522: case 448:
        !          5523: #line 2566 "cp-parse.y"
1.1       root     5524: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5525:     break;}
1.1.1.4 ! root     5526: case 449:
        !          5527: #line 2568 "cp-parse.y"
1.1       root     5528: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5529:     break;}
1.1.1.4 ! root     5530: case 450:
        !          5531: #line 2570 "cp-parse.y"
1.1       root     5532: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5533:     break;}
1.1.1.4 ! root     5534: case 451:
        !          5535: #line 2572 "cp-parse.y"
1.1       root     5536: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5537:     break;}
1.1.1.4 ! root     5538: case 452:
        !          5539: #line 2574 "cp-parse.y"
1.1       root     5540: { yyval.ttype = yyvsp[-1].ttype; ;
                   5541:     break;}
1.1.1.4 ! root     5542: case 453:
        !          5543: #line 2576 "cp-parse.y"
1.1       root     5544: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5545:     break;}
1.1.1.4 ! root     5546: case 454:
        !          5547: #line 2578 "cp-parse.y"
1.1       root     5548: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5549:     break;}
1.1.1.4 ! root     5550: case 455:
        !          5551: #line 2580 "cp-parse.y"
1.1       root     5552: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5553:     break;}
1.1.1.4 ! root     5554: case 456:
        !          5555: #line 2582 "cp-parse.y"
1.1       root     5556: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5557:     break;}
1.1.1.4 ! root     5558: case 457:
        !          5559: #line 2584 "cp-parse.y"
1.1       root     5560: { see_typename (); ;
                   5561:     break;}
1.1.1.4 ! root     5562: case 458:
        !          5563: #line 2588 "cp-parse.y"
1.1       root     5564: { see_typename (); ;
                   5565:     break;}
1.1.1.4 ! root     5566: case 459:
        !          5567: #line 2591 "cp-parse.y"
1.1       root     5568: {
1.1.1.4 ! root     5569:                destructor_name:
1.1       root     5570:                  see_typename ();
1.1.1.4 ! root     5571:                  yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype);
1.1       root     5572:                ;
                   5573:     break;}
1.1.1.4 ! root     5574: case 460:
        !          5575: #line 2597 "cp-parse.y"
        !          5576: { goto destructor_name; ;
1.1       root     5577:     break;}
1.1.1.4 ! root     5578: case 461:
        !          5579: #line 2599 "cp-parse.y"
        !          5580: { goto destructor_name; ;
        !          5581:     break;}
        !          5582: case 462:
        !          5583: #line 2601 "cp-parse.y"
1.1       root     5584: { see_typename ();
                   5585:                  if (TREE_CODE (yyval.ttype) != SCOPE_REF)
                   5586:                    yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype);
                   5587:                  else if (TREE_OPERAND (yyval.ttype, 1) == NULL_TREE)
                   5588:                    TREE_OPERAND (yyval.ttype, 1) = yyvsp[0].ttype;
                   5589:                  else
                   5590:                    yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
                   5591:                ;
                   5592:     break;}
1.1.1.4 ! root     5593: case 463:
        !          5594: #line 2610 "cp-parse.y"
1.1       root     5595: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5596:     break;}
1.1.1.4 ! root     5597: case 464:
        !          5598: #line 2612 "cp-parse.y"
1.1       root     5599: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5600:     break;}
1.1.1.4 ! root     5601: case 465:
        !          5602: #line 2614 "cp-parse.y"
1.1       root     5603: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5604:     break;}
1.1.1.4 ! root     5605: case 466:
        !          5606: #line 2616 "cp-parse.y"
1.1       root     5607: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5608:     break;}
1.1.1.4 ! root     5609: case 467:
        !          5610: #line 2618 "cp-parse.y"
1.1       root     5611: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5612:     break;}
1.1.1.4 ! root     5613: case 468:
        !          5614: #line 2621 "cp-parse.y"
1.1       root     5615: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5616:     break;}
1.1.1.4 ! root     5617: case 469:
        !          5618: #line 2623 "cp-parse.y"
1.1       root     5619: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5620:     break;}
1.1.1.4 ! root     5621: case 470:
        !          5622: #line 2625 "cp-parse.y"
1.1       root     5623: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5624:     break;}
1.1.1.4 ! root     5625: case 471:
        !          5626: #line 2627 "cp-parse.y"
1.1       root     5627: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5628:     break;}
1.1.1.4 ! root     5629: case 472:
        !          5630: #line 2629 "cp-parse.y"
1.1       root     5631: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5632:     break;}
1.1.1.4 ! root     5633: case 473:
        !          5634: #line 2631 "cp-parse.y"
1.1       root     5635: { yyval.ttype = build_parse_node (SCOPE_REF, NULL_TREE, yyvsp[0].ttype); ;
                   5636:     break;}
1.1.1.4 ! root     5637: case 474:
        !          5638: #line 2635 "cp-parse.y"
1.1.1.2   root     5639: { yyval.ttype = resolve_scope_to_name (NULL_TREE, yyval.ttype);
                   5640:                  if (yyval.ttype == NULL_TREE)
                   5641:                    {
                   5642:                      error ("undefined explicitly scoped type");
                   5643:                      yyval.ttype = error_mark_node; 
                   5644:                    }
                   5645:                ;
1.1       root     5646:     break;}
1.1.1.4 ! root     5647: case 475:
        !          5648: #line 2643 "cp-parse.y"
1.1       root     5649: {
                   5650:                   if (yyval.ttype == error_mark_node)
                   5651:                     /* leave it alone */;
                   5652:                   else
                   5653:                    {
                   5654:                      yyval.ttype = resolve_scope_to_name (NULL_TREE, TYPE_IDENTIFIER (yyval.ttype));
1.1.1.2   root     5655:                      if (yyval.ttype == NULL_TREE)
                   5656:                        {
                   5657:                          error ("undefined explicitly scoped type");
                   5658:                          yyval.ttype = error_mark_node; 
                   5659:                        }
1.1       root     5660:                    }
1.1.1.4 ! root     5661: /*                  if ($3) popclass (1); */
1.1       root     5662:                ;
                   5663:     break;}
1.1.1.4 ! root     5664: case 478:
        !          5665: #line 2664 "cp-parse.y"
        !          5666: {
        !          5667:                  /* Kludge!!! See rule "template_type" and the code
        !          5668:                   * dealing with "template_type_seen_before_scope" in
        !          5669:                   * yylex(). */
        !          5670:                  yyval.ttype = yyvsp[0].ttype;
        !          5671:                ;
        !          5672:     break;}
        !          5673: case 479:
        !          5674: #line 2686 "cp-parse.y"
1.1       root     5675: { see_typename ();
                   5676:                  yyval.ttype = yyvsp[-1].ttype; ;
                   5677:     break;}
1.1.1.4 ! root     5678: case 480:
        !          5679: #line 2690 "cp-parse.y"
1.1       root     5680: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5681:     break;}
1.1.1.4 ! root     5682: case 481:
        !          5683: #line 2692 "cp-parse.y"
1.1       root     5684: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5685:     break;}
1.1.1.4 ! root     5686: case 482:
        !          5687: #line 2694 "cp-parse.y"
1.1       root     5688: { see_typename (); ;
                   5689:     break;}
1.1.1.4 ! root     5690: case 483:
        !          5691: #line 2696 "cp-parse.y"
1.1       root     5692: { yyval.ttype = yyvsp[-1].ttype; ;
                   5693:     break;}
1.1.1.4 ! root     5694: case 484:
        !          5695: #line 2698 "cp-parse.y"
1.1       root     5696: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5697:     break;}
1.1.1.4 ! root     5698: case 485:
        !          5699: #line 2700 "cp-parse.y"
1.1       root     5700: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5701:     break;}
1.1.1.4 ! root     5702: case 486:
        !          5703: #line 2702 "cp-parse.y"
1.1       root     5704: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5705:     break;}
1.1.1.4 ! root     5706: case 487:
        !          5707: #line 2704 "cp-parse.y"
1.1       root     5708: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5709:     break;}
1.1.1.4 ! root     5710: case 488:
        !          5711: #line 2706 "cp-parse.y"
1.1       root     5712: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5713:     break;}
1.1.1.4 ! root     5714: case 489:
        !          5715: #line 2708 "cp-parse.y"
1.1       root     5716: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5717:     break;}
1.1.1.4 ! root     5718: case 490:
        !          5719: #line 2710 "cp-parse.y"
1.1       root     5720: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5721:     break;}
1.1.1.4 ! root     5722: case 491:
        !          5723: #line 2712 "cp-parse.y"
1.1       root     5724: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (), yyvsp[0].ttype); ;
                   5725:     break;}
1.1.1.4 ! root     5726: case 492:
        !          5727: #line 2714 "cp-parse.y"
1.1       root     5728: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
                   5729:     break;}
1.1.1.4 ! root     5730: case 493:
        !          5731: #line 2716 "cp-parse.y"
1.1       root     5732: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
                   5733:     break;}
1.1.1.4 ! root     5734: case 494:
        !          5735: #line 2721 "cp-parse.y"
1.1       root     5736: { tree t;
                   5737:                  t = yyval.ttype;
                   5738:                  while (TREE_OPERAND (t, 1))
                   5739:                    t = TREE_OPERAND (t, 1);
                   5740:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, 0);
                   5741:                ;
                   5742:     break;}
1.1.1.4 ! root     5743: case 495:
        !          5744: #line 2728 "cp-parse.y"
1.1       root     5745: { tree t;
                   5746:                  t = yyval.ttype;
                   5747:                  while (TREE_OPERAND (t, 1))
                   5748:                    t = TREE_OPERAND (t, 1);
                   5749:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5750:                ;
                   5751:     break;}
1.1.1.4 ! root     5752: case 496:
        !          5753: #line 2735 "cp-parse.y"
1.1       root     5754: { tree t;
                   5755:                  t = yyval.ttype;
                   5756:                  while (TREE_OPERAND (t, 1))
                   5757:                    t = TREE_OPERAND (t, 1);
                   5758:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, 0);
                   5759:                ;
                   5760:     break;}
1.1.1.4 ! root     5761: case 497:
        !          5762: #line 2742 "cp-parse.y"
1.1       root     5763: { tree t;
                   5764:                  t = yyval.ttype;
                   5765:                  while (TREE_OPERAND (t, 1))
                   5766:                    t = TREE_OPERAND (t, 1);
                   5767:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5768:                ;
                   5769:     break;}
1.1.1.4 ! root     5770: case 498:
        !          5771: #line 2752 "cp-parse.y"
1.1       root     5772: { tree t;
                   5773:                  t = yyval.ttype;
                   5774:                  while (TREE_OPERAND (t, 1))
                   5775:                    t = TREE_OPERAND (t, 1);
                   5776:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5777:                ;
                   5778:     break;}
1.1.1.4 ! root     5779: case 499:
        !          5780: #line 2759 "cp-parse.y"
1.1       root     5781: { tree t;
                   5782:                  t = yyval.ttype;
                   5783:                  while (TREE_OPERAND (t, 1))
                   5784:                    t = TREE_OPERAND (t, 1);
                   5785:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5786:                ;
                   5787:     break;}
1.1.1.4 ! root     5788: case 505:
        !          5789: #line 2786 "cp-parse.y"
1.1.1.2   root     5790: { emit_line_note (input_filename, lineno);
1.1       root     5791:                  pushlevel (0);
                   5792:                  clear_last_expr ();
                   5793:                  push_momentary ();
                   5794:                  expand_start_bindings (0);
1.1.1.2   root     5795:                  yyval.strtype = stmt_decl_msg;
                   5796:                  stmt_decl_msg = 0; ;
                   5797:     break;}
1.1.1.4 ! root     5798: case 507:
        !          5799: #line 2800 "cp-parse.y"
1.1.1.2   root     5800: { if (pedantic)
1.1.1.4 ! root     5801:                    pedwarn ("ANSI C++ forbids label declarations"); ;
1.1.1.2   root     5802:     break;}
1.1.1.4 ! root     5803: case 510:
        !          5804: #line 2811 "cp-parse.y"
1.1.1.2   root     5805: { tree link;
                   5806:                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                   5807:                    {
                   5808:                      tree label = shadow_label (TREE_VALUE (link));
                   5809:                      C_DECLARED_LABEL_FLAG (label) = 1;
                   5810:                      declare_nonlocal_label (label);
                   5811:                    }
1.1       root     5812:                ;
                   5813:     break;}
1.1.1.4 ! root     5814: case 511:
        !          5815: #line 2825 "cp-parse.y"
1.1       root     5816: {;
                   5817:     break;}
1.1.1.4 ! root     5818: case 513:
        !          5819: #line 2830 "cp-parse.y"
1.1       root     5820: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
                   5821:     break;}
1.1.1.4 ! root     5822: case 514:
        !          5823: #line 2832 "cp-parse.y"
1.1       root     5824: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2   root     5825:                  stmt_decl_msg = yyvsp[-3].strtype;
1.1       root     5826:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5827:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
                   5828:                  pop_momentary (); ;
                   5829:     break;}
1.1.1.4 ! root     5830: case 515:
        !          5831: #line 2838 "cp-parse.y"
1.1       root     5832: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2   root     5833:                  stmt_decl_msg = yyvsp[-3].strtype;
1.1       root     5834:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5835:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   5836:                  pop_momentary (); ;
                   5837:     break;}
1.1.1.4 ! root     5838: case 516:
        !          5839: #line 2847 "cp-parse.y"
1.1       root     5840: { emit_line_note (input_filename, lineno);
                   5841:                  expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
                   5842:                  stmt_decl_msg = "if"; ;
                   5843:     break;}
1.1.1.4 ! root     5844: case 517:
        !          5845: #line 2851 "cp-parse.y"
1.1       root     5846: { stmt_decl_msg = 0; ;
                   5847:     break;}
1.1.1.4 ! root     5848: case 518:
        !          5849: #line 2856 "cp-parse.y"
1.1       root     5850: { finish_stmt (); ;
                   5851:     break;}
1.1.1.4 ! root     5852: case 519:
        !          5853: #line 2858 "cp-parse.y"
1.1       root     5854: { if (stmt_decl_msg)
                   5855:                    error ("declaration after %s invalid", stmt_decl_msg);
                   5856:                  stmt_decl_msg = 0;
                   5857:                  finish_stmt (); ;
                   5858:     break;}
1.1.1.4 ! root     5859: case 520:
        !          5860: #line 2863 "cp-parse.y"
1.1       root     5861: {
                   5862:                  tree expr = yyvsp[-1].ttype;
                   5863:                  emit_line_note (input_filename, lineno);
                   5864:                  /* Do default conversion if safe and possibly important,
                   5865:                     in case within ({...}).  */
                   5866:                  if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
                   5867:                       && lvalue_p (expr))
                   5868:                      || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
                   5869:                    expr = default_conversion (expr);
                   5870:                  cplus_expand_expr_stmt (expr);
                   5871:                  clear_momentary ();
                   5872:                  finish_stmt (); ;
                   5873:     break;}
1.1.1.4 ! root     5874: case 521:
        !          5875: #line 2876 "cp-parse.y"
1.1       root     5876: { expand_start_else ();
                   5877:                  stmt_decl_msg = "else"; ;
                   5878:     break;}
1.1.1.4 ! root     5879: case 522:
        !          5880: #line 2879 "cp-parse.y"
1.1       root     5881: { expand_end_cond ();
                   5882:                  stmt_decl_msg = 0;
                   5883:                  finish_stmt (); ;
                   5884:     break;}
1.1.1.4 ! root     5885: case 523:
        !          5886: #line 2883 "cp-parse.y"
1.1       root     5887: { expand_end_cond ();
                   5888:                  stmt_decl_msg = 0;
                   5889:                  finish_stmt (); ;
                   5890:     break;}
1.1.1.4 ! root     5891: case 524:
        !          5892: #line 2887 "cp-parse.y"
1.1       root     5893: { emit_nop ();
                   5894:                  emit_line_note (input_filename, lineno);
                   5895:                  expand_start_loop (1); ;
                   5896:     break;}
1.1.1.4 ! root     5897: case 525:
        !          5898: #line 2891 "cp-parse.y"
1.1       root     5899: { expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
                   5900:                  stmt_decl_msg = "while"; ;
                   5901:     break;}
1.1.1.4 ! root     5902: case 526:
        !          5903: #line 2894 "cp-parse.y"
1.1       root     5904: { 
                   5905:                  expand_end_loop ();
                   5906:                  stmt_decl_msg = 0;
                   5907:                  finish_stmt (); ;
                   5908:     break;}
1.1.1.4 ! root     5909: case 527:
        !          5910: #line 2899 "cp-parse.y"
1.1       root     5911: { emit_nop ();
                   5912:                  emit_line_note (input_filename, lineno);
                   5913:                  expand_start_loop_continue_elsewhere (1);
                   5914:                  stmt_decl_msg = "do"; ;
                   5915:     break;}
1.1.1.4 ! root     5916: case 528:
        !          5917: #line 2904 "cp-parse.y"
1.1       root     5918: { stmt_decl_msg = 0;
                   5919:                  expand_loop_continue_here (); ;
                   5920:     break;}
1.1.1.4 ! root     5921: case 529:
        !          5922: #line 2907 "cp-parse.y"
1.1       root     5923: { emit_line_note (input_filename, lineno);
                   5924:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-2].ttype));
                   5925:                  expand_end_loop ();
                   5926:                  clear_momentary ();
                   5927:                  finish_stmt (); ;
                   5928:     break;}
1.1.1.4 ! root     5929: case 530:
        !          5930: #line 2913 "cp-parse.y"
1.1       root     5931: { emit_nop ();
                   5932:                  emit_line_note (input_filename, lineno);
                   5933:                  if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
                   5934:                  expand_start_loop_continue_elsewhere (1); ;
                   5935:     break;}
1.1.1.4 ! root     5936: case 531:
        !          5937: #line 2918 "cp-parse.y"
1.1       root     5938: { emit_line_note (input_filename, lineno);
                   5939:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5940:     break;}
1.1.1.4 ! root     5941: case 532:
        !          5942: #line 2923 "cp-parse.y"
1.1       root     5943: { push_momentary ();
                   5944:                  stmt_decl_msg = "for"; ;
                   5945:     break;}
1.1.1.4 ! root     5946: case 533:
        !          5947: #line 2926 "cp-parse.y"
1.1       root     5948: { emit_line_note (input_filename, lineno);
                   5949:                  expand_loop_continue_here ();
                   5950:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5951:                  pop_momentary ();
                   5952:                  expand_end_loop ();
                   5953:                  stmt_decl_msg = 0;
                   5954:                  finish_stmt (); ;
                   5955:     break;}
1.1.1.4 ! root     5956: case 534:
        !          5957: #line 2934 "cp-parse.y"
1.1       root     5958: { emit_nop ();
                   5959:                  emit_line_note (input_filename, lineno);
                   5960:                  expand_start_loop_continue_elsewhere (1); ;
                   5961:     break;}
1.1.1.4 ! root     5962: case 535:
        !          5963: #line 2938 "cp-parse.y"
1.1       root     5964: { emit_line_note (input_filename, lineno);
                   5965:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5966:     break;}
1.1.1.4 ! root     5967: case 536:
        !          5968: #line 2943 "cp-parse.y"
1.1       root     5969: { push_momentary ();
                   5970:                  stmt_decl_msg = "for";
                   5971:                  yyvsp[0].itype = lineno; ;
                   5972:     break;}
1.1.1.4 ! root     5973: case 537:
        !          5974: #line 2947 "cp-parse.y"
1.1       root     5975: { emit_line_note (input_filename, yyvsp[-2].itype);
                   5976:                  expand_loop_continue_here ();
                   5977:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5978:                  pop_momentary ();
                   5979:                  expand_end_loop ();
                   5980:                  pop_implicit_try_blocks (NULL_TREE);
                   5981:                  if (yyvsp[-8].itype)
                   5982:                    {
1.1.1.4 ! root     5983:                      register int keep = yyvsp[-8].itype > 0;
1.1       root     5984:                      if (keep) expand_end_bindings (0, keep, 1);
                   5985:                      poplevel (keep, 1, 0);
                   5986:                      pop_momentary ();
                   5987:                    }
                   5988:                  stmt_decl_msg = 0;
                   5989:                  finish_stmt ();
                   5990:                ;
                   5991:     break;}
1.1.1.4 ! root     5992: case 538:
        !          5993: #line 2964 "cp-parse.y"
1.1       root     5994: { emit_line_note (input_filename, lineno);
                   5995:                  c_expand_start_case (yyvsp[-1].ttype);
                   5996:                  /* Don't let the tree nodes for $3 be discarded by
                   5997:                     clear_momentary during the parsing of the next stmt.  */
                   5998:                  push_momentary ();
                   5999:                  stmt_decl_msg = "switch"; ;
                   6000:     break;}
1.1.1.4 ! root     6001: case 539:
        !          6002: #line 2971 "cp-parse.y"
1.1       root     6003: { expand_end_case (yyvsp[-3].ttype);
                   6004:                  pop_momentary ();
                   6005:                  stmt_decl_msg = 0;
                   6006:                  finish_stmt (); ;
                   6007:     break;}
1.1.1.4 ! root     6008: case 540:
        !          6009: #line 2976 "cp-parse.y"
1.1       root     6010: { register tree value = yyvsp[-1].ttype;
                   6011:                  register tree label
                   6012:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   6013: 
                   6014:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6015:                     Strip such NOP_EXPRs.  */
                   6016:                  if (TREE_CODE (value) == NOP_EXPR
                   6017:                      && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   6018:                    value = TREE_OPERAND (value, 0);
                   6019: 
                   6020:                  if (TREE_READONLY_DECL_P (value))
                   6021:                    {
                   6022:                      value = decl_constant_value (value);
                   6023:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6024:                         Strip such NOP_EXPRs.  */
                   6025:                      if (TREE_CODE (value) == NOP_EXPR
                   6026:                          && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   6027:                        value = TREE_OPERAND (value, 0);
                   6028:                    }
                   6029:                  value = fold (value);
                   6030: 
                   6031:                  if (TREE_CODE (value) != INTEGER_CST
                   6032:                      && value != error_mark_node)
                   6033:                    {
                   6034:                      error ("case label does not reduce to an integer constant");
                   6035:                      value = error_mark_node;
                   6036:                    }
                   6037:                  else
                   6038:                    /* Promote char or short to int.  */
                   6039:                    value = default_conversion (value);
                   6040:                  if (value != error_mark_node)
                   6041:                    {
                   6042:                      tree duplicate;
                   6043:                      int success = pushcase (value, label, &duplicate);
                   6044:                      if (success == 1)
                   6045:                        error ("case label not within a switch statement");
                   6046:                      else if (success == 2)
                   6047:                        {
                   6048:                          error ("duplicate case value");
                   6049:                          error_with_decl (duplicate, "this is the first entry for that value");
                   6050:                        }
                   6051:                      else if (success == 3)
                   6052:                        warning ("case value out of range");
                   6053:                      else if (success == 5)
                   6054:                        error ("case label within scope of cleanup or variable array");
                   6055:                    }
                   6056:                  define_case_label (label);
                   6057:                ;
                   6058:     break;}
1.1.1.4 ! root     6059: case 542:
        !          6060: #line 3026 "cp-parse.y"
1.1       root     6061: { register tree value1 = yyvsp[-3].ttype;
                   6062:                  register tree value2 = yyvsp[-1].ttype;
                   6063:                  register tree label
                   6064:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   6065: 
                   6066:                  if (pedantic)
1.1.1.4 ! root     6067:                    pedwarn ("ANSI C++ forbids range expressions in switch statement");
        !          6068: 
1.1       root     6069:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6070:                     Strip such NOP_EXPRs.  */
                   6071:                  if (TREE_CODE (value1) == NOP_EXPR
                   6072:                      && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   6073:                    value1 = TREE_OPERAND (value1, 0);
                   6074: 
                   6075:                  if (TREE_READONLY_DECL_P (value1))
                   6076:                    {
                   6077:                      value1 = decl_constant_value (value1);
                   6078:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6079:                         Strip such NOP_EXPRs.  */
                   6080:                      if (TREE_CODE (value1) == NOP_EXPR
                   6081:                          && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   6082:                        value1 = TREE_OPERAND (value1, 0);
                   6083:                    }
                   6084:                  value1 = fold (value1);
                   6085: 
                   6086:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6087:                     Strip such NOP_EXPRs.  */
                   6088:                  if (TREE_CODE (value2) == NOP_EXPR
                   6089:                      && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   6090:                    value2 = TREE_OPERAND (value2, 0);
                   6091: 
                   6092:                  if (TREE_READONLY_DECL_P (value2))
                   6093:                    {
                   6094:                      value2 = decl_constant_value (value2);
                   6095:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   6096:                         Strip such NOP_EXPRs.  */
                   6097:                      if (TREE_CODE (value2) == NOP_EXPR
                   6098:                          && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   6099:                        value2 = TREE_OPERAND (value2, 0);
                   6100:                    }
                   6101:                  value2 = fold (value2);
                   6102: 
                   6103: 
                   6104:                  if (TREE_CODE (value1) != INTEGER_CST
                   6105:                      && value1 != error_mark_node)
                   6106:                    {
                   6107:                      error ("case label does not reduce to an integer constant");
                   6108:                      value1 = error_mark_node;
                   6109:                    }
                   6110:                  if (TREE_CODE (value2) != INTEGER_CST
                   6111:                      && value2 != error_mark_node)
                   6112:                    {
                   6113:                      error ("case label does not reduce to an integer constant");
                   6114:                      value2 = error_mark_node;
                   6115:                    }
                   6116:                  if (value1 != error_mark_node
                   6117:                      && value2 != error_mark_node)
                   6118:                    {
                   6119:                      tree duplicate;
1.1.1.2   root     6120:                      int success = pushcase_range (value1, value2, label,
                   6121:                                                    &duplicate);
1.1       root     6122:                      if (success == 1)
                   6123:                        error ("case label not within a switch statement");
                   6124:                      else if (success == 2)
                   6125:                        {
                   6126:                          error ("duplicate (or overlapping) case value");
                   6127:                          error_with_decl (duplicate, "this is the first entry overlapping that value");
                   6128:                        }
                   6129:                      else if (success == 3)
                   6130:                        warning ("case value out of range");
                   6131:                      else if (success == 4)
                   6132:                        warning ("empty range specified");
                   6133:                      else if (success == 5)
                   6134:                        error ("case label within scope of cleanup or variable array");
                   6135:                    }
                   6136:                  define_case_label (label);
                   6137:                ;
                   6138:     break;}
1.1.1.4 ! root     6139: case 544:
        !          6140: #line 3105 "cp-parse.y"
1.1       root     6141: {
                   6142:                  tree duplicate;
                   6143:                  register tree label
                   6144:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   6145:                  int success = pushcase (NULL_TREE, label, &duplicate);
                   6146:                  if (success == 1)
                   6147:                    error ("default label not within a switch statement");
                   6148:                  else if (success == 2)
                   6149:                    {
                   6150:                      error ("multiple default labels in one switch");
                   6151:                      error_with_decl (duplicate, "this is the first default label");
                   6152:                    }
                   6153:                  define_case_label (NULL_TREE);
                   6154:                ;
                   6155:     break;}
1.1.1.4 ! root     6156: case 546:
        !          6157: #line 3121 "cp-parse.y"
1.1       root     6158: { emit_line_note (input_filename, lineno);
                   6159:                  if ( ! expand_exit_something ())
                   6160:                    error ("break statement not within loop or switch"); ;
                   6161:     break;}
1.1.1.4 ! root     6162: case 547:
        !          6163: #line 3125 "cp-parse.y"
1.1       root     6164: { emit_line_note (input_filename, lineno);
                   6165:                  if (! expand_continue_loop (0))
                   6166:                    error ("continue statement not within a loop"); ;
                   6167:     break;}
1.1.1.4 ! root     6168: case 548:
        !          6169: #line 3129 "cp-parse.y"
1.1       root     6170: { emit_line_note (input_filename, lineno);
                   6171:                  c_expand_return (NULL_TREE); ;
                   6172:     break;}
1.1.1.4 ! root     6173: case 549:
        !          6174: #line 3132 "cp-parse.y"
1.1       root     6175: { emit_line_note (input_filename, lineno);
                   6176:                  c_expand_return (yyvsp[-1].ttype);
                   6177:                  finish_stmt ();
                   6178:                ;
                   6179:     break;}
1.1.1.4 ! root     6180: case 550:
        !          6181: #line 3137 "cp-parse.y"
1.1       root     6182: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   6183:                  emit_line_note (input_filename, lineno);
                   6184:                  expand_asm (yyvsp[-2].ttype);
                   6185:                  finish_stmt ();
                   6186:                ;
                   6187:     break;}
1.1.1.4 ! root     6188: case 551:
        !          6189: #line 3144 "cp-parse.y"
1.1       root     6190: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
                   6191:                  emit_line_note (input_filename, lineno);
                   6192:                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
                   6193:                                         yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
                   6194:                                         input_filename, lineno);
                   6195:                  finish_stmt ();
                   6196:                ;
                   6197:     break;}
1.1.1.4 ! root     6198: case 552:
        !          6199: #line 3153 "cp-parse.y"
1.1       root     6200: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
                   6201:                  emit_line_note (input_filename, lineno);
                   6202:                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
                   6203:                                         yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
                   6204:                                         input_filename, lineno);
                   6205:                  finish_stmt ();
                   6206:                ;
                   6207:     break;}
1.1.1.4 ! root     6208: case 553:
        !          6209: #line 3163 "cp-parse.y"
1.1       root     6210: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
                   6211:                  emit_line_note (input_filename, lineno);
                   6212:                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
                   6213:                                         yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
                   6214:                                         input_filename, lineno);
                   6215:                  finish_stmt ();
                   6216:                ;
                   6217:     break;}
1.1.1.4 ! root     6218: case 554:
        !          6219: #line 3171 "cp-parse.y"
        !          6220: { emit_line_note (input_filename, lineno);
        !          6221:                  expand_computed_goto (yyvsp[-1].ttype); ;
        !          6222:     break;}
        !          6223: case 555:
        !          6224: #line 3174 "cp-parse.y"
1.1       root     6225: { tree decl;
                   6226:                  emit_line_note (input_filename, lineno);
                   6227:                  decl = lookup_label (yyvsp[-1].ttype);
                   6228:                  TREE_USED (decl) = 1;
                   6229:                  expand_goto (decl); ;
                   6230:     break;}
1.1.1.4 ! root     6231: case 556:
        !          6232: #line 3180 "cp-parse.y"
1.1       root     6233: { finish_stmt (); ;
                   6234:     break;}
1.1.1.4 ! root     6235: case 557:
        !          6236: #line 3182 "cp-parse.y"
1.1       root     6237: { error ("label must be followed by statement");
                   6238:                  yyungetc ('}', 0);
                   6239:                  finish_stmt (); ;
                   6240:     break;}
1.1.1.4 ! root     6241: case 558:
        !          6242: #line 3186 "cp-parse.y"
1.1       root     6243: { finish_stmt (); ;
                   6244:     break;}
1.1.1.4 ! root     6245: case 559:
        !          6246: #line 3189 "cp-parse.y"
1.1       root     6247: { cplus_expand_throw (NULL_TREE); ;
                   6248:     break;}
1.1.1.4 ! root     6249: case 560:
        !          6250: #line 3190 "cp-parse.y"
1.1       root     6251: { cplus_expand_throw (yyvsp[-1].ttype); ;
                   6252:     break;}
1.1.1.4 ! root     6253: case 561:
        !          6254: #line 3192 "cp-parse.y"
1.1       root     6255: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6256:                  finish_stmt (); ;
                   6257:     break;}
1.1.1.4 ! root     6258: case 562:
        !          6259: #line 3195 "cp-parse.y"
1.1       root     6260: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6261:                  finish_stmt (); ;
                   6262:     break;}
1.1.1.4 ! root     6263: case 563:
        !          6264: #line 3198 "cp-parse.y"
1.1       root     6265: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6266:                  finish_stmt (); ;
                   6267:     break;}
1.1.1.4 ! root     6268: case 564:
        !          6269: #line 3201 "cp-parse.y"
1.1       root     6270: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6271:                  finish_stmt (); ;
                   6272:     break;}
1.1.1.4 ! root     6273: case 565:
        !          6274: #line 3204 "cp-parse.y"
1.1       root     6275: { cplus_expand_reraise (yyvsp[-1].ttype);
                   6276:                  finish_stmt (); ;
                   6277:     break;}
1.1.1.4 ! root     6278: case 566:
        !          6279: #line 3207 "cp-parse.y"
1.1       root     6280: {
                   6281:                  tree decl = cplus_expand_end_try (yyvsp[-3].itype);
                   6282:                  yyvsp[-2].ttype = current_exception_type;
                   6283:                  yyvsp[0].ttype = current_exception_decl;
                   6284:                  yyval.ttype = current_exception_object;
                   6285:                  cplus_expand_start_except (yyvsp[-1].ttype, decl);
                   6286:                  pushlevel (0);
                   6287:                  clear_last_expr ();
                   6288:                  push_momentary ();
                   6289:                  expand_start_bindings (0);
                   6290:                  stmt_decl_msg = 0;
                   6291:                ;
                   6292:     break;}
1.1.1.4 ! root     6293: case 567:
        !          6294: #line 3220 "cp-parse.y"
1.1       root     6295: {
                   6296:                  tree decls = getdecls ();
                   6297:                  /* If there is a default exception to handle,
                   6298:                     handle it here.  */
                   6299:                  if (yyvsp[-1].ttype)
                   6300:                    {
                   6301:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6302:                      tree block;
                   6303: 
                   6304:                      pushlevel (1);
                   6305:                      expand_start_bindings (0);
                   6306:                      expand_expr (yyvsp[-1].ttype, 0, 0, 0);
                   6307:                      expand_end_bindings (0, 1, 0);
                   6308:                      block = poplevel (1, 0, 0);
                   6309: 
                   6310:                      /* This is a catch block.  */
                   6311:                      TREE_LANG_FLAG_2 (block) = 1;
                   6312:                      BLOCK_VARS (block) = decl;
                   6313:                    }
                   6314: 
                   6315:                  expand_end_bindings (decls, decls != 0, 1);
                   6316:                  poplevel (decls != 0, 1, 0);
                   6317:                  pop_momentary ();
                   6318:                  current_exception_type = yyvsp[-5].ttype;
                   6319:                  current_exception_decl = yyvsp[-3].ttype;
                   6320:                  current_exception_object = yyvsp[-2].ttype;
                   6321:                  cplus_expand_end_except (yyvsp[-1].ttype);
                   6322:                ;
                   6323:     break;}
1.1.1.4 ! root     6324: case 568:
        !          6325: #line 3249 "cp-parse.y"
1.1       root     6326: {
                   6327:                  cplus_expand_end_try (yyvsp[-1].itype);
                   6328:                  /* These are the important actions of
                   6329:                     `cplus_expand_end_except' which we must emulate.  */
                   6330:                  if (expand_escape_except ())
                   6331:                    expand_end_except ();
                   6332:                  expand_end_bindings (0, 0, 1);
                   6333:                  poplevel (0, 0, 0);
                   6334:                ;
                   6335:     break;}
1.1.1.4 ! root     6336: case 569:
        !          6337: #line 3259 "cp-parse.y"
1.1       root     6338: {
                   6339:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype);
                   6340:                  yyvsp[-1].ttype = current_exception_type;
                   6341:                  yyvsp[0].ttype = current_exception_decl;
                   6342:                  yyval.ttype = current_exception_object;
                   6343:                  cplus_expand_start_except (NULL, decl);
                   6344:                  pushlevel (0);
                   6345:                  clear_last_expr ();
                   6346:                  push_momentary ();
                   6347:                  expand_start_bindings (0);
                   6348:                  stmt_decl_msg = 0;
                   6349:                ;
                   6350:     break;}
1.1.1.4 ! root     6351: case 570:
        !          6352: #line 3272 "cp-parse.y"
1.1       root     6353: {
                   6354:                  tree decls = getdecls ();
                   6355:                  /* If there is a default exception to handle,
                   6356:                     handle it here.  */
                   6357:                  if (yyvsp[0].ttype)
                   6358:                    {
                   6359:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6360:                      tree block;
                   6361: 
                   6362:                      pushlevel (1);
                   6363:                      expand_start_bindings (0);
                   6364:                      expand_expr (yyvsp[0].ttype, 0, 0, 0);
                   6365:                      expand_end_bindings (0, 1, 0);
                   6366:                      block = poplevel (1, 0, 0);
                   6367: 
                   6368:                      /* This is a catch block.  */
                   6369:                      TREE_LANG_FLAG_2 (block) = 1;
                   6370:                      BLOCK_VARS (block) = decl;
                   6371:                    }
                   6372: 
                   6373:                  expand_end_bindings (decls, decls != 0, 1);
                   6374:                  poplevel (decls != 0, 1, 0);
                   6375:                  pop_momentary ();
                   6376:                  current_exception_type = yyvsp[-3].ttype;
                   6377:                  current_exception_decl = yyvsp[-2].ttype;
                   6378:                  current_exception_object = yyvsp[-1].ttype;
                   6379:                  cplus_expand_end_except (yyvsp[0].ttype);
                   6380:                ;
                   6381:     break;}
1.1.1.4 ! root     6382: case 571:
        !          6383: #line 3301 "cp-parse.y"
1.1       root     6384: { tree name = get_identifier ("(compiler error)");
                   6385:                  tree orig_ex_type = current_exception_type;
                   6386:                  tree orig_ex_decl = current_exception_decl;
                   6387:                  tree orig_ex_obj = current_exception_object;
                   6388:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype), decls;
                   6389: 
                   6390:                  /* Start hidden EXCEPT.  */
                   6391:                  cplus_expand_start_except (name, decl);
                   6392:                  pushlevel (0);
                   6393:                  clear_last_expr ();
                   6394:                  push_momentary ();
                   6395:                  expand_start_bindings (0);
                   6396:                  stmt_decl_msg = 0;
                   6397: 
                   6398:                  /* This sets up the reraise.  */
                   6399:                  cplus_expand_reraise (yyvsp[0].ttype);
                   6400: 
                   6401:                  decls = getdecls ();
                   6402:                  expand_end_bindings (decls, decls != 0, 1);
                   6403:                  poplevel (decls != 0, 1, 0);
                   6404:                  pop_momentary ();
                   6405:                  current_exception_type = orig_ex_type;
                   6406:                  current_exception_decl = orig_ex_decl;
                   6407:                  current_exception_object = orig_ex_obj;
                   6408:                  /* This will reraise for us.  */
                   6409:                  cplus_expand_end_except (error_mark_node);
                   6410:                  if (yychar == YYEMPTY)
                   6411:                    yychar = YYLEX;
                   6412:                  if (yychar != ';')
                   6413:                    error ("missing ';' after reraise statement");
                   6414:                ;
                   6415:     break;}
1.1.1.4 ! root     6416: case 572:
        !          6417: #line 3333 "cp-parse.y"
1.1       root     6418: { yyerror ("`except' missing after `try' statement");
                   6419:                  /* Terminate the binding contour started by special
                   6420:                     code in `.pushlevel'.  Automagically pops off
                   6421:                     the conditional we started for `try' stmt.  */
                   6422:                  cplus_expand_end_try (yyvsp[0].itype);
                   6423:                  expand_end_bindings (0, 0, 1);
                   6424:                  poplevel (0, 0, 0);
                   6425:                  pop_momentary ();
                   6426:                  YYERROR; ;
                   6427:     break;}
1.1.1.4 ! root     6428: case 573:
        !          6429: #line 3348 "cp-parse.y"
1.1       root     6430: {
                   6431:                  yyval.itype = 1;
                   6432:                  pop_implicit_try_blocks (NULL_TREE);
                   6433:                ;
                   6434:     break;}
1.1.1.4 ! root     6435: case 574:
        !          6436: #line 3353 "cp-parse.y"
1.1       root     6437: {
                   6438:                  yyval.itype = 1;
                   6439:                  pop_implicit_try_blocks (NULL_TREE);
                   6440:                ;
                   6441:     break;}
1.1.1.4 ! root     6442: case 575:
        !          6443: #line 3358 "cp-parse.y"
1.1       root     6444: {
                   6445:                  yyval.itype = 0;
                   6446:                  pop_implicit_try_blocks (NULL_TREE);
                   6447:                ;
                   6448:     break;}
1.1.1.4 ! root     6449: case 576:
        !          6450: #line 3366 "cp-parse.y"
1.1       root     6451: { tree label;
                   6452:                do_label:
                   6453:                  label = define_label (input_filename, lineno, yyvsp[-1].ttype);
                   6454:                  if (label)
                   6455:                    expand_label (label);
                   6456:                ;
                   6457:     break;}
1.1.1.4 ! root     6458: case 577:
        !          6459: #line 3373 "cp-parse.y"
1.1       root     6460: { goto do_label; ;
                   6461:     break;}
1.1.1.4 ! root     6462: case 578:
        !          6463: #line 3375 "cp-parse.y"
1.1       root     6464: { tree label = define_label (input_filename, lineno, yyvsp[0].ttype);
                   6465:                  if (label)
                   6466:                    expand_label (label);
                   6467:                ;
                   6468:     break;}
1.1.1.4 ! root     6469: case 579:
        !          6470: #line 3381 "cp-parse.y"
1.1       root     6471: { cplus_expand_start_try (0); ;
                   6472:     break;}
1.1.1.4 ! root     6473: case 581:
        !          6474: #line 3387 "cp-parse.y"
1.1       root     6475: {
                   6476:                  yyval.itype = 1;
                   6477:                  pop_implicit_try_blocks (NULL_TREE);
                   6478:                ;
                   6479:     break;}
1.1.1.4 ! root     6480: case 582:
        !          6481: #line 3392 "cp-parse.y"
1.1       root     6482: {
                   6483:                  yyval.itype = 1;
                   6484:                  pop_implicit_try_blocks (NULL_TREE);
                   6485:                ;
                   6486:     break;}
1.1.1.4 ! root     6487: case 583:
        !          6488: #line 3397 "cp-parse.y"
1.1       root     6489: {
                   6490:                  yyval.itype = 0;
                   6491:                  pop_implicit_try_blocks (NULL_TREE);
                   6492:                ;
                   6493:     break;}
1.1.1.4 ! root     6494: case 585:
        !          6495: #line 3404 "cp-parse.y"
1.1       root     6496: { cplus_expand_start_try (0); ;
                   6497:     break;}
1.1.1.4 ! root     6498: case 587:
        !          6499: #line 3408 "cp-parse.y"
1.1       root     6500: { yyval.ttype = NULL_TREE; ;
                   6501:     break;}
1.1.1.4 ! root     6502: case 588:
        !          6503: #line 3410 "cp-parse.y"
1.1       root     6504: {
                   6505:                  tree type = lookup_exception_type (current_class_type, current_class_name, yyvsp[0].ttype);
                   6506:                  if (type == NULL_TREE)
                   6507:                    {
                   6508:                      error ("`%s' is not an exception type",
                   6509:                             IDENTIFIER_POINTER (TREE_VALUE (yyvsp[0].ttype)));
                   6510:                      current_exception_type = NULL_TREE;
                   6511:                      TREE_TYPE (current_exception_object) = error_mark_node;
                   6512:                    }
                   6513:                  else
                   6514:                    {
                   6515:                      current_exception_type = type;
                   6516:                      /* In-place union.  */
                   6517:                      TREE_TYPE (current_exception_object) = type;
                   6518:                    }
                   6519:                  yyvsp[0].ttype = cplus_expand_start_catch (yyvsp[0].ttype);
                   6520:                  pushlevel (1);
                   6521:                  expand_start_bindings (0);
                   6522:                ;
                   6523:     break;}
1.1.1.4 ! root     6524: case 589:
        !          6525: #line 3430 "cp-parse.y"
1.1       root     6526: {
                   6527:                  expand_end_bindings (0, 1, 0);
                   6528:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6529: 
                   6530:                  cplus_expand_end_catch (0);
                   6531: 
                   6532:                  /* Mark this as a catch block.  */
                   6533:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6534:                  if (yyvsp[-2].ttype != error_mark_node)
                   6535:                    {
                   6536:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-2].ttype), 0);
                   6537:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-2].ttype);
                   6538:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6539:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6540:                    }
                   6541:                ;
                   6542:     break;}
1.1.1.4 ! root     6543: case 590:
        !          6544: #line 3447 "cp-parse.y"
1.1       root     6545: {
                   6546:                  if (yyvsp[-1].ttype)
                   6547:                    error ("duplicate default in exception handler");
                   6548:                  current_exception_type = NULL_TREE;
                   6549:                  /* Takes it right out of scope.  */
                   6550:                  TREE_TYPE (current_exception_object) = error_mark_node;
                   6551: 
                   6552:                  if (! expand_catch_default ())
                   6553:                    compiler_error ("default catch botch");
                   6554: 
                   6555:                  /* The default exception is handled as the
                   6556:                     last in the chain of exceptions handled.  */
                   6557:                  do_pending_stack_adjust ();
                   6558:                  start_sequence ();
                   6559:                  yyvsp[-1].ttype = make_node (RTL_EXPR);
                   6560:                  TREE_TYPE (yyvsp[-1].ttype) = void_type_node;
                   6561:                ;
                   6562:     break;}
1.1.1.4 ! root     6563: case 591:
        !          6564: #line 3465 "cp-parse.y"
1.1       root     6565: {
1.1.1.4 ! root     6566:                  extern struct rtx_def *get_insns ();
1.1       root     6567:                  do_pending_stack_adjust ();
                   6568:                  if (! expand_catch (NULL_TREE))
                   6569:                    compiler_error ("except nesting botch");
                   6570:                  if (! expand_end_catch ())
                   6571:                    compiler_error ("except nesting botch");
1.1.1.4 ! root     6572:                  RTL_EXPR_SEQUENCE (yyvsp[-3].ttype) = get_insns ();
1.1       root     6573:                  if (yyvsp[0].ttype)
                   6574:                    {
                   6575:                      /* Mark this block as the default catch block.  */
                   6576:                      TREE_LANG_FLAG_1 (yyvsp[0].ttype) = 1;
                   6577:                      TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6578:                    }
                   6579:                  end_sequence ();
                   6580:                ;
                   6581:     break;}
1.1.1.4 ! root     6582: case 592:
        !          6583: #line 3485 "cp-parse.y"
1.1       root     6584: { yyval.ttype = NULL_TREE; ;
                   6585:     break;}
1.1.1.4 ! root     6586: case 594:
        !          6587: #line 3490 "cp-parse.y"
1.1       root     6588: { yyval.ttype = NULL_TREE; ;
                   6589:     break;}
1.1.1.4 ! root     6590: case 595:
        !          6591: #line 3492 "cp-parse.y"
1.1       root     6592: {
                   6593:                  extern tree ansi_expand_start_catch ();
                   6594:                  extern tree cplus_exception_name ();
                   6595:                  tree type = groktypename (yyvsp[-2].ttype);
                   6596:                  current_exception_type = type;
                   6597:                  /* In-place union.  */
                   6598:                  if (yyvsp[-1].ttype)
                   6599:                    {
                   6600:                      tree tmp;
                   6601:                      tmp = pushdecl (build_decl (VAR_DECL, yyvsp[-1].ttype, type));
                   6602:                      current_exception_object =
                   6603:                          build1 (INDIRECT_REF, type, tmp);
                   6604:                     }
                   6605:                  yyvsp[-2].ttype = ansi_expand_start_catch(type);
                   6606:                  pushlevel (1);
                   6607:                  expand_start_bindings (0);
                   6608:                ;
                   6609:     break;}
1.1.1.4 ! root     6610: case 596:
        !          6611: #line 3510 "cp-parse.y"
1.1       root     6612: {
                   6613:                  expand_end_bindings (0, 1, 0);
                   6614:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6615: 
                   6616:                  cplus_expand_end_catch (0);
                   6617: 
                   6618:                  /* Mark this as a catch block.  */
                   6619:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6620:                  if (yyvsp[-4].ttype != error_mark_node)
                   6621:                    {
                   6622:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-4].ttype), 0);
                   6623:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-4].ttype);
                   6624:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6625:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6626:                    }
                   6627:                ;
                   6628:     break;}
1.1.1.4 ! root     6629: case 597:
        !          6630: #line 3530 "cp-parse.y"
1.1       root     6631: { yyval.ttype = NULL_TREE; ;
                   6632:     break;}
1.1.1.4 ! root     6633: case 598:
        !          6634: #line 3532 "cp-parse.y"
1.1       root     6635: { yyval.ttype = yyvsp[-1].ttype; ;
                   6636:     break;}
1.1.1.4 ! root     6637: case 599:
        !          6638: #line 3534 "cp-parse.y"
1.1       root     6639: { yyval.ttype = NULL_TREE; ;
                   6640:     break;}
1.1.1.4 ! root     6641: case 600:
        !          6642: #line 3539 "cp-parse.y"
1.1       root     6643: { yyval.itype = 0; ;
                   6644:     break;}
1.1.1.4 ! root     6645: case 601:
        !          6646: #line 3541 "cp-parse.y"
1.1       root     6647: { yyval.itype = 0; ;
                   6648:     break;}
1.1.1.4 ! root     6649: case 602:
        !          6650: #line 3543 "cp-parse.y"
1.1       root     6651: { yyval.itype = 1; ;
                   6652:     break;}
1.1.1.4 ! root     6653: case 603:
        !          6654: #line 3545 "cp-parse.y"
1.1       root     6655: { yyval.itype = -1; ;
                   6656:     break;}
1.1.1.4 ! root     6657: case 604:
        !          6658: #line 3552 "cp-parse.y"
1.1       root     6659: { if (pedantic)
1.1.1.4 ! root     6660:                    pedwarn ("ANSI C++ forbids use of `asm' keyword");
1.1       root     6661:                  emit_line_note (input_filename, lineno); ;
                   6662:     break;}
1.1.1.4 ! root     6663: case 605:
        !          6664: #line 3556 "cp-parse.y"
1.1       root     6665: { if (pedantic)
1.1.1.4 ! root     6666:                    pedwarn ("ANSI C++ forbids use of `asm' keyword");
1.1       root     6667:                  emit_line_note (input_filename, lineno); ;
                   6668:     break;}
1.1.1.4 ! root     6669: case 606:
        !          6670: #line 3563 "cp-parse.y"
1.1       root     6671: { yyval.ttype = NULL_TREE; ;
                   6672:     break;}
1.1.1.4 ! root     6673: case 608:
        !          6674: #line 3566 "cp-parse.y"
1.1       root     6675: { yyval.ttype = NULL_TREE; ;
                   6676:     break;}
1.1.1.4 ! root     6677: case 609:
        !          6678: #line 3572 "cp-parse.y"
1.1       root     6679: { yyval.ttype = NULL_TREE; ;
                   6680:     break;}
1.1.1.4 ! root     6681: case 612:
        !          6682: #line 3579 "cp-parse.y"
1.1       root     6683: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   6684:     break;}
1.1.1.4 ! root     6685: case 613:
        !          6686: #line 3584 "cp-parse.y"
1.1       root     6687: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
                   6688:     break;}
1.1.1.4 ! root     6689: case 614:
        !          6690: #line 3589 "cp-parse.y"
1.1       root     6691: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
                   6692:     break;}
1.1.1.4 ! root     6693: case 615:
        !          6694: #line 3591 "cp-parse.y"
1.1       root     6695: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   6696:     break;}
1.1.1.4 ! root     6697: case 616:
        !          6698: #line 3600 "cp-parse.y"
1.1       root     6699: {
                   6700:                  if (strict_prototype)
                   6701:                    yyval.ttype = void_list_node;
                   6702:                  else
                   6703:                    yyval.ttype = NULL_TREE;
                   6704:                ;
                   6705:     break;}
1.1.1.4 ! root     6706: case 617:
        !          6707: #line 3607 "cp-parse.y"
1.1       root     6708: {
                   6709:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6710:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6711:                ;
                   6712:     break;}
1.1.1.4 ! root     6713: case 618:
        !          6714: #line 3612 "cp-parse.y"
1.1       root     6715: {
                   6716:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6717:                ;
                   6718:     break;}
1.1.1.4 ! root     6719: case 619:
        !          6720: #line 3617 "cp-parse.y"
1.1       root     6721: {
                   6722:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6723:                ;
                   6724:     break;}
1.1.1.4 ! root     6725: case 620:
        !          6726: #line 3621 "cp-parse.y"
1.1       root     6727: {
1.1.1.4 ! root     6728:                  /* ARM $8.2.5 has this as a boxed-off comment.  */
        !          6729:                  if (pedantic)
        !          6730:                    warning ("use of `...' without a first argument is non-portable");
1.1       root     6731:                  yyval.ttype = NULL_TREE;
                   6732:                ;
                   6733:     break;}
1.1.1.4 ! root     6734: case 621:
        !          6735: #line 3628 "cp-parse.y"
1.1       root     6736: {
                   6737:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6738:                ;
                   6739:     break;}
1.1.1.4 ! root     6740: case 622:
        !          6741: #line 3632 "cp-parse.y"
1.1       root     6742: {
                   6743:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6744:                ;
                   6745:     break;}
1.1.1.4 ! root     6746: case 623:
        !          6747: #line 3636 "cp-parse.y"
1.1       root     6748: {
                   6749:                  /* This helps us recover from really nasty
                   6750:                     parse errors, for example, a missing right
                   6751:                     parenthesis.  */
                   6752:                  yyerror ("possibly missing ')'");
                   6753:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6754:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6755:                  yyungetc (':', 0);
                   6756:                  yychar = ')';
                   6757:                ;
                   6758:     break;}
1.1.1.4 ! root     6759: case 624:
        !          6760: #line 3651 "cp-parse.y"
1.1       root     6761: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   6762:     break;}
1.1.1.4 ! root     6763: case 625:
        !          6764: #line 3653 "cp-parse.y"
1.1       root     6765: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
                   6766:     break;}
1.1.1.4 ! root     6767: case 626:
        !          6768: #line 3655 "cp-parse.y"
1.1       root     6769: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6770:     break;}
1.1.1.4 ! root     6771: case 627:
        !          6772: #line 3657 "cp-parse.y"
1.1       root     6773: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6774:     break;}
1.1.1.4 ! root     6775: case 628:
        !          6776: #line 3659 "cp-parse.y"
1.1       root     6777: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6778:     break;}
1.1.1.4 ! root     6779: case 629:
        !          6780: #line 3661 "cp-parse.y"
1.1       root     6781: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6782:     break;}
1.1.1.4 ! root     6783: case 630:
        !          6784: #line 3682 "cp-parse.y"
1.1       root     6785: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6786:                  see_typename (); ;
                   6787:     break;}
1.1.1.4 ! root     6788: case 631:
        !          6789: #line 3685 "cp-parse.y"
1.1       root     6790: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6791:                  see_typename (); ;
                   6792:     break;}
1.1.1.4 ! root     6793: case 634:
        !          6794: #line 3692 "cp-parse.y"
1.1       root     6795: { yyval.ttype = yyvsp[0].ttype; ;
                   6796:     break;}
1.1.1.4 ! root     6797: case 635:
        !          6798: #line 3696 "cp-parse.y"
1.1       root     6799: { see_typename (); ;
                   6800:     break;}
1.1.1.4 ! root     6801: case 636:
        !          6802: #line 3700 "cp-parse.y"
1.1       root     6803: { dont_see_typename (); ;
                   6804:     break;}
1.1.1.4 ! root     6805: case 637:
        !          6806: #line 3719 "cp-parse.y"
1.1       root     6807: {
                   6808:                  warning ("type specifier omitted for parameter");
                   6809:                  yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
                   6810:                ;
                   6811:     break;}
1.1.1.4 ! root     6812: case 638:
        !          6813: #line 3727 "cp-parse.y"
1.1       root     6814: { yyval.ttype = NULL_TREE; ;
                   6815:     break;}
1.1.1.4 ! root     6816: case 639:
        !          6817: #line 3729 "cp-parse.y"
1.1       root     6818: { yyval.ttype = yyvsp[0].ttype; ;
                   6819:     break;}
1.1.1.4 ! root     6820: case 640:
        !          6821: #line 3731 "cp-parse.y"
1.1       root     6822: { yyval.ttype = yyvsp[-1].ttype; ;
                   6823:     break;}
1.1.1.4 ! root     6824: case 641:
        !          6825: #line 3736 "cp-parse.y"
1.1       root     6826: { yyval.ttype = void_list_node; ;
                   6827:     break;}
1.1.1.4 ! root     6828: case 642:
        !          6829: #line 3738 "cp-parse.y"
1.1       root     6830: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6831:     break;}
1.1.1.4 ! root     6832: case 643:
        !          6833: #line 3740 "cp-parse.y"
1.1       root     6834: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6835:     break;}
1.1.1.4 ! root     6836: case 644:
        !          6837: #line 3742 "cp-parse.y"
1.1       root     6838: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6839:     break;}
1.1.1.4 ! root     6840: case 645:
        !          6841: #line 3744 "cp-parse.y"
1.1       root     6842: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6843:     break;}
1.1.1.4 ! root     6844: case 646:
        !          6845: #line 3746 "cp-parse.y"
1.1       root     6846: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   6847:     break;}
1.1.1.4 ! root     6848: case 648:
        !          6849: #line 3752 "cp-parse.y"
1.1       root     6850: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6851:     break;}
1.1.1.4 ! root     6852: case 650:
        !          6853: #line 3758 "cp-parse.y"
1.1       root     6854: {
                   6855:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6856:                  yyval.ttype = yyvsp[0].ttype;
                   6857:                ;
                   6858:     break;}
1.1.1.4 ! root     6859: case 652:
        !          6860: #line 3767 "cp-parse.y"
1.1       root     6861: {
                   6862:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6863:                  yyval.ttype = yyvsp[0].ttype;
                   6864:                ;
                   6865:     break;}
1.1.1.4 ! root     6866: case 653:
        !          6867: #line 3775 "cp-parse.y"
1.1       root     6868: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
                   6869:     break;}
1.1.1.4 ! root     6870: case 654:
        !          6871: #line 3777 "cp-parse.y"
1.1       root     6872: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
                   6873:     break;}
1.1.1.4 ! root     6874: case 655:
        !          6875: #line 3779 "cp-parse.y"
1.1       root     6876: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
                   6877:     break;}
1.1.1.4 ! root     6878: case 656:
        !          6879: #line 3781 "cp-parse.y"
1.1       root     6880: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
                   6881:     break;}
1.1.1.4 ! root     6882: case 657:
        !          6883: #line 3783 "cp-parse.y"
1.1       root     6884: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
                   6885:     break;}
1.1.1.4 ! root     6886: case 658:
        !          6887: #line 3785 "cp-parse.y"
1.1       root     6888: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
                   6889:     break;}
1.1.1.4 ! root     6890: case 659:
        !          6891: #line 3787 "cp-parse.y"
1.1       root     6892: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
                   6893:     break;}
1.1.1.4 ! root     6894: case 660:
        !          6895: #line 3789 "cp-parse.y"
1.1       root     6896: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
                   6897:     break;}
1.1.1.4 ! root     6898: case 661:
        !          6899: #line 3791 "cp-parse.y"
1.1       root     6900: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
                   6901:     break;}
1.1.1.4 ! root     6902: case 662:
        !          6903: #line 3793 "cp-parse.y"
1.1       root     6904: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
                   6905:     break;}
1.1.1.4 ! root     6906: case 663:
        !          6907: #line 3795 "cp-parse.y"
1.1       root     6908: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6909:     break;}
1.1.1.4 ! root     6910: case 664:
        !          6911: #line 3797 "cp-parse.y"
1.1       root     6912: { yyval.ttype = ansi_opname[LT_EXPR]; ;
                   6913:     break;}
1.1.1.4 ! root     6914: case 665:
        !          6915: #line 3799 "cp-parse.y"
1.1       root     6916: { yyval.ttype = ansi_opname[GT_EXPR]; ;
                   6917:     break;}
1.1.1.4 ! root     6918: case 666:
        !          6919: #line 3801 "cp-parse.y"
1.1       root     6920: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6921:     break;}
1.1.1.4 ! root     6922: case 667:
        !          6923: #line 3803 "cp-parse.y"
1.1       root     6924: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
                   6925:     break;}
1.1.1.4 ! root     6926: case 668:
        !          6927: #line 3805 "cp-parse.y"
1.1       root     6928: {
                   6929:                  yyval.ttype = ansi_opname [MODIFY_EXPR];
                   6930:                  if (current_class_type)
                   6931:                    {
                   6932:                      TYPE_HAS_ASSIGNMENT (current_class_type) = 1;
                   6933:                      TYPE_GETS_ASSIGNMENT (current_class_type) = 1;
                   6934:                    }
                   6935:                ;
                   6936:     break;}
1.1.1.4 ! root     6937: case 669:
        !          6938: #line 3814 "cp-parse.y"
1.1       root     6939: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6940:     break;}
1.1.1.4 ! root     6941: case 670:
        !          6942: #line 3816 "cp-parse.y"
1.1       root     6943: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6944:     break;}
1.1.1.4 ! root     6945: case 671:
        !          6946: #line 3818 "cp-parse.y"
1.1       root     6947: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
                   6948:     break;}
1.1.1.4 ! root     6949: case 672:
        !          6950: #line 3820 "cp-parse.y"
1.1       root     6951: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
                   6952:     break;}
1.1.1.4 ! root     6953: case 673:
        !          6954: #line 3822 "cp-parse.y"
1.1       root     6955: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
                   6956:     break;}
1.1.1.4 ! root     6957: case 674:
        !          6958: #line 3824 "cp-parse.y"
1.1       root     6959: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
                   6960:     break;}
1.1.1.4 ! root     6961: case 675:
        !          6962: #line 3826 "cp-parse.y"
1.1       root     6963: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
                   6964:     break;}
1.1.1.4 ! root     6965: case 676:
        !          6966: #line 3828 "cp-parse.y"
1.1       root     6967: { yyval.ttype = ansi_opname[COND_EXPR]; ;
                   6968:     break;}
1.1.1.4 ! root     6969: case 677:
        !          6970: #line 3830 "cp-parse.y"
1.1       root     6971: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6972:     break;}
1.1.1.4 ! root     6973: case 678:
        !          6974: #line 3832 "cp-parse.y"
1.1       root     6975: { yyval.ttype = ansi_opname[COMPONENT_REF];
                   6976:                  if (current_class_type)
                   6977:                    {
                   6978:                      tree t = current_class_type;
                   6979:                      while (t)
                   6980:                        {
                   6981:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6982:                          t = TYPE_NEXT_VARIANT (t);
                   6983:                        }
                   6984:                    }
                   6985:                ;
                   6986:     break;}
1.1.1.4 ! root     6987: case 679:
        !          6988: #line 3844 "cp-parse.y"
1.1       root     6989: { yyval.ttype = ansi_opname[MEMBER_REF];
                   6990:                  if (current_class_type)
                   6991:                    {
                   6992:                      tree t = current_class_type;
                   6993:                      while (t)
                   6994:                        {
                   6995:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6996:                          t = TYPE_NEXT_VARIANT (t);
                   6997:                        }
                   6998:                    }
                   6999:                ;
                   7000:     break;}
1.1.1.4 ! root     7001: case 680:
        !          7002: #line 3856 "cp-parse.y"
1.1       root     7003: {
                   7004:                  if (yychar == YYEMPTY)
                   7005:                    yychar = YYLEX;
                   7006:                  if (yychar == '(' || yychar == LEFT_RIGHT)
                   7007:                    {
                   7008:                      yyval.ttype = ansi_opname[METHOD_CALL_EXPR];
                   7009:                      if (current_class_type)
                   7010:                        {
                   7011:                          tree t = current_class_type;
                   7012:                          while (t)
                   7013:                            {
                   7014:                              TYPE_OVERLOADS_METHOD_CALL_EXPR (t) = 1;
                   7015:                              t = TYPE_NEXT_VARIANT (t);
                   7016:                            }
                   7017:                        }
                   7018:                    }
                   7019:                  else
                   7020:                    {
                   7021:                      yyval.ttype = build_parse_node (CALL_EXPR, ansi_opname[COMPONENT_REF], void_list_node, yyvsp[0].ttype);
                   7022:                      if (current_class_type)
                   7023:                        {
                   7024:                          tree t = current_class_type;
                   7025:                          while (t)
                   7026:                            {
                   7027:                              TYPE_OVERLOADS_ARROW (t) = 1;
                   7028:                              t = TYPE_NEXT_VARIANT (t);
                   7029:                            }
                   7030:                        }
                   7031:                    }
                   7032:                ;
                   7033:     break;}
1.1.1.4 ! root     7034: case 681:
        !          7035: #line 3887 "cp-parse.y"
1.1       root     7036: { yyval.ttype = ansi_opname[CALL_EXPR];
                   7037:                  if (current_class_type)
                   7038:                    {
                   7039:                      tree t = current_class_type;
                   7040:                      while (t)
                   7041:                        {
                   7042:                          TYPE_OVERLOADS_CALL_EXPR (t) = 1;
                   7043:                          t = TYPE_NEXT_VARIANT (t);
                   7044:                        }
                   7045:                    }
                   7046:                ;
                   7047:     break;}
1.1.1.4 ! root     7048: case 682:
        !          7049: #line 3899 "cp-parse.y"
1.1       root     7050: { yyval.ttype = ansi_opname[ARRAY_REF];
                   7051:                  if (current_class_type)
                   7052:                    {
                   7053:                      tree t = current_class_type;
                   7054:                      while (t)
                   7055:                        {
                   7056:                          TYPE_OVERLOADS_ARRAY_REF (t) = 1;
                   7057:                          t = TYPE_NEXT_VARIANT (t);
                   7058:                        }
                   7059:                    }
                   7060:                ;
                   7061:     break;}
1.1.1.4 ! root     7062: case 683:
        !          7063: #line 3911 "cp-parse.y"
1.1       root     7064: {
                   7065:                  yyval.ttype = ansi_opname[NEW_EXPR];
                   7066:                  if (current_class_type)
                   7067:                    {
                   7068:                      tree t = current_class_type;
                   7069:                      while (t)
                   7070:                        {
                   7071:                          TREE_GETS_NEW (t) = 1;
                   7072:                          t = TYPE_NEXT_VARIANT (t);
                   7073:                        }
                   7074:                    }
                   7075:                ;
                   7076:     break;}
1.1.1.4 ! root     7077: case 684:
        !          7078: #line 3924 "cp-parse.y"
1.1       root     7079: {
                   7080:                  yyval.ttype = ansi_opname[DELETE_EXPR];
                   7081:                  if (current_class_type)
                   7082:                    {
                   7083:                      tree t = current_class_type;
                   7084:                      while (t)
                   7085:                        {
                   7086:                          TREE_GETS_DELETE (t) = 1;
                   7087:                          t = TYPE_NEXT_VARIANT (t);
                   7088:                        }
                   7089:                    }
                   7090:                ;
                   7091:     break;}
1.1.1.4 ! root     7092: case 685:
        !          7093: #line 3940 "cp-parse.y"
        !          7094: { yyval.ttype = build1 (TYPE_EXPR, yyvsp[-1].ttype, yyvsp[0].ttype); ;
1.1       root     7095:     break;}
1.1.1.4 ! root     7096: case 686:
        !          7097: #line 3942 "cp-parse.y"
1.1       root     7098: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
                   7099:     break;}
                   7100: }
                   7101:    /* the action file gets copied in in place of this dollarsign */
                   7102: #line 440 "bison.simple"
                   7103: 
                   7104:   yyvsp -= yylen;
                   7105:   yyssp -= yylen;
                   7106: #ifdef YYLSP_NEEDED
                   7107:   yylsp -= yylen;
                   7108: #endif
                   7109: 
                   7110: #if YYDEBUG != 0
                   7111:   if (yydebug)
                   7112:     {
                   7113:       short *ssp1 = yyss - 1;
                   7114:       fprintf (stderr, "state stack now");
                   7115:       while (ssp1 != yyssp)
                   7116:        fprintf (stderr, " %d", *++ssp1);
                   7117:       fprintf (stderr, "\n");
                   7118:     }
                   7119: #endif
                   7120: 
                   7121:   *++yyvsp = yyval;
                   7122: 
                   7123: #ifdef YYLSP_NEEDED
                   7124:   yylsp++;
                   7125:   if (yylen == 0)
                   7126:     {
                   7127:       yylsp->first_line = yylloc.first_line;
                   7128:       yylsp->first_column = yylloc.first_column;
                   7129:       yylsp->last_line = (yylsp-1)->last_line;
                   7130:       yylsp->last_column = (yylsp-1)->last_column;
                   7131:       yylsp->text = 0;
                   7132:     }
                   7133:   else
                   7134:     {
                   7135:       yylsp->last_line = (yylsp+yylen-1)->last_line;
                   7136:       yylsp->last_column = (yylsp+yylen-1)->last_column;
                   7137:     }
                   7138: #endif
                   7139: 
                   7140:   /* Now "shift" the result of the reduction.
                   7141:      Determine what state that goes to,
                   7142:      based on the state we popped back to
                   7143:      and the rule number reduced by.  */
                   7144: 
                   7145:   yyn = yyr1[yyn];
                   7146: 
                   7147:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
                   7148:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   7149:     yystate = yytable[yystate];
                   7150:   else
                   7151:     yystate = yydefgoto[yyn - YYNTBASE];
                   7152: 
                   7153:   goto yynewstate;
                   7154: 
                   7155: yyerrlab:   /* here on detecting error */
                   7156: 
                   7157:   if (! yyerrstatus)
                   7158:     /* If not already recovering from an error, report this error.  */
                   7159:     {
                   7160:       ++yynerrs;
                   7161: 
                   7162: #ifdef YYERROR_VERBOSE
                   7163:       yyn = yypact[yystate];
                   7164: 
                   7165:       if (yyn > YYFLAG && yyn < YYLAST)
                   7166:        {
                   7167:          int size = 0;
                   7168:          char *msg;
                   7169:          int x, count;
                   7170: 
                   7171:          count = 0;
                   7172:          for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   7173:            if (yycheck[x + yyn] == x)
                   7174:              size += strlen(yytname[x]) + 15, count++;
1.1.1.3   root     7175:          msg = (char *) malloc(size + 15);
                   7176:          if (msg != 0)
1.1.1.2   root     7177:            {
1.1.1.3   root     7178:              strcpy(msg, "parse error");
                   7179: 
                   7180:              if (count < 5)
                   7181:                {
                   7182:                  count = 0;
                   7183:                  for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   7184:                    if (yycheck[x + yyn] == x)
                   7185:                      {
                   7186:                        strcat(msg, count == 0 ? ", expecting `" : " or `");
                   7187:                        strcat(msg, yytname[x]);
                   7188:                        strcat(msg, "'");
                   7189:                        count++;
                   7190:                      }
                   7191:                }
                   7192:              yyerror(msg);
                   7193:              free(msg);
1.1       root     7194:            }
1.1.1.3   root     7195:          else
                   7196:            yyerror ("parse error; also virtual memory exceeded");
1.1       root     7197:        }
                   7198:       else
                   7199: #endif /* YYERROR_VERBOSE */
                   7200:        yyerror("parse error");
                   7201:     }
                   7202: 
                   7203: yyerrlab1:   /* here on error raised explicitly by an action */
                   7204: 
                   7205:   if (yyerrstatus == 3)
                   7206:     {
                   7207:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
                   7208: 
                   7209:       /* return failure if at end of input */
                   7210:       if (yychar == YYEOF)
                   7211:        YYABORT;
                   7212: 
                   7213: #if YYDEBUG != 0
                   7214:       if (yydebug)
                   7215:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
                   7216: #endif
                   7217: 
                   7218:       yychar = YYEMPTY;
                   7219:     }
                   7220: 
                   7221:   /* Else will try to reuse lookahead token
                   7222:      after shifting the error token.  */
                   7223: 
                   7224:   yyerrstatus = 3;             /* Each real token shifted decrements this */
                   7225: 
                   7226:   goto yyerrhandle;
                   7227: 
                   7228: yyerrdefault:  /* current state does not do anything special for the error token. */
                   7229: 
                   7230: #if 0
                   7231:   /* This is wrong; only states that explicitly want error tokens
                   7232:      should shift them.  */
                   7233:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
                   7234:   if (yyn) goto yydefault;
                   7235: #endif
                   7236: 
                   7237: yyerrpop:   /* pop the current state because it cannot handle the error token */
                   7238: 
                   7239:   if (yyssp == yyss) YYABORT;
                   7240:   yyvsp--;
                   7241:   yystate = *--yyssp;
                   7242: #ifdef YYLSP_NEEDED
                   7243:   yylsp--;
                   7244: #endif
                   7245: 
                   7246: #if YYDEBUG != 0
                   7247:   if (yydebug)
                   7248:     {
                   7249:       short *ssp1 = yyss - 1;
                   7250:       fprintf (stderr, "Error: state stack now");
                   7251:       while (ssp1 != yyssp)
                   7252:        fprintf (stderr, " %d", *++ssp1);
                   7253:       fprintf (stderr, "\n");
                   7254:     }
                   7255: #endif
                   7256: 
                   7257: yyerrhandle:
                   7258: 
                   7259:   yyn = yypact[yystate];
                   7260:   if (yyn == YYFLAG)
                   7261:     goto yyerrdefault;
                   7262: 
                   7263:   yyn += YYTERROR;
                   7264:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
                   7265:     goto yyerrdefault;
                   7266: 
                   7267:   yyn = yytable[yyn];
                   7268:   if (yyn < 0)
                   7269:     {
                   7270:       if (yyn == YYFLAG)
                   7271:        goto yyerrpop;
                   7272:       yyn = -yyn;
                   7273:       goto yyreduce;
                   7274:     }
                   7275:   else if (yyn == 0)
                   7276:     goto yyerrpop;
                   7277: 
                   7278:   if (yyn == YYFINAL)
                   7279:     YYACCEPT;
                   7280: 
                   7281: #if YYDEBUG != 0
                   7282:   if (yydebug)
                   7283:     fprintf(stderr, "Shifting error token, ");
                   7284: #endif
                   7285: 
                   7286:   *++yyvsp = yylval;
                   7287: #ifdef YYLSP_NEEDED
                   7288:   *++yylsp = yylloc;
                   7289: #endif
                   7290: 
                   7291:   yystate = yyn;
                   7292:   goto yynewstate;
                   7293: }
1.1.1.4 ! root     7294: #line 3945 "cp-parse.y"
1.1.1.2   root     7295: 
1.1       root     7296: 
1.1.1.2   root     7297: tree
                   7298: get_current_declspecs ()
                   7299: {
                   7300:   return current_declspecs;
                   7301: }

unix.superglobalmegacorp.com

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