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

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: 
                     91: #ifdef GATHER_STATISTICS
                     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"
                    103: #include "cp-lex.h"
                    104: #include "cp-tree.h"
                    105: #include "assert.h"
                    106: 
                    107: extern tree void_list_node;
                    108: 
                    109: #ifndef errno
                    110: extern int errno;
                    111: #endif
                    112: 
                    113: extern int end_of_file;
                    114: 
                    115: void yyerror ();
                    116: 
                    117: /* Like YYERROR but do call yyerror.  */
                    118: #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
                    119: 
                    120: static void position_after_white_space ();
                    121: 
                    122: /* The elements of `ridpointers' are identifier nodes
                    123:    for the reserved type names and storage classes.
                    124:    It is indexed by a RID_... value.  */
                    125: 
                    126: tree ridpointers[(int) RID_MAX];
                    127: #define NORID RID_UNUSED
                    128: 
                    129: /* Contains error message to give if user tries to declare
                    130:    a variable where one does not belong.  */
                    131: static char *stmt_decl_msg = 0;
                    132: 
                    133: /* Nonzero if we have an `extern "C"' acting as an extern specifier.  */
                    134: 
                    135: static int have_extern_spec;
                    136: 
                    137: void yyhook ();
                    138: 
                    139: /* Cons up an empty parameter list.  */
                    140: #ifdef __GNUC__
                    141: __inline
                    142: #endif
                    143: static tree
                    144: empty_parms ()
                    145: {
                    146:   tree parms;
                    147: 
                    148:   if (strict_prototype)
                    149:     parms = void_list_node;
                    150:   else
                    151:     parms = NULL_TREE;
                    152:   return parms;
                    153: }
                    154: 
                    155: #line 110 "cp-parse.y"
1.1.1.2   root      156: typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
                    157: #line 266 "cp-parse.y"
1.1       root      158: 
                    159: /* the declaration found for the last IDENTIFIER token read in.
                    160:    yylex must look this up to detect typedefs, which get token type TYPENAME,
                    161:    so it is left around in case the identifier is not a typedef but is
                    162:    used in a context which makes it a reference to a variable.  */
                    163: tree lastiddecl;
                    164: 
                    165: /* Back-door communication channel to the lexer.  */
                    166: extern int looking_for_typename;
                    167: 
                    168: tree make_pointer_declarator (), make_reference_declarator ();
                    169: 
                    170: void reinit_parse_for_function ();
                    171: void reinit_parse_for_method ();
                    172: 
                    173: /* List of types and structure classes of the current declaration.  */
                    174: tree current_declspecs;
                    175: 
                    176: /* When defining an aggregate, this is the most recent one being defined.  */
                    177: static tree current_aggr;
                    178: 
                    179: int undeclared_variable_notice;        /* 1 if we explained undeclared var errors.  */
                    180: 
                    181: int yylex ();
                    182: 
1.1.1.2   root      183: static
                    184: #ifdef __GNUC__
                    185: __inline
                    186: #endif
                    187: void yyprint ();
1.1       root      188: #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
                    189: 
                    190: #ifndef YYLTYPE
                    191: typedef
                    192:   struct yyltype
                    193:     {
                    194:       int timestamp;
                    195:       int first_line;
                    196:       int first_column;
                    197:       int last_line;
                    198:       int last_column;
                    199:       char *text;
                    200:    }
                    201:   yyltype;
                    202: 
                    203: #define YYLTYPE yyltype
                    204: #endif
                    205: 
                    206: #include <stdio.h>
                    207: 
                    208: #ifndef __STDC__
                    209: #define const
                    210: #endif
                    211: 
                    212: 
                    213: 
1.1.1.3 ! root      214: #define        YYFINAL         1247
1.1       root      215: #define        YYFLAG          -32768
1.1.1.2   root      216: #define        YYNTBASE        109
1.1       root      217: 
1.1.1.3 ! root      218: #define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 299)
1.1       root      219: 
                    220: static const char yytranslate[] = {     0,
                    221:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    222:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    223:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.2   root      224:      2,     2,   107,     2,     2,     2,    72,    60,     2,    82,
                    225:    103,    70,    68,    50,    69,    80,    71,     2,     2,     2,
                    226:      2,     2,     2,     2,     2,     2,     2,    54,   104,    64,
                    227:     52,    65,    53,     2,     2,     2,     2,     2,     2,     2,
1.1       root      228:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    229:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.2   root      230:     83,     2,   108,    59,     2,     2,     2,     2,     2,     2,
1.1       root      231:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    232:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.2   root      233:      2,     2,    49,    58,   105,   106,     2,     2,     2,     2,
1.1       root      234:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    235:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    236:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    237:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    238:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    239:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    240:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    241:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    242:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    243:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    244:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    245:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
                    246:      2,     2,     2,     2,     2,     1,     2,     3,     4,     5,
                    247:      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
                    248:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
                    249:     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
                    250:     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1.1.1.2   root      251:     46,    47,    48,    51,    55,    56,    57,    61,    62,    63,
                    252:     66,    67,    73,    74,    75,    76,    77,    78,    79,    81,
1.1       root      253:     84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1.1.1.2   root      254:     94,    95,    96,    97,    98,    99,   100,   101,   102
1.1       root      255: };
                    256: 
                    257: static const short yyprhs[] = {     0,
                    258:      0,     1,     3,     4,     7,    10,    11,    12,    14,    16,
                    259:     18,    20,    26,    31,    35,    40,    45,    47,    48,    54,
                    260:     56,    60,    63,    68,    72,    74,    78,    80,    84,    85,
                    261:     91,    92,    98,    99,   105,   106,   112,   116,   120,   127,
1.1.1.2   root      262:    135,   140,   144,   148,   150,   152,   154,   156,   158,   161,
                    263:    165,   169,   173,   177,   180,   183,   186,   189,   191,   195,
                    264:    200,   204,   210,   215,   219,   223,   226,   230,   234,   237,
                    265:    244,   251,   256,   261,   263,   270,   275,   279,   286,   291,
                    266:    295,   298,   301,   303,   307,   312,   315,   319,   320,   321,
                    267:    323,   327,   330,   334,   336,   341,   344,   349,   352,   358,
                    268:    362,   364,   366,   368,   370,   372,   374,   376,   378,   380,
                    269:    383,   385,   388,   391,   394,   398,   402,   404,   407,   410,
                    270:    414,   419,   421,   423,   424,   425,   427,   431,   433,   435,
                    271:    436,   443,   444,   446,   447,   450,   452,   454,   456,   458,
                    272:    460,   462,   464,   466,   470,   474,   476,   477,   481,   484,
                    273:    487,   490,   493,   496,   501,   504,   509,   513,   520,   525,
                    274:    531,   541,   551,   558,   565,   569,   572,   577,   583,   585,
                    275:    590,   598,   603,   608,   613,   615,   619,   623,   627,   631,
                    276:    635,   639,   643,   647,   651,   655,   659,   663,   667,   671,
                    277:    675,   679,   683,   689,   693,   697,   701,   704,   706,   708,
                    278:    710,   712,   716,   720,   721,   726,   727,   734,   737,   742,
                    279:    745,   749,   752,   755,   757,   762,   767,   770,   773,   776,
                    280:    779,   785,   789,   795,   799,   806,   811,   813,   818,   821,
                    281:    827,   828,   830,   832,   835,   837,   840,   841,   844,   847,
                    282:    850,   854,   858,   862,   866,   869,   872,   874,   876,   879,
                    283:    882,   884,   887,   890,   894,   896,   898,   901,   904,   906,
                    284:    908,   911,   914,   916,   919,   922,   926,   928,   931,   933,
                    285:    935,   937,   939,   944,   949,   951,   953,   955,   957,   959,
                    286:    963,   965,   969,   970,   975,   976,   984,   989,   990,   998,
                    287:   1003,  1004,  1012,  1017,  1018,  1025,  1027,  1031,  1033,  1038,
1.1.1.3 ! root      288:   1047,  1049,  1053,  1055,  1058,  1062,  1067,  1069,  1071,  1075,
        !           289:   1080,  1087,  1091,  1097,  1098,  1106,  1111,  1112,  1119,  1123,
        !           290:   1126,  1131,  1133,  1134,  1136,  1137,  1139,  1141,  1144,  1150,
        !           291:   1153,  1156,  1159,  1162,  1165,  1168,  1171,  1175,  1179,  1182,
        !           292:   1183,  1187,  1188,  1192,  1195,  1197,  1199,  1200,  1202,  1205,
        !           293:   1207,  1211,  1213,  1216,  1220,  1222,  1224,  1226,  1229,  1232,
        !           294:   1234,  1235,  1237,  1242,  1246,  1248,  1251,  1254,  1258,  1264,
        !           295:   1270,  1274,  1278,  1282,  1286,  1290,  1296,  1302,  1306,  1310,
        !           296:   1314,  1318,  1320,  1323,  1326,  1330,  1334,  1335,  1337,  1341,
        !           297:   1346,  1353,  1358,  1362,  1365,  1370,  1377,  1382,  1386,  1389,
        !           298:   1391,  1395,  1397,  1401,  1404,  1407,  1408,  1410,  1413,  1415,
        !           299:   1418,  1419,  1422,  1423,  1426,  1432,  1438,  1442,  1448,  1453,
        !           300:   1457,  1461,  1467,  1469,  1471,  1477,  1481,  1485,  1487,  1493,
        !           301:   1499,  1503,  1509,  1514,  1518,  1522,  1524,  1526,  1530,  1534,
        !           302:   1540,  1546,  1550,  1556,  1560,  1564,  1568,  1573,  1577,  1579,
        !           303:   1581,  1584,  1587,  1590,  1593,  1597,  1601,  1605,  1609,  1617,
        !           304:   1625,  1631,  1639,  1643,  1651,  1659,  1665,  1673,  1677,  1679,
        !           305:   1683,  1686,  1688,  1692,  1696,  1699,  1701,  1705,  1709,  1712,
        !           306:   1718,  1722,  1727,  1731,  1736,  1739,  1743,  1746,  1750,  1755,
        !           307:   1759,  1764,  1770,  1776,  1778,  1780,  1783,  1786,  1789,  1790,
        !           308:   1791,  1793,  1795,  1798,  1802,  1804,  1807,  1810,  1816,  1822,
        !           309:   1823,  1830,  1832,  1834,  1837,  1838,  1843,  1845,  1846,  1847,
        !           310:   1855,  1856,  1857,  1867,  1868,  1869,  1870,  1880,  1881,  1882,
        !           311:   1883,  1893,  1894,  1901,  1902,  1908,  1909,  1917,  1918,  1923,
        !           312:   1926,  1929,  1932,  1936,  1943,  1952,  1963,  1976,  1980,  1983,
        !           313:   1986,  1988,  1991,  1995,  2002,  2007,  2014,  2019,  2023,  2024,
        !           314:   2032,  2035,  2036,  2042,  2046,  2048,  2051,  2055,  2059,  2062,
        !           315:   2065,  2067,  2068,  2073,  2076,  2080,  2084,  2085,  2086,  2091,
        !           316:   2092,  2093,  2098,  2099,  2104,  2105,  2107,  2108,  2109,  2118,
        !           317:   2122,  2127,  2132,  2136,  2141,  2148,  2155,  2156,  2158,  2159,
        !           318:   2161,  2163,  2164,  2166,  2168,  2172,  2177,  2179,  2183,  2184,
        !           319:   2186,  2190,  2193,  2195,  2197,  2200,  2203,  2205,  2209,  2213,
        !           320:   2219,  2223,  2229,  2233,  2237,  2239,  2241,  2244,  2246,  2247,
        !           321:   2248,  2250,  2251,  2254,  2259,  2261,  2263,  2265,  2268,  2271,
        !           322:   2274,  2276,  2278,  2280,  2284,  2286,  2290,  2293,  2296,  2299,
        !           323:   2302,  2305,  2308,  2311,  2314,  2317,  2320,  2323,  2326,  2329,
        !           324:   2332,  2335,  2338,  2341,  2344,  2347,  2350,  2353,  2356,  2359,
        !           325:   2363,  2366,  2369,  2372,  2376,  2379,  2383,  2386,  2389,  2393
1.1       root      326: };
                    327: 
                    328: static const short yyrhs[] = {    -1,
1.1.1.2   root      329:    110,     0,     0,   111,   114,     0,   110,   114,     0,     0,
                    330:      0,   129,     0,   128,     0,   122,     0,   120,     0,    26,
                    331:     82,   165,   103,   104,     0,   115,    49,   110,   105,     0,
                    332:    115,    49,   105,     0,   115,   112,   129,   113,     0,   115,
                    333:    112,   128,   113,     0,    96,     0,     0,    44,    64,   117,
1.1.1.3 ! root      334:    118,    65,     0,   119,     0,   118,    50,   119,     0,   198,
        !           335:    138,     0,   198,   139,    54,   209,     0,   198,    48,   209,
        !           336:      0,   287,     0,    38,   121,   104,     0,     3,     0,   121,
        !           337:     50,     3,     0,     0,   116,   199,    49,   123,   104,     0,
        !           338:      0,   116,   200,    49,   124,   104,     0,     0,   116,   199,
        !           339:     54,   125,   104,     0,     0,   116,   200,    54,   126,   104,
        !           340:      0,   116,   199,   104,     0,   116,   200,   104,     0,   116,
        !           341:    228,   293,   180,   187,   127,     0,   116,   171,   170,   293,
1.1.1.2   root      342:    180,   187,   127,     0,   116,   173,   170,   127,     0,   116,
                    343:      1,   105,     0,   116,     1,   104,     0,    49,     0,    54,
                    344:      0,   104,     0,    52,     0,    24,     0,   179,   104,     0,
                    345:    173,   179,   104,     0,   173,   170,   104,     0,   171,   178,
                    346:    104,     0,   171,   170,   104,     0,   173,   104,     0,   171,
                    347:    104,     0,     1,   104,     0,     1,   105,     0,   104,     0,
1.1.1.3 ! root      348:    130,   134,   241,     0,   130,   133,   134,   241,     0,   130,
        !           349:    166,   241,     0,   130,   133,   104,   166,   241,     0,   130,
        !           350:    133,   166,   241,     0,   171,   170,     1,     0,   173,   228,
        !           351:      1,     0,   228,     1,     0,   171,   170,   293,     0,   173,
        !           352:    228,   293,     0,   228,   293,     0,     4,    82,   285,   103,
        !           353:    223,   293,     0,   231,    82,   285,   103,   223,   293,     0,
        !           354:      4,    43,   223,   293,     0,   231,    43,   223,   293,     0,
        !           355:     95,     0,   171,    82,   285,   103,   223,   293,     0,   171,
        !           356:     43,   223,   293,     0,   171,   170,   293,     0,   173,    82,
        !           357:    285,   103,   223,   293,     0,   173,    43,   223,   293,     0,
        !           358:    173,   170,   293,     0,   228,   293,     0,    24,     3,     0,
        !           359:    132,     0,   132,    52,   191,     0,   132,    82,   154,   103,
1.1.1.2   root      360:      0,   132,    43,     0,    54,   135,   136,     0,     0,     0,
                    361:    137,     0,   136,    50,   137,     0,   136,     1,     0,    82,
                    362:    154,   103,     0,    43,     0,   138,    82,   154,   103,     0,
                    363:    138,    43,     0,   143,    82,   154,   103,     0,   143,    43,
1.1.1.3 ! root      364:      0,   229,   138,    82,   154,   103,     0,   229,   138,    43,
1.1.1.2   root      365:      0,     3,     0,     4,     0,    94,     0,   100,     0,    99,
                    366:      0,   101,     0,     3,     0,     4,     0,    94,     0,   106,
1.1.1.3 ! root      367:    138,     0,   298,     0,   141,     3,     0,   141,     4,     0,
        !           368:    141,   298,     0,   141,   229,     3,     0,   141,   229,   298,
1.1.1.2   root      369:      0,    43,     0,   106,    43,     0,    43,    53,     0,   143,
                    370:    144,   150,     0,    94,    64,   146,    65,     0,    49,     0,
                    371:     54,     0,     0,     0,   147,     0,   146,    50,   147,     0,
1.1.1.3 ! root      372:    220,     0,   158,     0,     0,    98,   206,   149,   211,   212,
1.1.1.2   root      373:    105,     0,     0,   148,     0,     0,   148,   151,     0,    69,
                    374:      0,    68,     0,    74,     0,    75,     0,   107,     0,   154,
                    375:      0,   158,     0,   158,     0,   154,    50,   158,     0,   154,
                    376:     50,     1,     0,   159,     0,     0,    32,   156,   157,     0,
                    377:     70,   157,     0,    60,   157,     0,   106,   157,     0,   152,
1.1.1.3 ! root      378:    157,     0,    12,   155,     0,    12,    82,   220,   103,     0,
        !           379:     28,   155,     0,    28,    82,   220,   103,     0,   163,   162,
        !           380:    220,     0,   163,   162,   176,    82,   154,   103,     0,   163,
        !           381:    162,   176,    43,     0,   163,   162,   220,    52,   191,     0,
        !           382:    163,   162,    82,   174,   221,   103,    83,   224,   108,     0,
        !           383:    163,   162,    82,   222,   221,   103,    83,   224,   108,     0,
        !           384:    163,   162,    82,   174,   221,   103,     0,   163,   162,    82,
        !           385:    222,   221,   103,     0,   163,   162,    48,     0,   164,   157,
1.1.1.2   root      386:      0,   164,    83,   108,   157,     0,   164,    83,   153,   108,
1.1.1.3 ! root      387:    157,     0,   155,     0,    82,   220,   103,   158,     0,    82,
        !           388:    220,   103,    49,   192,   196,   105,     0,    29,    82,   153,
1.1.1.2   root      389:    103,     0,    30,    82,   153,   103,     0,    30,    82,     4,
                    390:    103,     0,   157,     0,   158,    68,   158,     0,   158,    69,
                    391:    158,     0,   158,    70,   158,     0,   158,    71,   158,     0,
                    392:    158,    72,   158,     0,   158,    66,   158,     0,   158,    67,
                    393:    158,     0,   158,    63,   158,     0,   158,    64,   158,     0,
                    394:    158,    65,   158,     0,   158,    62,   158,     0,   158,    61,
                    395:    158,     0,   158,    60,   158,     0,   158,    58,   158,     0,
                    396:    158,    59,   158,     0,   158,    57,   158,     0,   158,    56,
1.1.1.3 ! root      397:    158,     0,   158,    53,   280,    54,   158,     0,   158,    52,
1.1.1.2   root      398:    158,     0,   158,    51,   158,     0,   159,    81,   158,     0,
1.1.1.3 ! root      399:    168,   158,     0,     3,     0,   298,     0,     9,     0,   165,
1.1.1.2   root      400:      0,    82,   153,   103,     0,    82,     1,   103,     0,     0,
1.1.1.3 ! root      401:     82,   160,   242,   103,     0,     0,   159,    82,   154,   103,
1.1.1.2   root      402:    161,   151,     0,   159,    43,     0,   159,    83,   153,   108,
1.1.1.3 ! root      403:      0,   167,   140,     0,   167,   229,   140,     0,   159,    74,
1.1.1.2   root      404:      0,   159,    75,     0,    39,     0,     8,    82,   154,   103,
                    405:      0,   176,    82,   154,   103,     0,   176,    43,     0,    45,
1.1.1.3 ! root      406:      3,     0,    45,   298,     0,   229,   140,     0,   229,   140,
        !           407:     82,   154,   103,     0,   229,   140,    43,     0,   167,   140,
        !           408:     82,   154,   103,     0,   167,   140,    43,     0,   167,   229,
        !           409:    140,    82,   154,   103,     0,   167,   229,   140,    43,     0,
1.1.1.2   root      410:     37,     0,    37,    49,   154,   105,     0,    37,    41,     0,
                    411:     37,    41,    82,   165,   103,     0,     0,    45,     0,    36,
                    412:      0,    45,   164,     0,    10,     0,   165,    10,     0,     0,
                    413:    159,    80,     0,   159,    78,     0,   159,    79,     0,   171,
                    414:    178,   104,     0,   171,   170,   104,     0,   173,   179,   104,
                    415:      0,   173,   170,   104,     0,   171,   104,     0,   173,   104,
1.1.1.3 ! root      416:      0,   226,     0,   228,     0,    46,   226,     0,    46,   228,
1.1.1.2   root      417:      0,   176,     0,   173,   176,     0,   176,   172,     0,   173,
                    418:    176,   172,     0,   177,     0,     6,     0,   172,   177,     0,
                    419:    172,     6,     0,     8,     0,     6,     0,   173,     8,     0,
1.1.1.3 ! root      420:    173,     6,     0,   176,     0,   222,   176,     0,   176,   175,
        !           421:      0,   222,   176,   175,     0,   177,     0,   175,   177,     0,
        !           422:    193,     0,     7,     0,     4,     0,   231,     0,    27,    82,
        !           423:    153,   103,     0,    27,    82,   220,   103,     0,   142,     0,
        !           424:      7,     0,     8,     0,   193,     0,   181,     0,   178,    50,
1.1.1.2   root      425:    183,     0,   185,     0,   179,    50,   183,     0,     0,    26,
1.1.1.3 ! root      426:     82,   165,   103,     0,     0,   170,   293,   180,   187,    52,
        !           427:    182,   191,     0,   170,   293,   180,   187,     0,     0,   170,
        !           428:    293,   180,   187,    52,   184,   191,     0,   170,   293,   180,
        !           429:    187,     0,     0,   228,   293,   180,   187,    52,   186,   191,
        !           430:      0,   228,   293,   180,   187,     0,     0,    31,    82,    82,
1.1.1.2   root      431:    188,   103,   103,     0,   189,     0,   188,    50,   189,     0,
1.1.1.3 ! root      432:      3,     0,     3,    82,     9,   103,     0,     3,    82,     3,
        !           433:     50,     9,    50,     9,   103,     0,   138,     0,   190,    50,
        !           434:    138,     0,   158,     0,    49,   105,     0,    49,   192,   105,
        !           435:      0,    49,   192,    50,   105,     0,     1,     0,   191,     0,
        !           436:    192,    50,   191,     0,    83,   158,   108,   191,     0,   192,
        !           437:     50,    20,   158,    54,   191,     0,   138,    54,   191,     0,
        !           438:    192,    50,   138,    54,   191,     0,     0,    13,   138,    49,
        !           439:    194,   218,   197,   105,     0,    13,   138,    49,   105,     0,
        !           440:      0,    13,    49,   195,   218,   197,   105,     0,    13,    49,
        !           441:    105,     0,    13,   138,     0,   205,   211,   212,   105,     0,
        !           442:    205,     0,     0,    50,     0,     0,    50,     0,    34,     0,
        !           443:     41,    34,     0,    41,    82,   165,   103,    34,     0,   198,
        !           444:      6,     0,   198,     7,     0,   198,     8,     0,   198,    34,
        !           445:      0,   198,   138,     0,   198,   143,     0,   198,    48,     0,
        !           446:    198,   143,    49,     0,   198,   143,    54,     0,   198,   139,
        !           447:      0,     0,   199,   202,   206,     0,     0,   200,   203,   206,
        !           448:      0,   198,    49,     0,   204,     0,   201,     0,     0,    54,
        !           449:      0,    54,   207,     0,   208,     0,   207,    50,   208,     0,
        !           450:    209,     0,   210,   209,     0,   143,   145,   150,     0,   138,
        !           451:      0,    35,     0,     6,     0,   210,    35,     0,   210,     6,
        !           452:      0,    49,     0,     0,   213,     0,   212,    35,    54,   213,
        !           453:      0,   212,    35,    54,     0,   214,     0,   213,   214,     0,
        !           454:    213,   104,     0,   171,   215,   104,     0,   171,    82,   285,
        !           455:    103,   104,     0,   171,    82,   285,   103,   105,     0,   171,
        !           456:     43,   104,     0,   171,    43,   105,     0,   173,   215,   104,
        !           457:      0,   173,   170,   104,     0,   173,   215,   105,     0,   173,
        !           458:     82,   285,   103,   104,     0,   173,    82,   285,   103,   105,
        !           459:      0,   173,    43,   104,     0,   173,    43,   105,     0,    54,
        !           460:    158,   104,     0,    54,   158,   105,     0,     1,     0,   131,
        !           461:     54,     0,   131,    49,     0,   228,   293,   104,     0,   228,
        !           462:    293,   105,     0,     0,   216,     0,   215,    50,   217,     0,
        !           463:    170,   293,   180,   187,     0,   170,   293,   180,   187,    52,
        !           464:    191,     0,     3,    54,   158,   187,     0,    48,   158,   187,
        !           465:      0,    54,   158,     0,   170,   293,   180,   187,     0,   170,
        !           466:    293,   180,   187,    52,   191,     0,     3,    54,   158,   187,
        !           467:      0,    48,   158,   187,     0,    54,   158,     0,   219,     0,
        !           468:    218,    50,   219,     0,   138,     0,   138,    52,   158,     0,
        !           469:    174,   221,     0,   222,   221,     0,     0,   232,     0,    46,
        !           470:    232,     0,     8,     0,   222,     8,     0,     0,   223,     8,
        !           471:      0,     0,   225,   153,     0,   226,    82,   154,   103,   223,
        !           472:      0,   226,    82,   285,   103,   223,     0,   226,    43,   223,
        !           473:      0,   226,    82,     1,   103,   223,     0,   226,    83,   224,
        !           474:    108,     0,   226,    83,   108,     0,    82,   227,   103,     0,
        !           475:     82,    70,   223,   226,   103,     0,    77,     0,   234,     0,
        !           476:     82,    60,   223,   226,   103,     0,    70,   223,   226,     0,
        !           477:     60,   223,   226,     0,     4,     0,   227,    82,   154,   103,
        !           478:    223,     0,   227,    82,   285,   103,   223,     0,   227,    43,
        !           479:    223,     0,   227,    82,     1,   103,   223,     0,   227,    83,
        !           480:    224,   108,     0,   227,    83,   108,     0,    82,   227,   103,
        !           481:      0,    77,     0,   234,     0,    70,   223,   226,     0,    60,
        !           482:    223,   226,     0,   228,    82,   154,   103,   223,     0,   228,
        !           483:     82,   285,   103,   223,     0,   228,    43,   223,     0,   228,
        !           484:     82,     1,   103,   223,     0,    82,   228,   103,     0,    70,
        !           485:    223,   228,     0,    60,   223,   228,     0,   228,    83,   224,
        !           486:    108,     0,   228,    83,   108,     0,     3,     0,   298,     0,
        !           487:    106,     4,     0,   106,     3,     0,   106,    94,     0,    43,
        !           488:    138,     0,    43,    53,   138,     0,   106,    43,   138,     0,
        !           489:    229,   289,   228,     0,   229,   289,     4,     0,   229,   289,
        !           490:      4,    82,   154,   103,   223,     0,   229,   289,     4,    82,
        !           491:    285,   103,   223,     0,   229,   289,     4,    43,   223,     0,
        !           492:    229,   289,     4,    82,     1,   103,   223,     0,   229,   289,
        !           493:     94,     0,   229,   289,    94,    82,   154,   103,   223,     0,
        !           494:    229,   289,    94,    82,   285,   103,   223,     0,   229,   289,
        !           495:     94,    43,   223,     0,   229,   289,    94,    82,     1,   103,
        !           496:    223,     0,    45,   289,   228,     0,   230,     0,   142,    45,
        !           497:    291,     0,     4,    45,     0,     5,     0,    82,   232,   103,
        !           498:      0,    70,   223,   232,     0,    70,   223,     0,    77,     0,
        !           499:     82,   233,   103,     0,    60,   223,   232,     0,    60,   223,
        !           500:      0,   232,    82,   285,   103,   223,     0,   232,    43,   223,
        !           501:      0,   232,    83,   224,   108,     0,   232,    83,   108,     0,
        !           502:     82,   285,   103,   223,     0,    43,   223,     0,    83,   224,
        !           503:    108,     0,    83,   108,     0,   229,    70,   223,     0,   229,
        !           504:     70,   223,   232,     0,   229,    60,   223,     0,   229,    60,
        !           505:    223,   232,     0,   229,   289,    70,   223,   226,     0,   229,
        !           506:    289,    60,   223,   226,     0,   245,     0,   236,     0,   235,
        !           507:    245,     0,   235,   236,     0,     1,   104,     0,     0,     0,
        !           508:    239,     0,   240,     0,   239,   240,     0,    33,   190,   104,
        !           509:      0,   242,     0,     1,   242,     0,    49,   105,     0,    49,
        !           510:    237,   238,   235,   105,     0,    49,   237,   238,     1,   105,
        !           511:      0,     0,    14,    82,   153,   103,   244,   245,     0,   242,
        !           512:      0,   169,     0,   153,   104,     0,     0,   243,    15,   246,
        !           513:    245,     0,   243,     0,     0,     0,    16,   247,    82,   153,
        !           514:    103,   248,   245,     0,     0,     0,    17,   249,   245,    16,
        !           515:    250,    82,   153,   103,   104,     0,     0,     0,     0,   277,
        !           516:    251,   280,   104,   252,   280,   103,   253,   245,     0,     0,
        !           517:      0,     0,   278,   254,   280,   104,   255,   280,   103,   256,
        !           518:    245,     0,     0,    19,    82,   153,   103,   257,   245,     0,
        !           519:      0,    20,   153,    54,   258,   245,     0,     0,    20,   153,
        !           520:     55,   153,    54,   259,   245,     0,     0,    21,    54,   260,
        !           521:    245,     0,    22,   104,     0,    23,   104,     0,    24,   104,
        !           522:      0,    24,   153,   104,     0,    26,   279,    82,   165,   103,
        !           523:    104,     0,    26,   279,    82,   165,    54,   281,   103,   104,
        !           524:      0,    26,   279,    82,   165,    54,   281,    54,   281,   103,
        !           525:    104,     0,    26,   279,    82,   165,    54,   281,    54,   281,
        !           526:     54,   284,   103,   104,     0,    25,   138,   104,     0,   264,
        !           527:    245,     0,   264,   105,     0,   104,     0,    92,   104,     0,
        !           528:     92,   153,   104,     0,    90,   294,    82,   154,   103,   104,
        !           529:      0,    90,   294,    43,   104,     0,    84,   294,    82,   154,
        !           530:    103,   104,     0,    84,   294,    43,   104,     0,    84,   138,
        !           531:    104,     0,     0,   263,    88,   138,    49,   261,   271,   105,
        !           532:      0,   263,     1,     0,     0,   267,   268,   268,   262,   275,
        !           533:      0,   263,    86,   296,     0,   263,     0,   265,   105,     0,
        !           534:    265,   235,   105,     0,   265,     1,   105,     0,     3,    54,
        !           535:      0,    94,    54,     0,    48,     0,     0,    87,    49,   266,
        !           536:    237,     0,   269,   105,     0,   269,   235,   105,     0,   269,
        !           537:      1,   105,     0,     0,     0,    91,    49,   270,   237,     0,
        !           538:      0,     0,   271,   294,   272,   242,     0,     0,   271,    21,
        !           539:    273,   242,     0,     0,   138,     0,     0,     0,   275,    89,
        !           540:     82,   220,   274,   103,   276,   242,     0,    18,    82,   104,
        !           541:      0,    18,    82,   153,   104,     0,    18,    82,    49,   105,
        !           542:      0,    18,    82,   169,     0,    18,    82,     1,   104,     0,
        !           543:     18,    82,    49,   237,   235,   105,     0,    18,    82,    49,
        !           544:    237,     1,   105,     0,     0,     8,     0,     0,   153,     0,
        !           545:      1,     0,     0,   282,     0,   283,     0,   282,    50,   283,
        !           546:      0,    10,    82,   153,   103,     0,    10,     0,   284,    50,
        !           547:     10,     0,     0,   286,     0,   286,    50,    11,     0,   286,
        !           548:     11,     0,    11,     0,    93,     0,   286,    93,     0,   286,
        !           549:     54,     0,   287,     0,   287,    52,   191,     0,   286,    50,
        !           550:    287,     0,   286,    50,   287,    52,   191,     0,   286,    50,
        !           551:    292,     0,   286,    50,   292,    52,   191,     0,   171,   290,
        !           552:    288,     0,   173,   290,   288,     0,   221,     0,   228,     0,
        !           553:     46,   228,     0,   223,     0,     0,     0,   288,     0,     0,
        !           554:     85,   296,     0,    92,    82,   297,   103,     0,    97,     0,
        !           555:      3,     0,     4,     0,    45,     3,     0,    45,     4,     0,
        !           556:    229,     3,     0,   231,     0,   220,     0,   294,     0,   296,
        !           557:     50,   294,     0,   295,     0,   297,    50,   295,     0,    40,
        !           558:     70,     0,    40,    71,     0,    40,    72,     0,    40,    68,
        !           559:      0,    40,    69,     0,    40,    60,     0,    40,    58,     0,
        !           560:     40,    59,     0,    40,   106,     0,    40,    50,     0,    40,
        !           561:     63,     0,    40,    64,     0,    40,    65,     0,    40,    62,
        !           562:      0,    40,    51,     0,    40,    52,     0,    40,    66,     0,
        !           563:     40,    67,     0,    40,    74,     0,    40,    75,     0,    40,
        !           564:     57,     0,    40,    56,     0,    40,   107,     0,    40,    53,
        !           565:     54,     0,    40,    61,     0,    40,    78,     0,    40,    79,
        !           566:      0,    40,    42,   223,     0,    40,    43,     0,    40,    83,
        !           567:    108,     0,    40,    37,     0,    40,    36,     0,    40,   174,
        !           568:    221,     0,    40,     1,     0
1.1       root      569: };
                    570: 
                    571: #if YYDEBUG != 0
                    572: static const short yyrline[] = { 0,
1.1.1.2   root      573:    300,   301,   309,   311,   312,   316,   320,   324,   327,   329,
                    574:    331,   332,   337,   339,   341,   344,   349,   354,   357,   361,
                    575:    364,   368,   381,   388,   395,   398,   401,   403,   407,   413,
1.1.1.3 ! root      576:    413,   416,   416,   419,   419,   432,   432,   437,   442,   465,
        !           577:    487,   496,   497,   500,   501,   502,   503,   504,   507,   513,
        !           578:    516,   521,   527,   534,   536,   554,   555,   556,   559,   573,
        !           579:    586,   589,   592,   595,   597,   599,   603,   609,   614,   619,
        !           580:    624,   629,   634,   639,   645,   655,   664,   671,   680,   689,
        !           581:    696,   705,   713,   715,   717,   719,   723,   732,   755,   758,
        !           582:    760,   761,   764,   771,   778,   782,   784,   786,   788,   792,
        !           583:    798,   800,   801,   804,   806,   807,   810,   812,   813,   817,
        !           584:    818,   819,   821,   823,   825,   827,   831,   833,   835,   839,
        !           585:    849,   854,   858,   859,   863,   868,   871,   875,   878,   881,
        !           586:    914,   929,   932,   936,   939,   943,   945,   947,   949,   951,
        !           587:    955,   958,   961,   964,   966,   970,   977,   980,   983,   985,
        !           588:    987,   989,   994,  1007,  1009,  1042,  1045,  1047,  1049,  1051,
        !           589:   1057,  1074,  1077,  1081,  1084,  1088,  1104,  1115,  1131,  1133,
        !           590:   1136,  1151,  1153,  1155,  1166,  1168,  1170,  1172,  1174,  1176,
        !           591:   1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,  1196,
        !           592:   1198,  1200,  1202,  1204,  1206,  1212,  1215,  1230,  1233,  1248,
        !           593:   1249,  1251,  1253,  1255,  1263,  1275,  1281,  1288,  1295,  1345,
        !           594:   1347,  1363,  1365,  1369,  1392,  1430,  1432,  1434,  1463,  1470,
        !           595:   1472,  1474,  1476,  1479,  1482,  1484,  1526,  1528,  1530,  1532,
        !           596:   1536,  1539,  1543,  1545,  1553,  1555,  1559,  1568,  1583,  1589,
        !           597:   1592,  1599,  1607,  1610,  1617,  1622,  1629,  1631,  1632,  1634,
        !           598:   1642,  1645,  1647,  1649,  1653,  1657,  1659,  1661,  1669,  1672,
        !           599:   1674,  1676,  1687,  1690,  1692,  1694,  1698,  1701,  1709,  1710,
        !           600:   1711,  1712,  1713,  1717,  1721,  1726,  1727,  1728,  1731,  1733,
        !           601:   1736,  1738,  1741,  1744,  1752,  1760,  1762,  1771,  1777,  1778,
        !           602:   1784,  1792,  1794,  1805,  1808,  1813,  1815,  1820,  1825,  1836,
        !           603:   1851,  1854,  1858,  1860,  1865,  1868,  1871,  1877,  1880,  1883,
        !           604:   1885,  1887,  1889,  1893,  1897,  1901,  1904,  1907,  1911,  1914,
        !           605:   1918,  1944,  1959,  1961,  1964,  1966,  1970,  1971,  1973,  1975,
        !           606:   1978,  1981,  1984,  1989,  1992,  1994,  1996,  2001,  2005,  2010,
        !           607:   2015,  2022,  2027,  2036,  2041,  2041,  2043,  2046,  2048,  2052,
        !           608:   2054,  2058,  2063,  2069,  2071,  2074,  2083,  2087,  2113,  2122,
        !           609:   2148,  2151,  2153,  2155,  2158,  2161,  2164,  2169,  2218,  2220,
        !           610:   2224,  2226,  2230,  2233,  2235,  2239,  2241,  2245,  2247,  2251,
        !           611:   2253,  2257,  2262,  2264,  2266,  2268,  2274,  2277,  2278,  2289,
        !           612:   2294,  2298,  2302,  2306,  2311,  2315,  2318,  2321,  2324,  2332,
        !           613:   2334,  2338,  2341,  2345,  2348,  2352,  2355,  2356,  2360,  2363,
        !           614:   2367,  2370,  2378,  2380,  2384,  2387,  2389,  2391,  2393,  2395,
        !           615:   2397,  2399,  2401,  2403,  2404,  2406,  2408,  2410,  2413,  2416,
        !           616:   2418,  2420,  2422,  2424,  2426,  2428,  2430,  2431,  2433,  2440,
        !           617:   2443,  2445,  2447,  2449,  2451,  2453,  2455,  2457,  2459,  2463,
        !           618:   2466,  2472,  2474,  2476,  2481,  2487,  2490,  2499,  2501,  2503,
        !           619:   2505,  2507,  2510,  2512,  2514,  2516,  2518,  2520,  2524,  2532,
        !           620:   2549,  2552,  2567,  2572,  2574,  2576,  2578,  2580,  2582,  2584,
        !           621:   2586,  2588,  2590,  2592,  2594,  2596,  2598,  2602,  2610,  2617,
        !           622:   2624,  2633,  2641,  2654,  2656,  2657,  2658,  2661,  2668,  2680,
        !           623:   2682,  2687,  2689,  2692,  2706,  2709,  2712,  2714,  2720,  2728,
        !           624:   2734,  2737,  2740,  2745,  2758,  2762,  2765,  2769,  2773,  2777,
        !           625:   2781,  2786,  2789,  2795,  2800,  2803,  2809,  2816,  2820,  2823,
        !           626:   2830,  2846,  2854,  2858,  2908,  2908,  2991,  2991,  3007,  3007,
        !           627:   3011,  3015,  3018,  3023,  3030,  3039,  3048,  3057,  3063,  3065,
        !           628:   3069,  3073,  3074,  3075,  3078,  3081,  3084,  3087,  3090,  3103,
        !           629:   3132,  3142,  3156,  3184,  3216,  3228,  3236,  3241,  3248,  3256,
        !           630:   3258,  3265,  3267,  3267,  3275,  3280,  3287,  3288,  3290,  3290,
        !           631:   3293,  3314,  3330,  3349,  3366,  3369,  3371,  3374,  3393,  3411,
        !           632:   3414,  3416,  3420,  3423,  3425,  3427,  3433,  3438,  3444,  3447,
        !           633:   3448,  3454,  3456,  3459,  3461,  3465,  3470,  3473,  3482,  3489,
        !           634:   3494,  3499,  3503,  3507,  3511,  3515,  3529,  3532,  3534,  3536,
        !           635:   3538,  3540,  3548,  3564,  3569,  3570,  3571,  3575,  3579,  3583,
        !           636:   3595,  3603,  3606,  3608,  3612,  3615,  3617,  3619,  3621,  3623,
        !           637:   3625,  3628,  3633,  3635,  3642,  3644,  3651,  3654,  3656,  3658,
        !           638:   3660,  3662,  3664,  3666,  3668,  3670,  3672,  3674,  3676,  3678,
        !           639:   3680,  3682,  3691,  3693,  3695,  3697,  3699,  3701,  3703,  3705,
        !           640:   3707,  3709,  3721,  3733,  3764,  3776,  3788,  3801,  3817,  3821
1.1       root      641: };
                    642: 
                    643: static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
                    644: "TYPENAME","SCOPED_TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING",
                    645: "ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
1.1.1.2   root      646: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","HEADOF",
                    647: "CLASSOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC","DELETE","NEW","OVERLOAD",
                    648: "THIS","OPERATOR","DYNAMIC","POINTSAT_LEFT_RIGHT","LEFT_RIGHT","TEMPLATE","SCOPE",
                    649: "START_DECLARATOR","EMPTY","TYPENAME_COLON","'{'","','","ASSIGN","'='","'?'",
                    650: "':'","RANGE","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE",
                    651: "'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS",
                    652: "MINUSMINUS","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT","POINTSAT_STAR","'.'",
                    653: "DOT_STAR","'('","'['","RAISE","RAISES","RERAISE","TRY","EXCEPT","CATCH","THROW",
                    654: "ANSI_TRY","ANSI_THROW","TYPENAME_ELLIPSIS","PTYPENAME","PRE_PARSED_FUNCTION_DECL",
                    655: "EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
                    656: "PTYPENAME_DEFN","END_OF_SAVED_INPUT","')'","';'","'}'","'~'","'!'","']'","program",
                    657: "extdefs","@1",".hush_warning",".warning_ok","extdef","extern_lang_string","template_header",
                    658: "@2","template_parm_list","template_parm","overloaddef","ov_identifiers","template_def",
                    659: "@3","@4","@5","@6","fn_tmpl_end","datadef","fndef","fn.def1","fn.def2","return_id",
                    660: "return_init","base_init",".set_base_init","member_init_list","member_init",
                    661: "identifier","identifier_defn","identifier_or_opname","wrapper","template_type",
                    662: "template_type_name","tmpl.1","tmpl.2","template_arg_list","template_arg","template_instantiate_once",
                    663: "@7","template_instantiation","template_instantiate_some","unop","expr","nonnull_exprlist",
                    664: "unary_expr","@8","cast_expr","expr_no_commas","primary","@9","@10","new",".scope",
1.1       root      665: "delete","string","nodecls","object","object_star","decl","declarator","typed_declspecs",
                    666: "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
                    667: "typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl0",
1.1.1.2   root      668: "@11","initdcl","@12","notype_initdcl0","@13","maybe_attribute","attribute_list",
1.1.1.3 ! root      669: "attrib","identifiers_or_typenames","init","initlist","structsp","@14","@15",
        !           670: "maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype","named_class_head_sans_basetype_defn",
        !           671: "named_class_head","@16","@17","unnamed_class_head","class_head","maybe_base_class_list",
        !           672: "base_class_list","base_class","base_class.1","base_class_visibility_list","left_curly",
        !           673: "opt.component_decl_list","component_decl_list","component_decl","components",
        !           674: "component_declarator0","component_declarator","enumlist","enumerator","typename",
        !           675: "absdcl","nonempty_type_quals","type_quals","nonmomentary_expr","@18","after_type_declarator",
        !           676: "after_type_declarator_no_typename","notype_declarator","scoped_id","typename_scope",
        !           677: "scoped_typename","absdcl1","abs_member_declarator","after_type_member_declarator",
        !           678: "stmts","errstmt",".pushlevel","maybe_label_decls","label_decls","label_decl",
        !           679: "compstmt_or_error","compstmt","simple_if","@19","stmt","@20","@21","@22","@23",
        !           680: "@24","@25","@26","@27","@28","@29","@30","@31","@32","@33","@34","@35","@36",
        !           681: "try","label_colon","try_head","@37","ansi_try","ansi_dummy","ansi_try_head",
        !           682: "@38","except_stmts","@39","@40","optional_identifier","ansi_except_stmts","@41",
        !           683: "forhead.1","forhead.2","maybe_type_qual","xexpr","asm_operands","nonnull_asm_operands",
        !           684: "asm_operand","asm_clobbers","parmlist","parms","parm","abs_or_notype_decl",
        !           685: "see_typename","dont_see_typename","try_for_typename","bad_parm","maybe_raises",
        !           686: "raise_identifier","ansi_raise_identifier","raise_identifiers","ansi_raise_identifiers",
        !           687: "operator_name",""
1.1       root      688: };
                    689: #endif
                    690: 
                    691: static const short yyr1[] = {     0,
1.1.1.2   root      692:    109,   109,   111,   110,   110,   112,   113,   114,   114,   114,
                    693:    114,   114,   114,   114,   114,   114,   115,   117,   116,   118,
                    694:    118,   119,   119,   119,   119,   120,   121,   121,   123,   122,
                    695:    124,   122,   125,   122,   126,   122,   122,   122,   122,   122,
                    696:    122,   122,   122,   127,   127,   127,   127,   127,   128,   128,
                    697:    128,   128,   128,   128,   128,   128,   128,   128,   129,   129,
                    698:    129,   129,   129,   129,   129,   129,   130,   130,   130,   130,
                    699:    130,   130,   130,   130,   131,   131,   131,   131,   131,   131,
                    700:    131,   132,   133,   133,   133,   133,   134,   135,   136,   136,
                    701:    136,   136,   137,   137,   137,   137,   137,   137,   137,   137,
                    702:    138,   138,   138,   139,   139,   139,   140,   140,   140,   140,
                    703:    140,   140,   140,   140,   140,   140,   141,   141,   141,   142,
                    704:    143,   144,   144,   144,   145,   146,   146,   147,   147,   149,
                    705:    148,   150,   150,   151,   151,   152,   152,   152,   152,   152,
                    706:    153,   153,   154,   154,   154,   155,   156,   155,   155,   155,
1.1       root      707:    155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
1.1.1.2   root      708:    155,   155,   155,   155,   155,   155,   155,   155,   157,   157,
                    709:    157,   157,   157,   157,   158,   158,   158,   158,   158,   158,
                    710:    158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
                    711:    158,   158,   158,   158,   158,   158,   158,   159,   159,   159,
                    712:    159,   159,   159,   160,   159,   161,   159,   159,   159,   159,
                    713:    159,   159,   159,   159,   159,   159,   159,   159,   159,   159,
                    714:    159,   159,   159,   159,   159,   159,   162,   162,   162,   162,
                    715:    163,   163,   164,   164,   165,   165,   166,   167,   167,   168,
                    716:    169,   169,   169,   169,   169,   169,   170,   170,   170,   170,
                    717:    171,   171,   171,   171,   172,   172,   172,   172,   173,   173,
                    718:    173,   173,   174,   174,   174,   174,   175,   175,   176,   176,
                    719:    176,   176,   176,   176,   176,   177,   177,   177,   178,   178,
                    720:    179,   179,   180,   180,   182,   181,   181,   184,   183,   183,
                    721:    186,   185,   185,   187,   187,   188,   188,   189,   189,   189,
1.1.1.3 ! root      722:    190,   190,   191,   191,   191,   191,   191,   192,   192,   192,
        !           723:    192,   192,   192,   194,   193,   193,   195,   193,   193,   193,
        !           724:    193,   193,   196,   196,   197,   197,   198,   198,   198,   198,
        !           725:    198,   198,   198,   199,   199,   199,   199,   199,   200,   202,
        !           726:    201,   203,   201,   204,   205,   205,   206,   206,   206,   207,
        !           727:    207,   208,   208,   209,   209,   210,   210,   210,   210,   211,
        !           728:    212,   212,   212,   212,   213,   213,   213,   214,   214,   214,
        !           729:    214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
        !           730:    214,   214,   214,   214,   214,   214,   215,   215,   215,   216,
        !           731:    216,   216,   216,   216,   217,   217,   217,   217,   217,   218,
        !           732:    218,   219,   219,   220,   220,   221,   221,   221,   222,   222,
        !           733:    223,   223,   225,   224,   226,   226,   226,   226,   226,   226,
        !           734:    226,   226,   226,   226,   226,   226,   226,   226,   227,   227,
        !           735:    227,   227,   227,   227,   227,   227,   227,   227,   227,   228,
1.1.1.2   root      736:    228,   228,   228,   228,   228,   228,   228,   228,   228,   228,
1.1.1.3 ! root      737:    228,   228,   228,   228,   228,   228,   228,   228,   228,   228,
        !           738:    228,   228,   228,   228,   228,   228,   228,   228,   229,   229,
        !           739:    230,   231,   232,   232,   232,   232,   232,   232,   232,   232,
        !           740:    232,   232,   232,   232,   232,   232,   232,   233,   233,   233,
        !           741:    233,   234,   234,   235,   235,   235,   235,   236,   237,   238,
        !           742:    238,   239,   239,   240,   241,   241,   242,   242,   242,   244,
        !           743:    243,   245,   245,   245,   246,   245,   245,   247,   248,   245,
        !           744:    249,   250,   245,   251,   252,   253,   245,   254,   255,   256,
        !           745:    245,   257,   245,   258,   245,   259,   245,   260,   245,   245,
        !           746:    245,   245,   245,   245,   245,   245,   245,   245,   245,   245,
        !           747:    245,   245,   245,   245,   245,   245,   245,   245,   261,   245,
        !           748:    245,   262,   245,   245,   245,   263,   263,   263,   264,   264,
        !           749:    264,   266,   265,   267,   267,   267,   268,   270,   269,   271,
        !           750:    272,   271,   273,   271,   274,   274,   275,   276,   275,   277,
        !           751:    277,   277,   278,   278,   278,   278,   279,   279,   280,   280,
        !           752:    280,   281,   281,   282,   282,   283,   284,   284,   285,   285,
        !           753:    285,   285,   285,   285,   285,   285,   286,   286,   286,   286,
        !           754:    286,   286,   287,   287,   288,   288,   288,   289,   290,   291,
        !           755:    292,   293,   293,   293,   294,   294,   294,   294,   294,   294,
        !           756:    294,   295,   296,   296,   297,   297,   298,   298,   298,   298,
        !           757:    298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
        !           758:    298,   298,   298,   298,   298,   298,   298,   298,   298,   298,
        !           759:    298,   298,   298,   298,   298,   298,   298,   298,   298,   298
1.1       root      760: };
                    761: 
                    762: static const short yyr2[] = {     0,
                    763:      0,     1,     0,     2,     2,     0,     0,     1,     1,     1,
                    764:      1,     5,     4,     3,     4,     4,     1,     0,     5,     1,
                    765:      3,     2,     4,     3,     1,     3,     1,     3,     0,     5,
                    766:      0,     5,     0,     5,     0,     5,     3,     3,     6,     7,
1.1.1.2   root      767:      4,     3,     3,     1,     1,     1,     1,     1,     2,     3,
                    768:      3,     3,     3,     2,     2,     2,     2,     1,     3,     4,
                    769:      3,     5,     4,     3,     3,     2,     3,     3,     2,     6,
                    770:      6,     4,     4,     1,     6,     4,     3,     6,     4,     3,
                    771:      2,     2,     1,     3,     4,     2,     3,     0,     0,     1,
                    772:      3,     2,     3,     1,     4,     2,     4,     2,     5,     3,
                    773:      1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
                    774:      1,     2,     2,     2,     3,     3,     1,     2,     2,     3,
                    775:      4,     1,     1,     0,     0,     1,     3,     1,     1,     0,
                    776:      6,     0,     1,     0,     2,     1,     1,     1,     1,     1,
                    777:      1,     1,     1,     3,     3,     1,     0,     3,     2,     2,
                    778:      2,     2,     2,     4,     2,     4,     3,     6,     4,     5,
                    779:      9,     9,     6,     6,     3,     2,     4,     5,     1,     4,
                    780:      7,     4,     4,     4,     1,     3,     3,     3,     3,     3,
1.1       root      781:      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1.1.1.2   root      782:      3,     3,     5,     3,     3,     3,     2,     1,     1,     1,
                    783:      1,     3,     3,     0,     4,     0,     6,     2,     4,     2,
                    784:      3,     2,     2,     1,     4,     4,     2,     2,     2,     2,
                    785:      5,     3,     5,     3,     6,     4,     1,     4,     2,     5,
                    786:      0,     1,     1,     2,     1,     2,     0,     2,     2,     2,
                    787:      3,     3,     3,     3,     2,     2,     1,     1,     2,     2,
                    788:      1,     2,     2,     3,     1,     1,     2,     2,     1,     1,
                    789:      2,     2,     1,     2,     2,     3,     1,     2,     1,     1,
                    790:      1,     1,     4,     4,     1,     1,     1,     1,     1,     3,
                    791:      1,     3,     0,     4,     0,     7,     4,     0,     7,     4,
1.1.1.3 ! root      792:      0,     7,     4,     0,     6,     1,     3,     1,     4,     8,
        !           793:      1,     3,     1,     2,     3,     4,     1,     1,     3,     4,
        !           794:      6,     3,     5,     0,     7,     4,     0,     6,     3,     2,
        !           795:      4,     1,     0,     1,     0,     1,     1,     2,     5,     2,
        !           796:      2,     2,     2,     2,     2,     2,     3,     3,     2,     0,
        !           797:      3,     0,     3,     2,     1,     1,     0,     1,     2,     1,
        !           798:      3,     1,     2,     3,     1,     1,     1,     2,     2,     1,
        !           799:      0,     1,     4,     3,     1,     2,     2,     3,     5,     5,
        !           800:      3,     3,     3,     3,     3,     5,     5,     3,     3,     3,
        !           801:      3,     1,     2,     2,     3,     3,     0,     1,     3,     4,
        !           802:      6,     4,     3,     2,     4,     6,     4,     3,     2,     1,
        !           803:      3,     1,     3,     2,     2,     0,     1,     2,     1,     2,
        !           804:      0,     2,     0,     2,     5,     5,     3,     5,     4,     3,
        !           805:      3,     5,     1,     1,     5,     3,     3,     1,     5,     5,
        !           806:      3,     5,     4,     3,     3,     1,     1,     3,     3,     5,
        !           807:      5,     3,     5,     3,     3,     3,     4,     3,     1,     1,
        !           808:      2,     2,     2,     2,     3,     3,     3,     3,     7,     7,
        !           809:      5,     7,     3,     7,     7,     5,     7,     3,     1,     3,
        !           810:      2,     1,     3,     3,     2,     1,     3,     3,     2,     5,
        !           811:      3,     4,     3,     4,     2,     3,     2,     3,     4,     3,
        !           812:      4,     5,     5,     1,     1,     2,     2,     2,     0,     0,
        !           813:      1,     1,     2,     3,     1,     2,     2,     5,     5,     0,
        !           814:      6,     1,     1,     2,     0,     4,     1,     0,     0,     7,
        !           815:      0,     0,     9,     0,     0,     0,     9,     0,     0,     0,
        !           816:      9,     0,     6,     0,     5,     0,     7,     0,     4,     2,
        !           817:      2,     2,     3,     6,     8,    10,    12,     3,     2,     2,
        !           818:      1,     2,     3,     6,     4,     6,     4,     3,     0,     7,
        !           819:      2,     0,     5,     3,     1,     2,     3,     3,     2,     2,
        !           820:      1,     0,     4,     2,     3,     3,     0,     0,     4,     0,
        !           821:      0,     4,     0,     4,     0,     1,     0,     0,     8,     3,
        !           822:      4,     4,     3,     4,     6,     6,     0,     1,     0,     1,
        !           823:      1,     0,     1,     1,     3,     4,     1,     3,     0,     1,
        !           824:      3,     2,     1,     1,     2,     2,     1,     3,     3,     5,
        !           825:      3,     5,     3,     3,     1,     1,     2,     1,     0,     0,
        !           826:      1,     0,     2,     4,     1,     1,     1,     2,     2,     2,
        !           827:      1,     1,     1,     3,     1,     3,     2,     2,     2,     2,
1.1.1.2   root      828:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.3 ! root      829:      2,     2,     2,     2,     2,     2,     2,     2,     2,     3,
        !           830:      2,     2,     2,     3,     2,     3,     2,     2,     3,     2
1.1       root      831: };
                    832: 
                    833: static const short yydefact[] = {     3,
1.1.1.3 ! root      834:      0,     0,     0,   449,   271,   472,   260,   270,   259,     0,
        !           835:      0,     0,   327,     0,     0,     0,     0,     0,   411,   411,
        !           836:    411,     0,     0,    74,    17,    58,     0,     5,     6,     0,
1.1.1.2   root      837:     11,    10,     9,     8,   237,   275,   124,     0,     0,   251,
1.1.1.3 ! root      838:      0,   281,   269,     0,   340,   342,   346,   345,   322,     0,
        !           839:    411,   469,   272,   450,     4,    56,    57,   411,   471,   609,
        !           840:    101,   102,   317,   103,   320,     0,   231,    27,     0,   680,
        !           841:    271,   409,   678,   677,   411,   675,   656,   661,   662,     0,
        !           842:    668,   667,   653,   654,   652,   671,   660,   657,   658,   659,
        !           843:    663,   664,   650,   651,   647,   648,   649,   665,   666,   672,
        !           844:    673,     0,   655,   669,   275,   406,   263,     0,   272,   328,
        !           845:      0,     0,   454,    18,   628,     0,     0,     0,     0,     0,
        !           846:      0,   231,   452,   451,     0,   453,     3,     0,     0,   271,
        !           847:      0,     0,   340,   342,   632,     0,    88,    83,   237,     0,
        !           848:      0,   630,   122,   123,   132,   428,     0,   411,   411,   423,
        !           849:      0,    55,     0,     0,   279,   247,   248,   411,   424,   271,
1.1.1.2   root      850:    262,   261,    54,     0,   252,     0,     0,   256,   276,   277,
1.1.1.3 ! root      851:    253,   255,   278,     0,    49,   330,   331,   332,   333,   336,
        !           852:    344,   103,   105,   104,   106,   334,   339,   335,   347,   347,
        !           853:    360,     0,    66,   411,     0,   413,     0,     0,    69,     0,
        !           854:    411,   609,   632,   613,   614,   629,   629,     0,   610,   617,
        !           855:    319,     0,   314,   235,     0,   198,   409,   200,   231,   231,
1.1.1.2   root      856:      0,     0,   147,   233,   214,   232,   231,   137,   136,   231,
                    857:    138,   139,     0,   231,   140,   231,     0,   141,   169,   175,
1.1.1.3 ! root      858:    142,   146,     0,   231,   201,     0,   231,   406,   263,     0,
        !           859:    406,     0,   199,     0,    26,   674,   670,   676,   411,     0,
        !           860:    411,   411,   476,   609,   413,   679,   407,   265,   267,   410,
        !           861:    264,     0,   455,     0,   412,   468,   446,   445,   444,     0,
        !           862:    126,   129,   128,   456,    14,     0,     7,     7,    43,    42,
        !           863:    632,     0,    29,    33,    37,    31,    35,    38,   283,    82,
        !           864:     89,    86,     0,   231,   237,     0,     0,     0,   499,    59,
        !           865:    505,    61,   470,   347,   133,   120,   249,   250,     0,     0,
        !           866:    411,   411,   436,     0,     0,   437,    64,    53,    67,     0,
        !           867:     52,   411,     0,   413,     0,    51,   254,    50,    65,    68,
        !           868:    258,   257,   632,   282,   337,   338,   348,   341,   343,   382,
        !           869:    231,     0,   387,   387,     0,     0,   365,   632,   442,     0,
        !           870:    259,     0,   143,   251,     0,   448,     0,   231,   636,   637,
        !           871:      0,   635,     0,   641,   643,   633,     0,     0,   294,   458,
        !           872:    463,   457,   632,     0,    72,   406,   406,   411,   612,   406,
        !           873:    616,   615,     0,   402,   325,   400,   316,     0,   236,     0,
1.1.1.2   root      874:    231,     0,     0,   153,   146,     0,     0,   155,   231,   231,
                    875:    231,   218,     0,   234,   219,   150,   149,     0,     0,     0,
                    876:      0,   151,   152,   273,     0,   231,   231,     0,   231,   231,
                    877:    231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
                    878:    231,   231,   231,   231,   231,   208,   212,   213,   239,   240,
                    879:    238,   231,   231,   231,   227,     0,   231,   166,   107,   108,
1.1.1.3 ! root      880:    117,   109,     0,   210,     0,     0,   111,   197,   404,   217,
        !           881:    231,   274,   405,   108,   109,   220,    28,   485,   408,   479,
        !           882:    475,     0,     0,     0,     0,   487,     0,   411,   609,   413,
1.1.1.2   root      883:    268,   266,     0,     0,    20,     0,    25,   231,   121,    13,
                    884:     16,    15,   283,    48,    44,    47,    45,    46,    41,     0,
                    885:      0,     0,     0,   294,   102,    94,   231,     0,    90,     0,
1.1.1.3 ! root      886:    124,     0,   307,     0,   303,    84,     0,     0,    60,    63,
        !           887:    506,   507,   500,   130,   427,   426,     0,     0,   411,   411,
        !           888:      0,   411,     0,   413,   421,   294,   280,   417,     0,     0,
        !           889:      0,   420,     0,   411,   411,   283,   357,   356,   355,   125,
        !           890:    349,   350,   352,     0,     0,   384,   383,   449,   411,   231,
        !           891:    231,   609,   632,     0,   388,   411,   609,   632,     0,     0,
        !           892:    321,   367,   366,    81,   411,   411,   411,   447,   414,   638,
        !           893:    639,   640,     0,   642,   645,     0,     0,     0,   293,   411,
        !           894:      0,   411,     0,    73,   411,   411,     0,   411,   411,   609,
        !           895:    625,   626,   623,   624,   632,   611,   619,   631,   621,   618,
        !           896:    231,   326,     0,   325,    12,     0,     0,     0,     0,   271,
1.1.1.2   root      897:      0,   148,   203,   202,     0,   231,   145,   144,   195,   194,
1.1.1.3 ! root      898:    601,   600,     0,   192,   191,   189,   190,   188,   187,   186,
1.1.1.2   root      899:    183,   184,   185,   181,   182,   176,   177,   178,   179,   180,
                    900:    196,     0,     0,   229,   231,   165,     0,   263,   157,   231,
                    901:      0,   119,   118,   110,   224,   231,   112,   113,     0,   114,
1.1.1.3 ! root      902:    211,     0,   222,   231,   478,   474,   411,   411,   473,   477,
        !           903:    411,   486,   481,     0,   483,     0,   329,     0,    19,   336,
        !           904:    334,   339,   127,   294,    30,    34,    32,    36,     0,     0,
1.1.1.2   root      905:     92,     0,    96,   231,    98,   231,     0,   198,   271,   231,
1.1.1.3 ! root      906:    304,     0,   308,     0,    85,    62,     0,     0,   501,   502,
        !           907:      0,     0,     0,     0,     0,   435,   431,     0,     0,     0,
        !           908:    434,     0,   287,   411,   411,   411,   419,     0,     0,   294,
        !           909:    132,     0,   359,   358,   353,   380,   381,   231,   371,   372,
        !           910:    632,   294,   394,     0,   283,     0,   368,   378,   379,   632,
        !           911:      0,   374,   283,   373,   375,     0,   385,   386,   443,   440,
        !           912:    441,   644,     0,   634,     0,     0,   291,   461,     0,     0,
        !           913:      0,   466,     0,     0,     0,   632,   627,   479,   475,   411,
        !           914:     70,     0,     0,   403,   401,   318,     0,   215,   154,   156,
1.1.1.2   root      915:    172,   174,   173,   205,     0,   170,   231,   206,   209,     0,
1.1.1.3 ! root      916:      0,   406,   406,   159,   231,     0,   167,   231,     0,   115,
        !           917:    116,   226,   231,   216,     0,   490,   488,   484,   411,   482,
1.1.1.2   root      918:     21,    24,     0,     0,    39,    93,    91,     0,     0,   100,
1.1.1.3 ! root      919:    231,     0,     0,     0,   305,   301,     0,     0,   198,     0,
        !           920:    518,   521,     0,     0,   231,     0,     0,     0,   231,     0,
        !           921:    597,   571,     0,     0,     0,     0,   231,     0,   551,     0,
        !           922:    513,     0,     0,     0,   495,   512,   517,   494,     0,   231,
        !           923:      0,   577,     0,   524,   528,   503,     0,   425,   422,   439,
        !           924:    438,   411,   411,   411,   433,   285,   418,   415,   416,   493,
        !           925:    492,   290,   354,   351,   294,    76,   393,   411,   294,   449,
        !           926:    231,   231,   632,   389,    79,   411,     0,   646,   284,     0,
        !           927:      0,   411,   411,   411,   411,   411,   411,    71,   620,   622,
        !           928:    315,   323,   193,   134,     0,   228,     0,     0,     0,   160,
        !           929:    168,   223,     0,   221,   491,   489,   480,    23,    40,    95,
        !           930:     97,     0,     0,   312,   231,   306,     0,   309,     0,   504,
        !           931:    498,   509,   569,   231,     0,   231,     0,   231,     0,   538,
        !           932:    540,   541,   542,     0,     0,   598,     0,   636,   637,     0,
        !           933:      0,   572,     0,   578,   552,     0,   570,   514,   245,   632,
        !           934:      0,   246,     0,     0,   632,     0,   508,   497,   496,   515,
        !           935:    561,     0,     0,   550,   549,     0,   566,     0,   577,     0,
        !           936:    574,     0,     0,     0,     0,   432,   429,   430,     0,   288,
        !           937:    392,   369,   370,   632,   390,   231,   294,   399,   283,   376,
        !           938:    377,   632,   298,     0,   296,   292,   462,   459,   460,   467,
        !           939:    464,   465,     0,     0,   134,   207,   230,   163,   164,   158,
        !           940:    225,    99,   310,     0,     0,   302,     0,   231,     0,     0,
        !           941:    499,   590,     0,   593,     0,   534,   231,   231,   543,   548,
        !           942:      0,   558,     0,   231,   499,     0,   231,   499,   553,   242,
        !           943:    283,   241,   244,   243,   283,   231,   564,     0,   568,   567,
        !           944:    562,   576,   575,     0,     0,   131,   286,     0,    75,     0,
        !           945:    294,   398,   294,    78,     0,     0,     0,   171,   135,   413,
        !           946:    413,     0,   313,   510,     0,   522,   594,   592,     0,   591,
        !           947:    532,   231,     0,   539,     0,   557,     0,   573,   555,     0,
        !           948:    579,   516,   559,   587,   525,   529,   289,   391,   397,   395,
        !           949:      0,     0,   297,   295,     0,     0,   311,   231,   519,     0,
        !           950:      0,     0,   231,   535,   536,   602,     0,     0,     0,   580,
        !           951:    563,     0,     0,     0,     0,   299,   161,   162,   511,   231,
        !           952:    231,   596,   595,   533,   231,     0,     0,   603,   604,   544,
        !           953:    556,   554,     0,     0,     0,     0,   396,     0,   520,     0,
        !           954:    537,   231,   602,     0,     0,   583,   560,   581,     0,   526,
        !           955:    530,     0,     0,     0,     0,   545,   605,     0,     0,   585,
        !           956:    231,   231,     0,   523,   606,     0,     0,   584,   582,   586,
        !           957:      0,   527,   531,   300,   607,     0,   546,   588,     0,     0,
        !           958:      0,   608,   547,   589,     0,     0,     0
1.1       root      959: };
                    960: 
1.1.1.3 ! root      961: static const short yydefgoto[] = {  1245,
1.1.1.2   root      962:      1,     2,   128,   501,    28,    29,    30,   274,   494,   495,
                    963:     31,    69,    32,   510,   512,   511,   513,   509,    33,    34,
                    964:     35,   352,   138,   139,   140,   301,   518,   519,   559,   187,
                    965:    464,   465,    36,    37,   145,   751,   280,   281,   315,   731,
1.1.1.3 ! root      966:    316,  1056,   236,   880,   238,   239,   411,   240,   241,   242,
        !           967:    420,   944,   456,   243,   244,   245,   141,   246,   247,   881,
1.1.1.2   root      968:    343,   882,   171,   883,   248,   268,   406,   269,   154,    41,
1.1.1.3 ! root      969:    379,   155,  1029,   344,  1108,    42,   931,   599,  1044,  1045,
        !           970:    857,   723,   724,    43,   398,   212,  1054,   623,    44,    45,
        !           971:     46,    47,   189,   190,    48,    49,   348,   561,   562,   563,
        !           972:    564,   192,   355,   356,   357,   574,   575,   924,   395,   396,
        !           973:    283,   611,   251,   115,   367,   368,   156,   325,   157,   252,
        !           974:     52,   109,   267,   484,   159,   884,   885,   533,   728,   729,
        !           975:    730,   310,   886,   887,  1158,   888,  1096,   975,  1180,   976,
        !           976:   1160,  1023,  1172,  1221,  1024,  1173,  1222,  1163,  1132,  1185,
        !           977:   1078,  1170,  1144,   889,   890,   891,  1085,   892,  1019,   893,
        !           978:   1088,  1193,  1219,  1218,  1231,  1171,  1241,   894,   895,   987,
        !           979:    643,  1187,  1188,  1189,  1236,   485,   209,   210,   613,   200,
        !           980:    386,   313,   619,   199,   375,   595,   376,   596,   253
1.1       root      981: };
                    982: 
1.1.1.3 ! root      983: static const short yypact[] = {    83,
        !           984:   4540,  4729,   148,-32768,   788,-32768,-32768,-32768,-32768,   237,
        !           985:     37,   125,-32768,   276,  1837,   183,   304,   250,-32768,-32768,
        !           986: -32768,   766,   259,-32768,-32768,-32768,   257,-32768,   290,  5016,
        !           987: -32768,-32768,-32768,-32768,    62,   390,   521,  1422,  6163,   833,
        !           988:    145,-32768,-32768,  1024,-32768,-32768,-32768,-32768,   413,   500,
        !           989: -32768,-32768,   272,-32768,-32768,-32768,-32768,-32768,-32768,  4277,
        !           990: -32768,-32768,   365,-32768,   429,   489,  5653,-32768,   170,-32768,
        !           991: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   474,
1.1.1.2   root      992: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1       root      993: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.3 ! root      994: -32768,   424,-32768,-32768,-32768,   721,   923,  2179,-32768,-32768,
        !           995:    489,   235,-32768,-32768,   529,   766,  1757,  1757,   501,   390,
        !           996:     21,  5653,-32768,-32768,   235,-32768,   541,  4958,   550,   501,
        !           997:   3564,  6347,   176,   213,   625,   558,-32768,   587,    -3,    79,
        !           998:     79,-32768,-32768,-32768,   505,   501,  1950,-32768,-32768,-32768,
        !           999:   5381,-32768,  1343,   207,-32768,   602,   608,-32768,-32768,  1258,
        !          1000: -32768,-32768,-32768,   577,   833,   226,  1037,-32768,-32768,-32768,
        !          1001:   1230,-32768,-32768,  3564,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1002: -32768,   259,-32768,-32768,-32768,-32768,-32768,   613,   539,   539,
        !          1003: -32768,  4842,-32768,-32768,  3117,   504,   323,   601,   477,  4850,
        !          1004: -32768,  4277,    55,-32768,-32768,-32768,  1635,   622,    91,   678,
        !          1005: -32768,   235,   599,-32768,    36,-32768,   669,-32768,  5863,  5907,
        !          1006:    671,   677,-32768,-32768,-32768,   635,  5736,-32768,-32768,  5736,
        !          1007: -32768,-32768,  4067,  5736,-32768,  5736,   668,   726,-32768,-32768,
        !          1008:   6540,  1305,   746,  5321,   770,   122,  5736,   721,   466,   685,
        !          1009:   6406,   215,-32768,   813,-32768,   529,-32768,-32768,-32768,   911,
        !          1010: -32768,-32768,-32768,  6391,   716,-32768,   631,   923,-32768,-32768,
        !          1011:    923,    46,-32768,  1707,-32768,-32768,   608,   608,-32768,    22,
        !          1012: -32768,  3112,-32768,-32768,-32768,  4656,-32768,-32768,-32768,-32768,
        !          1013:      4,   364,-32768,-32768,-32768,-32768,-32768,-32768,   808,-32768,
        !          1014:    211,-32768,  4150,  5736,-32768,    79,    79,   789,   737,-32768,
        !          1015: -32768,-32768,-32768,   539,-32768,-32768,   602,   608,  1482,  1482,
        !          1016: -32768,-32768,-32768,  5464,    31,-32768,-32768,-32768,   477,  3564,
        !          1017: -32768,-32768,  3224,   756,  5276,-32768,  1230,-32768,-32768,   477,
        !          1018: -32768,-32768,     4,-32768,-32768,-32768,   355,-32768,-32768,-32768,
        !          1019:   5736,   633,  1185,  5989,    10,  1593,-32768,   625,   529,   768,
        !          1020:    669,    19,  6584,   588,   778,-32768,   787,  5736,-32768,   501,
        !          1021:    742,-32768,   883,-32768,-32768,   838,  2318,   822,   882,   501,
        !          1022:    259,-32768,    55,   814,-32768,  1685,  1685,-32768,-32768,  6047,
        !          1023: -32768,-32768,  4150,   870,   891,-32768,-32768,   235,-32768,   841,
        !          1024:   5736,   669,  4067,-32768,   864,   404,  4067,-32768,  5736,  5819,
        !          1025:   5736,-32768,    40,-32768,-32768,-32768,-32768,   847,   848,   789,
        !          1026:    849,-32768,-32768,-32768,  4482,  5736,  5736,  4233,  5736,  5736,
        !          1027:   5736,  5736,  5736,  5736,  5736,  5736,  5736,  5736,  5736,  5736,
        !          1028:   5736,  5736,  5736,  5736,  5736,-32768,-32768,-32768,-32768,-32768,
        !          1029: -32768,  5736,  5736,  5736,    43,  1541,  4611,-32768,-32768,   501,
        !          1030:    900,   259,   369,   498,   309,   215,-32768,-32768,-32768,-32768,
        !          1031:   5736,-32768,-32768,-32768,-32768,   652,-32768,   529,   631,   496,
        !          1032:    496,   163,   221,   853,   857,-32768,   855,-32768,  4277,   858,
        !          1033: -32768,   923,   931,   269,-32768,  1045,-32768,  5653,-32768,-32768,
        !          1034: -32768,-32768,   808,-32768,-32768,-32768,-32768,-32768,-32768,   865,
        !          1035:    868,   875,   885,   882,   501,-32768,  5736,   623,-32768,   657,
        !          1036:    774,   235,-32768,  3652,  6584,-32768,    61,    79,-32768,-32768,
        !          1037: -32768,-32768,   954,-32768,   602,   602,  1482,  1482,-32768,-32768,
        !          1038:    452,-32768,  3331,   888,-32768,   882,-32768,   529,   887,   179,
        !          1039:    894,-32768,   896,-32768,-32768,   808,-32768,-32768,-32768,-32768,
        !          1040:    949,-32768,-32768,   425,  6467,-32768,-32768,   947,    38,  5736,
        !          1041:   5736,  6221,     4,   354,-32768,   105,  6221,   733,   329,   948,
        !          1042: -32768,-32768,-32768,   715,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1043: -32768,-32768,   323,-32768,-32768,   198,   489,   926,   953,-32768,
        !          1044:   3438,-32768,  3545,-32768,-32768,   304,  2096,-32768,-32768,  6105,
        !          1045: -32768,   608,-32768,-32768,    55,-32768,   957,-32768,   961,-32768,
        !          1046:   5736,   235,   913,   891,-32768,   239,   916,   917,   920,    20,
        !          1047:    922,-32768,-32768,-32768,   930,  5404,-32768,  6584,  6584,  6584,
        !          1048: -32768,-32768,   962,  6620,  6635,  3211,  3071,  3177,  1718,  1982,
        !          1049:   1066,  1066,  1066,   914,   914,   743,   743,-32768,-32768,-32768,
        !          1050: -32768,   297,   918,   952,  5736,-32768,  2318,   753,   977,  5736,
        !          1051:    929,-32768,-32768,-32768,-32768,  5736,-32768,   501,    72,-32768,
        !          1052:    666,   324,-32768,  5736,   631,   631,-32768,-32768,-32768,-32768,
        !          1053: -32768,-32768,   529,   936,-32768,   933,-32768,  1707,-32768,   950,
        !          1054:    361,   988,-32768,   882,-32768,-32768,-32768,-32768,   364,   409,
        !          1055: -32768,   211,-32768,  5736,-32768,  5736,   672,   989,    34,  5736,
        !          1056: -32768,   991,-32768,    32,-32768,-32768,   235,  2903,   954,-32768,
        !          1057:    413,   531,   554,  1482,  1482,-32768,   529,   944,   427,   951,
        !          1058: -32768,   942,  1003,-32768,-32768,-32768,-32768,  1482,  1482,   882,
        !          1059:    505,   355,-32768,-32768,-32768,-32768,-32768,  5736,-32768,-32768,
        !          1060:     55,  6517,  6584,   956,    44,  1312,-32768,-32768,-32768,    55,
        !          1061:    959,-32768,   693,-32768,-32768,  4900,-32768,-32768,   529,   529,
        !          1062:    529,-32768,  2318,-32768,    48,   978,-32768,   529,   964,   441,
        !          1063:    966,   529,   968,   444,   971,    55,   608,   695,   695,   163,
        !          1064: -32768,  4150,  4150,  6584,-32768,-32768,   960,-32768,-32768,-32768,
        !          1065: -32768,-32768,-32768,-32768,  3984,-32768,  5736,-32768,-32768,   489,
        !          1066:    186,   721,  6406,-32768,  5736,  4150,-32768,  5736,   456,-32768,
        !          1067: -32768,-32768,  5736,-32768,   460,   496,   496,   529,-32768,-32768,
        !          1068: -32768,-32768,   241,   364,-32768,-32768,-32768,   464,   483,-32768,
        !          1069:   5736,  6445,  4150,  3735,-32768,-32768,   371,   772,  1021,   996,
        !          1070: -32768,-32768,   999,  1002,  5736,  1031,   986,   992,  5487,   235,
        !          1071:   1084,-32768,   419,  1048,   323,  1049,  5570,   331,-32768,  1000,
        !          1072: -32768,  1878,  6279,  2223,-32768,-32768,  1085,-32768,  2056,  5111,
        !          1073:   2368,-32768,  2475,-32768,-32768,-32768,  4842,-32768,-32768,   602,
        !          1074:    602,-32768,-32768,-32768,-32768,-32768,   529,   529,   529,   602,
        !          1075:    602,  1051,-32768,-32768,  6517,-32768,-32768,   775,   882,  1052,
        !          1076:   5736,  5736,     4,-32768,-32768,   780,  4774,-32768,-32768,  1108,
        !          1077:   4150,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1078: -32768,  1063,  6604,   505,    84,-32768,  1011,  1012,   488,-32768,
        !          1079: -32768,-32768,   495,-32768,   631,   631,   529,-32768,-32768,-32768,
        !          1080: -32768,   507,  4150,-32768,  5736,-32768,  1062,-32768,   235,-32768,
        !          1081: -32768,-32768,-32768,  5736,  1035,  5216,  3818,  5736,   846,-32768,
        !          1082: -32768,-32768,-32768,  1017,  1022,-32768,  1065,  1023,    16,  1026,
        !          1083:    675,-32768,   730,-32768,-32768,  1044,-32768,-32768,-32768,   783,
        !          1084:    401,-32768,  1047,   417,   295,  1050,-32768,-32768,-32768,-32768,
        !          1085: -32768,   323,   235,-32768,-32768,   811,-32768,  2582,-32768,   816,
        !          1086: -32768,  2689,  4316,  4316,    25,   529,   529,   529,  4150,-32768,
        !          1087: -32768,-32768,-32768,    55,  1097,  5736,  6517,  6584,   808,-32768,
        !          1088: -32768,    55,  1070,   508,-32768,-32768,   529,   529,   529,   529,
        !          1089:    529,   529,  3901,  1054,   505,-32768,-32768,  1072,  1073,-32768,
        !          1090: -32768,-32768,-32768,  6562,  4150,-32768,  1057,  5736,  1147,  1060,
        !          1091:   1061,-32768,  1068,-32768,  1064,-32768,  5736,  5216,-32768,-32768,
        !          1092:    489,-32768,  1069,  5736,-32768,  1071,  5736,-32768,-32768,-32768,
        !          1093:    808,-32768,-32768,-32768,   808,  5216,   838,  1116,-32768,-32768,
        !          1094: -32768,-32768,-32768,  1074,  1076,-32768,-32768,  4150,-32768,  4150,
        !          1095:   6517,-32768,   882,-32768,   357,  1108,  1067,-32768,-32768,-32768,
        !          1096: -32768,  4150,-32768,-32768,  1080,-32768,-32768,-32768,  3010,-32768,
        !          1097: -32768,  5216,  1115,-32768,    45,-32768,   518,-32768,-32768,   522,
        !          1098: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1122,
        !          1099:   1126,  1082,-32768,-32768,  1083,  1086,-32768,  5216,-32768,  1110,
        !          1100:    823,  2796,  5216,-32768,-32768,  1180,  1095,  1096,  1098,-32768,
        !          1101:   1112,  4399,  4399,  4150,  1194,-32768,-32768,-32768,-32768,  5216,
        !          1102:   5736,-32768,-32768,-32768,  5216,  1125,   415,  1154,-32768,-32768,
        !          1103: -32768,-32768,   360,  1127,  1107,  1113,-32768,  1161,-32768,  1120,
        !          1104: -32768,  5736,  1180,  1114,  1180,-32768,-32768,-32768,  2318,-32768,
        !          1105: -32768,  1210,  1123,  1121,   422,-32768,-32768,   789,   789,   235,
        !          1106:   5216,  5216,  1129,-32768,-32768,  1219,  1130,-32768,-32768,-32768,
        !          1107:   1138,-32768,-32768,-32768,-32768,   537,-32768,-32768,  1232,  1142,
        !          1108:    789,-32768,-32768,-32768,  1247,  1249,-32768
1.1       root     1109: };
                   1110: 
                   1111: static const short yypgoto[] = {-32768,
1.1.1.3 ! root     1112:   1124,-32768,-32768,   969,  1248,-32768,-32768,-32768,-32768,   556,
        !          1113: -32768,-32768,-32768,-32768,-32768,-32768,-32768,  -659,  1128,  1131,
        !          1114: -32768,-32768,-32768,-32768,  1119,-32768,-32768,   548,    -7,   765,
        !          1115:   -235,-32768,    95,   -11,-32768,-32768,-32768,   767,  -909,-32768,
        !          1116:    515,   214,-32768,    33,   189,   713,-32768,  -187,   893,   -44,
        !          1117: -32768,-32768,-32768,-32768,  -205,   -57,  -109,-32768,-32768,   291,
        !          1118:     29,    76,  1109,   907,    -8,  1001,    -1,   -21,   395,   -28,
        !          1119:   -281,-32768,-32768,   955,-32768,-32768,-32768,  -417,-32768,   162,
        !          1120: -32768,  -110,   465,   -12,-32768,-32768,-32768,   659,  -259,  1251,
        !          1121:   1257,-32768,-32768,-32768,-32768,-32768,  -151,-32768,   538,  -544,
        !          1122: -32768,   561,   396,   519,  -350,   945,-32768,-32768,   898,   676,
        !          1123:    -59,   -94,    -2,  1431,  -263,-32768,   -85,   976,    51,   605,
        !          1124: -32768,    24,   -87,-32768,  -127,  -857,  -840,  -226,-32768,-32768,
        !          1125:    572,  -118,  -136,-32768,-32768,    90,-32768,-32768,-32768,-32768,
1.1       root     1126: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.3 ! root     1127: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   283,-32768,
1.1.1.2   root     1128: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.3 ! root     1129:   -992,   102,-32768,   101,-32768,    75,-32768,  -252,   218,     8,
        !          1130:   1101,-32768,-32768,   153,  -577,   526,   301,-32768,  1419
1.1       root     1131: };
                   1132: 
                   1133: 
1.1.1.3 ! root     1134: #define        YYLAST          6707
1.1       root     1135: 
                   1136: 
                   1137: static const short yytable[] = {    40,
1.1.1.3 ! root     1138:     40,   487,    65,   311,   311,   583,   106,   250,   215,   113,
        !          1139:    166,   266,   108,   107,   496,   782,   476,   514,   172,   755,
        !          1140:    414,   497,   312,   326,    53,    53,   116,   173,    40,   307,
        !          1141:   1104,  1105,   188,  1018,  1055,  1022,   186,   165,   349,   416,
        !          1142:     61,    62,   417,  1008,   580,   399,   422,   546,   423,   845,
        !          1143:    137,    50,    50,   272,   399,   399,   458,   399,    40,   580,
        !          1144:     59,   317,   275,   194,    59,   249,   153,   164,   425,   378,
        !          1145:    553,   498,   121,   542,   830,   224,    38,    38,    59,   308,
        !          1146:    135,   854,    -1,   664,   413,   136,   499,  -102,   197,   167,
        !          1147:    112,   665,   -77,   399,   173,   198,   709,   -77,  1166,   237,
        !          1148:    305,   389,   195,   196,   273,   131,   271,    61,    62,   105,
        !          1149:    425,    15,   543,   544,   581,   137,   120,   284,    66,  -102,
        !          1150:    249,   586,   812,   279,   459,   460,    40,   309,   743,  1106,
        !          1151:    165,    64,   120,   545,   208,   206,   855,   617,   400,   197,
        !          1152:    390,   759,   760,   172,   391,  1055,   198,  1167,   493,   342,
        !          1153:    929,    53,   173,   469,   105,   842,   473,   112,   173,   291,
        !          1154:    292,    15,   534,   725,   461,   335,   276,   277,   278,   311,
        !          1155:    311,   531,   479,   421,   405,   405,   483,  1008,    50,  1195,
        !          1156:   1196,  1008,   405,   392,   959,   405,  1057,   529,   530,   405,
        !          1157:     40,   405,   526,   364,   174,   528,   326,   318,    64,   405,
        !          1158:     40,   121,   105,    38,   394,   165,    67,   414,   768,   769,
        !          1159:    120,   120,   120,    61,   515,   462,   110,   459,   474,   254,
        !          1160:    374,   704,   687,   632,   293,   120,   696,   463,   425,   294,
        !          1161:    681,   249,   688,   535,   536,   425,   173,    61,    62,    61,
        !          1162:     62,   120,   358,    61,    62,   120,   491,   783,   175,   271,
        !          1163:    382,    56,    57,   516,    15,   173,   330,   461,   173,   123,
        !          1164:    124,   296,    40,   488,   111,   419,   297,   353,   120,   365,
        !          1165:    206,  1162,    40,   255,   750,   174,   384,   206,    68,   295,
        !          1166:    742,   745,   620,   635,    40,    63,   844,   299,   425,   521,
        !          1167:    946,   120,   517,   520,   120,   991,   105,   993,   958,   125,
        !          1168:    784,   105,   489,   490,   182,   329,    61,    62,   475,    53,
        !          1169:    331,   677,   678,   114,   201,   342,   298,   594,   698,   340,
        !          1170:    463,  1008,   122,   689,   173,   369,   370,     6,    64,   338,
        !          1171:     64,   364,   912,   699,   182,   560,    50,   194,   127,   206,
        !          1172:    120,   808,   172,   627,   917,   105,   425,   628,    15,   206,
        !          1173:    126,   173,   165,   202,    40,   385,   112,    61,    62,  1151,
        !          1174:    557,    38,   369,   370,     6,  1152,   405,   371,   105,   277,
        !          1175:    278,    61,    62,   425,   121,   107,   195,   196,   766,   197,
        !          1176:   1206,   573,   578,   362,   997,   382,   198,   504,    40,   558,
        !          1177:    394,   311,   685,   686,   122,   120,   669,    64,  -248,   818,
        !          1178:    589,   249,    23,   766,   371,   249,   358,   551,   206,   726,
        !          1179:    -22,   673,   505,   120,   120,   506,    23,   507,   120,   372,
        !          1180:    969,   988,   989,     6,   120,   -22,   834,    61,    62,   120,
        !          1181:    753,   353,   774,   775,   142,   419,   612,   612,   496,   419,
        !          1182:    612,   629,   631,   503,   326,   497,   470,   120,   182,   326,
        !          1183:    330,   732,   733,    23,   668,   674,   372,   767,   425,   754,
        !          1184:    642,   191,    64,   371,  1207,   206,   174,   508,  1203,   211,
        !          1185:    491,   105,   169,   170,   970,  1226,   425,   213,    10,   173,
        !          1186:    120,   120,   827,   919,   188,   471,   663,    40,   701,   671,
        !          1187:    425,   919,   527,   425,   542,   556,   249,  1031,   214,    13,
        !          1188:    193,  1035,   378,   275,  1092,   425,    16,  -283,   470,   425,
        !          1189:    584,   846,   182,   425,   717,   372,   722,  1204,   182,   479,
        !          1190:   1094,   550,   483,  -632,  1227,  -632,  -283,   257,  -283,   903,
        !          1191:   -632,   258,   425,   543,   544,   604,   275,   425,   259,   785,
        !          1192:    675,   364,   194,   933,   425,    59,   936,   471,  -632,  -632,
        !          1193:    105,  -632,   560,  -632,   736,   261,   425,  1116,   952,   120,
        !          1194:    300,   113,   954,   694,   206,   262,   960,   425,   113,   143,
        !          1195:     40,   425,   263,   332,   144,    40,   583,   264,   265,   676,
        !          1196:   -283,   195,   196,   105,   197,   961,  1239,   277,   278,   626,
        !          1197:   1060,   198,   347,   168,   169,   170,   332,  1061,   113,   364,
        !          1198:     10,   364,   314,  -632,   614,    51,    51,   618,    40,  1062,
        !          1199:   1117,   366,   333,   334,   394,  1208,   374,   740,   206,  1112,
        !          1200:   1168,    13,   121,   711,  1169,   405,    51,   121,    16,   302,
        !          1201:    470,   120,   120,   898,    51,   333,   334,   412,   303,  1240,
        !          1202:    951,   662,   158,   158,   332,   285,   764,   206,   900,   901,
        !          1203:    194,   771,   206,   289,   290,   173,   899,   797,   822,   682,
        !          1204:    121,   345,   910,   911,   823,   107,   346,   194,   304,   471,
        !          1205:    224,   -87,   712,   488,    15,   791,   206,   795,   206,   413,
        !          1206:    336,   566,   377,   333,   334,   206,   567,   120,   560,   195,
        !          1207:    196,   939,   940,  1149,   683,  1150,    40,     4,   119,   713,
        !          1208:    521,   120,   275,   397,   520,   710,   195,   196,   832,   197,
        !          1209:    685,   686,   489,   490,   850,   950,   198,  1083,   378,   856,
        !          1210:     51,    51,    51,   594,   388,   765,   364,   947,   948,   393,
        !          1211:    773,   739,    51,   684,    15,   158,   158,   606,   714,    19,
        !          1212:    560,   -80,   964,   968,   590,   591,   -80,   833,   955,   956,
        !          1213:    401,   158,   409,   851,   608,   158,  1084,  1113,   410,   169,
        !          1214:    170,   105,   945,   259,   609,    10,   260,   801,     4,   119,
        !          1215:    424,   263,  1086,   206,    40,   425,   610,   265,   158,   399,
        !          1216:    261,   107,   455,   405,   277,   278,    13,   472,    23,   790,
        !          1217:    262,   794,   105,    16,   923,   824,    51,   263,   277,   278,
        !          1218:     27,   373,   264,   265,    51,    15,   120,   722,    17,   546,
        !          1219:     19,  1087,   443,   444,   445,   477,   715,   197,   777,   778,
        !          1220:   1046,   271,   143,   486,   198,    20,   358,   144,   120,   120,
        !          1221:     58,   560,    59,   378,   825,    21,   772,   309,   168,   169,
        !          1222:    170,   532,   120,   120,  1129,    10,   967,    22,   277,   278,
        !          1223:    466,   353,  1063,   821,  1004,   716,  1155,  1156,  1138,    23,
        !          1224:    120,  1141,   985,   552,   829,   990,    13,   197,   482,    60,
        !          1225:    585,    27,   835,    16,   198,   971,   972,   105,  1032,  1033,
        !          1226:    587,   165,   364,  1040,  1041,   592,  1090,   593,   364,   364,
        !          1227:     51,   364,   120,   120,   588,    40,   374,   979,   374,  1076,
        !          1228:   1077,   984,   848,   597,   849,   522,   446,    39,    39,   996,
        !          1229:   1000,  1003,   598,   916,   971,  1099,   605,   105,  1107,   971,
        !          1230:   1102,   621,   925,   158,   158,    40,   971,  1182,   158,   169,
        !          1231:    170,   404,   408,  1005,   158,    10,   132,   447,   448,    51,
        !          1232:    622,   449,   968,   451,   625,   453,   454,   358,   938,   633,
        !          1233:    634,   636,   672,   259,  1123,   690,    13,   158,   158,   691,
        !          1234:     51,  1066,   692,    16,   697,   695,   207,   120,   705,   120,
        !          1235:    261,   706,   353,  1009,   364,   364,   120,   358,   707,  1015,
        !          1236:    262,   441,   442,   443,   444,   445,   727,   263,   708,   744,
        !          1237:     51,    51,   264,   265,    51,   741,   746,  1147,   752,  1148,
        !          1238:    758,   776,   353,   747,   787,  1098,  1067,   786,   802,  1073,
        !          1239:   1075,  1157,   803,   949,   282,   817,   364,   806,   809,   810,
        !          1240:    364,   953,   811,  1135,   813,   819,    61,    62,   826,   176,
        !          1241:    177,   178,   814,   820,    39,   374,   828,   339,   839,   962,
        !          1242:    840,   843,  -101,   182,   853,   967,   902,    61,    62,   905,
        !          1243:    176,   177,   178,   904,   906,   642,   642,   179,   918,   930,
        !          1244:   -632,   926,  -632,  1197,   941,  1069,   932,  -632,   934,   679,
        !          1245:    935,   180,   181,   937,   973,  1039,   364,   974,   179,   194,
        !          1246:    977,  1228,  1229,   978,   980,  -632,  -632,   363,  -632,   981,
        !          1247:   -632,   986,   700,   181,   364,   982,   992,   994,   354,  1010,
        !          1248:   1125,   207,  1030,   998,  1244,  1036,   120,  1009,   207,  1133,
        !          1249:   1043,  1009,  1053,  1058,  1059,  1065,  1068,   182,   195,   196,
        !          1250:   1079,   197,   183,   184,   185,  1080,  -101,   364,   198,  1082,
        !          1251:    364,   439,   440,   441,   442,   443,   444,   445,   182,   468,
        !          1252:   -248,   158,   158,   183,   184,   185,  1081,  1089,  1110,  1220,
        !          1253:   1093,  1115,  1091,   971,  1120,  1121,   364,  1095,  1118,  1124,
        !          1254:    364,   364,  1126,  1127,  1143,  1128,  1131,  1134,  1165,  1154,
        !          1255:    207,  1130,  1136,  1174,  1139,  1175,   158,  1145,   364,  1146,
        !          1256:    207,   158,  1159,   364,  1176,  1142,  1109,   568,   146,  1186,
        !          1257:   1177,  1181,    39,  1178,  1114,   525,   363,   373,  1190,  1191,
        !          1258:   1194,  1192,  1198,  1205,   642,   642,  1202,   107,  1209,  1210,
        !          1259:   1212,    51,  1230,  1200,   800,  1211,   374,  1216,  1223,   364,
        !          1260:    364,  1164,  1213,  1225,    15,   363,  1224,   569,  1235,    19,
        !          1261:    147,  1234,   570,  1237,  1214,   341,   169,   170,   571,   207,
        !          1262:   1238,  1242,    10,   565,   148,  1243,  1246,  1179,  1247,    55,
        !          1263:    286,  1009,  1184,   841,   149,   287,   502,   306,   288,   847,
        !          1264:    702,   150,   354,    13,   703,   913,   572,  1074,  1119,  1199,
        !          1265:     16,   492,  1137,   337,  1201,  1140,  1001,  1153,    23,   942,
        !          1266:    133,  -428,   807,  -428,   547,   525,   134,   120,  -428,   914,
        !          1267:     27,   897,  1025,   363,   927,   624,   207,   805,   579,   541,
        !          1268:    896,  1101,    59,   105,  1215,  1217,  -428,   387,   928,  -428,
        !          1269:   1232,  1233,  1097,     0,   920,   146,   522,   638,   639,   640,
        !          1270:      0,   644,   645,   646,   647,   648,   649,   650,   651,   652,
        !          1271:    653,   654,   655,   656,   657,   658,   659,   660,   158,   158,
        !          1272:   -428,     0,  -428,   327,   661,   363,     0,   446,     0,  -428,
        !          1273:      0,    15,   158,   158,    17,     0,    19,   147,     0,   921,
        !          1274:      0,     0,  -428,   363,     0,   922,  -632,     0,  -632,     0,
        !          1275:    158,   148,     0,  -632,     0,     0,     0,     0,   447,   448,
        !          1276:     51,   149,   449,   450,   451,   452,   453,   454,   150,     0,
        !          1277:    282,  -632,  -632,   151,  -632,   207,  -632,     0,     0,     0,
        !          1278:      0,     0,    51,    51,     0,    23,     0,     0,     0,   363,
        !          1279:      0,     0,     0,     0,     0,     0,   525,    27,     0,    54,
        !          1280:     54,     0,     0,     0,     4,   146,     0,   197,     0,     0,
        !          1281:      0,     0,     0,     0,   198,   363,     0,     0,     0,     0,
        !          1282:     54,     0,     0,     0,     0,     0,   328,     0,    54,   207,
        !          1283:    117,   118,     0,     0,     0,     0,    54,    54,     0,     0,
        !          1284:      0,    15,   762,   763,    17,     0,    19,   147,     0,     0,
        !          1285:      0,     0,     0,     0,     0,     0,     0,   373,   207,   373,
        !          1286:      0,   148,     0,   207,     4,   146,   158,   158,   203,   275,
        !          1287:      0,   149,     0,   363,     0,   363,     0,     0,   150,     0,
        !          1288:      0,    51,     0,   151,     0,   256,     0,   207,     0,   207,
        !          1289:      0,     0,     0,   804,     0,    23,   207,     0,     0,     0,
        !          1290:      0,    15,     0,     0,    17,   152,    19,    27,   816,     0,
        !          1291:      0,    51,     0,     0,    54,    54,    54,     0,     0,     0,
        !          1292:      0,   148,     0,     0,    71,     6,    54,     8,    72,    54,
        !          1293:     54,   149,     0,    10,     0,     0,     0,   363,   150,     0,
        !          1294:      0,     0,     0,   151,     0,    54,     0,    12,   363,    54,
        !          1295:      0,     0,     0,     0,    13,    23,   363,     0,   319,   320,
        !          1296:      0,    16,     0,     0,     0,     0,     0,    27,   666,     0,
        !          1297:      0,     0,    54,   350,     0,     4,   130,     6,     7,     8,
        !          1298:      9,     0,     0,     0,   207,    10,   363,     0,   363,     0,
        !          1299:     54,     0,   852,     0,     0,     0,   373,     0,    54,    12,
        !          1300:      0,     0,   667,     0,   359,     0,    13,  -362,     0,     0,
        !          1301:      0,   383,    15,    16,    23,    17,     0,    19,    71,     6,
        !          1302:    161,     8,   162,     0,   415,     0,   351,    10,     0,     0,
        !          1303:    915,     0,    20,     0,     0,     0,     0,     0,     0,     0,
        !          1304:      0,    12,    21,     0,   467,     0,     0,     0,    13,     0,
        !          1305:    467,     0,     0,     0,    22,    16,     0,     0,     0,     0,
        !          1306:      0,     0,   354,     0,     0,     0,    23,     4,   119,   478,
        !          1307:      0,   480,   481,     0,   525,   525,   582,  -362,    27,     0,
        !          1308:      0,     0,     0,     0,    54,     0,     0,   525,     0,   943,
        !          1309:     71,     6,     7,     8,     9,     0,     0,   363,   525,    10,
        !          1310:      0,     0,     0,     0,    15,   363,     0,   606,    23,    19,
        !          1311:    607,     0,     0,    12,     0,     0,     0,    54,    54,     0,
        !          1312:     13,     0,    54,   363,   608,   525,   525,    16,    54,     0,
        !          1313:      0,   537,   538,    54,   609,     0,     0,     0,     0,     4,
        !          1314:    119,   263,   548,     0,   275,     0,   610,   265,     0,     0,
        !          1315:      0,    54,    54,     0,    54,     0,     0,     0,    23,   435,
1.1.1.2   root     1316:    436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
1.1.1.3 ! root     1317:     27,     0,     0,     0,     0,     0,    15,   373,     0,    17,
        !          1318:     23,    19,     0,   354,    54,    54,     0,     0,    54,     0,
        !          1319:      0,     0,     0,  1037,  1038,     0,    20,     0,   615,     0,
        !          1320:      0,     0,     0,   525,     0,     0,    21,     0,     0,     0,
        !          1321:      0,     0,     0,   354,     0,     0,     0,    70,    22,     0,
        !          1322:     71,     6,     0,     8,    72,     0,     0,     0,     0,    10,
        !          1323:     23,     0,     0,     0,     0,   525,     0,  1064,     0,     0,
        !          1324:      0,     0,    27,    12,     0,     0,     0,     0,     0,     0,
        !          1325:     13,     0,    73,    74,     0,     0,     0,    16,    75,    76,
        !          1326:      4,   146,     0,   680,   467,     0,    77,    78,    79,    80,
        !          1327:      0,     0,    81,    82,    83,    84,    85,    86,    87,    88,
        !          1328:     89,    90,    91,    92,    93,    94,    95,    96,    97,     0,
        !          1329:     98,    99,     0,     0,   100,   101,     0,    15,   693,   102,
        !          1330:     17,   525,    19,   147,     0,     0,     0,     0,  1111,     0,
        !          1331:     23,     0,     0,     0,     0,     0,     0,   148,     0,     0,
        !          1332:      0,     0,   103,   104,     0,   525,     0,   149,     0,     0,
        !          1333:      0,     0,     4,   146,   150,    54,    54,   525,     0,   151,
        !          1334:      0,     0,     0,     0,     0,     0,     0,     0,     0,   734,
        !          1335:    735,    23,   737,     0,     0,     0,   363,     0,     0,   363,
        !          1336:      0,   999,     0,    27,   748,   749,     0,     0,     0,    15,
        !          1337:     54,     0,    17,     0,    19,    54,     0,     0,     0,   761,
        !          1338:    525,     0,   525,     0,     0,     0,   770,     0,     0,   148,
        !          1339:      0,     0,     0,     0,   525,   779,   780,   781,     0,   149,
        !          1340:      0,     0,     0,     0,     0,    54,   150,     0,    54,     0,
        !          1341:    788,   151,   792,     0,     0,   796,   478,     0,   798,   799,
        !          1342:      0,     0,     0,    23,   436,   437,   438,   439,   440,   441,
        !          1343:    442,   443,   444,   445,     0,    27,  1011,     0,  -565,  -565,
        !          1344:   -565,  -565,  -565,  -565,  -565,  -565,   525,  -565,  -565,  -565,
        !          1345:   -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,  -565,
        !          1346:   -565,  -565,  -565,  -565,  -565,  -565,     0,  -565,     0,  -565,
        !          1347:      0,  -565,  -565,     0,  -565,  -565,  -565,   831,     4,   119,
        !          1348:   -565,     0,     0,  -565,  -565,     0,     0,     0,     0,     0,
        !          1349:      0,     0,     0,     0,     0,  -565,     0,   836,   837,     0,
        !          1350:      0,   838,     0,  -565,  -565,  -565,     0,     0,     0,  -565,
        !          1351:   -565,     0,     0,     0,     0,    15,     0,  -565,   606,  -565,
        !          1352:     19,  1012,  -565,  1013,     0,  -565,  -565,  -565,     0,  -565,
        !          1353:      0,     0,    54,    54,     0,   608,     0,     0,     0,  -565,
        !          1354:   -565,  -565,  -565,     0,     0,   609,    54,    54,     0,     0,
        !          1355:      0,     0,   263,     0,   907,   908,   909,   610,   265,     0,
        !          1356:      0,     0,    71,     6,    54,     8,   270,     0,     0,    23,
        !          1357:      0,    10,     0,     0,    54,     0,     0,     0,     0,     0,
        !          1358:      0,    27,     0,     0,     0,    12,     0,     0,     0,     0,
        !          1359:      0,     0,    13,     0,     0,     0,    54,    54,     0,    16,
        !          1360:      0,     0,     0,  1006,     0,   859,   130,     6,     7,     8,
        !          1361:    361,   218,   214,     0,   219,    10,   860,     0,   861,   862,
        !          1362:    863,   864,   865,   866,   867,   868,   869,   870,   871,    12,
        !          1363:    220,   221,   222,     0,   223,     0,    13,     0,   224,  -231,
        !          1364:      0,   225,    15,    16,     0,     0,     0,   226,     0,   957,
        !          1365:    872,   309,    23,     0,     0,     0,     0,     0,     0,     0,
        !          1366:      0,     0,   227,     0,     0,     0,     0,     0,     0,     0,
        !          1367:    228,   229,   230,     0,     0,     0,   231,   232,     0,     0,
        !          1368:     54,    54,     0,     0,   233,     0,   873,     0,     0,   874,
        !          1369:      0,     0,   875,   876,   877,    54,   878,     0,     0,     0,
        !          1370:      0,    71,     6,     0,     8,    72,   879,  1007,   234,   235,
        !          1371:     10,     0,  1026,  1027,  1028,     0,     0,     0,     0,     0,
        !          1372:      0,     0,     0,     0,    12,    54,     0,     0,  1034,     0,
        !          1373:      0,    13,     0,     0,     0,     0,  1042,     0,    16,     0,
        !          1374:      0,     0,  1047,  1048,  1049,  1050,  1051,  1052,  1016,     0,
1.1.1.2   root     1375:    859,   130,     6,     7,     8,   361,   218,   214,     0,   219,
                   1376:     10,   860,     0,   861,   862,   863,   864,   865,   866,   867,
                   1377:    868,   869,   870,   871,    12,   220,   221,   222,     0,   223,
                   1378:      0,    13,     0,   224,  -231,     0,   225,    15,    16,     0,
1.1.1.3 ! root     1379:      0,    23,   226,     0,     0,   872,   309,     0,     0,     0,
1.1.1.2   root     1380:      0,     0,     0,     0,     0,     0,     0,   227,     0,     0,
                   1381:      0,     0,     0,     0,     0,   228,   229,   230,     0,     0,
                   1382:      0,   231,   232,     0,     0,     0,     0,     0,     0,   233,
                   1383:      0,   873,     0,     0,   874,     0,     0,   875,   876,   877,
                   1384:      0,   878,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1385:      0,   879,  1017,   234,   235,  1020,     0,   859,   130,     6,
1.1.1.2   root     1386:      7,     8,   361,   218,   214,     0,   219,    10,   860,     0,
                   1387:    861,   862,   863,   864,   865,   866,   867,   868,   869,   870,
                   1388:    871,    12,   220,   221,   222,     0,   223,     0,    13,     0,
                   1389:    224,  -231,     0,   225,    15,    16,     0,     0,     0,   226,
                   1390:      0,     0,   872,   309,     0,     0,     0,     0,     0,     0,
                   1391:      0,     0,     0,     0,   227,     0,     0,     0,     0,     0,
                   1392:      0,     0,   228,   229,   230,     0,     0,     0,   231,   232,
                   1393:      0,     0,     0,     0,     0,     0,   233,     0,   873,     0,
                   1394:      0,   874,     0,     0,   875,   876,   877,     0,   878,     0,
1.1.1.3 ! root     1395:      0,     0,     0,     0,     0,     0,     0,     0,   879,  1021,
        !          1396:    234,   235,  1006,     0,   859,   130,     6,     7,     8,   361,
1.1.1.2   root     1397:    218,   214,     0,   219,    10,   860,     0,   861,   862,   863,
                   1398:    864,   865,   866,   867,   868,   869,   870,   871,    12,   220,
                   1399:    221,   222,     0,   223,     0,    13,     0,   224,  -231,     0,
                   1400:    225,    15,    16,     0,     0,     0,   226,     0,     0,   872,
                   1401:    309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1402:      0,   227,     0,     0,     0,     0,     0,     0,     0,   228,
                   1403:    229,   230,     0,     0,     0,   231,   232,     0,     0,     0,
                   1404:      0,     0,     0,   233,     0,   873,     0,     0,   874,     0,
                   1405:      0,   875,   876,   877,     0,   878,     0,     0,     0,     0,
1.1.1.3 ! root     1406:      0,     0,     0,     0,     0,   879,  1100,   234,   235,  1006,
1.1.1.2   root     1407:      0,   859,   130,     6,     7,     8,   361,   218,   214,     0,
                   1408:    219,    10,   860,     0,   861,   862,   863,   864,   865,   866,
                   1409:    867,   868,   869,   870,   871,    12,   220,   221,   222,     0,
                   1410:    223,     0,    13,     0,   224,  -231,     0,   225,    15,    16,
                   1411:      0,     0,     0,   226,     0,     0,   872,   309,     0,     0,
                   1412:      0,     0,     0,     0,     0,     0,     0,     0,   227,     0,
                   1413:      0,     0,     0,     0,     0,     0,   228,   229,   230,     0,
                   1414:      0,     0,   231,   232,     0,     0,     0,     0,     0,     0,
                   1415:    233,     0,   873,     0,     0,   874,     0,     0,   875,   876,
1.1.1.3 ! root     1416:    877,     0,   878,     0,     0,     0,     0,     0,     0,     0,
        !          1417:      0,     0,   879,  1103,   234,   235,  1006,     0,   859,   130,
        !          1418:      6,     7,     8,   361,   218,   214,     0,   219,    10,   860,
        !          1419:      0,   861,   862,   863,   864,   865,   866,   867,   868,   869,
        !          1420:    870,   871,    12,   220,   221,   222,     0,   223,     0,    13,
        !          1421:      0,   224,  -231,     0,   225,    15,    16,     0,     0,     0,
        !          1422:    226,     0,     0,   872,   309,     0,     0,     0,     0,     0,
        !          1423:      0,     0,     0,     0,     0,   227,     0,     0,     0,     0,
        !          1424:      0,     0,     0,   228,   229,   230,     0,     0,     0,   231,
        !          1425:    232,     0,     0,     0,     0,     0,     0,   233,     0,   873,
        !          1426:      0,     0,   874,     0,     0,   875,   876,   877,     0,   878,
        !          1427:      0,     0,     0,     0,     0,     0,     0,     0,     0,   879,
        !          1428:   1183,   234,   235,   858,     0,   859,   130,     6,     7,     8,
        !          1429:    361,   218,   214,     0,   219,    10,   860,     0,   861,   862,
        !          1430:    863,   864,   865,   866,   867,   868,   869,   870,   871,    12,
1.1.1.2   root     1431:    220,   221,   222,     0,   223,     0,    13,     0,   224,  -231,
1.1.1.3 ! root     1432:      0,   225,    15,    16,     0,     0,     0,   226,     0,     0,
        !          1433:    872,   309,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1434:      0,     0,   227,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2   root     1435:    228,   229,   230,     0,     0,     0,   231,   232,     0,     0,
1.1.1.3 ! root     1436:      0,     0,     0,     0,   233,     0,   873,     0,     0,   874,
        !          1437:      0,     0,   875,   876,   877,     0,   878,     0,     0,     0,
        !          1438:      0,     0,     0,     0,     0,     0,   879,     0,   234,   235,
        !          1439:   1161,     0,   859,   130,     6,     7,     8,   361,   218,   214,
        !          1440:      0,   219,    10,   860,     0,   861,   862,   863,   864,   865,
        !          1441:    866,   867,   868,   869,   870,   871,    12,   220,   221,   222,
1.1.1.2   root     1442:      0,   223,     0,    13,     0,   224,  -231,     0,   225,    15,
1.1.1.3 ! root     1443:     16,     0,     0,     0,   226,     0,     0,   872,   309,     0,
        !          1444:      0,     0,     0,     0,     0,     0,     0,     0,     0,   227,
1.1.1.2   root     1445:      0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
                   1446:      0,     0,     0,   231,   232,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1447:      0,   233,     0,   873,     0,     0,   874,     0,     0,   875,
        !          1448:    876,   877,     0,   878,     0,     0,     0,     0,     0,     0,
        !          1449:      0,     0,     0,   879,     0,   234,   235,   360,     0,   216,
1.1.1.2   root     1450:    130,     6,     7,     8,   361,   218,   214,   204,   219,    10,
1.1.1.3 ! root     1451:    433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
        !          1452:    443,   444,   445,    12,   220,   221,   222,     0,   223,     0,
1.1.1.2   root     1453:     13,     0,   224,  -231,     0,   225,    15,    16,     0,     0,
1.1.1.3 ! root     1454:      0,   226,   426,   427,   428,     0,     0,   429,   430,   431,
        !          1455:    432,   433,   434,   435,   436,   437,   227,   439,   440,   441,
        !          1456:    442,   443,   444,   445,   228,   229,   230,     0,     0,     0,
1.1.1.2   root     1457:    231,   232,     0,     0,     0,     0,     0,     0,   233,     0,
                   1458:      0,     0,     0,     0,     0,     0,     0,     0,     0,   205,
1.1.1.3 ! root     1459:     23,     0,     0,     0,     0,     0,     0,     0,     0,  -609,
        !          1460:      0,     0,   234,   235,   549,     0,   216,   130,     6,     7,
        !          1461:      8,   361,   218,   214,   204,   219,    10,   434,   435,   436,
        !          1462:    437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
1.1.1.2   root     1463:     12,   220,   221,   222,     0,   223,     0,    13,     0,   224,
1.1.1.3 ! root     1464:   -231,     0,   225,    15,    16,     0,     0,     0,   226,   432,
        !          1465:    433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
        !          1466:    443,   444,   445,   227,     0,     0,     0,     0,     0,     0,
1.1.1.2   root     1467:      0,   228,   229,   230,     0,     0,     0,   231,   232,     0,
                   1468:      0,     0,     0,     0,     0,   233,     0,     0,     0,     0,
                   1469:      0,     0,     0,     0,     0,     0,   205,    23,     0,     0,
1.1.1.3 ! root     1470:      0,     0,     0,     0,     0,     0,  -609,     0,     0,   234,
        !          1471:    235,   738,     0,   216,   130,     6,     7,     8,   361,   218,
1.1.1.2   root     1472:    214,   204,   219,    10,     0,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1473:      0,     0,     0,     0,     0,     0,     0,    12,   220,   221,
1.1.1.2   root     1474:    222,     0,   223,     0,    13,     0,   224,  -231,     0,   225,
                   1475:     15,    16,     0,     0,     0,   226,     0,     0,     0,     0,
1.1.1.3 ! root     1476:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1477:    227,     0,     0,     0,     0,     0,     0,     0,   228,   229,
        !          1478:    230,     0,     0,     0,   231,   232,     0,     0,     0,     0,
        !          1479:      0,     0,   233,     0,     0,     0,     0,     0,     0,     0,
        !          1480:      0,     0,     0,   205,    23,     0,     0,     0,     0,     0,
        !          1481:      0,     0,     0,  -609,     0,     0,   234,   235,   789,     0,
        !          1482:    216,   130,     6,     7,     8,   361,   218,   214,   204,   219,
        !          1483:     10,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1484:      0,     0,     0,     0,    12,   220,   221,   222,     0,   223,
        !          1485:      0,    13,     0,   224,  -231,     0,   225,    15,    16,     0,
        !          1486:      0,     0,   226,     0,     0,     0,     0,     0,     0,     0,
        !          1487:      0,     0,     0,     0,     0,     0,     0,   227,     0,     0,
        !          1488:      0,     0,     0,     0,     0,   228,   229,   230,     0,     0,
        !          1489:      0,   231,   232,     0,     0,     0,     0,     0,     0,   233,
        !          1490:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1491:    205,    23,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1492:   -609,     0,     0,   234,   235,   793,     0,   216,   130,     6,
        !          1493:      7,     8,   361,   218,   214,   204,   219,    10,     0,     0,
        !          1494:      0,     0,     0,     0,     0,     0,     4,   146,     0,     0,
        !          1495:      0,    12,   220,   221,   222,     0,   223,     0,    13,     0,
        !          1496:    224,  -231,     0,   225,    15,    16,     0,     0,     0,   226,
        !          1497:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1498:      0,     0,     0,    15,   227,     0,    17,     0,    19,   147,
        !          1499:      0,     0,   228,   229,   230,     0,     0,     0,   231,   232,
        !          1500:      0,     0,     0,   148,     0,     0,   233,     0,     0,     0,
        !          1501:      0,     0,     0,   149,     0,     0,     0,   205,    23,     0,
        !          1502:    150,     0,     0,     0,     0,   151,     0,  -609,     0,     0,
        !          1503:    234,   235,   523,     0,   718,   719,     6,    23,     8,   402,
        !          1504:    218,   214,     0,   219,    10,     0,     0,     0,     0,    27,
        !          1505:      0,     0,     0,     0,     0,     0,     0,     0,    12,   220,
        !          1506:    221,   222,     0,   223,     0,    13,     0,   224,  -231,     0,
        !          1507:    225,    15,    16,     0,     0,     0,   226,     0,     0,     0,
        !          1508:    524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1509:      0,   227,     0,     0,     0,     0,     0,     0,     0,   228,
        !          1510:    229,   230,     0,     0,     0,   231,   232,     0,     0,     0,
        !          1511:      0,     0,     0,   233,   720,   523,     0,   718,   719,     6,
        !          1512:      0,     8,   402,   218,   214,   182,   219,    10,     0,     0,
        !          1513:      0,     0,     0,     0,   965,     0,   721,   234,   235,     0,
        !          1514:      0,    12,   220,   221,   222,     0,   223,     0,    13,     0,
        !          1515:    224,  -231,     0,   225,    15,    16,     0,     0,     0,   226,
        !          1516:      0,     0,     0,   524,     0,     0,     0,     0,     0,     0,
        !          1517:      0,     0,     0,     0,   227,     0,     0,     0,     0,     0,
        !          1518:      0,     0,   228,   229,   230,     0,     0,     0,   231,   232,
        !          1519:      0,     0,     0,     0,     0,     0,   233,     0,  1070,     0,
        !          1520:    216,   130,     6,     7,     8,   361,   218,   214,   182,   219,
        !          1521:     10,     0,     0,     0,     0,     0,     0,     0,     0,   966,
        !          1522:    234,   235,     0,     0,    12,   220,   221,   222,     0,   223,
1.1.1.2   root     1523:      0,    13,     0,   224,  -231,     0,   225,    15,    16,     0,
1.1.1.3 ! root     1524:      0,     0,   226,     0,     0,     0,  1071,     0,     0,     0,
1.1.1.2   root     1525:      0,     0,     0,     0,     0,     0,     0,   227,     0,     0,
1.1.1.3 ! root     1526:      0,     0,     0,     0,     0,   228,   229,   230,     0,     0,
        !          1527:      0,   231,   232,     0,     0,     0,     0,     0,     0,   233,
        !          1528:      0,   523,     0,   718,   719,     6,     0,     8,   402,   218,
        !          1529:    214,    23,   219,    10,     0,     0,     0,     0,     0,     0,
        !          1530:    965,  1072,     0,   234,   235,     0,     0,    12,   220,   221,
1.1.1.2   root     1531:    222,     0,   223,     0,    13,     0,   224,  -231,     0,   225,
                   1532:     15,    16,     0,     0,     0,   226,     0,     0,     0,   524,
                   1533:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1534:    227,     0,     0,     0,     0,     0,     0,     0,   228,   229,
                   1535:    230,     0,     0,     0,   231,   232,     0,     0,     0,     0,
1.1.1.3 ! root     1536:      0,     0,   233,     0,   523,     0,   718,   719,     6,     0,
        !          1537:      8,   402,   218,   214,   182,   219,    10,     0,     0,     0,
        !          1538:      0,     0,     0,     0,     0,  -324,   234,   235,     0,     0,
1.1.1.2   root     1539:     12,   220,   221,   222,     0,   223,     0,    13,     0,   224,
                   1540:   -231,     0,   225,    15,    16,     0,     0,     0,   226,     0,
1.1.1.3 ! root     1541:      0,     0,   524,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2   root     1542:      0,     0,     0,   227,     0,     0,     0,     0,     0,     0,
                   1543:      0,   228,   229,   230,     0,     0,     0,   231,   232,     0,
1.1.1.3 ! root     1544:      0,     0,     0,     0,     0,   233,   720,   418,     0,   216,
        !          1545:    130,     6,     0,     8,   217,   218,   214,   182,   219,    10,
        !          1546:      0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
1.1.1.2   root     1547:    235,     0,     0,    12,   220,   221,   222,     0,   223,     0,
                   1548:     13,     0,   224,  -231,     0,   225,    15,    16,     0,     0,
1.1.1.3 ! root     1549:      0,   226,     0,     0,     0,  -204,     0,     0,     0,     0,
1.1.1.2   root     1550:      0,     0,     0,     0,     0,     0,   227,     0,     0,     0,
                   1551:      0,     0,     0,     0,   228,   229,   230,     0,     0,     0,
                   1552:    231,   232,     0,     0,     0,     0,     0,     0,   233,     0,
1.1.1.3 ! root     1553:    523,     0,   216,   130,     6,     0,     8,   402,   218,   214,
        !          1554:     23,   219,    10,     0,     0,     0,     0,     0,     0,     0,
        !          1555:      0,     0,   234,   235,     0,     0,    12,   220,   221,   222,
1.1.1.2   root     1556:      0,   223,     0,    13,     0,   224,  -231,     0,   225,    15,
                   1557:     16,     0,     0,     0,   226,     0,     0,     0,   524,     0,
                   1558:      0,     0,     0,     0,     0,     0,     0,     0,     0,   227,
                   1559:      0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
                   1560:      0,     0,     0,   231,   232,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1561:      0,   233,     0,   641,     0,   216,   130,     6,     0,     8,
        !          1562:    402,   218,   214,    23,   219,    10,     0,     0,     0,     0,
1.1.1.2   root     1563:      0,     0,     0,     0,     0,   234,   235,     0,     0,    12,
                   1564:    220,   221,   222,     0,   223,     0,    13,     0,   224,  -231,
                   1565:      0,   225,    15,    16,     0,     0,     0,   226,     0,     0,
1.1.1.3 ! root     1566:     71,     6,     7,     8,     9,     0,  -599,   204,     0,    10,
1.1.1.2   root     1567:      0,     0,   227,     0,     0,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1568:    228,   229,   230,    12,     0,     0,   231,   232,     0,     0,
        !          1569:     13,     0,     0,     0,   233,     0,   641,    16,   216,   130,
1.1.1.2   root     1570:      6,     0,     8,   402,   218,   214,    23,   219,    10,     0,
                   1571:      0,     0,     0,     0,     0,     0,     0,     0,   234,   235,
                   1572:      0,     0,    12,   220,   221,   222,     0,   223,     0,    13,
                   1573:      0,   224,  -231,     0,   225,    15,    16,     0,     0,     0,
1.1.1.3 ! root     1574:    226,     0,     0,     0,     0,     0,     0,     0,     0,   205,
        !          1575:     23,     0,     0,     0,     0,   227,     0,     0,     0,     0,
1.1.1.2   root     1576:      0,     0,     0,   228,   229,   230,     0,     0,     0,   231,
                   1577:    232,     0,     0,     0,     0,     0,     0,   233,     0,   641,
                   1578:      0,   216,   130,     6,     0,     8,   402,   218,   214,    23,
1.1.1.3 ! root     1579:    219,    10,     0,     0,     0,     0,     0,     0,     0,  -599,
1.1.1.2   root     1580:      0,   234,   235,     0,     0,    12,   220,   221,   222,     0,
                   1581:    223,     0,    13,     0,   224,  -231,     0,   225,    15,    16,
                   1582:      0,     0,     0,   226,     0,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1583:      0,     0,     0,     0,     0,     0,     0,     0,   227,     0,
1.1.1.2   root     1584:      0,     0,     0,     0,     0,     0,   228,   229,   230,     0,
                   1585:      0,     0,   231,   232,     0,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1586:    233,     0,   637,     0,   216,   130,     6,     0,     8,   402,
1.1.1.2   root     1587:    218,   214,    23,   219,    10,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1588:      0,  -599,     0,     0,   234,   235,     0,     0,    12,   220,
1.1.1.2   root     1589:    221,   222,     0,   223,     0,    13,     0,   224,  -231,     0,
                   1590:    225,    15,    16,     0,     0,     0,   226,     0,     0,     0,
1.1.1.3 ! root     1591:      0,     0,     0,     0,     0,     0,     0,     0,     0,    -2,
        !          1592:      3,   227,     4,     5,     6,     7,     8,     9,     0,   228,
        !          1593:    229,   230,    10,     0,     0,   231,   232,     0,     0,     0,
        !          1594:      0,     0,     0,   233,     0,    11,    12,     0,     0,     0,
        !          1595:      0,     0,     0,    13,     0,    23,     0,    14,     0,    15,
        !          1596:     16,     0,    17,    18,    19,     0,     0,   234,   235,     0,
        !          1597:      0,     0,     0,     0,     0,     0,     0,     0,     0,    20,
        !          1598:      0,     0,     0,     0,     0,     0,     0,     0,     0,    21,
        !          1599:      0,     0,     0,   216,   130,     6,     0,     8,   402,   218,
        !          1600:    214,    22,   219,    10,     0,     0,     0,     0,     0,     0,
        !          1601:      0,     0,     0,    23,    24,    25,     0,    12,   220,   221,
        !          1602:    222,     0,   223,    26,    13,    27,   224,     0,     0,   225,
        !          1603:     15,    16,     0,     0,     0,   226,     3,     0,     4,     5,
        !          1604:      6,     7,     8,     9,     0,     0,     0,     0,    10,     0,
        !          1605:    227,     0,     0,     0,     0,     0,     0,     0,   228,   229,
        !          1606:    230,    11,    12,     0,   231,   232,     0,     0,     0,    13,
        !          1607:      0,     0,   233,    14,     0,    15,    16,     0,    17,    18,
        !          1608:     19,     0,     0,     0,    23,     0,     0,     0,     0,     0,
        !          1609:      0,     0,     0,     0,     0,    20,   234,   235,   670,     0,
        !          1610:      0,     0,     0,     0,     0,    21,     0,     0,     0,     3,
        !          1611:      0,     4,     5,     6,     7,     8,     9,    22,     0,     0,
        !          1612:      0,    10,     0,     0,     0,     0,     0,     0,     0,    23,
        !          1613:     24,    25,     0,     0,    11,    12,     0,     0,     0,    26,
        !          1614:    500,    27,    13,     0,     0,     0,    14,     0,    15,    16,
        !          1615:      0,    17,    18,    19,   350,     0,     4,   130,     6,     7,
        !          1616:      8,     9,     0,     0,     0,     0,    10,     0,    20,     0,
        !          1617:      0,     0,     0,     0,     0,     0,     0,     0,    21,     0,
        !          1618:     12,     0,     0,     0,     0,     0,     0,    13,  -363,     0,
        !          1619:     22,     0,     0,    15,    16,     0,    17,     0,    19,     0,
        !          1620:      0,     0,    23,    24,    25,     0,     0,   351,     0,     0,
        !          1621:      0,     0,    26,    20,    27,     0,     0,     0,     0,     0,
        !          1622:      0,     0,   350,    21,     4,   130,     6,     7,     8,     9,
        !          1623:      0,     0,     4,   380,    10,    22,     0,     0,     0,     0,
        !          1624:      0,     0,     0,     0,     0,     0,     0,    23,    12,     0,
        !          1625:      0,     0,     0,     0,     0,    13,  -361,   582,  -363,    27,
        !          1626:      0,    15,    16,     0,    17,     0,    19,     0,     0,    15,
        !          1627:      0,     0,    17,     0,    19,   351,     0,     0,     0,     0,
        !          1628:    350,    20,     4,   130,     6,     7,     8,     9,     0,    20,
        !          1629:      0,    21,    10,     0,     0,     0,     0,     0,     0,    21,
        !          1630:      0,     0,     0,    22,     0,     0,    12,     0,     0,     0,
        !          1631:      0,    22,     0,    13,  -364,    23,     0,     0,     0,    15,
        !          1632:     16,     0,    17,   381,    19,     0,  -361,    27,     0,     0,
        !          1633:      0,     0,     0,   351,     0,    27,     0,     0,     3,    20,
        !          1634:      4,     5,     6,     7,     8,     9,     0,     0,     0,    21,
        !          1635:     10,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1636:      0,    22,     0,     0,    12,     0,     0,     0,     0,     0,
        !          1637:      0,    13,     0,    23,     0,     0,     0,    15,    16,     0,
        !          1638:     17,     0,    19,     0,  -364,    27,     0,     0,     0,     0,
        !          1639:      0,     0,     0,     0,     0,     0,   129,    20,     4,   130,
        !          1640:      6,     7,     8,     9,     0,     0,     0,    21,    10,     0,
        !          1641:      0,     0,     0,     0,     0,     0,     0,     0,     0,    22,
        !          1642:      0,     0,    12,     0,     0,     0,     0,     0,     0,    13,
        !          1643:      0,    23,    24,     0,     0,    15,    16,     0,    17,     0,
        !          1644:     19,    26,     0,    27,     0,     0,     0,     0,     0,     0,
        !          1645:      0,     0,     0,     0,     0,    20,     0,     0,     0,     0,
        !          1646:      0,     0,     0,     0,     0,    21,     0,     0,     0,     0,
        !          1647:      0,     0,     0,     0,     0,     0,     0,    22,     0,     0,
        !          1648:      0,     0,     0,     0,     0,     0,     0,     0,     0,    23,
        !          1649:      0,     0,     0,   859,   130,     6,     7,     8,   361,   218,
        !          1650:    214,    27,   219,    10,   860,     0,   861,   862,   863,   864,
1.1.1.2   root     1651:    865,   866,   867,   868,   869,   870,   871,    12,   220,   221,
                   1652:    222,     0,   223,     0,    13,     0,   224,     0,     0,   225,
                   1653:     15,    16,     0,     0,     0,   226,     0,     0,   872,   309,
1.1       root     1654:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2   root     1655:    227,     0,     0,     0,     0,     0,     0,     0,   228,   229,
                   1656:    230,     0,     0,     0,   231,   232,     0,     0,     0,     0,
                   1657:      0,     0,   233,     0,   873,     0,     0,   874,     0,     0,
                   1658:    875,   876,   877,     0,   878,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1659:      0,     0,     0,     0,   879,  1014,   234,   235,   859,   130,
1.1.1.2   root     1660:      6,     7,     8,   361,   218,   214,     0,   219,    10,   860,
                   1661:      0,   861,   862,   863,   864,   865,   866,   867,   868,   869,
                   1662:    870,   871,    12,   220,   221,   222,     0,   223,     0,    13,
                   1663:      0,   224,     0,     0,   225,    15,    16,     0,     0,     0,
                   1664:    226,     0,     0,   872,   309,     0,     0,     0,     0,     0,
                   1665:      0,     0,     0,     0,     0,   227,     0,     0,     4,   380,
                   1666:      0,     0,     0,   228,   229,   230,     0,     0,     0,   231,
                   1667:    232,     0,     0,     0,     0,     0,     0,   233,     0,   873,
                   1668:      0,     0,   874,     0,     0,   875,   876,   877,     0,   878,
                   1669:      0,     0,     0,     0,     0,    15,     0,     0,    17,   879,
                   1670:     19,   234,   235,   216,   130,     6,     0,     8,   402,   218,
1.1.1.3 ! root     1671:    214,     0,   219,    10,     0,   554,     0,     0,     0,     0,
        !          1672:      0,     0,     0,     0,     0,   555,     0,    12,   220,   221,
1.1.1.2   root     1673:    222,     0,   223,     0,    13,     0,   224,    22,     0,   225,
                   1674:     15,    16,     0,     0,     0,   226,     0,     0,     0,   381,
1.1       root     1675:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2   root     1676:    227,    27,     0,     4,   119,     0,     0,     0,   228,   229,
                   1677:    230,     0,     0,     0,   231,   232,     0,     0,     0,     0,
                   1678:      0,     0,   233,   457,     0,     0,   216,   130,     6,     0,
                   1679:      8,   402,   218,   214,    23,   219,    10,     0,     0,     0,
                   1680:     15,     0,     0,    17,     0,    19,   234,   235,     0,     0,
                   1681:     12,   220,   221,   222,     0,   223,     0,    13,     0,   224,
                   1682:    321,     0,   225,    15,    16,     0,     0,     0,   226,     0,
                   1683:    322,     0,   815,     0,     0,     0,     0,   323,     0,     0,
                   1684:      0,     0,   324,   227,     0,     0,     4,   119,     0,     0,
                   1685:      0,   228,   229,   230,    23,     0,     0,   231,   232,     0,
                   1686:      0,     0,     0,     0,     0,   233,    27,     0,     0,   216,
                   1687:    130,     6,     0,     8,   402,   218,   214,    23,   219,    10,
                   1688:      0,     0,     0,    15,     0,     0,    17,     0,    19,   234,
                   1689:    235,     0,     0,    12,   220,   221,   222,     0,   223,     0,
                   1690:     13,     0,   224,   539,     0,   225,    15,    16,     0,     0,
                   1691:      0,   226,     0,   540,     0,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1692:    323,     0,     0,     0,     0,   324,   227,     0,     0,     0,
        !          1693:      0,     0,     0,     0,   228,   229,   230,    23,     0,     0,
1.1.1.2   root     1694:    231,   232,     0,     0,     0,     0,     0,     0,   233,    27,
                   1695:      0,     0,   216,   130,     6,     0,     8,   402,   218,   214,
1.1.1.3 ! root     1696:     23,   219,    10,     0,     0,     0,     0,     0,     0,     0,
        !          1697:    983,     0,   234,   235,     0,     0,    12,   220,   221,   222,
        !          1698:      0,   223,     0,    13,     0,   224,     0,     0,   225,    15,
        !          1699:     16,     0,     0,     0,   226,     0,     0,     0,     0,     0,
        !          1700:      0,     0,     0,     0,     0,     0,     0,     0,     0,   227,
1.1.1.2   root     1701:      0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
1.1.1.3 ! root     1702:      0,     0,     0,   231,   232,     0,     0,     0,     0,     0,
        !          1703:      0,   233,     0,     0,     0,   216,   130,     6,     0,     8,
1.1.1.2   root     1704:    217,   218,   214,    23,   219,    10,     0,     0,     0,     0,
1.1.1.3 ! root     1705:      0,     0,     0,   995,     0,   234,   235,     0,     0,    12,
1.1.1.2   root     1706:    220,   221,   222,     0,   223,     0,    13,     0,   224,     0,
                   1707:      0,   225,    15,    16,     0,     0,     0,   226,     0,     0,
1.1       root     1708:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2   root     1709:      0,     0,   227,     0,     0,     0,     0,     0,     0,     0,
                   1710:    228,   229,   230,     0,     0,     0,   231,   232,     0,     0,
                   1711:      0,     0,     0,     0,   233,     0,     0,     0,   216,   130,
                   1712:      6,     0,     8,   402,   218,   214,    23,   219,    10,     0,
                   1713:      0,     0,     0,     0,     0,     0,     0,     0,   234,   235,
                   1714:      0,     0,    12,   220,   221,   222,     0,   223,     0,    13,
                   1715:      0,   224,     0,     0,   225,    15,    16,     0,     0,     0,
                   1716:    226,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1717:      0,     0,     0,     0,     0,   227,     0,     0,     0,     0,
                   1718:      0,     0,     0,   228,   229,   230,     0,     0,     0,   231,
                   1719:    232,     0,     0,     0,     0,     0,     0,   233,     0,     0,
                   1720:      0,   216,   630,     6,     0,     8,   402,   218,   214,    23,
                   1721:    219,    10,     0,     0,     0,     0,     0,     0,     0,     0,
                   1722:      0,   234,   235,     0,     0,    12,   220,   221,   222,     0,
                   1723:    223,     0,    13,     0,   224,     0,     0,   225,    15,    16,
                   1724:      0,     0,     0,   226,     0,   216,   130,     6,     0,     8,
                   1725:    402,   218,   214,     0,   219,    10,     0,     0,   227,     0,
                   1726:      0,     0,     0,     0,     0,     0,   228,   229,   230,    12,
                   1727:    220,     0,   231,   232,   223,     0,    13,     0,   224,     0,
                   1728:    233,   225,    15,    16,     0,     0,     0,   226,     0,   216,
                   1729:    130,     6,    23,     8,   402,   218,   214,     0,   219,    10,
                   1730:      0,     0,   227,     0,   234,   235,     0,     0,     0,     0,
                   1731:    228,   229,   230,    12,   220,     0,   231,   232,   223,     0,
                   1732:     13,     0,   224,     0,   403,   225,    15,    16,     0,     0,
                   1733:      0,   226,     0,     0,     0,     0,    23,     0,     0,     0,
                   1734:      0,     0,     0,     0,     0,     0,   227,     0,   234,   235,
                   1735:      0,     0,     0,     0,   228,   229,   230,     0,     0,     0,
                   1736:    231,   232,     0,     0,     0,     0,     0,     0,   407,     0,
                   1737:      0,   568,   160,     6,   161,     8,   162,     0,     0,     0,
1.1       root     1738:     23,    10,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2   root     1739:      0,     0,   234,   235,     0,    12,     0,     0,     0,     0,
                   1740:      0,     0,    13,     0,     0,     0,     0,     0,    15,    16,
                   1741:      0,   576,     0,    19,   147,     0,   570,     0,     0,     0,
                   1742:      0,     0,   571,     0,     0,     0,     0,     0,   148,     4,
                   1743:    130,     6,     7,     8,     9,     0,     0,   616,   149,    10,
                   1744:      0,     0,     0,     0,     0,   150,     0,     0,     0,     0,
                   1745:    577,     0,     0,    12,     0,     0,     0,     0,     0,     0,
                   1746:     13,     0,    23,     0,     0,     0,    15,    16,     0,   606,
                   1747:      0,    19,   607,     0,    27,     0,     0,     0,     0,     0,
                   1748:      0,     0,     0,     0,     0,     0,   608,     4,   130,     6,
                   1749:      7,     8,     9,     0,     0,   204,   609,    10,     0,     0,
                   1750:      0,     0,     0,   263,     0,     0,     0,     0,   610,   265,
                   1751:      0,    12,     0,     0,     0,     0,     0,     0,    13,     0,
                   1752:     23,     0,     0,     0,    15,    16,     0,   606,     0,    19,
                   1753:      0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
                   1754:      0,     0,     0,     0,   608,     4,   160,     6,   161,     8,
                   1755:    162,     0,     0,     0,   609,    10,     0,     0,     0,     0,
                   1756:      0,   263,     0,     0,     0,     0,   610,   265,     0,    12,
                   1757:      0,     0,     0,     0,     0,     0,    13,   205,    23,     0,
                   1758:      0,     0,    15,    16,     0,    17,     0,    19,   147,     0,
                   1759:     27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1760:      0,     0,   148,     4,   130,     6,     7,     8,     9,     0,
                   1761:      0,   204,   149,    10,     0,     0,     0,     0,     0,   150,
                   1762:      0,     0,     0,     0,   151,     0,     0,    12,     0,     0,
                   1763:      0,     0,     0,     0,    13,     0,    23,     0,     0,     0,
                   1764:     15,    16,     0,    17,     0,    19,   163,     0,    27,     0,
                   1765:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1766:    321,     4,   160,     6,   161,     8,   162,     0,     0,     0,
                   1767:    322,    10,     0,     0,     0,     0,     0,   323,     0,     0,
                   1768:      0,     0,   324,     0,     0,    12,     0,     0,     0,     0,
                   1769:      0,     0,    13,   205,    23,     0,     0,     0,    15,    16,
                   1770:      0,    17,     0,    19,   147,     0,    27,     0,     0,     0,
                   1771:      0,     0,     0,     0,     0,     0,     0,     0,   148,     0,
                   1772:      0,     0,     0,     0,     0,     0,     0,     0,   149,     4,
                   1773:    160,     6,   161,     8,   162,   150,     0,     0,     0,    10,
                   1774:    151,     0,     0,     0,     0,     0,     0,     0,     0,     0,
                   1775:      0,     0,    23,    12,     0,     0,     0,     0,     0,     0,
1.1.1.3 ! root     1776:     13,     0,  1002,     0,    27,     0,    15,    16,     0,    17,
1.1.1.2   root     1777:      0,    19,   147,     0,   130,     6,     7,     8,     9,     0,
                   1778:      0,   204,     0,    10,     0,     0,   148,     0,     0,    71,
                   1779:      6,     0,     8,   270,     0,     0,   149,    12,    10,     0,
                   1780:      0,     0,     0,   150,    13,     0,     0,     0,   151,     0,
                   1781:      0,    16,    12,   259,     0,     0,     0,     0,     0,    13,
                   1782:     23,     0,     0,     0,     0,     0,    16,     0,   259,     0,
                   1783:    261,   260,    27,     0,     0,     0,     0,     0,     0,     0,
                   1784:    262,     0,     0,     0,     0,   261,     0,   263,     0,     0,
                   1785:      0,     0,   264,   265,     0,   262,     0,     0,     0,     0,
                   1786:      0,     0,   263,   205,    23,     0,     0,   264,   265,     0,
                   1787:      0,     0,     0,     0,     0,   426,   427,   428,     0,    23,
1.1       root     1788:    429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1.1.1.2   root     1789:    439,   440,   441,   442,   443,   444,   445,   426,   427,   428,
                   1790:      0,     0,   429,   430,   431,   432,   433,   434,   435,   436,
                   1791:    437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
1.1.1.3 ! root     1792:      0,     0,     0,     0,     0,     0,     0,   598,     0,     0,
        !          1793:      0,     0,   963,     0,     0,     0,     0,     0,     0,     0,
        !          1794:      0,     0,     0,     0,     0,     0,     0,   426,   427,   428,
        !          1795:    756,   757,   429,   430,   431,   432,   433,   434,   435,   436,
        !          1796:    437,   438,   439,   440,   441,   442,   443,   444,   445,  -143,
        !          1797:    426,   427,   428,     0,     0,   429,   430,   431,   432,   433,
        !          1798:    434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
        !          1799:    444,   445,   426,   427,   428,  1122,     0,   429,   430,   431,
1.1.1.2   root     1800:    432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
                   1801:    442,   443,   444,   445,   426,   427,   428,     0,     0,   429,
                   1802:    430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
                   1803:    440,   441,   442,   443,   444,   445,   428,     0,     0,   429,
                   1804:    430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
                   1805:    440,   441,   442,   443,   444,   445,   430,   431,   432,   433,
                   1806:    434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
                   1807:    444,   445,   431,   432,   433,   434,   435,   436,   437,   438,
                   1808:    439,   440,   441,   442,   443,   444,   445
1.1       root     1809: };
                   1810: 
                   1811: static const short yycheck[] = {     1,
1.1.1.3 ! root     1812:      2,   265,    10,   140,   141,   356,    15,    67,    66,    17,
        !          1813:     39,   106,    15,    15,   274,   593,   252,   299,    40,   564,
        !          1814:    226,   274,   141,   151,     1,     2,    19,    40,    30,   139,
        !          1815:   1023,  1024,    44,   891,   944,   893,    44,    39,   190,   227,
        !          1816:      3,     4,   230,   884,    35,    10,   234,   329,   236,   709,
        !          1817:     54,     1,     2,   111,    10,    10,   244,    10,    60,    35,
        !          1818:     45,   147,     8,    43,    45,    67,    38,    39,    50,    26,
        !          1819:    334,    50,    22,    43,     3,    36,     1,     2,    45,     1,
        !          1820:     30,    50,     0,    41,    45,    24,    65,    54,    85,    39,
        !          1821:     53,    49,    49,    10,   107,    92,   514,    54,    54,    67,
        !          1822:    104,    11,    82,    83,   112,    30,   108,     3,     4,    15,
        !          1823:     50,    40,    82,    83,   105,    54,    22,   125,    82,   104,
        !          1824:    122,   103,   103,   103,     3,     4,   128,    49,   546,   105,
        !          1825:    132,    94,    38,   103,    60,    60,   105,   390,   103,    85,
        !          1826:     50,   104,   105,   165,    54,  1055,    92,   103,   103,   171,
        !          1827:    103,   128,   165,   248,    60,   700,   251,    53,   171,   131,
        !          1828:    132,    40,   314,   103,    43,   158,   116,   117,   118,   306,
        !          1829:    307,   308,   260,   233,   219,   220,   264,  1018,   128,  1172,
        !          1830:   1173,  1022,   227,    93,   844,   230,   103,   306,   307,   234,
        !          1831:    192,   236,   303,   195,    50,   305,   324,   147,    94,   244,
        !          1832:    202,   151,   108,   128,   212,   207,    82,   413,   104,   105,
        !          1833:    116,   117,   118,     3,     4,    94,    34,     3,     4,    50,
        !          1834:    197,   503,    60,   411,    49,   131,   490,   106,    50,    54,
        !          1835:    466,   233,    70,   319,   320,    50,   249,     3,     4,     3,
        !          1836:      4,   147,   192,     3,     4,   151,   268,    50,   104,   251,
        !          1837:    200,   104,   105,    43,    40,   268,    50,    43,   271,     3,
        !          1838:      4,    49,   264,    43,    82,   233,    54,   192,   174,   195,
        !          1839:    195,  1129,   274,   104,   556,    50,   202,   202,     3,   104,
        !          1840:    544,   103,   393,   420,   286,    49,   704,   135,    50,   301,
        !          1841:    105,   197,    82,   301,   200,   873,   202,   875,   843,    43,
        !          1842:    103,   207,    82,    83,    94,   153,     3,     4,    94,   286,
        !          1843:    104,     3,     4,    64,    43,   337,   104,   377,    50,   167,
        !          1844:    106,  1162,    64,   103,   337,     3,     4,     5,    94,   104,
        !          1845:     94,   333,   750,    65,    94,   347,   286,    43,    49,   264,
        !          1846:    246,   103,   364,   403,   762,   251,    50,   407,    40,   274,
        !          1847:     94,   364,   354,    82,   356,   203,    53,     3,     4,     3,
        !          1848:      6,   286,     3,     4,     5,     9,   411,    45,   274,   319,
        !          1849:    320,     3,     4,    50,   324,   377,    82,    83,    50,    85,
        !          1850:     21,   353,   354,   195,    54,   335,    92,    24,   390,    35,
        !          1851:    398,   528,   480,   481,    64,   301,   456,    94,   104,   103,
        !          1852:    368,   403,    94,    50,    45,   407,   356,   333,   333,   528,
        !          1853:     50,    43,    49,   319,   320,    52,    94,    54,   324,    97,
        !          1854:     50,     3,     4,     5,   330,    65,   103,     3,     4,   335,
        !          1855:      6,   356,   104,   105,    45,   403,   386,   387,   698,   407,
        !          1856:    390,   409,   410,   291,   572,   698,    43,   353,    94,   577,
        !          1857:     50,   537,   538,    94,   456,   463,    97,   104,    50,    35,
        !          1858:    428,    49,    94,    45,   105,   390,    50,   104,    54,   105,
        !          1859:    492,   377,     7,     8,   104,    54,    50,    49,    13,   492,
        !          1860:    386,   387,   670,   765,   496,    82,   454,   489,   496,   457,
        !          1861:     50,   773,   304,    50,    43,   343,   498,   915,    10,    34,
        !          1862:      1,   919,    26,     8,   104,    50,    41,    31,    43,    50,
        !          1863:    358,   103,    94,    50,   522,    97,   524,   103,    94,   607,
        !          1864:    104,   333,   610,    24,   103,    26,    50,    54,    52,   103,
        !          1865:     31,   108,    50,    82,    83,   383,     8,    50,    43,   597,
        !          1866:     43,   543,    43,   103,    50,    45,   103,    82,    49,    50,
        !          1867:    456,    52,   564,    54,   103,    60,    50,    50,   103,   465,
        !          1868:      3,   569,   103,   489,   489,    70,   103,    50,   576,    49,
        !          1869:    572,    50,    77,    43,    54,   577,   927,    82,    83,    82,
        !          1870:    104,    82,    83,   489,    85,   103,    50,   537,   538,   401,
        !          1871:    103,    92,    54,     6,     7,     8,    43,   103,   606,   601,
        !          1872:     13,   603,    98,   104,   387,     1,     2,   390,   610,   103,
        !          1873:    103,   108,    82,    83,   622,  1193,   593,   543,   543,  1037,
        !          1874:    103,    34,   572,     1,   103,   670,    22,   577,    41,    43,
        !          1875:     43,   537,   538,   103,    30,    82,    83,     3,    52,   103,
        !          1876:    828,   453,    38,    39,    43,   105,   572,   572,   734,   735,
        !          1877:     43,   577,   577,   104,   105,   668,   103,   607,   667,   471,
        !          1878:    610,    49,   748,   749,   667,   667,    54,    43,    82,    82,
        !          1879:     36,    49,    50,    43,    40,   601,   601,   603,   603,    45,
        !          1880:    104,    49,    82,    82,    83,   610,    54,   593,   700,    82,
        !          1881:     83,   802,   803,  1111,    43,  1113,   698,     3,     4,    43,
        !          1882:    712,   607,     8,   105,   712,   517,    82,    83,    43,    85,
        !          1883:    798,   799,    82,    83,    43,   826,    92,    43,    26,   727,
        !          1884:    116,   117,   118,   783,   103,   573,   728,   822,   823,    52,
        !          1885:    578,   543,   128,    82,    40,   131,   132,    43,    82,    45,
        !          1886:    752,    49,   853,   854,     3,     4,    54,    82,   836,   837,
        !          1887:     82,   147,    82,    82,    60,   151,    82,  1039,    82,     7,
        !          1888:      8,   667,   820,    43,    70,    13,    46,   615,     3,     4,
        !          1889:    103,    77,    43,   698,   776,    50,    82,    83,   174,    10,
        !          1890:     60,   783,    37,   828,   734,   735,    34,   103,    94,   601,
        !          1891:     70,   603,   698,    41,   766,    43,   192,    77,   748,   749,
        !          1892:    106,   197,    82,    83,   200,    40,   712,   815,    43,  1091,
        !          1893:     45,    82,    70,    71,    72,     3,    43,    85,   104,   105,
        !          1894:    931,   823,    49,   108,    92,    60,   776,    54,   734,   735,
        !          1895:     43,   843,    45,    26,    82,    70,   104,    49,     6,     7,
        !          1896:      8,   105,   748,   749,  1071,    13,   854,    82,   798,   799,
        !          1897:    246,   776,   963,   665,   883,    82,  1120,  1121,  1085,    94,
        !          1898:    766,  1088,   870,   108,   676,   873,    34,    85,   264,    82,
        !          1899:    103,   106,   684,    41,    92,   104,   105,   783,   104,   105,
        !          1900:    103,   883,   884,   104,   105,     3,   104,    50,   890,   891,
        !          1901:    286,   893,   798,   799,   108,   897,   873,   865,   875,    54,
        !          1902:     55,   869,   714,    82,   716,   301,    43,     1,     2,   877,
        !          1903:    882,   883,    31,   761,   104,   105,   103,   823,  1029,   104,
        !          1904:    105,    52,   770,   319,   320,   927,   104,   105,   324,     7,
        !          1905:      8,   219,   220,   883,   330,    13,    30,    74,    75,   335,
        !          1906:     50,    78,  1053,    80,   104,    82,    83,   897,   796,   103,
        !          1907:    103,   103,    53,    43,  1065,   103,    34,   353,   354,   103,
        !          1908:    356,   969,   108,    41,    34,   108,    60,   873,   104,   875,
        !          1909:     60,   104,   897,   884,   976,   977,   882,   927,   104,   890,
        !          1910:     70,    68,    69,    70,    71,    72,    33,    77,   104,   103,
        !          1911:    386,   387,    82,    83,   390,   108,   103,  1108,    50,  1110,
        !          1912:     54,    54,   927,   108,    52,  1013,   974,    82,    52,   977,
        !          1913:    978,  1122,    52,   825,   122,    54,  1018,   105,   103,   103,
        !          1914:   1022,   833,   103,  1081,   103,   108,     3,     4,    52,     6,
        !          1915:      7,     8,   103,    82,   128,  1012,   108,     1,   103,   851,
        !          1916:    108,    54,    54,    94,    54,  1053,   103,     3,     4,   108,
        !          1917:      6,     7,     8,   103,    52,  1023,  1024,    34,   103,    82,
        !          1918:     24,   103,    26,  1174,   105,   976,   103,    31,   103,   465,
        !          1919:    103,    48,    49,   103,    54,   923,  1078,    82,    34,    43,
        !          1920:     82,  1218,  1219,    82,    54,    49,    50,   195,    52,   104,
        !          1921:     54,     8,    48,    49,  1096,   104,    49,    49,   192,    15,
        !          1922:   1068,   195,    52,   104,  1241,    54,  1012,  1018,   202,  1077,
        !          1923:      3,  1022,    50,   103,   103,    54,    82,    94,    82,    83,
        !          1924:    104,    85,    99,   100,   101,   104,   104,  1129,    92,   104,
        !          1925:   1132,    66,    67,    68,    69,    70,    71,    72,    94,   247,
        !          1926:    104,   537,   538,    99,   100,   101,    82,   104,    52,  1209,
        !          1927:    104,    82,  1000,   104,    83,    83,  1158,  1005,   105,   103,
        !          1928:   1162,  1163,    16,   104,    49,   105,   103,  1078,    54,   103,
        !          1929:    264,   104,   104,    52,   104,    50,   572,   104,  1180,   104,
        !          1930:    274,   577,   103,  1185,   103,  1096,  1034,     3,     4,    10,
        !          1931:    108,    82,   286,   108,  1042,   303,   304,   593,   104,   104,
        !          1932:     89,   104,     9,    50,  1172,  1173,    82,  1209,    82,   103,
        !          1933:     50,   607,  1220,  1181,   610,   103,  1193,   104,     9,  1221,
        !          1934:   1222,  1132,   103,   103,    40,   333,   104,    43,    10,    45,
        !          1935:     46,   103,    48,   104,  1202,     6,     7,     8,    54,   333,
        !          1936:    103,    10,    13,   351,    60,   104,     0,  1158,     0,     2,
        !          1937:    127,  1162,  1163,   698,    70,   128,   288,   139,   128,   712,
        !          1938:    496,    77,   356,    34,   498,   751,    82,   977,  1055,  1180,
        !          1939:     41,   271,  1084,   165,  1185,  1087,   882,  1116,    94,   815,
        !          1940:     30,    24,   624,    26,   330,   393,    30,  1193,    31,   752,
        !          1941:    106,   731,   897,   401,   776,   398,   390,   622,   354,   324,
        !          1942:    729,  1019,    45,  1209,  1203,  1205,    49,   207,   783,    52,
        !          1943:   1221,  1222,  1012,    -1,     3,     4,   712,   425,   426,   427,
        !          1944:     -1,   429,   430,   431,   432,   433,   434,   435,   436,   437,
        !          1945:    438,   439,   440,   441,   442,   443,   444,   445,   734,   735,
        !          1946:     83,    -1,    85,     1,   452,   453,    -1,    43,    -1,    92,
        !          1947:     -1,    40,   748,   749,    43,    -1,    45,    46,    -1,    48,
        !          1948:     -1,    -1,   105,   471,    -1,    54,    24,    -1,    26,    -1,
        !          1949:    766,    60,    -1,    31,    -1,    -1,    -1,    -1,    74,    75,
        !          1950:    776,    70,    78,    79,    80,    81,    82,    83,    77,    -1,
        !          1951:    498,    49,    50,    82,    52,   489,    54,    -1,    -1,    -1,
        !          1952:     -1,    -1,   798,   799,    -1,    94,    -1,    -1,    -1,   517,
        !          1953:     -1,    -1,    -1,    -1,    -1,    -1,   524,   106,    -1,     1,
        !          1954:      2,    -1,    -1,    -1,     3,     4,    -1,    85,    -1,    -1,
        !          1955:     -1,    -1,    -1,    -1,    92,   543,    -1,    -1,    -1,    -1,
        !          1956:     22,    -1,    -1,    -1,    -1,    -1,   104,    -1,    30,   543,
        !          1957:     20,    21,    -1,    -1,    -1,    -1,    38,    39,    -1,    -1,
        !          1958:     -1,    40,   570,   571,    43,    -1,    45,    46,    -1,    -1,
        !          1959:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   873,   572,   875,
        !          1960:     -1,    60,    -1,   577,     3,     4,   882,   883,    58,     8,
        !          1961:     -1,    70,    -1,   601,    -1,   603,    -1,    -1,    77,    -1,
        !          1962:     -1,   897,    -1,    82,    -1,    75,    -1,   601,    -1,   603,
        !          1963:     -1,    -1,    -1,   621,    -1,    94,   610,    -1,    -1,    -1,
        !          1964:     -1,    40,    -1,    -1,    43,   104,    45,   106,   636,    -1,
        !          1965:     -1,   927,    -1,    -1,   116,   117,   118,    -1,    -1,    -1,
        !          1966:     -1,    60,    -1,    -1,     4,     5,   128,     7,     8,   131,
        !          1967:    132,    70,    -1,    13,    -1,    -1,    -1,   665,    77,    -1,
        !          1968:     -1,    -1,    -1,    82,    -1,   147,    -1,    27,   676,   151,
        !          1969:     -1,    -1,    -1,    -1,    34,    94,   684,    -1,   148,   149,
        !          1970:     -1,    41,    -1,    -1,    -1,    -1,    -1,   106,    48,    -1,
        !          1971:     -1,    -1,   174,     1,    -1,     3,     4,     5,     6,     7,
        !          1972:      8,    -1,    -1,    -1,   698,    13,   714,    -1,   716,    -1,
        !          1973:    192,    -1,   720,    -1,    -1,    -1,  1012,    -1,   200,    27,
        !          1974:     -1,    -1,    82,    -1,   194,    -1,    34,    35,    -1,    -1,
        !          1975:     -1,   201,    40,    41,    94,    43,    -1,    45,     4,     5,
        !          1976:      6,     7,     8,    -1,   226,    -1,    54,    13,    -1,    -1,
        !          1977:    758,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          1978:     -1,    27,    70,    -1,   246,    -1,    -1,    -1,    34,    -1,
        !          1979:    252,    -1,    -1,    -1,    82,    41,    -1,    -1,    -1,    -1,
        !          1980:     -1,    -1,   776,    -1,    -1,    -1,    94,     3,     4,   259,
        !          1981:     -1,   261,   262,    -1,   802,   803,   104,   105,   106,    -1,
        !          1982:     -1,    -1,    -1,    -1,   286,    -1,    -1,   815,    -1,   817,
        !          1983:      4,     5,     6,     7,     8,    -1,    -1,   825,   826,    13,
        !          1984:     -1,    -1,    -1,    -1,    40,   833,    -1,    43,    94,    45,
        !          1985:     46,    -1,    -1,    27,    -1,    -1,    -1,   319,   320,    -1,
        !          1986:     34,    -1,   324,   851,    60,   853,   854,    41,   330,    -1,
        !          1987:     -1,   321,   322,   335,    70,    -1,    -1,    -1,    -1,     3,
        !          1988:      4,    77,   332,    -1,     8,    -1,    82,    83,    -1,    -1,
        !          1989:     -1,   353,   354,    -1,   356,    -1,    -1,    -1,    94,    62,
1.1.1.2   root     1990:     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1.1.1.3 ! root     1991:    106,    -1,    -1,    -1,    -1,    -1,    40,  1193,    -1,    43,
        !          1992:     94,    45,    -1,   897,   386,   387,    -1,    -1,   390,    -1,
        !          1993:     -1,    -1,    -1,   921,   922,    -1,    60,    -1,   388,    -1,
        !          1994:     -1,    -1,    -1,   931,    -1,    -1,    70,    -1,    -1,    -1,
        !          1995:     -1,    -1,    -1,   927,    -1,    -1,    -1,     1,    82,    -1,
        !          1996:      4,     5,    -1,     7,     8,    -1,    -1,    -1,    -1,    13,
        !          1997:     94,    -1,    -1,    -1,    -1,   963,    -1,   965,    -1,    -1,
        !          1998:     -1,    -1,   106,    27,    -1,    -1,    -1,    -1,    -1,    -1,
        !          1999:     34,    -1,    36,    37,    -1,    -1,    -1,    41,    42,    43,
        !          2000:      3,     4,    -1,   465,   466,    -1,    50,    51,    52,    53,
        !          2001:     -1,    -1,    56,    57,    58,    59,    60,    61,    62,    63,
        !          2002:     64,    65,    66,    67,    68,    69,    70,    71,    72,    -1,
        !          2003:     74,    75,    -1,    -1,    78,    79,    -1,    40,   488,    83,
        !          2004:     43,  1029,    45,    46,    -1,    -1,    -1,    -1,  1036,    -1,
        !          2005:     94,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
        !          2006:     -1,    -1,   106,   107,    -1,  1053,    -1,    70,    -1,    -1,
        !          2007:     -1,    -1,     3,     4,    77,   537,   538,  1065,    -1,    82,
        !          2008:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   539,
        !          2009:    540,    94,   542,    -1,    -1,    -1,  1084,    -1,    -1,  1087,
        !          2010:     -1,   104,    -1,   106,   554,   555,    -1,    -1,    -1,    40,
        !          2011:    572,    -1,    43,    -1,    45,   577,    -1,    -1,    -1,   569,
        !          2012:   1108,    -1,  1110,    -1,    -1,    -1,   576,    -1,    -1,    60,
        !          2013:     -1,    -1,    -1,    -1,  1122,   585,   586,   587,    -1,    70,
        !          2014:     -1,    -1,    -1,    -1,    -1,   607,    77,    -1,   610,    -1,
        !          2015:    600,    82,   602,    -1,    -1,   605,   606,    -1,   608,   609,
        !          2016:     -1,    -1,    -1,    94,    63,    64,    65,    66,    67,    68,
        !          2017:     69,    70,    71,    72,    -1,   106,     1,    -1,     3,     4,
        !          2018:      5,     6,     7,     8,     9,    10,  1174,    12,    13,    14,
        !          2019:     15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1.1.1.2   root     2020:     25,    26,    27,    28,    29,    30,    -1,    32,    -1,    34,
1.1.1.3 ! root     2021:     -1,    36,    37,    -1,    39,    40,    41,   679,     3,     4,
1.1.1.2   root     2022:     45,    -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2023:     -1,    -1,    -1,    -1,    -1,    60,    -1,   687,   688,    -1,
        !          2024:     -1,   691,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
        !          2025:     75,    -1,    -1,    -1,    -1,    40,    -1,    82,    43,    84,
        !          2026:     45,    86,    87,    88,    -1,    90,    91,    92,    -1,    94,
        !          2027:     -1,    -1,   734,   735,    -1,    60,    -1,    -1,    -1,   104,
        !          2028:    105,   106,   107,    -1,    -1,    70,   748,   749,    -1,    -1,
        !          2029:     -1,    -1,    77,    -1,   744,   745,   746,    82,    83,    -1,
        !          2030:     -1,    -1,     4,     5,   766,     7,     8,    -1,    -1,    94,
        !          2031:     -1,    13,    -1,    -1,   776,    -1,    -1,    -1,    -1,    -1,
        !          2032:     -1,   106,    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,
        !          2033:     -1,    -1,    34,    -1,    -1,    -1,   798,   799,    -1,    41,
        !          2034:     -1,    -1,    -1,     1,    -1,     3,     4,     5,     6,     7,
        !          2035:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
        !          2036:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
        !          2037:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    37,
        !          2038:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,   839,
        !          2039:     48,    49,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2040:     -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2041:     68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,
        !          2042:    882,   883,    -1,    -1,    82,    -1,    84,    -1,    -1,    87,
        !          2043:     -1,    -1,    90,    91,    92,   897,    94,    -1,    -1,    -1,
        !          2044:     -1,     4,     5,    -1,     7,     8,   104,   105,   106,   107,
        !          2045:     13,    -1,   902,   903,   904,    -1,    -1,    -1,    -1,    -1,
        !          2046:     -1,    -1,    -1,    -1,    27,   927,    -1,    -1,   918,    -1,
        !          2047:     -1,    34,    -1,    -1,    -1,    -1,   926,    -1,    41,    -1,
        !          2048:     -1,    -1,   932,   933,   934,   935,   936,   937,     1,    -1,
1.1       root     2049:      3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
                   2050:     13,    14,    -1,    16,    17,    18,    19,    20,    21,    22,
                   2051:     23,    24,    25,    26,    27,    28,    29,    30,    -1,    32,
1.1.1.2   root     2052:     -1,    34,    -1,    36,    37,    -1,    39,    40,    41,    -1,
1.1.1.3 ! root     2053:     -1,    94,    45,    -1,    -1,    48,    49,    -1,    -1,    -1,
1.1.1.2   root     2054:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
                   2055:     -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,
                   2056:     -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,
                   2057:     -1,    84,    -1,    -1,    87,    -1,    -1,    90,    91,    92,
                   2058:     -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2059:     -1,   104,   105,   106,   107,     1,    -1,     3,     4,     5,
                   2060:      6,     7,     8,     9,    10,    -1,    12,    13,    14,    -1,
                   2061:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
                   2062:     26,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
                   2063:     36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
                   2064:     -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,
                   2065:     -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
                   2066:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
                   2067:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    -1,
                   2068:     -1,    87,    -1,    -1,    90,    91,    92,    -1,    94,    -1,
                   2069:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
                   2070:    106,   107,     1,    -1,     3,     4,     5,     6,     7,     8,
                   2071:      9,    10,    -1,    12,    13,    14,    -1,    16,    17,    18,
                   2072:     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
                   2073:     29,    30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,
                   2074:     39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,    48,
                   2075:     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2076:     -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
                   2077:     69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
                   2078:     -1,    -1,    -1,    82,    -1,    84,    -1,    -1,    87,    -1,
                   2079:     -1,    90,    91,    92,    -1,    94,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2080:     -1,    -1,    -1,    -1,    -1,   104,   105,   106,   107,     1,
1.1.1.2   root     2081:     -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
                   2082:     12,    13,    14,    -1,    16,    17,    18,    19,    20,    21,
                   2083:     22,    23,    24,    25,    26,    27,    28,    29,    30,    -1,
                   2084:     32,    -1,    34,    -1,    36,    37,    -1,    39,    40,    41,
                   2085:     -1,    -1,    -1,    45,    -1,    -1,    48,    49,    -1,    -1,
                   2086:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
                   2087:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
                   2088:     -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
                   2089:     82,    -1,    84,    -1,    -1,    87,    -1,    -1,    90,    91,
1.1.1.3 ! root     2090:     92,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2091:     -1,    -1,   104,   105,   106,   107,     1,    -1,     3,     4,
        !          2092:      5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
        !          2093:     -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
        !          2094:     25,    26,    27,    28,    29,    30,    -1,    32,    -1,    34,
        !          2095:     -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,
        !          2096:     45,    -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,
        !          2097:     -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
        !          2098:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
        !          2099:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,
        !          2100:     -1,    -1,    87,    -1,    -1,    90,    91,    92,    -1,    94,
        !          2101:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
        !          2102:    105,   106,   107,     1,    -1,     3,     4,     5,     6,     7,
        !          2103:      8,     9,    10,    -1,    12,    13,    14,    -1,    16,    17,
        !          2104:     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1.1.1.2   root     2105:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    37,
1.1.1.3 ! root     2106:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,
        !          2107:     48,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2108:     -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2   root     2109:     68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,
1.1.1.3 ! root     2110:     -1,    -1,    -1,    -1,    82,    -1,    84,    -1,    -1,    87,
        !          2111:     -1,    -1,    90,    91,    92,    -1,    94,    -1,    -1,    -1,
        !          2112:     -1,    -1,    -1,    -1,    -1,    -1,   104,    -1,   106,   107,
1.1.1.2   root     2113:      1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
1.1.1.3 ! root     2114:     -1,    12,    13,    14,    -1,    16,    17,    18,    19,    20,
        !          2115:     21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1.1.1.2   root     2116:     -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,    40,
1.1.1.3 ! root     2117:     41,    -1,    -1,    -1,    45,    -1,    -1,    48,    49,    -1,
        !          2118:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
1.1.1.2   root     2119:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
                   2120:     -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2121:     -1,    82,    -1,    84,    -1,    -1,    87,    -1,    -1,    90,
        !          2122:     91,    92,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2123:     -1,    -1,    -1,   104,    -1,   106,   107,     1,    -1,     3,
1.1.1.2   root     2124:      4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
1.1.1.3 ! root     2125:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          2126:     70,    71,    72,    27,    28,    29,    30,    -1,    32,    -1,
1.1.1.2   root     2127:     34,    -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,
1.1.1.3 ! root     2128:     -1,    45,    51,    52,    53,    -1,    -1,    56,    57,    58,
        !          2129:     59,    60,    61,    62,    63,    64,    60,    66,    67,    68,
        !          2130:     69,    70,    71,    72,    68,    69,    70,    -1,    -1,    -1,
1.1.1.2   root     2131:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
                   2132:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    93,
                   2133:     94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
                   2134:     -1,    -1,   106,   107,     1,    -1,     3,     4,     5,     6,
1.1.1.3 ! root     2135:      7,     8,     9,    10,    11,    12,    13,    61,    62,    63,
        !          2136:     64,    65,    66,    67,    68,    69,    70,    71,    72,    -1,
1.1.1.2   root     2137:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    36,
1.1.1.3 ! root     2138:     37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    59,
        !          2139:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          2140:     70,    71,    72,    60,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2   root     2141:     -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,
                   2142:     -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,
                   2143:     -1,    -1,    -1,    -1,    -1,    -1,    93,    94,    -1,    -1,
                   2144:     -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,   106,
                   2145:    107,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
                   2146:     10,    11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2147:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
1.1.1.2   root     2148:     30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,
                   2149:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2150:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2151:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
        !          2152:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
        !          2153:     -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2154:     -1,    -1,    -1,    93,    94,    -1,    -1,    -1,    -1,    -1,
        !          2155:     -1,    -1,    -1,   103,    -1,    -1,   106,   107,     1,    -1,
        !          2156:      3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
        !          2157:     13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2158:     -1,    -1,    -1,    -1,    27,    28,    29,    30,    -1,    32,
        !          2159:     -1,    34,    -1,    36,    37,    -1,    39,    40,    41,    -1,
        !          2160:     -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2161:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
        !          2162:     -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,
        !          2163:     -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,
        !          2164:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2165:     93,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2166:    103,    -1,    -1,   106,   107,     1,    -1,     3,     4,     5,
        !          2167:      6,     7,     8,     9,    10,    11,    12,    13,    -1,    -1,
        !          2168:     -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,    -1,
        !          2169:     -1,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
        !          2170:     36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
        !          2171:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2172:     -1,    -1,    -1,    40,    60,    -1,    43,    -1,    45,    46,
        !          2173:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
        !          2174:     -1,    -1,    -1,    60,    -1,    -1,    82,    -1,    -1,    -1,
        !          2175:     -1,    -1,    -1,    70,    -1,    -1,    -1,    93,    94,    -1,
        !          2176:     77,    -1,    -1,    -1,    -1,    82,    -1,   103,    -1,    -1,
        !          2177:    106,   107,     1,    -1,     3,     4,     5,    94,     7,     8,
        !          2178:      9,    10,    -1,    12,    13,    -1,    -1,    -1,    -1,   106,
        !          2179:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    28,
        !          2180:     29,    30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,
        !          2181:     39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,
        !          2182:     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2183:     -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
        !          2184:     69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
        !          2185:     -1,    -1,    -1,    82,    83,     1,    -1,     3,     4,     5,
        !          2186:     -1,     7,     8,     9,    10,    94,    12,    13,    -1,    -1,
        !          2187:     -1,    -1,    -1,    -1,    20,    -1,   105,   106,   107,    -1,
        !          2188:     -1,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
        !          2189:     36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
        !          2190:     -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2191:     -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
        !          2192:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
        !          2193:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,     1,    -1,
        !          2194:      3,     4,     5,     6,     7,     8,     9,    10,    94,    12,
        !          2195:     13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   105,
        !          2196:    106,   107,    -1,    -1,    27,    28,    29,    30,    -1,    32,
1.1.1.2   root     2197:     -1,    34,    -1,    36,    37,    -1,    39,    40,    41,    -1,
                   2198:     -1,    -1,    45,    -1,    -1,    -1,    49,    -1,    -1,    -1,
                   2199:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
1.1.1.3 ! root     2200:     -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,
        !          2201:     -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,
        !          2202:     -1,     1,    -1,     3,     4,     5,    -1,     7,     8,     9,
1.1.1.2   root     2203:     10,    94,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2204:     20,   104,    -1,   106,   107,    -1,    -1,    27,    28,    29,
1.1.1.2   root     2205:     30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,
                   2206:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    49,
1.1       root     2207:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2   root     2208:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
                   2209:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2210:     -1,    -1,    82,    -1,     1,    -1,     3,     4,     5,    -1,
1.1.1.2   root     2211:      7,     8,     9,    10,    94,    12,    13,    -1,    -1,    -1,
                   2212:     -1,    -1,    -1,    -1,    -1,   105,   106,   107,    -1,    -1,
                   2213:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    36,
                   2214:     37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,
                   2215:     -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2216:     -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
                   2217:     -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,
1.1.1.3 ! root     2218:     -1,    -1,    -1,    -1,    -1,    82,    83,     1,    -1,     3,
1.1.1.2   root     2219:      4,     5,    -1,     7,     8,     9,    10,    94,    12,    13,
1.1.1.3 ! root     2220:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,
1.1.1.2   root     2221:    107,    -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,
                   2222:     34,    -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,
                   2223:     -1,    45,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,
                   2224:     -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
                   2225:     -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,
                   2226:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
                   2227:      1,    -1,     3,     4,     5,    -1,     7,     8,     9,    10,
                   2228:     94,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2229:     -1,    -1,   106,   107,    -1,    -1,    27,    28,    29,    30,
1.1.1.2   root     2230:     -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,    40,
                   2231:     41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    49,    -1,
                   2232:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
                   2233:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
                   2234:     -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2235:     -1,    82,    -1,     1,    -1,     3,     4,     5,    -1,     7,
1.1.1.2   root     2236:      8,     9,    10,    94,    12,    13,    -1,    -1,    -1,    -1,
                   2237:     -1,    -1,    -1,    -1,    -1,   106,   107,    -1,    -1,    27,
                   2238:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    37,
                   2239:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,
1.1.1.3 ! root     2240:      4,     5,     6,     7,     8,    -1,    54,    11,    -1,    13,
1.1.1.2   root     2241:     -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2242:     68,    69,    70,    27,    -1,    -1,    74,    75,    -1,    -1,
        !          2243:     34,    -1,    -1,    -1,    82,    -1,     1,    41,     3,     4,
1.1.1.2   root     2244:      5,    -1,     7,     8,     9,    10,    94,    12,    13,    -1,
                   2245:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,   107,
1.1       root     2246:     -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,    34,
1.1.1.2   root     2247:     -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,
1.1.1.3 ! root     2248:     45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    93,
        !          2249:     94,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
1.1.1.2   root     2250:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
                   2251:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,     1,
                   2252:     -1,     3,     4,     5,    -1,     7,     8,     9,    10,    94,
1.1.1.3 ! root     2253:     12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,
1.1.1.2   root     2254:     -1,   106,   107,    -1,    -1,    27,    28,    29,    30,    -1,
                   2255:     32,    -1,    34,    -1,    36,    37,    -1,    39,    40,    41,
                   2256:     -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2257:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
1.1.1.2   root     2258:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
                   2259:     -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
                   2260:     82,    -1,     1,    -1,     3,     4,     5,    -1,     7,     8,
                   2261:      9,    10,    94,    12,    13,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2262:     -1,   103,    -1,    -1,   106,   107,    -1,    -1,    27,    28,
1.1.1.2   root     2263:     29,    30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,
                   2264:     39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,
1.1.1.3 ! root     2265:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     0,
        !          2266:      1,    60,     3,     4,     5,     6,     7,     8,    -1,    68,
        !          2267:     69,    70,    13,    -1,    -1,    74,    75,    -1,    -1,    -1,
        !          2268:     -1,    -1,    -1,    82,    -1,    26,    27,    -1,    -1,    -1,
        !          2269:     -1,    -1,    -1,    34,    -1,    94,    -1,    38,    -1,    40,
        !          2270:     41,    -1,    43,    44,    45,    -1,    -1,   106,   107,    -1,
        !          2271:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
        !          2272:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
        !          2273:     -1,    -1,    -1,     3,     4,     5,    -1,     7,     8,     9,
        !          2274:     10,    82,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2275:     -1,    -1,    -1,    94,    95,    96,    -1,    27,    28,    29,
        !          2276:     30,    -1,    32,   104,    34,   106,    36,    -1,    -1,    39,
        !          2277:     40,    41,    -1,    -1,    -1,    45,     1,    -1,     3,     4,
        !          2278:      5,     6,     7,     8,    -1,    -1,    -1,    -1,    13,    -1,
        !          2279:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
        !          2280:     70,    26,    27,    -1,    74,    75,    -1,    -1,    -1,    34,
        !          2281:     -1,    -1,    82,    38,    -1,    40,    41,    -1,    43,    44,
        !          2282:     45,    -1,    -1,    -1,    94,    -1,    -1,    -1,    -1,    -1,
        !          2283:     -1,    -1,    -1,    -1,    -1,    60,   106,   107,   108,    -1,
        !          2284:     -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,     1,
        !          2285:     -1,     3,     4,     5,     6,     7,     8,    82,    -1,    -1,
        !          2286:     -1,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,
        !          2287:     95,    96,    -1,    -1,    26,    27,    -1,    -1,    -1,   104,
        !          2288:    105,   106,    34,    -1,    -1,    -1,    38,    -1,    40,    41,
        !          2289:     -1,    43,    44,    45,     1,    -1,     3,     4,     5,     6,
        !          2290:      7,     8,    -1,    -1,    -1,    -1,    13,    -1,    60,    -1,
        !          2291:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
        !          2292:     27,    -1,    -1,    -1,    -1,    -1,    -1,    34,    35,    -1,
        !          2293:     82,    -1,    -1,    40,    41,    -1,    43,    -1,    45,    -1,
        !          2294:     -1,    -1,    94,    95,    96,    -1,    -1,    54,    -1,    -1,
        !          2295:     -1,    -1,   104,    60,   106,    -1,    -1,    -1,    -1,    -1,
        !          2296:     -1,    -1,     1,    70,     3,     4,     5,     6,     7,     8,
        !          2297:     -1,    -1,     3,     4,    13,    82,    -1,    -1,    -1,    -1,
        !          2298:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,    27,    -1,
        !          2299:     -1,    -1,    -1,    -1,    -1,    34,    35,   104,   105,   106,
        !          2300:     -1,    40,    41,    -1,    43,    -1,    45,    -1,    -1,    40,
        !          2301:     -1,    -1,    43,    -1,    45,    54,    -1,    -1,    -1,    -1,
        !          2302:      1,    60,     3,     4,     5,     6,     7,     8,    -1,    60,
        !          2303:     -1,    70,    13,    -1,    -1,    -1,    -1,    -1,    -1,    70,
        !          2304:     -1,    -1,    -1,    82,    -1,    -1,    27,    -1,    -1,    -1,
        !          2305:     -1,    82,    -1,    34,    35,    94,    -1,    -1,    -1,    40,
        !          2306:     41,    -1,    43,    94,    45,    -1,   105,   106,    -1,    -1,
        !          2307:     -1,    -1,    -1,    54,    -1,   106,    -1,    -1,     1,    60,
        !          2308:      3,     4,     5,     6,     7,     8,    -1,    -1,    -1,    70,
        !          2309:     13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2310:     -1,    82,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,
        !          2311:     -1,    34,    -1,    94,    -1,    -1,    -1,    40,    41,    -1,
        !          2312:     43,    -1,    45,    -1,   105,   106,    -1,    -1,    -1,    -1,
        !          2313:     -1,    -1,    -1,    -1,    -1,    -1,     1,    60,     3,     4,
        !          2314:      5,     6,     7,     8,    -1,    -1,    -1,    70,    13,    -1,
        !          2315:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,
        !          2316:     -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,    34,
        !          2317:     -1,    94,    95,    -1,    -1,    40,    41,    -1,    43,    -1,
        !          2318:     45,   104,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2319:     -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
        !          2320:     -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
        !          2321:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
        !          2322:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,
        !          2323:     -1,    -1,    -1,     3,     4,     5,     6,     7,     8,     9,
        !          2324:     10,   106,    12,    13,    14,    -1,    16,    17,    18,    19,
1.1.1.2   root     2325:     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
                   2326:     30,    -1,    32,    -1,    34,    -1,    36,    -1,    -1,    39,
                   2327:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    48,    49,
1.1       root     2328:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2   root     2329:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
                   2330:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
                   2331:     -1,    -1,    82,    -1,    84,    -1,    -1,    87,    -1,    -1,
                   2332:     90,    91,    92,    -1,    94,    -1,    -1,    -1,    -1,    -1,
                   2333:     -1,    -1,    -1,    -1,   104,   105,   106,   107,     3,     4,
1.1       root     2334:      5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
                   2335:     -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
                   2336:     25,    26,    27,    28,    29,    30,    -1,    32,    -1,    34,
1.1.1.2   root     2337:     -1,    36,    -1,    -1,    39,    40,    41,    -1,    -1,    -1,
                   2338:     45,    -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,
                   2339:     -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,     3,     4,
                   2340:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
                   2341:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,
                   2342:     -1,    -1,    87,    -1,    -1,    90,    91,    92,    -1,    94,
                   2343:     -1,    -1,    -1,    -1,    -1,    40,    -1,    -1,    43,   104,
                   2344:     45,   106,   107,     3,     4,     5,    -1,     7,     8,     9,
                   2345:     10,    -1,    12,    13,    -1,    60,    -1,    -1,    -1,    -1,
                   2346:     -1,    -1,    -1,    -1,    -1,    70,    -1,    27,    28,    29,
                   2347:     30,    -1,    32,    -1,    34,    -1,    36,    82,    -1,    39,
                   2348:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    94,
                   2349:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2350:     60,   106,    -1,     3,     4,    -1,    -1,    -1,    68,    69,
                   2351:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
                   2352:     -1,    -1,    82,    83,    -1,    -1,     3,     4,     5,    -1,
                   2353:      7,     8,     9,    10,    94,    12,    13,    -1,    -1,    -1,
                   2354:     40,    -1,    -1,    43,    -1,    45,   106,   107,    -1,    -1,
                   2355:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    36,
                   2356:     60,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,
                   2357:     70,    -1,    49,    -1,    -1,    -1,    -1,    77,    -1,    -1,
                   2358:     -1,    -1,    82,    60,    -1,    -1,     3,     4,    -1,    -1,
                   2359:     -1,    68,    69,    70,    94,    -1,    -1,    74,    75,    -1,
                   2360:     -1,    -1,    -1,    -1,    -1,    82,   106,    -1,    -1,     3,
                   2361:      4,     5,    -1,     7,     8,     9,    10,    94,    12,    13,
                   2362:     -1,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,   106,
                   2363:    107,    -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,
                   2364:     34,    -1,    36,    60,    -1,    39,    40,    41,    -1,    -1,
                   2365:     -1,    45,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.3 ! root     2366:     77,    -1,    -1,    -1,    -1,    82,    60,    -1,    -1,    -1,
        !          2367:     -1,    -1,    -1,    -1,    68,    69,    70,    94,    -1,    -1,
1.1.1.2   root     2368:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,   106,
                   2369:     -1,    -1,     3,     4,     5,    -1,     7,     8,     9,    10,
1.1.1.3 ! root     2370:     94,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2371:    104,    -1,   106,   107,    -1,    -1,    27,    28,    29,    30,
        !          2372:     -1,    32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,
        !          2373:     41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,
        !          2374:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
1.1.1.2   root     2375:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
1.1.1.3 ! root     2376:     -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
        !          2377:     -1,    82,    -1,    -1,    -1,     3,     4,     5,    -1,     7,
1.1.1.2   root     2378:      8,     9,    10,    94,    12,    13,    -1,    -1,    -1,    -1,
                   2379:     -1,    -1,    -1,   104,    -1,   106,   107,    -1,    -1,    27,
                   2380:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    -1,
                   2381:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,
                   2382:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2383:     -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2384:     68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,
                   2385:     -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,     3,     4,
                   2386:      5,    -1,     7,     8,     9,    10,    94,    12,    13,    -1,
                   2387:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,   107,
1.1       root     2388:     -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,    34,
1.1.1.2   root     2389:     -1,    36,    -1,    -1,    39,    40,    41,    -1,    -1,    -1,
                   2390:     45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2391:     -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
                   2392:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
                   2393:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
                   2394:     -1,     3,     4,     5,    -1,     7,     8,     9,    10,    94,
                   2395:     12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2396:     -1,   106,   107,    -1,    -1,    27,    28,    29,    30,    -1,
                   2397:     32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,    41,
                   2398:     -1,    -1,    -1,    45,    -1,     3,     4,     5,    -1,     7,
                   2399:      8,     9,    10,    -1,    12,    13,    -1,    -1,    60,    -1,
                   2400:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    27,
                   2401:     28,    -1,    74,    75,    32,    -1,    34,    -1,    36,    -1,
                   2402:     82,    39,    40,    41,    -1,    -1,    -1,    45,    -1,     3,
                   2403:      4,     5,    94,     7,     8,     9,    10,    -1,    12,    13,
                   2404:     -1,    -1,    60,    -1,   106,   107,    -1,    -1,    -1,    -1,
                   2405:     68,    69,    70,    27,    28,    -1,    74,    75,    32,    -1,
                   2406:     34,    -1,    36,    -1,    82,    39,    40,    41,    -1,    -1,
                   2407:     -1,    45,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
                   2408:     -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,   106,   107,
                   2409:     -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,
                   2410:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
                   2411:     -1,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1,
                   2412:     94,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2413:     -1,    -1,   106,   107,    -1,    27,    -1,    -1,    -1,    -1,
                   2414:     -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,
                   2415:     -1,    43,    -1,    45,    46,    -1,    48,    -1,    -1,    -1,
                   2416:     -1,    -1,    54,    -1,    -1,    -1,    -1,    -1,    60,     3,
                   2417:      4,     5,     6,     7,     8,    -1,    -1,    11,    70,    13,
                   2418:     -1,    -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
                   2419:     82,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,
                   2420:     34,    -1,    94,    -1,    -1,    -1,    40,    41,    -1,    43,
                   2421:     -1,    45,    46,    -1,   106,    -1,    -1,    -1,    -1,    -1,
                   2422:     -1,    -1,    -1,    -1,    -1,    -1,    60,     3,     4,     5,
                   2423:      6,     7,     8,    -1,    -1,    11,    70,    13,    -1,    -1,
                   2424:     -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,    82,    83,
                   2425:     -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,
                   2426:     94,    -1,    -1,    -1,    40,    41,    -1,    43,    -1,    45,
                   2427:     -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2428:     -1,    -1,    -1,    -1,    60,     3,     4,     5,     6,     7,
                   2429:      8,    -1,    -1,    -1,    70,    13,    -1,    -1,    -1,    -1,
                   2430:     -1,    77,    -1,    -1,    -1,    -1,    82,    83,    -1,    27,
                   2431:     -1,    -1,    -1,    -1,    -1,    -1,    34,    93,    94,    -1,
                   2432:     -1,    -1,    40,    41,    -1,    43,    -1,    45,    46,    -1,
                   2433:    106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2434:     -1,    -1,    60,     3,     4,     5,     6,     7,     8,    -1,
                   2435:     -1,    11,    70,    13,    -1,    -1,    -1,    -1,    -1,    77,
                   2436:     -1,    -1,    -1,    -1,    82,    -1,    -1,    27,    -1,    -1,
                   2437:     -1,    -1,    -1,    -1,    34,    -1,    94,    -1,    -1,    -1,
                   2438:     40,    41,    -1,    43,    -1,    45,   104,    -1,   106,    -1,
1.1       root     2439:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2   root     2440:     60,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1,
                   2441:     70,    13,    -1,    -1,    -1,    -1,    -1,    77,    -1,    -1,
                   2442:     -1,    -1,    82,    -1,    -1,    27,    -1,    -1,    -1,    -1,
                   2443:     -1,    -1,    34,    93,    94,    -1,    -1,    -1,    40,    41,
                   2444:     -1,    43,    -1,    45,    46,    -1,   106,    -1,    -1,    -1,
                   2445:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
                   2446:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,     3,
                   2447:      4,     5,     6,     7,     8,    77,    -1,    -1,    -1,    13,
                   2448:     82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2449:     -1,    -1,    94,    27,    -1,    -1,    -1,    -1,    -1,    -1,
                   2450:     34,    -1,   104,    -1,   106,    -1,    40,    41,    -1,    43,
                   2451:     -1,    45,    46,    -1,     4,     5,     6,     7,     8,    -1,
                   2452:     -1,    11,    -1,    13,    -1,    -1,    60,    -1,    -1,     4,
                   2453:      5,    -1,     7,     8,    -1,    -1,    70,    27,    13,    -1,
                   2454:     -1,    -1,    -1,    77,    34,    -1,    -1,    -1,    82,    -1,
                   2455:     -1,    41,    27,    43,    -1,    -1,    -1,    -1,    -1,    34,
                   2456:     94,    -1,    -1,    -1,    -1,    -1,    41,    -1,    43,    -1,
                   2457:     60,    46,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
                   2458:     70,    -1,    -1,    -1,    -1,    60,    -1,    77,    -1,    -1,
                   2459:     -1,    -1,    82,    83,    -1,    70,    -1,    -1,    -1,    -1,
                   2460:     -1,    -1,    77,    93,    94,    -1,    -1,    82,    83,    -1,
                   2461:     -1,    -1,    -1,    -1,    -1,    51,    52,    53,    -1,    94,
1.1       root     2462:     56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1.1.1.2   root     2463:     66,    67,    68,    69,    70,    71,    72,    51,    52,    53,
                   2464:     -1,    -1,    56,    57,    58,    59,    60,    61,    62,    63,
                   2465:     64,    65,    66,    67,    68,    69,    70,    71,    72,    -1,
1.1.1.3 ! root     2466:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    31,    -1,    -1,
        !          2467:     -1,    -1,   108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2468:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    52,    53,
        !          2469:    104,   105,    56,    57,    58,    59,    60,    61,    62,    63,
        !          2470:     64,    65,    66,    67,    68,    69,    70,    71,    72,    50,
        !          2471:     51,    52,    53,    -1,    -1,    56,    57,    58,    59,    60,
        !          2472:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
        !          2473:     71,    72,    51,    52,    53,    54,    -1,    56,    57,    58,
1.1       root     2474:     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1.1.1.2   root     2475:     69,    70,    71,    72,    51,    52,    53,    -1,    -1,    56,
                   2476:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
                   2477:     67,    68,    69,    70,    71,    72,    53,    -1,    -1,    56,
                   2478:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
                   2479:     67,    68,    69,    70,    71,    72,    57,    58,    59,    60,
                   2480:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
                   2481:     71,    72,    58,    59,    60,    61,    62,    63,    64,    65,
                   2482:     66,    67,    68,    69,    70,    71,    72
1.1       root     2483: };
                   2484: /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
                   2485: #line 3 "bison.simple"
                   2486: 
                   2487: /* Skeleton output parser for bison,
                   2488:    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
                   2489: 
                   2490:    This program is free software; you can redistribute it and/or modify
                   2491:    it under the terms of the GNU General Public License as published by
                   2492:    the Free Software Foundation; either version 1, or (at your option)
                   2493:    any later version.
                   2494: 
                   2495:    This program is distributed in the hope that it will be useful,
                   2496:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                   2497:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                   2498:    GNU General Public License for more details.
                   2499: 
                   2500:    You should have received a copy of the GNU General Public License
                   2501:    along with this program; if not, write to the Free Software
                   2502:    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
                   2503: 
                   2504: 
                   2505: #ifndef alloca
                   2506: #ifdef __GNUC__
                   2507: #define alloca __builtin_alloca
                   2508: #else /* not GNU C.  */
                   2509: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
                   2510: #include <alloca.h>
                   2511: #else /* not sparc */
                   2512: #if defined (MSDOS) && !defined (__TURBOC__)
                   2513: #include <malloc.h>
                   2514: #else /* not MSDOS, or __TURBOC__ */
                   2515: #if defined(_AIX)
                   2516: #include <malloc.h>
1.1.1.3 ! root     2517:  #pragma alloca
1.1       root     2518: #endif /* not _AIX */
                   2519: #endif /* not MSDOS, or __TURBOC__ */
                   2520: #endif /* not sparc.  */
                   2521: #endif /* not GNU C.  */
                   2522: #endif /* alloca not defined.  */
                   2523: 
                   2524: /* This is the parser code that is written into each bison parser
                   2525:   when the %semantic_parser declaration is not specified in the grammar.
                   2526:   It was written by Richard Stallman by simplifying the hairy parser
                   2527:   used when %semantic_parser is specified.  */
                   2528: 
                   2529: /* Note: there must be only one dollar sign in this file.
                   2530:    It is replaced by the list of actions, each action
                   2531:    as one case of the switch.  */
                   2532: 
                   2533: #define yyerrok                (yyerrstatus = 0)
                   2534: #define yyclearin      (yychar = YYEMPTY)
                   2535: #define YYEMPTY                -2
                   2536: #define YYEOF          0
                   2537: #define YYACCEPT       return(0)
                   2538: #define YYABORT        return(1)
                   2539: #define YYERROR                goto yyerrlab1
                   2540: /* Like YYERROR except do call yyerror.
                   2541:    This remains here temporarily to ease the
                   2542:    transition to the new meaning of YYERROR, for GCC.
                   2543:    Once GCC version 2 has supplanted version 1, this can go.  */
                   2544: #define YYFAIL         goto yyerrlab
                   2545: #define YYRECOVERING()  (!!yyerrstatus)
                   2546: #define YYBACKUP(token, value) \
                   2547: do                                                             \
                   2548:   if (yychar == YYEMPTY && yylen == 1)                         \
                   2549:     { yychar = (token), yylval = (value);                      \
                   2550:       yychar1 = YYTRANSLATE (yychar);                          \
                   2551:       YYPOPSTACK;                                              \
                   2552:       goto yybackup;                                           \
                   2553:     }                                                          \
                   2554:   else                                                         \
                   2555:     { yyerror ("syntax error: cannot back up"); YYERROR; }     \
                   2556: while (0)
                   2557: 
                   2558: #define YYTERROR       1
                   2559: #define YYERRCODE      256
                   2560: 
                   2561: #ifndef YYPURE
                   2562: #define YYLEX          yylex()
                   2563: #endif
                   2564: 
                   2565: #ifdef YYPURE
                   2566: #ifdef YYLSP_NEEDED
                   2567: #define YYLEX          yylex(&yylval, &yylloc)
                   2568: #else
                   2569: #define YYLEX          yylex(&yylval)
                   2570: #endif
                   2571: #endif
                   2572: 
                   2573: /* If nonreentrant, generate the variables here */
                   2574: 
                   2575: #ifndef YYPURE
                   2576: 
                   2577: int    yychar;                 /*  the lookahead symbol                */
                   2578: YYSTYPE        yylval;                 /*  the semantic value of the           */
                   2579:                                /*  lookahead symbol                    */
                   2580: 
                   2581: #ifdef YYLSP_NEEDED
                   2582: YYLTYPE yylloc;                        /*  location data for the lookahead     */
                   2583:                                /*  symbol                              */
                   2584: #endif
                   2585: 
                   2586: int yynerrs;                   /*  number of parse errors so far       */
                   2587: #endif  /* not YYPURE */
                   2588: 
                   2589: #if YYDEBUG != 0
                   2590: int yydebug;                   /*  nonzero means print parse trace     */
                   2591: /* Since this is uninitialized, it does not stop multiple parsers
                   2592:    from coexisting.  */
                   2593: #endif
                   2594: 
                   2595: /*  YYINITDEPTH indicates the initial size of the parser's stacks      */
                   2596: 
                   2597: #ifndef        YYINITDEPTH
                   2598: #define YYINITDEPTH 200
                   2599: #endif
                   2600: 
                   2601: /*  YYMAXDEPTH is the maximum size the stacks can grow to
                   2602:     (effective only if the built-in stack extension method is used).  */
                   2603: 
                   2604: #if YYMAXDEPTH == 0
                   2605: #undef YYMAXDEPTH
                   2606: #endif
                   2607: 
                   2608: #ifndef YYMAXDEPTH
                   2609: #define YYMAXDEPTH 10000
                   2610: #endif
                   2611: 
                   2612: #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
                   2613: #define __yy_bcopy(FROM,TO,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
                   2614: #else                          /* not GNU C or C++ */
                   2615: #ifndef __cplusplus
                   2616: 
                   2617: /* This is the most reliable way to avoid incompatibilities
                   2618:    in available built-in functions on various systems.  */
                   2619: static void
                   2620: __yy_bcopy (from, to, count)
                   2621:      char *from;
                   2622:      char *to;
                   2623:      int count;
                   2624: {
                   2625:   register char *f = from;
                   2626:   register char *t = to;
                   2627:   register int i = count;
                   2628: 
                   2629:   while (i-- > 0)
                   2630:     *t++ = *f++;
                   2631: }
                   2632: 
                   2633: #else /* __cplusplus */
                   2634: 
                   2635: /* This is the most reliable way to avoid incompatibilities
                   2636:    in available built-in functions on various systems.  */
                   2637: static void
                   2638: __yy_bcopy (char *from, char *to, int count)
                   2639: {
                   2640:   register char *f = from;
                   2641:   register char *t = to;
                   2642:   register int i = count;
                   2643: 
                   2644:   while (i-- > 0)
                   2645:     *t++ = *f++;
                   2646: }
                   2647: 
                   2648: #endif
                   2649: #endif
                   2650: 
                   2651: #line 169 "bison.simple"
                   2652: int
                   2653: yyparse()
                   2654: {
                   2655:   register int yystate;
                   2656:   register int yyn;
                   2657:   register short *yyssp;
                   2658:   register YYSTYPE *yyvsp;
                   2659:   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
                   2660:   int yychar1;         /*  lookahead token as an internal (translated) token number */
                   2661: 
                   2662:   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
                   2663:   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
                   2664: 
                   2665:   short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
                   2666:   YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
                   2667: 
                   2668: #ifdef YYLSP_NEEDED
                   2669:   YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
                   2670:   YYLTYPE *yyls = yylsa;
                   2671:   YYLTYPE *yylsp;
                   2672: 
1.1.1.3 ! root     2673: #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
1.1       root     2674: #else
1.1.1.3 ! root     2675: #define YYPOPSTACK   (yyvsp--, yyssp--)
1.1       root     2676: #endif
                   2677: 
                   2678:   int yystacksize = YYINITDEPTH;
                   2679: 
                   2680: #ifdef YYPURE
                   2681:   int yychar;
                   2682:   YYSTYPE yylval;
                   2683:   int yynerrs;
                   2684: #ifdef YYLSP_NEEDED
                   2685:   YYLTYPE yylloc;
                   2686: #endif
                   2687: #endif
                   2688: 
                   2689:   YYSTYPE yyval;               /*  the variable used to return         */
                   2690:                                /*  semantic values from the action     */
                   2691:                                /*  routines                            */
                   2692: 
                   2693:   int yylen;
                   2694: 
                   2695: #if YYDEBUG != 0
                   2696:   if (yydebug)
                   2697:     fprintf(stderr, "Starting parse\n");
                   2698: #endif
                   2699: 
                   2700:   yystate = 0;
                   2701:   yyerrstatus = 0;
                   2702:   yynerrs = 0;
                   2703:   yychar = YYEMPTY;            /* Cause a token to be read.  */
                   2704: 
                   2705:   /* Initialize stack pointers.
                   2706:      Waste one element of value and location stack
                   2707:      so that they stay on the same level as the state stack.  */
                   2708: 
                   2709:   yyssp = yyss - 1;
                   2710:   yyvsp = yyvs;
                   2711: #ifdef YYLSP_NEEDED
                   2712:   yylsp = yyls;
                   2713: #endif
                   2714: 
                   2715: /* Push a new state, which is found in  yystate  .  */
                   2716: /* In all cases, when you get here, the value and location stacks
                   2717:    have just been pushed. so pushing a state here evens the stacks.  */
                   2718: yynewstate:
                   2719: 
                   2720:   *++yyssp = yystate;
                   2721: 
                   2722:   if (yyssp >= yyss + yystacksize - 1)
                   2723:     {
                   2724:       /* Give user a chance to reallocate the stack */
                   2725:       /* Use copies of these so that the &'s don't force the real ones into memory. */
                   2726:       YYSTYPE *yyvs1 = yyvs;
                   2727:       short *yyss1 = yyss;
                   2728: #ifdef YYLSP_NEEDED
                   2729:       YYLTYPE *yyls1 = yyls;
                   2730: #endif
                   2731: 
                   2732:       /* Get the current used size of the three stacks, in elements.  */
                   2733:       int size = yyssp - yyss + 1;
                   2734: 
                   2735: #ifdef yyoverflow
                   2736:       /* Each stack pointer address is followed by the size of
                   2737:         the data in use in that stack, in bytes.  */
                   2738:       yyoverflow("parser stack overflow",
                   2739:                 &yyss1, size * sizeof (*yyssp),
                   2740:                 &yyvs1, size * sizeof (*yyvsp),
                   2741: #ifdef YYLSP_NEEDED
                   2742:                 &yyls1, size * sizeof (*yylsp),
                   2743: #endif
                   2744:                 &yystacksize);
                   2745: 
                   2746:       yyss = yyss1; yyvs = yyvs1;
                   2747: #ifdef YYLSP_NEEDED
                   2748:       yyls = yyls1;
                   2749: #endif
                   2750: #else /* no yyoverflow */
                   2751:       /* Extend the stack our own way.  */
                   2752:       if (yystacksize >= YYMAXDEPTH)
                   2753:        {
                   2754:          yyerror("parser stack overflow");
                   2755:          return 2;
                   2756:        }
                   2757:       yystacksize *= 2;
                   2758:       if (yystacksize > YYMAXDEPTH)
                   2759:        yystacksize = YYMAXDEPTH;
                   2760:       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
                   2761:       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
                   2762:       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
                   2763:       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
                   2764: #ifdef YYLSP_NEEDED
                   2765:       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
                   2766:       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
                   2767: #endif
                   2768: #endif /* no yyoverflow */
                   2769: 
                   2770:       yyssp = yyss + size - 1;
                   2771:       yyvsp = yyvs + size - 1;
                   2772: #ifdef YYLSP_NEEDED
                   2773:       yylsp = yyls + size - 1;
                   2774: #endif
                   2775: 
                   2776: #if YYDEBUG != 0
                   2777:       if (yydebug)
                   2778:        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
                   2779: #endif
                   2780: 
                   2781:       if (yyssp >= yyss + yystacksize - 1)
                   2782:        YYABORT;
                   2783:     }
                   2784: 
                   2785: #if YYDEBUG != 0
                   2786:   if (yydebug)
                   2787:     fprintf(stderr, "Entering state %d\n", yystate);
                   2788: #endif
                   2789: 
                   2790:  yybackup:
                   2791: 
                   2792: /* Do appropriate processing given the current state.  */
                   2793: /* Read a lookahead token if we need one and don't already have one.  */
                   2794: /* yyresume: */
                   2795: 
                   2796:   /* First try to decide what to do without reference to lookahead token.  */
                   2797: 
                   2798:   yyn = yypact[yystate];
                   2799:   if (yyn == YYFLAG)
                   2800:     goto yydefault;
                   2801: 
                   2802:   /* Not known => get a lookahead token if don't already have one.  */
                   2803: 
                   2804:   /* yychar is either YYEMPTY or YYEOF
                   2805:      or a valid token in external form.  */
                   2806: 
                   2807:   if (yychar == YYEMPTY)
                   2808:     {
                   2809: #if YYDEBUG != 0
                   2810:       if (yydebug)
                   2811:        fprintf(stderr, "Reading a token: ");
                   2812: #endif
                   2813:       yychar = YYLEX;
                   2814:     }
                   2815: 
                   2816:   /* Convert token to internal form (in yychar1) for indexing tables with */
                   2817: 
                   2818:   if (yychar <= 0)             /* This means end of input. */
                   2819:     {
                   2820:       yychar1 = 0;
                   2821:       yychar = YYEOF;          /* Don't call YYLEX any more */
                   2822: 
                   2823: #if YYDEBUG != 0
                   2824:       if (yydebug)
                   2825:        fprintf(stderr, "Now at end of input.\n");
                   2826: #endif
                   2827:     }
                   2828:   else
                   2829:     {
                   2830:       yychar1 = YYTRANSLATE(yychar);
                   2831: 
                   2832: #if YYDEBUG != 0
                   2833:       if (yydebug)
                   2834:        {
                   2835:          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
                   2836:          /* Give the individual parser a way to print the precise meaning
                   2837:             of a token, for further debugging info.  */
                   2838: #ifdef YYPRINT
                   2839:          YYPRINT (stderr, yychar, yylval);
                   2840: #endif
                   2841:          fprintf (stderr, ")\n");
                   2842:        }
                   2843: #endif
                   2844:     }
                   2845: 
                   2846:   yyn += yychar1;
                   2847:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
                   2848:     goto yydefault;
                   2849: 
                   2850:   yyn = yytable[yyn];
                   2851: 
                   2852:   /* yyn is what to do for this token type in this state.
                   2853:      Negative => reduce, -yyn is rule number.
                   2854:      Positive => shift, yyn is new state.
                   2855:        New state is final state => don't bother to shift,
                   2856:        just return success.
                   2857:      0, or most negative number => error.  */
                   2858: 
                   2859:   if (yyn < 0)
                   2860:     {
                   2861:       if (yyn == YYFLAG)
                   2862:        goto yyerrlab;
                   2863:       yyn = -yyn;
                   2864:       goto yyreduce;
                   2865:     }
                   2866:   else if (yyn == 0)
                   2867:     goto yyerrlab;
                   2868: 
                   2869:   if (yyn == YYFINAL)
                   2870:     YYACCEPT;
                   2871: 
                   2872:   /* Shift the lookahead token.  */
                   2873: 
                   2874: #if YYDEBUG != 0
                   2875:   if (yydebug)
                   2876:     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
                   2877: #endif
                   2878: 
                   2879:   /* Discard the token being shifted unless it is eof.  */
                   2880:   if (yychar != YYEOF)
                   2881:     yychar = YYEMPTY;
                   2882: 
                   2883:   *++yyvsp = yylval;
                   2884: #ifdef YYLSP_NEEDED
                   2885:   *++yylsp = yylloc;
                   2886: #endif
                   2887: 
                   2888:   /* count tokens shifted since error; after three, turn off error status.  */
                   2889:   if (yyerrstatus) yyerrstatus--;
                   2890: 
                   2891:   yystate = yyn;
                   2892:   goto yynewstate;
                   2893: 
                   2894: /* Do the default action for the current state.  */
                   2895: yydefault:
                   2896: 
                   2897:   yyn = yydefact[yystate];
                   2898:   if (yyn == 0)
                   2899:     goto yyerrlab;
                   2900: 
                   2901: /* Do a reduction.  yyn is the number of a rule to reduce with.  */
                   2902: yyreduce:
                   2903:   yylen = yyr2[yyn];
                   2904:   yyval = yyvsp[1-yylen]; /* implement default value of the action */
                   2905: 
                   2906: #if YYDEBUG != 0
                   2907:   if (yydebug)
                   2908:     {
                   2909:       int i;
                   2910: 
                   2911:       fprintf (stderr, "Reducing via rule %d (line %d), ",
                   2912:               yyn, yyrline[yyn]);
                   2913: 
                   2914:       /* Print the symboles being reduced, and their result.  */
                   2915:       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
                   2916:        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
                   2917:       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
                   2918:     }
                   2919: #endif
                   2920: 
                   2921: 
                   2922:   switch (yyn) {
                   2923: 
                   2924: case 2:
1.1.1.2   root     2925: #line 302 "cp-parse.y"
1.1       root     2926: { finish_file (); ;
                   2927:     break;}
                   2928: case 3:
1.1.1.2   root     2929: #line 310 "cp-parse.y"
1.1       root     2930: { yyval.ttype = NULL_TREE; ;
                   2931:     break;}
                   2932: case 4:
1.1.1.2   root     2933: #line 311 "cp-parse.y"
1.1       root     2934: {yyval.ttype = NULL_TREE; ;
                   2935:     break;}
                   2936: case 5:
1.1.1.2   root     2937: #line 313 "cp-parse.y"
1.1       root     2938: {yyval.ttype = NULL_TREE; ;
                   2939:     break;}
                   2940: case 6:
1.1.1.2   root     2941: #line 317 "cp-parse.y"
                   2942: { have_extern_spec = 1;
                   2943:                  yyval.ttype = NULL_TREE; ;
1.1       root     2944:     break;}
                   2945: case 7:
1.1.1.2   root     2946: #line 321 "cp-parse.y"
1.1       root     2947: { have_extern_spec = 0; ;
                   2948:     break;}
                   2949: case 8:
1.1.1.2   root     2950: #line 326 "cp-parse.y"
1.1       root     2951: { if (pending_inlines) do_pending_inlines (); ;
                   2952:     break;}
                   2953: case 9:
1.1.1.2   root     2954: #line 328 "cp-parse.y"
1.1       root     2955: { if (pending_inlines) do_pending_inlines (); ;
                   2956:     break;}
                   2957: case 10:
1.1.1.2   root     2958: #line 330 "cp-parse.y"
1.1       root     2959: { if (pending_inlines) do_pending_inlines (); ;
                   2960:     break;}
                   2961: case 12:
1.1.1.2   root     2962: #line 333 "cp-parse.y"
1.1       root     2963: { if (pedantic)
1.1.1.3 ! root     2964:                    pedwarn ("ANSI C forbids use of `asm' keyword");
1.1       root     2965:                  if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   2966:                  assemble_asm (yyvsp[-2].ttype); ;
                   2967:     break;}
                   2968: case 13:
1.1.1.2   root     2969: #line 338 "cp-parse.y"
1.1       root     2970: { pop_lang_context (); ;
                   2971:     break;}
                   2972: case 14:
1.1.1.2   root     2973: #line 340 "cp-parse.y"
1.1       root     2974: { pop_lang_context (); ;
                   2975:     break;}
                   2976: case 15:
1.1.1.2   root     2977: #line 342 "cp-parse.y"
1.1       root     2978: { if (pending_inlines) do_pending_inlines ();
                   2979:                  pop_lang_context (); ;
                   2980:     break;}
                   2981: case 16:
1.1.1.2   root     2982: #line 345 "cp-parse.y"
1.1       root     2983: { if (pending_inlines) do_pending_inlines ();
                   2984:                  pop_lang_context (); ;
                   2985:     break;}
                   2986: case 17:
1.1.1.2   root     2987: #line 351 "cp-parse.y"
1.1       root     2988: { push_lang_context (yyvsp[0].ttype); ;
                   2989:     break;}
                   2990: case 18:
1.1.1.2   root     2991: #line 356 "cp-parse.y"
1.1       root     2992: { begin_template_parm_list (); ;
                   2993:     break;}
                   2994: case 19:
1.1.1.2   root     2995: #line 358 "cp-parse.y"
1.1       root     2996: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
                   2997:     break;}
                   2998: case 20:
1.1.1.2   root     2999: #line 363 "cp-parse.y"
1.1       root     3000: { yyval.ttype = process_template_parm (0, yyvsp[0].ttype); ;
                   3001:     break;}
                   3002: case 21:
1.1.1.2   root     3003: #line 365 "cp-parse.y"
1.1       root     3004: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   3005:     break;}
                   3006: case 22:
1.1.1.2   root     3007: #line 376 "cp-parse.y"
1.1       root     3008: {
1.1.1.2   root     3009:                  if (yyvsp[-1].ttype != class_type_node)
1.1       root     3010:                    error ("template type parameter must use keyword `class'");
                   3011:                  yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
                   3012:                ;
                   3013:     break;}
                   3014: case 23:
1.1.1.2   root     3015: #line 382 "cp-parse.y"
1.1       root     3016: {
1.1.1.2   root     3017:                  if (yyvsp[-3].ttype != class_type_node)
1.1       root     3018:                    error ("template type parameter must use keyword `class'");
                   3019:                  warning ("restricted template type parameters not yet implemented");
                   3020:                  yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
                   3021:                ;
                   3022:     break;}
                   3023: case 24:
1.1.1.2   root     3024: #line 389 "cp-parse.y"
1.1       root     3025: {
1.1.1.2   root     3026:                  if (yyvsp[-2].ttype != class_type_node)
1.1       root     3027:                    error ("template type parameter must use keyword `class'");
                   3028:                  warning ("restricted template type parameters not yet implemented");
                   3029:                  yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
                   3030:                ;
                   3031:     break;}
                   3032: case 27:
1.1.1.2   root     3033: #line 402 "cp-parse.y"
1.1       root     3034: { declare_overloaded (yyvsp[0].ttype); ;
                   3035:     break;}
                   3036: case 28:
1.1.1.2   root     3037: #line 404 "cp-parse.y"
1.1       root     3038: { declare_overloaded (yyvsp[0].ttype); ;
                   3039:     break;}
                   3040: case 29:
1.1.1.2   root     3041: #line 411 "cp-parse.y"
1.1       root     3042: { yychar = '{'; goto template1; ;
                   3043:     break;}
                   3044: case 31:
1.1.1.2   root     3045: #line 414 "cp-parse.y"
1.1       root     3046: { yychar = '{'; goto template1; ;
                   3047:     break;}
                   3048: case 33:
1.1.1.2   root     3049: #line 417 "cp-parse.y"
1.1       root     3050: { yychar = ':'; goto template1; ;
                   3051:     break;}
                   3052: case 35:
1.1.1.2   root     3053: #line 420 "cp-parse.y"
1.1       root     3054: {
                   3055:                  yychar = ':';
                   3056:                template1:
                   3057:                  if (current_aggr == exception_type_node)
                   3058:                    error ("template type must define an aggregate or union");
                   3059:                  /* Maybe pedantic warning for union?
                   3060:                     How about an enum? :-)  */
                   3061:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3062:                  reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
                   3063:                  yychar = YYEMPTY;
                   3064:                ;
                   3065:     break;}
                   3066: case 37:
1.1.1.2   root     3067: #line 433 "cp-parse.y"
1.1       root     3068: {
                   3069:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3070:                  /* declare $2 as template name with $1 parm list */
                   3071:                ;
                   3072:     break;}
                   3073: case 38:
1.1.1.2   root     3074: #line 438 "cp-parse.y"
1.1       root     3075: {
                   3076:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3077:                  /* declare $2 as template name with $1 parm list */
                   3078:                ;
                   3079:     break;}
                   3080: case 39:
1.1.1.2   root     3081: #line 445 "cp-parse.y"
1.1       root     3082: {
                   3083:                  tree d;
                   3084:                  int momentary;
                   3085:                  momentary = suspend_momentary ();
                   3086:                  d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/0, 0, yyvsp[-3].ttype);
1.1.1.3 ! root     3087:                  decl_attributes (d, yyvsp[-1].ttype);
        !          3088:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1       root     3089: 
                   3090: #if 0 /* Need to sort out destructor templates, and not give warnings
                   3091:          for them.  */
                   3092:                  if (pedantic)
                   3093:                    error ("ANSI C forbids data definition with no type or storage class");
                   3094:                  else if (! flag_traditional && ! have_extern_spec)
                   3095:                    warning ("data definition has no type or storage class");
                   3096: #endif
                   3097:                  end_template_decl (yyvsp[-5].ttype, d, 0);
                   3098:                  if (yyvsp[0].itype != ';')
                   3099:                    reinit_parse_for_template (yyvsp[0].itype, yyvsp[-5].ttype, d);
                   3100:                  resume_momentary (momentary);
                   3101:                ;
                   3102:     break;}
                   3103: case 40:
1.1.1.3 ! root     3104: #line 468 "cp-parse.y"
1.1       root     3105: {
                   3106:                  tree d;
                   3107:                  int momentary;
                   3108: 
                   3109:                  current_declspecs = yyvsp[-5].ttype;
                   3110:                  momentary = suspend_momentary ();
                   3111:                  d = start_decl (yyvsp[-4].ttype, current_declspecs, 0, yyvsp[-3].ttype);
1.1.1.3 ! root     3112:                  decl_attributes (d, yyvsp[-1].ttype);
        !          3113:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0);
1.1       root     3114:                  end_exception_decls ();
                   3115:                  end_template_decl (yyvsp[-6].ttype, d, 0);
                   3116:                  if (yyvsp[0].itype != ';')
                   3117:                    {
                   3118:                      reinit_parse_for_template (yyvsp[0].itype, yyvsp[-6].ttype, d);
                   3119:                      yychar = YYEMPTY;
                   3120:                    }
                   3121:                  note_list_got_semicolon (yyvsp[-5].ttype);
                   3122:                  resume_momentary (momentary);
                   3123:                ;
                   3124:     break;}
                   3125: case 41:
1.1.1.3 ! root     3126: #line 488 "cp-parse.y"
1.1       root     3127: {
                   3128:                  tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
1.1.1.3 ! root     3129:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3130:                  end_template_decl (yyvsp[-3].ttype, d, 0);
                   3131:                  if (yyvsp[0].itype != ';')
                   3132:                    reinit_parse_for_template (yyvsp[0].itype, yyvsp[-3].ttype, d);
                   3133:                ;
                   3134:     break;}
                   3135: case 42:
1.1.1.3 ! root     3136: #line 496 "cp-parse.y"
1.1.1.2   root     3137: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3138:     break;}
                   3139: case 43:
1.1.1.3 ! root     3140: #line 497 "cp-parse.y"
1.1.1.2   root     3141: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3142:     break;}
                   3143: case 44:
1.1.1.3 ! root     3144: #line 500 "cp-parse.y"
1.1.1.2   root     3145: { yyval.itype = '{'; ;
1.1       root     3146:     break;}
                   3147: case 45:
1.1.1.3 ! root     3148: #line 501 "cp-parse.y"
1.1.1.2   root     3149: { yyval.itype = ':'; ;
1.1       root     3150:     break;}
                   3151: case 46:
1.1.1.3 ! root     3152: #line 502 "cp-parse.y"
1.1.1.2   root     3153: { yyval.itype = ';'; ;
1.1       root     3154:     break;}
                   3155: case 47:
1.1.1.3 ! root     3156: #line 503 "cp-parse.y"
1.1.1.2   root     3157: { yyval.itype = '='; ;
                   3158:     break;}
                   3159: case 48:
1.1.1.3 ! root     3160: #line 504 "cp-parse.y"
1.1.1.2   root     3161: { yyval.itype = RETURN; ;
                   3162:     break;}
                   3163: case 49:
1.1.1.3 ! root     3164: #line 509 "cp-parse.y"
1.1       root     3165: { if (pedantic)
                   3166:                    error ("ANSI C forbids data definition with no type or storage class");
                   3167:                  else if (! flag_traditional && ! have_extern_spec)
                   3168:                    warning ("data definition has no type or storage class"); ;
                   3169:     break;}
1.1.1.2   root     3170: case 50:
1.1.1.3 ! root     3171: #line 514 "cp-parse.y"
1.1       root     3172: {;
                   3173:     break;}
1.1.1.2   root     3174: case 51:
1.1.1.3 ! root     3175: #line 517 "cp-parse.y"
1.1       root     3176: { tree d;
                   3177:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 ! root     3178:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3179:                ;
                   3180:     break;}
1.1.1.2   root     3181: case 52:
1.1.1.3 ! root     3182: #line 522 "cp-parse.y"
1.1       root     3183: {
                   3184:                  end_exception_decls ();
                   3185:                  note_list_got_semicolon (yyval.ttype);
                   3186:                ;
                   3187:     break;}
1.1.1.2   root     3188: case 53:
1.1.1.3 ! root     3189: #line 528 "cp-parse.y"
1.1       root     3190: { tree d;
                   3191:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 ! root     3192:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     3193:                  end_exception_decls ();
                   3194:                  note_list_got_semicolon (yyval.ttype);
                   3195:                ;
                   3196:     break;}
1.1.1.2   root     3197: case 54:
1.1.1.3 ! root     3198: #line 535 "cp-parse.y"
1.1       root     3199: { error ("empty declaration"); ;
                   3200:     break;}
1.1.1.2   root     3201: case 55:
1.1.1.3 ! root     3202: #line 537 "cp-parse.y"
1.1       root     3203: {
                   3204:            tree t = yyval.ttype;
                   3205:            shadow_tag (t);
                   3206:            if (TREE_CODE (t) == TREE_LIST
                   3207:                && TREE_PURPOSE (t) == NULL_TREE)
                   3208:              {
                   3209:                t = TREE_VALUE (t);
                   3210:                if (TREE_CODE (t) == RECORD_TYPE)
                   3211:                  {
                   3212:                    if (CLASSTYPE_USE_TEMPLATE (t) == 0)
                   3213:                      CLASSTYPE_USE_TEMPLATE (t) = 2;
                   3214:                    else if (CLASSTYPE_USE_TEMPLATE (t) == 1)
                   3215:                      error ("override declaration for already-expanded template");
                   3216:                  }
                   3217:              }
                   3218:            note_list_got_semicolon (yyval.ttype);
                   3219:          ;
                   3220:     break;}
1.1.1.2   root     3221: case 59:
1.1.1.3 ! root     3222: #line 561 "cp-parse.y"
1.1       root     3223: {
                   3224:                  finish_function (lineno, 1);
                   3225:                  /* finish_function performs these three statements:
                   3226: 
                   3227:                     expand_end_bindings (getdecls (), 1, 0);
                   3228:                     poplevel (1, 1, 0);
                   3229: 
                   3230:                     expand_end_bindings (0, 0, 0);
                   3231:                     poplevel (0, 0, 1);
                   3232:                     */
                   3233:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3234:                ;
                   3235:     break;}
1.1.1.2   root     3236: case 60:
1.1.1.3 ! root     3237: #line 574 "cp-parse.y"
1.1       root     3238: {
                   3239:                  finish_function (lineno, 1);
                   3240:                  /* finish_function performs these three statements:
                   3241: 
                   3242:                     expand_end_bindings (getdecls (), 1, 0);
                   3243:                     poplevel (1, 1, 0);
                   3244: 
                   3245:                     expand_end_bindings (0, 0, 0);
                   3246:                     poplevel (0, 0, 1);
                   3247:                     */
                   3248:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3249:                ;
                   3250:     break;}
1.1.1.2   root     3251: case 61:
1.1.1.3 ! root     3252: #line 587 "cp-parse.y"
1.1       root     3253: { finish_function (lineno, 0);
                   3254:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3255:     break;}
1.1.1.2   root     3256: case 62:
1.1.1.3 ! root     3257: #line 590 "cp-parse.y"
1.1       root     3258: { finish_function (lineno, 0);
                   3259:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3260:     break;}
1.1.1.2   root     3261: case 63:
1.1.1.3 ! root     3262: #line 593 "cp-parse.y"
1.1       root     3263: { finish_function (lineno, 0);
                   3264:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3265:     break;}
1.1.1.2   root     3266: case 64:
1.1.1.3 ! root     3267: #line 596 "cp-parse.y"
1.1       root     3268: {;
                   3269:     break;}
1.1.1.2   root     3270: case 65:
1.1.1.3 ! root     3271: #line 598 "cp-parse.y"
1.1       root     3272: {;
                   3273:     break;}
1.1.1.2   root     3274: case 66:
1.1.1.3 ! root     3275: #line 600 "cp-parse.y"
1.1       root     3276: {;
                   3277:     break;}
1.1.1.2   root     3278: case 67:
1.1.1.3 ! root     3279: #line 605 "cp-parse.y"
1.1       root     3280: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3281:                    YYERROR1;
                   3282:                  reinit_parse_for_function ();
                   3283:                  yyval.ttype = NULL_TREE; ;
                   3284:     break;}
1.1.1.2   root     3285: case 68:
1.1.1.3 ! root     3286: #line 610 "cp-parse.y"
1.1       root     3287: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3288:                    YYERROR1;
                   3289:                  reinit_parse_for_function ();
                   3290:                  yyval.ttype = NULL_TREE; ;
                   3291:     break;}
1.1.1.2   root     3292: case 69:
1.1.1.3 ! root     3293: #line 615 "cp-parse.y"
1.1       root     3294: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
                   3295:                    YYERROR1;
                   3296:                  reinit_parse_for_function ();
                   3297:                  yyval.ttype = NULL_TREE; ;
                   3298:     break;}
1.1.1.2   root     3299: case 70:
1.1.1.3 ! root     3300: #line 620 "cp-parse.y"
1.1       root     3301: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3302:                    YYERROR1;
                   3303:                  reinit_parse_for_function ();
                   3304:                  yyval.ttype = NULL_TREE; ;
                   3305:     break;}
1.1.1.2   root     3306: case 71:
1.1.1.3 ! root     3307: #line 625 "cp-parse.y"
1.1       root     3308: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3309:                    YYERROR1;
                   3310:                  reinit_parse_for_function ();
                   3311:                  yyval.ttype = NULL_TREE; ;
                   3312:     break;}
1.1.1.2   root     3313: case 72:
1.1.1.3 ! root     3314: #line 630 "cp-parse.y"
1.1       root     3315: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3316:                    YYERROR1;
                   3317:                  reinit_parse_for_function ();
                   3318:                  yyval.ttype = NULL_TREE; ;
                   3319:     break;}
1.1.1.2   root     3320: case 73:
1.1.1.3 ! root     3321: #line 635 "cp-parse.y"
1.1       root     3322: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3323:                    YYERROR1;
                   3324:                  reinit_parse_for_function ();
                   3325:                  yyval.ttype = NULL_TREE; ;
                   3326:     break;}
1.1.1.2   root     3327: case 74:
1.1.1.3 ! root     3328: #line 640 "cp-parse.y"
1.1       root     3329: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
                   3330:                  reinit_parse_for_function (); ;
                   3331:     break;}
1.1.1.2   root     3332: case 75:
1.1.1.3 ! root     3333: #line 647 "cp-parse.y"
1.1       root     3334: {
                   3335:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3336:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3337:                  if (! yyval.ttype)
                   3338:                    YYERROR1;
                   3339:                  if (yychar == YYEMPTY)
                   3340:                    yychar = YYLEX;
                   3341:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3342:     break;}
1.1.1.2   root     3343: case 76:
1.1.1.3 ! root     3344: #line 656 "cp-parse.y"
1.1       root     3345: {
                   3346:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3347:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3348:                  if (! yyval.ttype)
                   3349:                    YYERROR1;
                   3350:                  if (yychar == YYEMPTY)
                   3351:                    yychar = YYLEX;
                   3352:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3353:     break;}
1.1.1.2   root     3354: case 77:
1.1.1.3 ! root     3355: #line 665 "cp-parse.y"
1.1       root     3356: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3357:                  if (! yyval.ttype)
                   3358:                    YYERROR1;
                   3359:                  if (yychar == YYEMPTY)
                   3360:                    yychar = YYLEX;
                   3361:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3362:     break;}
1.1.1.2   root     3363: case 78:
1.1.1.3 ! root     3364: #line 672 "cp-parse.y"
1.1       root     3365: {
                   3366:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3367:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3368:                  if (! yyval.ttype)
                   3369:                    YYERROR1;
                   3370:                  if (yychar == YYEMPTY)
                   3371:                    yychar = YYLEX;
                   3372:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3373:     break;}
1.1.1.2   root     3374: case 79:
1.1.1.3 ! root     3375: #line 681 "cp-parse.y"
1.1       root     3376: {
                   3377:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3378:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3379:                  if (! yyval.ttype)
                   3380:                    YYERROR1;
                   3381:                  if (yychar == YYEMPTY)
                   3382:                    yychar = YYLEX;
                   3383:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3384:     break;}
1.1.1.2   root     3385: case 80:
1.1.1.3 ! root     3386: #line 690 "cp-parse.y"
1.1       root     3387: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3388:                  if (! yyval.ttype)
                   3389:                    YYERROR1;
                   3390:                  if (yychar == YYEMPTY)
                   3391:                    yychar = YYLEX;
                   3392:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3393:     break;}
1.1.1.2   root     3394: case 81:
1.1.1.3 ! root     3395: #line 697 "cp-parse.y"
1.1       root     3396: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype);
                   3397:                  if (! yyval.ttype)
                   3398:                    YYERROR1;
                   3399:                  if (yychar == YYEMPTY)
                   3400:                    yychar = YYLEX;
                   3401:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3402:     break;}
1.1.1.2   root     3403: case 82:
1.1.1.3 ! root     3404: #line 706 "cp-parse.y"
1.1       root     3405: {
                   3406:                  if (! current_function_parms_stored)
                   3407:                    store_parm_decls ();
                   3408:                  yyval.ttype = yyvsp[0].ttype;
                   3409:                ;
                   3410:     break;}
1.1.1.2   root     3411: case 83:
1.1.1.3 ! root     3412: #line 714 "cp-parse.y"
1.1       root     3413: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3414:     break;}
1.1.1.2   root     3415: case 84:
1.1.1.3 ! root     3416: #line 716 "cp-parse.y"
1.1       root     3417: { store_return_init (yyval.ttype, yyvsp[-1].code); ;
                   3418:     break;}
1.1.1.2   root     3419: case 85:
1.1.1.3 ! root     3420: #line 718 "cp-parse.y"
1.1       root     3421: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
                   3422:     break;}
1.1.1.2   root     3423: case 86:
1.1.1.3 ! root     3424: #line 720 "cp-parse.y"
1.1       root     3425: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3426:     break;}
1.1.1.2   root     3427: case 87:
1.1.1.3 ! root     3428: #line 725 "cp-parse.y"
1.1       root     3429: {
                   3430:                  if (yyvsp[0].itype == 0)
                   3431:                    error ("no base initializers given following ':'");
                   3432:                  setup_vtbl_ptr ();
                   3433:                ;
                   3434:     break;}
1.1.1.2   root     3435: case 88:
1.1.1.3 ! root     3436: #line 734 "cp-parse.y"
1.1       root     3437: {
                   3438:                  if (! current_function_parms_stored)
                   3439:                    store_parm_decls ();
                   3440: 
                   3441:                  /* Flag that we are processing base and member initializers.  */
                   3442:                  current_vtable_decl = error_mark_node;
                   3443: 
                   3444:                  if (DECL_CONSTRUCTOR_P (current_function_decl))
                   3445:                    {
                   3446:                      /* Make a contour for the initializer list.  */
                   3447:                      pushlevel (0);
                   3448:                      clear_last_expr ();
                   3449:                      expand_start_bindings (0);
                   3450:                    }
                   3451:                  else if (current_class_type == NULL_TREE)
                   3452:                    error ("base initializers not allowed for non-member functions");
                   3453:                  else if (! DECL_CONSTRUCTOR_P (current_function_decl))
                   3454:                    error ("only constructors take base initializers");
                   3455:                ;
                   3456:     break;}
1.1.1.2   root     3457: case 89:
1.1.1.3 ! root     3458: #line 757 "cp-parse.y"
1.1       root     3459: { yyval.itype = 0; ;
                   3460:     break;}
1.1.1.2   root     3461: case 90:
1.1.1.3 ! root     3462: #line 759 "cp-parse.y"
1.1       root     3463: { yyval.itype = 1; ;
                   3464:     break;}
1.1.1.2   root     3465: case 93:
1.1.1.3 ! root     3466: #line 765 "cp-parse.y"
1.1       root     3467: {
                   3468:                  if (current_class_name && pedantic)
1.1.1.3 ! root     3469:                    pedwarn ("old style base class initialization; use `%s (...)'",
1.1       root     3470:                             IDENTIFIER_POINTER (current_class_name));
                   3471:                  expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
                   3472:                ;
                   3473:     break;}
1.1.1.2   root     3474: case 94:
1.1.1.3 ! root     3475: #line 772 "cp-parse.y"
1.1       root     3476: {
                   3477:                  if (current_class_name && pedantic)
1.1.1.3 ! root     3478:                    pedwarn ("old style base class initialization; use `%s (...)'",
1.1       root     3479:                             IDENTIFIER_POINTER (current_class_name));
                   3480:                  expand_member_init (C_C_D, NULL_TREE, void_type_node);
                   3481:                ;
                   3482:     break;}
1.1.1.2   root     3483: case 95:
1.1.1.3 ! root     3484: #line 779 "cp-parse.y"
1.1       root     3485: {
                   3486:                  expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype);
                   3487:                ;
                   3488:     break;}
1.1.1.2   root     3489: case 96:
1.1.1.3 ! root     3490: #line 783 "cp-parse.y"
1.1       root     3491: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3492:     break;}
1.1.1.2   root     3493: case 97:
1.1.1.3 ! root     3494: #line 785 "cp-parse.y"
1.1.1.2   root     3495: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
                   3496:     break;}
                   3497: case 98:
1.1.1.3 ! root     3498: #line 787 "cp-parse.y"
1.1.1.2   root     3499: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3500:     break;}
                   3501: case 99:
1.1.1.3 ! root     3502: #line 789 "cp-parse.y"
1.1       root     3503: {
                   3504:                  do_member_init (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3505:                ;
                   3506:     break;}
1.1.1.2   root     3507: case 100:
1.1.1.3 ! root     3508: #line 793 "cp-parse.y"
1.1       root     3509: {
                   3510:                  do_member_init (yyval.ttype, yyvsp[-1].ttype, void_type_node);
                   3511:                ;
                   3512:     break;}
1.1.1.2   root     3513: case 110:
1.1.1.3 ! root     3514: #line 817 "cp-parse.y"
1.1       root     3515: { yyval.ttype = build_parse_node (BIT_NOT_EXPR,yyvsp[0].ttype);;
                   3516:     break;}
1.1.1.2   root     3517: case 112:
1.1.1.3 ! root     3518: #line 820 "cp-parse.y"
1.1       root     3519: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
                   3520:     break;}
1.1.1.2   root     3521: case 113:
1.1.1.3 ! root     3522: #line 822 "cp-parse.y"
1.1       root     3523: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
                   3524:     break;}
1.1.1.2   root     3525: case 114:
1.1.1.3 ! root     3526: #line 824 "cp-parse.y"
1.1       root     3527: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
                   3528:     break;}
1.1.1.2   root     3529: case 115:
1.1.1.3 ! root     3530: #line 826 "cp-parse.y"
1.1       root     3531: { yyval.ttype = hack_wrapper (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   3532:     break;}
1.1.1.2   root     3533: case 116:
1.1.1.3 ! root     3534: #line 828 "cp-parse.y"
1.1       root     3535: { yyval.ttype = hack_wrapper (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   3536:     break;}
1.1.1.2   root     3537: case 117:
1.1.1.3 ! root     3538: #line 832 "cp-parse.y"
1.1       root     3539: { yyval.itype = 0; ;
                   3540:     break;}
1.1.1.2   root     3541: case 118:
1.1.1.3 ! root     3542: #line 834 "cp-parse.y"
1.1       root     3543: { yyval.itype = 1; ;
                   3544:     break;}
1.1.1.2   root     3545: case 119:
1.1.1.3 ! root     3546: #line 836 "cp-parse.y"
1.1       root     3547: { yyval.itype = 2; ;
                   3548:     break;}
1.1.1.2   root     3549: case 120:
1.1.1.3 ! root     3550: #line 841 "cp-parse.y"
1.1       root     3551: {
                   3552:                  if (yyvsp[0].ttype) 
                   3553:                    yyval.ttype = yyvsp[0].ttype;
                   3554:                  else if (yyval.ttype != error_mark_node)
                   3555:                    yyval.ttype = IDENTIFIER_TYPE_VALUE (yyval.ttype);
                   3556:                ;
                   3557:     break;}
1.1.1.2   root     3558: case 121:
1.1.1.3 ! root     3559: #line 851 "cp-parse.y"
1.1       root     3560: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype); ;
                   3561:     break;}
1.1.1.2   root     3562: case 122:
1.1.1.3 ! root     3563: #line 857 "cp-parse.y"
1.1       root     3564: { yyungetc ('{', 1); yyval.ttype = 0; ;
                   3565:     break;}
1.1.1.2   root     3566: case 123:
1.1.1.3 ! root     3567: #line 858 "cp-parse.y"
1.1       root     3568: { yyungetc (':', 1); yyval.ttype = 0; ;
                   3569:     break;}
1.1.1.2   root     3570: case 124:
1.1.1.3 ! root     3571: #line 860 "cp-parse.y"
1.1       root     3572: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3573:     break;}
1.1.1.2   root     3574: case 125:
1.1.1.3 ! root     3575: #line 865 "cp-parse.y"
1.1       root     3576: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3577:     break;}
1.1.1.2   root     3578: case 126:
1.1.1.3 ! root     3579: #line 870 "cp-parse.y"
1.1       root     3580: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3581:     break;}
1.1.1.2   root     3582: case 127:
1.1.1.3 ! root     3583: #line 872 "cp-parse.y"
1.1       root     3584: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3585:     break;}
1.1.1.2   root     3586: case 128:
1.1.1.3 ! root     3587: #line 877 "cp-parse.y"
1.1       root     3588: { yyval.ttype = groktypename (yyval.ttype); ;
                   3589:     break;}
1.1.1.2   root     3590: case 130:
1.1.1.3 ! root     3591: #line 883 "cp-parse.y"
1.1       root     3592: {
                   3593:                  tree t, decl, id, tmpl;
                   3594: 
                   3595:                  id = TREE_VALUE (yyvsp[-1].ttype);
                   3596:                  tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (id));
                   3597:                  t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, id, yyvsp[0].ttype);
                   3598:                  set_current_level_tags_transparency (1);
                   3599:                  assert (TREE_CODE (t) == RECORD_TYPE);
                   3600:                  yyval.ttype = t;
                   3601: 
                   3602:                  /* Now, put a copy of the decl in global scope, to avoid
                   3603:                     recursive expansion.  */
                   3604:                  decl = IDENTIFIER_LOCAL_VALUE (id);
                   3605:                  if (!decl)
                   3606:                    decl = IDENTIFIER_CLASS_VALUE (id);
                   3607:                  /* Now, put a copy of the decl in global scope, to avoid
                   3608:                     recursive expansion.  */
                   3609:                   if (decl)
                   3610:                     {
                   3611:                      /* Need to copy it to clear the chain pointer,
                   3612:                         and need to get it into permanent storage.  */
                   3613:                      extern struct obstack permanent_obstack;
                   3614:                       assert (TREE_CODE (decl) == TYPE_DECL);
                   3615:                      push_obstacks (&permanent_obstack, &permanent_obstack);
                   3616:                       decl = copy_node (decl);
                   3617:                      if (DECL_LANG_SPECIFIC (decl))
                   3618:                        copy_lang_decl (decl);
                   3619:                      pop_obstacks ();
                   3620:                      pushdecl_top_level (decl);
                   3621:                    }
                   3622:                ;
                   3623:     break;}
1.1.1.2   root     3624: case 131:
1.1.1.3 ! root     3625: #line 915 "cp-parse.y"
1.1       root     3626: {
                   3627:                  extern void end_template_instantiation ();
                   3628:                  tree id, members;
                   3629: 
                   3630:                  yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0, 0);
                   3631: 
                   3632:                  pop_obstacks ();
                   3633:                  end_template_instantiation (yyvsp[-5].ttype, yyvsp[-3].ttype);
                   3634: 
                   3635:                   /* Now go after the methods & class data.  */
                   3636:                   instantiate_member_templates (yyvsp[-5].ttype);
                   3637:                ;
                   3638:     break;}
1.1.1.2   root     3639: case 132:
1.1.1.3 ! root     3640: #line 931 "cp-parse.y"
1.1       root     3641: { yyval.ttype = NULL_TREE; ;
                   3642:     break;}
1.1.1.2   root     3643: case 133:
1.1.1.3 ! root     3644: #line 933 "cp-parse.y"
1.1       root     3645: { yyval.ttype = yyvsp[0].ttype; ;
                   3646:     break;}
1.1.1.2   root     3647: case 134:
1.1.1.3 ! root     3648: #line 938 "cp-parse.y"
1.1       root     3649: { yyval.ttype = NULL_TREE; /* never used from here... */;
                   3650:     break;}
1.1.1.2   root     3651: case 135:
1.1.1.3 ! root     3652: #line 940 "cp-parse.y"
1.1       root     3653: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
                   3654:     break;}
1.1.1.2   root     3655: case 136:
1.1.1.3 ! root     3656: #line 944 "cp-parse.y"
1.1       root     3657: { yyval.code = NEGATE_EXPR; ;
                   3658:     break;}
1.1.1.2   root     3659: case 137:
1.1.1.3 ! root     3660: #line 946 "cp-parse.y"
1.1       root     3661: { yyval.code = CONVERT_EXPR; ;
                   3662:     break;}
1.1.1.2   root     3663: case 138:
1.1.1.3 ! root     3664: #line 948 "cp-parse.y"
1.1       root     3665: { yyval.code = PREINCREMENT_EXPR; ;
                   3666:     break;}
1.1.1.2   root     3667: case 139:
1.1.1.3 ! root     3668: #line 950 "cp-parse.y"
1.1       root     3669: { yyval.code = PREDECREMENT_EXPR; ;
                   3670:     break;}
1.1.1.2   root     3671: case 140:
1.1.1.3 ! root     3672: #line 952 "cp-parse.y"
1.1       root     3673: { yyval.code = TRUTH_NOT_EXPR; ;
                   3674:     break;}
1.1.1.2   root     3675: case 141:
1.1.1.3 ! root     3676: #line 956 "cp-parse.y"
1.1       root     3677: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
                   3678:     break;}
1.1.1.2   root     3679: case 143:
1.1.1.3 ! root     3680: #line 963 "cp-parse.y"
1.1       root     3681: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3682:     break;}
1.1.1.2   root     3683: case 144:
1.1.1.3 ! root     3684: #line 965 "cp-parse.y"
1.1       root     3685: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3686:     break;}
1.1.1.2   root     3687: case 145:
1.1.1.3 ! root     3688: #line 967 "cp-parse.y"
1.1       root     3689: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
                   3690:     break;}
1.1.1.2   root     3691: case 146:
1.1.1.3 ! root     3692: #line 972 "cp-parse.y"
1.1       root     3693: {
                   3694:                  if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
                   3695:                    yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
                   3696:                ;
                   3697:     break;}
1.1.1.2   root     3698: case 147:
1.1.1.3 ! root     3699: #line 978 "cp-parse.y"
1.1.1.2   root     3700: { yyvsp[0].itype = pedantic;
                   3701:                  pedantic = 0; ;
                   3702:     break;}
                   3703: case 148:
1.1.1.3 ! root     3704: #line 981 "cp-parse.y"
1.1.1.2   root     3705: { yyval.ttype = yyvsp[0].ttype;
                   3706:                  pedantic = yyvsp[-2].itype; ;
                   3707:     break;}
                   3708: case 149:
1.1.1.3 ! root     3709: #line 984 "cp-parse.y"
1.1       root     3710: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
                   3711:     break;}
1.1.1.2   root     3712: case 150:
1.1.1.3 ! root     3713: #line 986 "cp-parse.y"
1.1       root     3714: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
                   3715:     break;}
1.1.1.2   root     3716: case 151:
1.1.1.3 ! root     3717: #line 988 "cp-parse.y"
1.1       root     3718: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
                   3719:     break;}
1.1.1.2   root     3720: case 152:
1.1.1.3 ! root     3721: #line 990 "cp-parse.y"
1.1       root     3722: { yyval.ttype = build_x_unary_op (yyval.ttype, yyvsp[0].ttype);
                   3723:                  if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
                   3724:                    TREE_NEGATED_INT (yyval.ttype) = 1;
                   3725:                ;
                   3726:     break;}
1.1.1.2   root     3727: case 153:
1.1.1.3 ! root     3728: #line 995 "cp-parse.y"
1.1       root     3729: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3730:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3731:                    error ("sizeof applied to a bit-field");
                   3732:                  /* ANSI says arrays and functions are converted inside comma.
                   3733:                     But we can't really convert them in build_compound_expr
                   3734:                     because that would break commas in lvalues.
                   3735:                     So do the conversion here if operand was a comma.  */
                   3736:                  if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3737:                      && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3738:                          || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3739:                    yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
                   3740:                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
                   3741:     break;}
1.1.1.2   root     3742: case 154:
1.1.1.3 ! root     3743: #line 1008 "cp-parse.y"
1.1       root     3744: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
                   3745:     break;}
1.1.1.2   root     3746: case 155:
1.1.1.3 ! root     3747: #line 1010 "cp-parse.y"
1.1       root     3748: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3749:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3750:                    error ("`__alignof' applied to a bit-field");
                   3751:                  if (TREE_CODE (yyvsp[0].ttype) == INDIRECT_REF)
                   3752:                    {
                   3753:                      tree t = TREE_OPERAND (yyvsp[0].ttype, 0);
                   3754:                      tree best = t;
                   3755:                      int bestalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3756:                      while (TREE_CODE (t) == NOP_EXPR
                   3757:                             && TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 0))) == POINTER_TYPE)
                   3758:                        {
                   3759:                          int thisalign;
                   3760:                          t = TREE_OPERAND (t, 0);
                   3761:                          thisalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3762:                          if (thisalign > bestalign)
                   3763:                            best = t, bestalign = thisalign;
                   3764:                        }
                   3765:                      yyval.ttype = c_alignof (TREE_TYPE (TREE_TYPE (best)));
                   3766:                    }
                   3767:                  else
                   3768:                    {
                   3769:                      /* ANSI says arrays and fns are converted inside comma.
                   3770:                         But we can't convert them in build_compound_expr
                   3771:                         because that would break commas in lvalues.
                   3772:                         So do the conversion here if operand was a comma.  */
                   3773:                      if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3774:                          && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3775:                              || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3776:                        yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
                   3777:                      yyval.ttype = c_alignof (TREE_TYPE (yyvsp[0].ttype));
                   3778:                    }
                   3779:                ;
                   3780:     break;}
1.1.1.2   root     3781: case 156:
1.1.1.3 ! root     3782: #line 1043 "cp-parse.y"
1.1       root     3783: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
                   3784:     break;}
1.1.1.2   root     3785: case 157:
1.1.1.3 ! root     3786: #line 1046 "cp-parse.y"
1.1       root     3787: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
                   3788:     break;}
1.1.1.2   root     3789: case 158:
1.1.1.3 ! root     3790: #line 1048 "cp-parse.y"
1.1       root     3791: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype); ;
                   3792:     break;}
1.1.1.2   root     3793: case 159:
1.1.1.3 ! root     3794: #line 1050 "cp-parse.y"
1.1       root     3795: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype); ;
                   3796:     break;}
1.1.1.2   root     3797: case 160:
1.1.1.3 ! root     3798: #line 1052 "cp-parse.y"
1.1       root     3799: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   3800:     break;}
1.1.1.2   root     3801: case 161:
1.1.1.3 ! root     3802: #line 1058 "cp-parse.y"
1.1       root     3803: {
                   3804:                  tree absdcl, typename;
                   3805:                  static int gave_warning = 0;
                   3806: 
                   3807:                illegal_new_array:
                   3808:                  absdcl = build_parse_node (ARRAY_REF, yyvsp[-4].ttype, yyvsp[-1].ttype);
                   3809:                  typename = build_decl_list (yyvsp[-5].ttype, absdcl);
1.1.1.3 ! root     3810:                  pedwarn ("array dimensions with parenthesized type is disallowed in standard C++");
1.1       root     3811:                  if (!gave_warning)
                   3812:                    {
                   3813:                      gave_warning++;
1.1.1.3 ! root     3814:                      pedwarn ("  (per grammar in Ellis & Stroustrup [1990], chapter 17)");
        !          3815:                      pedwarn ("  try rewriting, perhaps with a typedef");
1.1       root     3816:                    }
                   3817:                  yyval.ttype = build_new (yyvsp[-7].ttype, typename, NULL_TREE, yyval.ttype);
                   3818:                ;
                   3819:     break;}
1.1.1.2   root     3820: case 162:
1.1.1.3 ! root     3821: #line 1075 "cp-parse.y"
1.1       root     3822: { goto illegal_new_array; ;
                   3823:     break;}
1.1.1.2   root     3824: case 163:
1.1.1.3 ! root     3825: #line 1078 "cp-parse.y"
1.1       root     3826: {
                   3827:                  yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype);
                   3828:                ;
                   3829:     break;}
1.1.1.2   root     3830: case 164:
1.1.1.3 ! root     3831: #line 1082 "cp-parse.y"
1.1       root     3832: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
                   3833:     break;}
1.1.1.2   root     3834: case 165:
1.1.1.3 ! root     3835: #line 1085 "cp-parse.y"
1.1       root     3836: { yyungetc (':', 1);
                   3837:                  yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
                   3838:     break;}
1.1.1.2   root     3839: case 166:
1.1.1.3 ! root     3840: #line 1089 "cp-parse.y"
1.1       root     3841: { tree expr = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3842:                  tree type = TREE_TYPE (expr);
                   3843: 
                   3844:                  if (integer_zerop (expr))
                   3845:                    yyval.ttype = build1 (NOP_EXPR, void_type_node, expr);
                   3846:                  else if (TREE_CODE (type) != POINTER_TYPE)
                   3847:                    {
                   3848:                      error ("non-pointer type to `delete'");
                   3849:                      yyval.ttype = error_mark_node;
                   3850:                      break;
                   3851:                    }
                   3852:                  yyval.ttype = build_delete (type, expr, integer_three_node,
                   3853:                                     LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
                   3854:                                     TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)) ? yyval.ttype : 0, 1);
                   3855:                ;
                   3856:     break;}
1.1.1.2   root     3857: case 167:
1.1.1.3 ! root     3858: #line 1105 "cp-parse.y"
1.1       root     3859: {
                   3860:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3861:                  tree elt_size = c_sizeof (TREE_TYPE (exp));
                   3862: 
                   3863:                  if (yychar == YYEMPTY)
                   3864:                    yychar = YYLEX;
                   3865: 
                   3866:                  yyval.ttype = build_vec_delete (exp, NULL_TREE, elt_size, NULL_TREE,
                   3867:                                         integer_one_node, integer_two_node);
                   3868:                ;
                   3869:     break;}
1.1.1.2   root     3870: case 168:
1.1.1.3 ! root     3871: #line 1116 "cp-parse.y"
1.1       root     3872: {
                   3873:                  tree maxindex = build_binary_op (MINUS_EXPR, yyvsp[-2].ttype,
                   3874:                                                   integer_one_node);
                   3875:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3876:                  tree elt_size = c_sizeof (TREE_TYPE (exp));
                   3877: 
                   3878:                  if (yychar == YYEMPTY)
                   3879:                    yychar = YYLEX;
                   3880: 
1.1.1.3 ! root     3881:                  pedwarn ("use of array size with vector delete is anachronistic");
1.1       root     3882:                  yyval.ttype = build_vec_delete (exp, maxindex, elt_size, NULL_TREE,
                   3883:                                         integer_one_node, integer_two_node);
                   3884:                ;
                   3885:     break;}
1.1.1.2   root     3886: case 170:
1.1.1.3 ! root     3887: #line 1134 "cp-parse.y"
1.1       root     3888: { tree type = groktypename (yyvsp[-2].ttype);
                   3889:                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
                   3890:     break;}
1.1.1.2   root     3891: case 171:
1.1.1.3 ! root     3892: #line 1137 "cp-parse.y"
1.1       root     3893: { tree type = groktypename (yyvsp[-5].ttype);
                   3894:                  tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   3895:                  if (pedantic)
1.1.1.3 ! root     3896:                    pedwarn ("ANSI C forbids constructor-expressions");
1.1       root     3897:                  /* Indicate that this was a GNU C constructor expression.  */
                   3898:                  TREE_HAS_CONSTRUCTOR (init) = 1;
                   3899:                  yyval.ttype = digest_init (type, init, 0);
                   3900:                  if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
                   3901:                    {
                   3902:                      int failure = complete_array_type (type, yyval.ttype, 1);
                   3903:                      if (failure)
1.1.1.3 ! root     3904:                        my_friendly_abort (78);
1.1       root     3905:                    }
                   3906:                ;
                   3907:     break;}
1.1.1.2   root     3908: case 172:
1.1.1.3 ! root     3909: #line 1152 "cp-parse.y"
1.1       root     3910: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
                   3911:     break;}
1.1.1.2   root     3912: case 173:
1.1.1.3 ! root     3913: #line 1154 "cp-parse.y"
1.1       root     3914: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
                   3915:     break;}
1.1.1.2   root     3916: case 174:
1.1.1.3 ! root     3917: #line 1156 "cp-parse.y"
1.1       root     3918: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
                   3919:                    {
                   3920:                      tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
                   3921:                      yyval.ttype = CLASSTYPE_DOSSIER (type);
                   3922:                    }
                   3923:                  else
                   3924:                    yyval.ttype = error_mark_node;
                   3925:                ;
                   3926:     break;}
1.1.1.2   root     3927: case 176:
1.1.1.3 ! root     3928: #line 1169 "cp-parse.y"
1.1       root     3929: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3930:     break;}
1.1.1.2   root     3931: case 177:
1.1.1.3 ! root     3932: #line 1171 "cp-parse.y"
1.1       root     3933: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3934:     break;}
1.1.1.2   root     3935: case 178:
1.1.1.3 ! root     3936: #line 1173 "cp-parse.y"
1.1       root     3937: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3938:     break;}
1.1.1.2   root     3939: case 179:
1.1.1.3 ! root     3940: #line 1175 "cp-parse.y"
1.1       root     3941: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3942:     break;}
1.1.1.2   root     3943: case 180:
1.1.1.3 ! root     3944: #line 1177 "cp-parse.y"
1.1       root     3945: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3946:     break;}
1.1.1.2   root     3947: case 181:
1.1.1.3 ! root     3948: #line 1179 "cp-parse.y"
1.1       root     3949: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3950:     break;}
1.1.1.2   root     3951: case 182:
1.1.1.3 ! root     3952: #line 1181 "cp-parse.y"
1.1       root     3953: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3954:     break;}
1.1.1.2   root     3955: case 183:
1.1.1.3 ! root     3956: #line 1183 "cp-parse.y"
1.1       root     3957: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3958:     break;}
1.1.1.2   root     3959: case 184:
1.1.1.3 ! root     3960: #line 1185 "cp-parse.y"
1.1       root     3961: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3962:     break;}
1.1.1.2   root     3963: case 185:
1.1.1.3 ! root     3964: #line 1187 "cp-parse.y"
1.1       root     3965: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3966:     break;}
1.1.1.2   root     3967: case 186:
1.1.1.3 ! root     3968: #line 1189 "cp-parse.y"
1.1       root     3969: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3970:     break;}
1.1.1.2   root     3971: case 187:
1.1.1.3 ! root     3972: #line 1191 "cp-parse.y"
1.1       root     3973: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3974:     break;}
1.1.1.2   root     3975: case 188:
1.1.1.3 ! root     3976: #line 1193 "cp-parse.y"
1.1       root     3977: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3978:     break;}
1.1.1.2   root     3979: case 189:
1.1.1.3 ! root     3980: #line 1195 "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 190:
1.1.1.3 ! root     3984: #line 1197 "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 191:
1.1.1.3 ! root     3988: #line 1199 "cp-parse.y"
1.1       root     3989: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3990:     break;}
1.1.1.2   root     3991: case 192:
1.1.1.3 ! root     3992: #line 1201 "cp-parse.y"
1.1       root     3993: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3994:     break;}
1.1.1.2   root     3995: case 193:
1.1.1.3 ! root     3996: #line 1203 "cp-parse.y"
1.1       root     3997: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   3998:     break;}
1.1.1.2   root     3999: case 194:
1.1.1.3 ! root     4000: #line 1205 "cp-parse.y"
1.1       root     4001: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
                   4002:     break;}
1.1.1.2   root     4003: case 195:
1.1.1.3 ! root     4004: #line 1207 "cp-parse.y"
1.1       root     4005: { register tree rval;
                   4006:                  if (rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype, yyvsp[-1].code))
                   4007:                    yyval.ttype = rval;
                   4008:                  else
                   4009:                    yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
                   4010:     break;}
1.1.1.2   root     4011: case 196:
1.1.1.3 ! root     4012: #line 1213 "cp-parse.y"
1.1       root     4013: { yyval.ttype = build_m_component_ref (yyval.ttype, build_indirect_ref (yyvsp[0].ttype, 0)); ;
                   4014:     break;}
1.1.1.2   root     4015: case 197:
1.1.1.3 ! root     4016: #line 1216 "cp-parse.y"
1.1       root     4017: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
                   4018:     break;}
1.1.1.2   root     4019: case 198:
1.1.1.3 ! root     4020: #line 1232 "cp-parse.y"
1.1       root     4021: { yyval.ttype = do_identifier (yyval.ttype); ;
                   4022:     break;}
1.1.1.2   root     4023: case 199:
1.1.1.3 ! root     4024: #line 1234 "cp-parse.y"
1.1       root     4025: {
                   4026:                  tree op = yyval.ttype;
                   4027:                  if (TREE_CODE (op) != IDENTIFIER_NODE)
                   4028:                    yyval.ttype = op;
                   4029:                  else
                   4030:                    {
                   4031:                      yyval.ttype = lookup_name (op);
                   4032:                      if (yyval.ttype == NULL_TREE)
                   4033:                        {
                   4034:                          error ("operator %s not defined", operator_name_string (op));
                   4035:                          yyval.ttype = error_mark_node;
                   4036:                        }
                   4037:                    }
                   4038:                ;
                   4039:     break;}
1.1.1.2   root     4040: case 201:
1.1.1.3 ! root     4041: #line 1250 "cp-parse.y"
1.1       root     4042: { yyval.ttype = combine_strings (yyval.ttype); ;
                   4043:     break;}
1.1.1.2   root     4044: case 202:
1.1.1.3 ! root     4045: #line 1252 "cp-parse.y"
1.1       root     4046: { yyval.ttype = yyvsp[-1].ttype; ;
                   4047:     break;}
1.1.1.2   root     4048: case 203:
1.1.1.3 ! root     4049: #line 1254 "cp-parse.y"
1.1       root     4050: { yyval.ttype = error_mark_node; ;
                   4051:     break;}
1.1.1.2   root     4052: case 204:
1.1.1.3 ! root     4053: #line 1256 "cp-parse.y"
1.1       root     4054: { if (current_function_decl == 0)
                   4055:                    {
                   4056:                      error ("braced-group within expression allowed only inside a function");
                   4057:                      YYERROR;
                   4058:                    }
                   4059:                  keep_next_level ();
                   4060:                  yyval.ttype = expand_start_stmt_expr (); ;
                   4061:     break;}
1.1.1.2   root     4062: case 205:
1.1.1.3 ! root     4063: #line 1264 "cp-parse.y"
1.1       root     4064: { tree rtl_exp;
                   4065:                  if (pedantic)
1.1.1.3 ! root     4066:                    pedwarn ("ANSI C forbids braced-groups within expressions");
1.1       root     4067:                  rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
                   4068:                  /* The statements have side effects, so the group does.  */
                   4069:                  TREE_SIDE_EFFECTS (rtl_exp) = 1;
                   4070: 
                   4071:                  /* Make a BIND_EXPR for the BLOCK already made.  */
                   4072:                  yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
                   4073:                              NULL_TREE, rtl_exp, yyvsp[-1].ttype);
                   4074:                ;
                   4075:     break;}
1.1.1.2   root     4076: case 206:
1.1.1.3 ! root     4077: #line 1276 "cp-parse.y"
1.1       root     4078: { /* [eichin:19911016.1902EST] */
                   4079:                   extern struct pending_template* pending_templates;
                   4080:                   yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
                   4081:                   /* here we instantiate_class_template as needed... */
                   4082:                   if (pending_templates) do_pending_templates ();
                   4083:                 ;
                   4084:     break;}
1.1.1.2   root     4085: case 207:
1.1.1.3 ! root     4086: #line 1281 "cp-parse.y"
1.1       root     4087: {
                   4088:                   if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
                   4089:                       && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
                   4090:                    yyval.ttype = require_complete_type (yyvsp[-1].ttype);
                   4091:                   else
                   4092:                     yyval.ttype = yyvsp[-1].ttype;
                   4093:                 ;
                   4094:     break;}
1.1.1.2   root     4095: case 208:
1.1.1.3 ! root     4096: #line 1289 "cp-parse.y"
1.1       root     4097: { 
                   4098:                 yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
                   4099:                 if (TREE_CODE (yyval.ttype) == CALL_EXPR
                   4100:                     && TREE_TYPE (yyval.ttype) != void_type_node)
                   4101:                   yyval.ttype = require_complete_type (yyval.ttype);
                   4102:                 ;
                   4103:     break;}
1.1.1.2   root     4104: case 209:
1.1.1.3 ! root     4105: #line 1296 "cp-parse.y"
1.1       root     4106: {
                   4107:                do_array:
                   4108:                  {
                   4109:                    tree array_expr = yyval.ttype;
                   4110:                    tree index_exp = yyvsp[-1].ttype;
                   4111:                    tree type = TREE_TYPE (array_expr);
                   4112:                    if (type == error_mark_node || index_exp == error_mark_node)
                   4113:                      yyval.ttype = error_mark_node;
                   4114:                    else if (type == NULL_TREE)
                   4115:                      {
                   4116:                        /* Something has gone very wrong.  Assume we
                   4117:                           are mistakenly reducing an expression
                   4118:                           instead of a declaration.  */
                   4119:                        error ("parser may be lost: is there a '{' missing somewhere?");
                   4120:                        yyval.ttype = NULL_TREE;
                   4121:                      }
                   4122:                    else
                   4123:                      {
                   4124:                        if (TREE_CODE (type) == OFFSET_TYPE)
                   4125:                          type = TREE_TYPE (type);
                   4126:                        if (TREE_CODE (type) == REFERENCE_TYPE)
                   4127:                          type = TREE_TYPE (type);
                   4128: 
                   4129:                        if (TYPE_LANG_SPECIFIC (type)
                   4130:                            && TYPE_OVERLOADS_ARRAY_REF (type))
                   4131:                          yyval.ttype = build_opfncall (ARRAY_REF, LOOKUP_NORMAL, array_expr, index_exp);
                   4132:                        else if (TREE_CODE (type) == POINTER_TYPE
                   4133:                                 || TREE_CODE (type) == ARRAY_TYPE)
                   4134:                          yyval.ttype = build_array_ref (array_expr, index_exp);
                   4135:                        else
                   4136:                          {
                   4137:                            type = TREE_TYPE (index_exp);
                   4138:                            if (TREE_CODE (type) == OFFSET_TYPE)
                   4139:                              type = TREE_TYPE (type);
                   4140:                            if (TREE_CODE (type) == REFERENCE_TYPE)
                   4141:                              type = TREE_TYPE (type);
                   4142:                            
                   4143:                            if (TYPE_LANG_SPECIFIC (type)
                   4144:                                && TYPE_OVERLOADS_ARRAY_REF (type))
                   4145:                              error ("array expression backwards");
                   4146:                            else if (TREE_CODE (type) == POINTER_TYPE
                   4147:                                     || TREE_CODE (type) == ARRAY_TYPE)
                   4148:                              yyval.ttype = build_array_ref (index_exp, array_expr);
                   4149:                            else
                   4150:                              error("[] applied to non-pointer type");
                   4151:                          }
                   4152:                      }
                   4153:                  }
                   4154:                ;
                   4155:     break;}
1.1.1.2   root     4156: case 210:
1.1.1.3 ! root     4157: #line 1346 "cp-parse.y"
1.1       root     4158: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
                   4159:     break;}
1.1.1.2   root     4160: case 211:
1.1.1.3 ! root     4161: #line 1348 "cp-parse.y"
1.1       root     4162: {
                   4163:                  tree basetype = yyvsp[-1].ttype;
                   4164:                  if (is_aggr_typedef (basetype, 1))
                   4165:                    {
                   4166:                      basetype = IDENTIFIER_TYPE_VALUE (basetype);
                   4167: 
                   4168:                      if (yyval.ttype == error_mark_node)
                   4169:                        ;
                   4170:                      else if (binfo_or_else (basetype, TREE_TYPE (yyval.ttype)))
                   4171:                        yyval.ttype = build_component_ref (build_scoped_ref (yyval.ttype, yyvsp[-1].ttype), yyvsp[0].ttype, NULL_TREE, 1);
                   4172:                      else
                   4173:                        yyval.ttype = error_mark_node;
                   4174:                    }
                   4175:                  else yyval.ttype = error_mark_node;
                   4176:                ;
                   4177:     break;}
1.1.1.2   root     4178: case 212:
1.1.1.3 ! root     4179: #line 1364 "cp-parse.y"
1.1       root     4180: { yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
                   4181:     break;}
1.1.1.2   root     4182: case 213:
1.1.1.3 ! root     4183: #line 1366 "cp-parse.y"
1.1       root     4184: { yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
                   4185:     break;}
1.1.1.2   root     4186: case 214:
1.1.1.3 ! root     4187: #line 1370 "cp-parse.y"
1.1       root     4188: { if (current_class_decl)
                   4189:                    {
                   4190: #ifdef WARNING_ABOUT_CCD
                   4191:                      TREE_USED (current_class_decl) = 1;
                   4192: #endif
                   4193:                      yyval.ttype = current_class_decl;
                   4194:                    }
                   4195:                  else if (current_function_decl
                   4196:                           && DECL_STATIC_FUNCTION_P (current_function_decl))
                   4197:                    {
                   4198:                      error ("`this' is unavailable for static member functions");
                   4199:                      yyval.ttype = error_mark_node;
                   4200:                    }
                   4201:                  else
                   4202:                    {
                   4203:                      if (current_function_decl)
                   4204:                        error ("invalid use of `this' in non-member function");
                   4205:                      else
                   4206:                        error ("invalid use of `this' at top level");
                   4207:                      yyval.ttype = error_mark_node;
                   4208:                    }
                   4209:                ;
                   4210:     break;}
1.1.1.2   root     4211: case 215:
1.1.1.3 ! root     4212: #line 1393 "cp-parse.y"
1.1       root     4213: {
                   4214:                  tree type;
                   4215:                  tree id = yyval.ttype;
                   4216: 
                   4217:                  /* This is a C cast in C++'s `functional' notation.  */
                   4218:                  if (yyvsp[-1].ttype == error_mark_node)
                   4219:                    {
                   4220:                      yyval.ttype = error_mark_node;
                   4221:                      break;
                   4222:                    }
                   4223: #if 0
                   4224:                  if (yyvsp[-1].ttype == NULL_TREE)
                   4225:                    {
                   4226:                      error ("cannot cast null list to type `%s'",
                   4227:                             IDENTIFIER_POINTER (TYPE_NAME (id)));
                   4228:                      yyval.ttype = error_mark_node;
                   4229:                      break;
                   4230:                    }
                   4231: #endif
                   4232:                  if (type == error_mark_node)
                   4233:                    yyval.ttype = error_mark_node;
                   4234:                  else
                   4235:                    {
                   4236:                      if (id == ridpointers[(int) RID_CONST])
                   4237:                        type = build_type_variant (integer_type_node, 1, 0);
                   4238:                      else if (id == ridpointers[(int) RID_VOLATILE])
                   4239:                        type = build_type_variant (integer_type_node, 0, 1);
                   4240:                      else if (id == ridpointers[(int) RID_FRIEND])
                   4241:                        {
                   4242:                          error ("cannot cast expression to `friend' type");
                   4243:                          yyval.ttype = error_mark_node;
                   4244:                          break;
                   4245:                        }
1.1.1.3 ! root     4246:                      else my_friendly_abort (79);
1.1       root     4247:                      yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
                   4248:                    }
                   4249:                ;
                   4250:     break;}
1.1.1.2   root     4251: case 216:
1.1.1.3 ! root     4252: #line 1431 "cp-parse.y"
1.1       root     4253: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
                   4254:     break;}
1.1.1.2   root     4255: case 217:
1.1.1.3 ! root     4256: #line 1433 "cp-parse.y"
1.1       root     4257: { yyval.ttype = build_functional_cast (yyval.ttype, NULL_TREE); ;
                   4258:     break;}
1.1.1.2   root     4259: case 218:
1.1.1.3 ! root     4260: #line 1435 "cp-parse.y"
1.1       root     4261: {
                   4262:                do_scoped_id:
                   4263:                  yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
                   4264:                  if (yychar == YYEMPTY)
                   4265:                    yychar = YYLEX;
                   4266:                  if (! yyval.ttype)
                   4267:                    {
                   4268:                      if (yychar == '(' || yychar == LEFT_RIGHT)
                   4269:                        yyval.ttype = implicitly_declare (yyvsp[0].ttype);
                   4270:                      else
                   4271:                        {
                   4272:                          if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
                   4273:                            error ("undeclared variable `%s' (first use here)",
                   4274:                                   IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4275:                          yyval.ttype = error_mark_node;
                   4276:                          /* Prevent repeated error messages.  */
                   4277:                          IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
                   4278:                        }
                   4279:                    }
                   4280:                  else
                   4281:                    {
                   4282:                      assemble_external (yyval.ttype);
                   4283:                      TREE_USED (yyval.ttype) = 1;
                   4284:                    }
                   4285:                  if (TREE_CODE (yyval.ttype) == CONST_DECL)
                   4286:                    yyval.ttype = DECL_INITIAL (yyval.ttype);
                   4287:                    /* XXX CHS - should we set TREE_USED of the constant? */
                   4288:                ;
                   4289:     break;}
1.1.1.2   root     4290: case 219:
1.1.1.3 ! root     4291: #line 1464 "cp-parse.y"
1.1       root     4292: {
                   4293:                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                   4294:                    goto do_scoped_id;
                   4295:                do_scoped_operator:
                   4296:                  yyval.ttype = yyvsp[0].ttype;
                   4297:                ;
                   4298:     break;}
1.1.1.2   root     4299: case 220:
1.1.1.3 ! root     4300: #line 1471 "cp-parse.y"
1.1       root     4301: { yyval.ttype = build_offset_ref (yyval.ttype, yyvsp[0].ttype); ;
                   4302:     break;}
1.1.1.2   root     4303: case 221:
1.1.1.3 ! root     4304: #line 1473 "cp-parse.y"
1.1       root     4305: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4306:     break;}
1.1.1.2   root     4307: case 222:
1.1.1.3 ! root     4308: #line 1475 "cp-parse.y"
1.1       root     4309: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4310:     break;}
1.1.1.2   root     4311: case 223:
1.1.1.3 ! root     4312: #line 1477 "cp-parse.y"
1.1       root     4313: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
                   4314:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4315:     break;}
1.1.1.2   root     4316: case 224:
1.1.1.3 ! root     4317: #line 1480 "cp-parse.y"
1.1       root     4318: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
                   4319:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4320:     break;}
1.1.1.2   root     4321: case 225:
1.1.1.3 ! root     4322: #line 1483 "cp-parse.y"
1.1       root     4323: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4324:     break;}
1.1.1.2   root     4325: case 226:
1.1.1.3 ! root     4326: #line 1485 "cp-parse.y"
1.1       root     4327: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4328:     break;}
1.1.1.2   root     4329: case 227:
1.1.1.3 ! root     4330: #line 1527 "cp-parse.y"
1.1       root     4331: { yyval.ttype = NULL_TREE; ;
                   4332:     break;}
1.1.1.2   root     4333: case 228:
1.1.1.3 ! root     4334: #line 1529 "cp-parse.y"
1.1       root     4335: { yyval.ttype = yyvsp[-1].ttype; ;
                   4336:     break;}
1.1.1.2   root     4337: case 229:
1.1.1.3 ! root     4338: #line 1531 "cp-parse.y"
1.1       root     4339: { yyval.ttype = void_type_node; ;
                   4340:     break;}
1.1.1.2   root     4341: case 230:
1.1.1.3 ! root     4342: #line 1533 "cp-parse.y"
1.1       root     4343: { yyval.ttype = combine_strings (yyvsp[-1].ttype); ;
                   4344:     break;}
1.1.1.2   root     4345: case 231:
1.1.1.3 ! root     4346: #line 1538 "cp-parse.y"
1.1       root     4347: { yyval.itype = 0; ;
                   4348:     break;}
1.1.1.2   root     4349: case 232:
1.1.1.3 ! root     4350: #line 1540 "cp-parse.y"
1.1       root     4351: { yyval.itype = 1; ;
                   4352:     break;}
1.1.1.2   root     4353: case 233:
1.1.1.3 ! root     4354: #line 1544 "cp-parse.y"
1.1       root     4355: { yyval.ttype = NULL_TREE; ;
                   4356:     break;}
1.1.1.2   root     4357: case 234:
1.1.1.3 ! root     4358: #line 1546 "cp-parse.y"
1.1       root     4359: { if (yyvsp[0].ttype)
                   4360:                    error ("extra `::' before `delete' ignored");
                   4361:                  yyval.ttype = error_mark_node;
                   4362:                ;
                   4363:     break;}
1.1.1.2   root     4364: case 236:
1.1.1.3 ! root     4365: #line 1556 "cp-parse.y"
1.1       root     4366: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4367:     break;}
1.1.1.2   root     4368: case 237:
1.1.1.3 ! root     4369: #line 1561 "cp-parse.y"
1.1       root     4370: {
                   4371:                  if (! current_function_parms_stored)
                   4372:                    store_parm_decls ();
                   4373:                  setup_vtbl_ptr ();
                   4374:                ;
                   4375:     break;}
1.1.1.2   root     4376: case 238:
1.1.1.3 ! root     4377: #line 1569 "cp-parse.y"
1.1       root     4378: {
                   4379:                  if (yyval.ttype == error_mark_node)
                   4380:                    ;
                   4381:                  else
                   4382:                    {
                   4383:                      tree type = TREE_TYPE (yyval.ttype);
                   4384: 
                   4385:                      if (! PROMOTES_TO_AGGR_TYPE (type, REFERENCE_TYPE))
                   4386:                        {
                   4387:                          error ("object in '.' expression is not of aggregate type");
                   4388:                          yyval.ttype = error_mark_node;
                   4389:                        }
                   4390:                    }
                   4391:                ;
                   4392:     break;}
1.1.1.2   root     4393: case 239:
1.1.1.3 ! root     4394: #line 1584 "cp-parse.y"
1.1       root     4395: {
                   4396:                  yyval.ttype = build_x_arrow (yyval.ttype, 0);
                   4397:                ;
                   4398:     break;}
1.1.1.2   root     4399: case 241:
1.1.1.3 ! root     4400: #line 1594 "cp-parse.y"
1.1       root     4401: {
                   4402:                  resume_momentary (yyvsp[-1].itype);
                   4403:                  note_list_got_semicolon (yyval.ttype);
                   4404:                ;
                   4405:     break;}
1.1.1.2   root     4406: case 242:
1.1.1.3 ! root     4407: #line 1600 "cp-parse.y"
1.1       root     4408: { tree d;
                   4409:                  int yes = suspend_momentary ();
                   4410:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 ! root     4411:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     4412:                  resume_momentary (yes);
                   4413:                  note_list_got_semicolon (yyval.ttype);
                   4414:                ;
                   4415:     break;}
1.1.1.2   root     4416: case 243:
1.1.1.3 ! root     4417: #line 1608 "cp-parse.y"
1.1       root     4418: { resume_momentary (yyvsp[-1].itype); ;
                   4419:     break;}
1.1.1.2   root     4420: case 244:
1.1.1.3 ! root     4421: #line 1611 "cp-parse.y"
1.1       root     4422: { tree d;
                   4423:                  int yes = suspend_momentary ();
                   4424:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
1.1.1.3 ! root     4425:                  finish_decl (d, NULL_TREE, NULL_TREE, 0);
1.1       root     4426:                  resume_momentary (yes);
                   4427:                ;
                   4428:     break;}
1.1.1.2   root     4429: case 245:
1.1.1.3 ! root     4430: #line 1618 "cp-parse.y"
1.1       root     4431: {
                   4432:                  shadow_tag (yyval.ttype);
                   4433:                  note_list_got_semicolon (yyval.ttype);
                   4434:                ;
                   4435:     break;}
1.1.1.2   root     4436: case 246:
1.1.1.3 ! root     4437: #line 1623 "cp-parse.y"
1.1       root     4438: { warning ("empty declaration"); ;
                   4439:     break;}
1.1.1.2   root     4440: case 249:
1.1.1.3 ! root     4441: #line 1633 "cp-parse.y"
1.1       root     4442: { yyval.ttype = yyvsp[0].ttype; ;
                   4443:     break;}
1.1.1.2   root     4444: case 250:
1.1.1.3 ! root     4445: #line 1635 "cp-parse.y"
1.1       root     4446: { yyval.ttype = yyvsp[0].ttype; ;
                   4447:     break;}
1.1.1.2   root     4448: case 251:
1.1.1.3 ! root     4449: #line 1644 "cp-parse.y"
1.1       root     4450: { yyval.ttype = list_hash_lookup_or_cons (yyval.ttype); ;
                   4451:     break;}
1.1.1.2   root     4452: case 252:
1.1.1.3 ! root     4453: #line 1646 "cp-parse.y"
1.1       root     4454: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4455:     break;}
1.1.1.2   root     4456: case 253:
1.1.1.3 ! root     4457: #line 1648 "cp-parse.y"
1.1       root     4458: { yyval.ttype = hash_tree_chain (yyval.ttype, yyvsp[0].ttype); ;
                   4459:     break;}
1.1.1.2   root     4460: case 254:
1.1.1.3 ! root     4461: #line 1650 "cp-parse.y"
1.1       root     4462: { yyval.ttype = hash_tree_chain (yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4463:     break;}
1.1.1.2   root     4464: case 255:
1.1.1.3 ! root     4465: #line 1656 "cp-parse.y"
1.1       root     4466: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   4467:     break;}
1.1.1.2   root     4468: case 256:
1.1.1.3 ! root     4469: #line 1658 "cp-parse.y"
1.1       root     4470: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   4471:     break;}
1.1.1.2   root     4472: case 257:
1.1.1.3 ! root     4473: #line 1660 "cp-parse.y"
1.1       root     4474: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4475:     break;}
1.1.1.2   root     4476: case 258:
1.1.1.3 ! root     4477: #line 1662 "cp-parse.y"
1.1       root     4478: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4479:     break;}
1.1.1.2   root     4480: case 259:
1.1.1.3 ! root     4481: #line 1671 "cp-parse.y"
1.1       root     4482: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   4483:     break;}
1.1.1.2   root     4484: case 260:
1.1.1.3 ! root     4485: #line 1673 "cp-parse.y"
1.1       root     4486: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   4487:     break;}
1.1.1.2   root     4488: case 261:
1.1.1.3 ! root     4489: #line 1675 "cp-parse.y"
1.1       root     4490: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4491:     break;}
1.1.1.2   root     4492: case 262:
1.1.1.3 ! root     4493: #line 1677 "cp-parse.y"
1.1       root     4494: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4495:     break;}
1.1.1.2   root     4496: case 263:
1.1.1.3 ! root     4497: #line 1689 "cp-parse.y"
1.1       root     4498: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4499:     break;}
1.1.1.2   root     4500: case 264:
1.1.1.3 ! root     4501: #line 1691 "cp-parse.y"
1.1       root     4502: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4503:     break;}
1.1.1.2   root     4504: case 265:
1.1.1.3 ! root     4505: #line 1693 "cp-parse.y"
1.1       root     4506: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
                   4507:     break;}
1.1.1.2   root     4508: case 266:
1.1.1.3 ! root     4509: #line 1695 "cp-parse.y"
1.1       root     4510: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4511:     break;}
1.1.1.2   root     4512: case 267:
1.1.1.3 ! root     4513: #line 1700 "cp-parse.y"
1.1       root     4514: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4515:     break;}
1.1.1.2   root     4516: case 268:
1.1.1.3 ! root     4517: #line 1702 "cp-parse.y"
1.1       root     4518: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4519:     break;}
1.1.1.2   root     4520: case 273:
1.1.1.3 ! root     4521: #line 1714 "cp-parse.y"
1.1       root     4522: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
                   4523:                  if (pedantic)
1.1.1.3 ! root     4524:                    pedwarn ("ANSI C forbids `typeof'"); ;
1.1       root     4525:     break;}
1.1.1.2   root     4526: case 274:
1.1.1.3 ! root     4527: #line 1718 "cp-parse.y"
1.1       root     4528: { yyval.ttype = groktypename (yyvsp[-1].ttype);
                   4529:                  if (pedantic)
1.1.1.3 ! root     4530:                    pedwarn ("ANSI C forbids `typeof'"); ;
1.1       root     4531:     break;}
1.1.1.2   root     4532: case 283:
1.1.1.3 ! root     4533: #line 1743 "cp-parse.y"
1.1       root     4534: { yyval.ttype = NULL_TREE; ;
                   4535:     break;}
1.1.1.2   root     4536: case 284:
1.1.1.3 ! root     4537: #line 1745 "cp-parse.y"
1.1       root     4538: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                   4539:                  yyval.ttype = yyvsp[-1].ttype;
                   4540:                  if (pedantic)
1.1.1.3 ! root     4541:                    pedwarn ("ANSI C forbids use of `asm' keyword");
1.1       root     4542:                ;
                   4543:     break;}
1.1.1.2   root     4544: case 285:
1.1.1.3 ! root     4545: #line 1754 "cp-parse.y"
1.1       root     4546: { current_declspecs = yyvsp[-5].ttype;
                   4547:                  yyvsp[0].itype = suspend_momentary ();
1.1.1.3 ! root     4548:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
        !          4549:                  decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4550:     break;}
1.1.1.2   root     4551: case 286:
1.1.1.3 ! root     4552: #line 1760 "cp-parse.y"
        !          4553: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1       root     4554:                  yyval.itype = yyvsp[-2].itype; ;
                   4555:     break;}
1.1.1.2   root     4556: case 287:
1.1.1.3 ! root     4557: #line 1763 "cp-parse.y"
1.1       root     4558: { tree d;
                   4559:                  current_declspecs = yyvsp[-4].ttype;
                   4560:                  yyval.itype = suspend_momentary ();
                   4561:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.3 ! root     4562:                  decl_attributes (d, yyvsp[0].ttype);
        !          4563:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4564:     break;}
1.1.1.2   root     4565: case 288:
1.1.1.3 ! root     4566: #line 1773 "cp-parse.y"
        !          4567: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
        !          4568:                  decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4569:     break;}
1.1.1.2   root     4570: case 289:
1.1.1.3 ! root     4571: #line 1777 "cp-parse.y"
        !          4572: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0); ;
1.1       root     4573:     break;}
1.1.1.2   root     4574: case 290:
1.1.1.3 ! root     4575: #line 1779 "cp-parse.y"
1.1       root     4576: { tree d = start_decl (yyval.itype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.3 ! root     4577:                  decl_attributes (yyval.ttype, yyvsp[0].ttype);
        !          4578:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4579:     break;}
1.1.1.2   root     4580: case 291:
1.1.1.3 ! root     4581: #line 1786 "cp-parse.y"
1.1       root     4582: { current_declspecs = yyvsp[-5].ttype;
                   4583:                  yyvsp[0].itype = suspend_momentary ();
1.1.1.3 ! root     4584:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
        !          4585:                  decl_attributes (yyval.ttype, yyvsp[-1].ttype); ;
1.1       root     4586:     break;}
1.1.1.2   root     4587: case 292:
1.1.1.3 ! root     4588: #line 1792 "cp-parse.y"
        !          4589: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0);
1.1       root     4590:                  yyval.itype = yyvsp[-2].itype; ;
                   4591:     break;}
1.1.1.2   root     4592: case 293:
1.1.1.3 ! root     4593: #line 1795 "cp-parse.y"
1.1       root     4594: { tree d;
                   4595:                  current_declspecs = yyvsp[-4].ttype;
                   4596:                  yyval.itype = suspend_momentary ();
                   4597:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
1.1.1.3 ! root     4598:                  decl_attributes (d, yyvsp[0].ttype);
        !          4599:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0); ;
1.1       root     4600:     break;}
1.1.1.2   root     4601: case 294:
1.1.1.3 ! root     4602: #line 1807 "cp-parse.y"
1.1       root     4603: { yyval.ttype = NULL_TREE; ;
                   4604:     break;}
1.1.1.2   root     4605: case 295:
1.1.1.3 ! root     4606: #line 1809 "cp-parse.y"
1.1       root     4607: { yyval.ttype = yyvsp[-2].ttype; ;
                   4608:     break;}
1.1.1.3 ! root     4609: case 296:
        !          4610: #line 1814 "cp-parse.y"
        !          4611: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
        !          4612:     break;}
        !          4613: case 297:
        !          4614: #line 1816 "cp-parse.y"
        !          4615: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
        !          4616:     break;}
1.1.1.2   root     4617: case 298:
1.1.1.3 ! root     4618: #line 1821 "cp-parse.y"
        !          4619: { if (strcmp (IDENTIFIER_POINTER (yyvsp[0].ttype), "packed"))
        !          4620:            warning ("`%s' attribute directive ignored",
        !          4621:                     IDENTIFIER_POINTER (yyvsp[0].ttype));
        !          4622:          yyval.ttype = yyvsp[0].ttype; ;
1.1       root     4623:     break;}
1.1.1.2   root     4624: case 299:
1.1.1.3 ! root     4625: #line 1826 "cp-parse.y"
        !          4626: { /* if not "aligned(n)", then issue warning */
        !          4627:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-3].ttype), "aligned") != 0
        !          4628:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
        !          4629:            {
        !          4630:              warning ("`%s' attribute directive ignored",
        !          4631:                       IDENTIFIER_POINTER (yyvsp[-3].ttype));
        !          4632:              yyval.ttype = yyvsp[-3].ttype;
        !          4633:            }
        !          4634:          else
        !          4635:            yyval.ttype = tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
1.1       root     4636:     break;}
1.1.1.2   root     4637: case 300:
1.1.1.3 ! root     4638: #line 1837 "cp-parse.y"
        !          4639: { /* if not "format(...)", then issue warning */
        !          4640:          if (strcmp (IDENTIFIER_POINTER (yyvsp[-7].ttype), "format") != 0
        !          4641:              || TREE_CODE (yyvsp[-3].ttype) != INTEGER_CST
        !          4642:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST)
        !          4643:            {
        !          4644:              warning ("`%s' attribute directive ignored",
        !          4645:                       IDENTIFIER_POINTER (yyvsp[-7].ttype));
        !          4646:              yyval.ttype = yyvsp[-7].ttype;
        !          4647:            }
        !          4648:          else
        !          4649:            yyval.ttype = tree_cons (yyvsp[-7].ttype, tree_cons (yyvsp[-5].ttype, tree_cons (yyvsp[-3].ttype, yyvsp[-1].ttype))); ;
1.1       root     4650:     break;}
1.1.1.2   root     4651: case 301:
1.1.1.3 ! root     4652: #line 1853 "cp-parse.y"
1.1.1.2   root     4653: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   4654:     break;}
                   4655: case 302:
1.1.1.3 ! root     4656: #line 1855 "cp-parse.y"
1.1.1.2   root     4657: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   4658:     break;}
                   4659: case 304:
1.1.1.3 ! root     4660: #line 1861 "cp-parse.y"
1.1       root     4661: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
                   4662:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1;
                   4663:                  if (pedantic)
1.1.1.3 ! root     4664:                    pedwarn ("ANSI C forbids empty initializer braces"); ;
1.1       root     4665:     break;}
1.1.1.3 ! root     4666: case 305:
        !          4667: #line 1866 "cp-parse.y"
1.1       root     4668: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
                   4669:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4670:     break;}
1.1.1.3 ! root     4671: case 306:
        !          4672: #line 1869 "cp-parse.y"
1.1       root     4673: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   4674:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4675:     break;}
1.1.1.3 ! root     4676: case 307:
        !          4677: #line 1872 "cp-parse.y"
1.1       root     4678: { yyval.ttype = NULL_TREE; ;
                   4679:     break;}
1.1.1.3 ! root     4680: case 308:
        !          4681: #line 1879 "cp-parse.y"
1.1       root     4682: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   4683:     break;}
1.1.1.3 ! root     4684: case 309:
        !          4685: #line 1881 "cp-parse.y"
1.1       root     4686: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4687:     break;}
1.1.1.3 ! root     4688: case 310:
        !          4689: #line 1884 "cp-parse.y"
1.1       root     4690: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4691:     break;}
1.1.1.3 ! root     4692: case 311:
        !          4693: #line 1886 "cp-parse.y"
1.1       root     4694: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4695:     break;}
1.1.1.3 ! root     4696: case 312:
        !          4697: #line 1888 "cp-parse.y"
1.1       root     4698: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
                   4699:     break;}
1.1.1.3 ! root     4700: case 313:
        !          4701: #line 1890 "cp-parse.y"
1.1       root     4702: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4703:     break;}
1.1.1.3 ! root     4704: case 314:
        !          4705: #line 1895 "cp-parse.y"
1.1       root     4706: { yyvsp[0].itype = suspend_momentary ();
                   4707:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
                   4708:     break;}
1.1.1.3 ! root     4709: case 315:
        !          4710: #line 1898 "cp-parse.y"
1.1       root     4711: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
                   4712:                  resume_momentary (yyvsp[-4].itype);
                   4713:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4714:     break;}
1.1.1.3 ! root     4715: case 316:
        !          4716: #line 1902 "cp-parse.y"
1.1       root     4717: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
                   4718:                  check_for_missing_semicolon (yyval.ttype); ;
                   4719:     break;}
1.1.1.3 ! root     4720: case 317:
        !          4721: #line 1905 "cp-parse.y"
1.1       root     4722: { yyvsp[0].itype = suspend_momentary ();
                   4723:                  yyval.ttype = start_enum (make_anon_name ()); ;
                   4724:     break;}
1.1.1.3 ! root     4725: case 318:
        !          4726: #line 1908 "cp-parse.y"
1.1       root     4727: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
                   4728:                  resume_momentary (yyvsp[-5].itype);
                   4729:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4730:     break;}
1.1.1.3 ! root     4731: case 319:
        !          4732: #line 1912 "cp-parse.y"
1.1       root     4733: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
                   4734:                  check_for_missing_semicolon (yyval.ttype); ;
                   4735:     break;}
1.1.1.3 ! root     4736: case 320:
        !          4737: #line 1915 "cp-parse.y"
1.1       root     4738: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE); ;
                   4739:     break;}
1.1.1.3 ! root     4740: case 321:
        !          4741: #line 1919 "cp-parse.y"
1.1       root     4742: {
                   4743:                  int semi;
                   4744: #if 0
                   4745:                  /* Need to rework class nesting in the
                   4746:                     presence of nested classes, etc.  */
                   4747:                  shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
                   4748: #endif
                   4749:                  semi = yychar == ';';
                   4750:                  if (semi)
                   4751:                    note_got_semicolon (yyval.ttype);
                   4752:                  if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
                   4753:                    /* $$ = $1 from default rule.  */;
                   4754:                  else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
                   4755:                    {
                   4756:                      if (! semi)
                   4757:                        yyval.ttype = finish_exception (yyval.ttype, yyvsp[-1].ttype);
                   4758:                      else
                   4759:                        warning ("empty exception declaration\n");
                   4760:                    }
                   4761:                  else
                   4762:                    yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi, semi);
                   4763: 
                   4764:                  pop_obstacks ();
                   4765:                  if (! semi)
                   4766:                    check_for_missing_semicolon (yyval.ttype); ;
                   4767:     break;}
1.1.1.3 ! root     4768: case 322:
        !          4769: #line 1945 "cp-parse.y"
1.1       root     4770: {
                   4771: #if 0
                   4772:   /* It's no longer clear what the following error is supposed to
                   4773:      accomplish.  If it turns out to be needed, add a comment why.  */
                   4774:                  if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
                   4775:                    {
                   4776:                      error ("incomplete definition of type `%s'",
                   4777:                             TYPE_NAME_STRING (yyval.ttype));
                   4778:                      yyval.ttype = error_mark_node;
                   4779:                    }
                   4780: #endif
                   4781:                ;
                   4782:     break;}
1.1.1.3 ! root     4783: case 326:
        !          4784: #line 1967 "cp-parse.y"
        !          4785: { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
1.1       root     4786:     break;}
1.1.1.3 ! root     4787: case 328:
        !          4788: #line 1972 "cp-parse.y"
1.1       root     4789: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   4790:     break;}
1.1.1.3 ! root     4791: case 329:
        !          4792: #line 1974 "cp-parse.y"
1.1       root     4793: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4794:     break;}
1.1.1.3 ! root     4795: case 330:
        !          4796: #line 1976 "cp-parse.y"
1.1       root     4797: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4798:                ;
                   4799:     break;}
1.1.1.3 ! root     4800: case 331:
        !          4801: #line 1979 "cp-parse.y"
1.1       root     4802: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4803:                ;
                   4804:     break;}
1.1.1.3 ! root     4805: case 332:
        !          4806: #line 1982 "cp-parse.y"
1.1       root     4807: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4808:                ;
                   4809:     break;}
1.1.1.3 ! root     4810: case 333:
        !          4811: #line 1985 "cp-parse.y"
1.1       root     4812: { error ("no body nor ';' separates two class, struct or union declarations");
                   4813:                ;
                   4814:     break;}
1.1.1.3 ! root     4815: case 334:
        !          4816: #line 1991 "cp-parse.y"
1.1       root     4817: { aggr1: current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4818:     break;}
1.1.1.3 ! root     4819: case 335:
        !          4820: #line 1993 "cp-parse.y"
1.1       root     4821: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4822:     break;}
1.1.1.3 ! root     4823: case 336:
        !          4824: #line 1995 "cp-parse.y"
1.1       root     4825: { yyungetc (':', 1); goto aggr1; ;
                   4826:     break;}
1.1.1.3 ! root     4827: case 337:
        !          4828: #line 1997 "cp-parse.y"
1.1       root     4829: { yyungetc ('{', 1);
                   4830:                aggr2:
                   4831:                  current_aggr = yyval.ttype;
                   4832:                  yyval.ttype = yyvsp[-1].ttype; ;
                   4833:     break;}
1.1.1.3 ! root     4834: case 338:
        !          4835: #line 2002 "cp-parse.y"
1.1       root     4836: { yyungetc (':', 1); goto aggr2; ;
                   4837:     break;}
1.1.1.3 ! root     4838: case 339:
        !          4839: #line 2007 "cp-parse.y"
1.1       root     4840: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4841:     break;}
1.1.1.3 ! root     4842: case 340:
        !          4843: #line 2012 "cp-parse.y"
1.1       root     4844: {
                   4845:                  yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4846:                ;
                   4847:     break;}
1.1.1.3 ! root     4848: case 341:
        !          4849: #line 2016 "cp-parse.y"
1.1       root     4850: {
                   4851:                  if (yyvsp[0].ttype)
                   4852:                    yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   4853:                  else
                   4854:                    yyval.ttype = yyvsp[-1].ttype;
                   4855:                ;
                   4856:     break;}
1.1.1.3 ! root     4857: case 342:
        !          4858: #line 2024 "cp-parse.y"
1.1       root     4859: {
                   4860:                  yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4861:                ;
                   4862:     break;}
1.1.1.3 ! root     4863: case 343:
        !          4864: #line 2028 "cp-parse.y"
1.1       root     4865: {
                   4866:                  if (yyvsp[0].ttype)
                   4867:                    yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   4868:                  else
                   4869:                    yyval.ttype = yyvsp[-1].ttype;
                   4870:                ;
                   4871:     break;}
1.1.1.3 ! root     4872: case 344:
        !          4873: #line 2037 "cp-parse.y"
1.1       root     4874: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE);
                   4875:                  yyungetc ('{', 1); ;
                   4876:     break;}
1.1.1.3 ! root     4877: case 347:
        !          4878: #line 2045 "cp-parse.y"
1.1       root     4879: { yyval.ttype = NULL_TREE; ;
                   4880:     break;}
1.1.1.3 ! root     4881: case 348:
        !          4882: #line 2047 "cp-parse.y"
1.1       root     4883: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
                   4884:     break;}
1.1.1.3 ! root     4885: case 349:
        !          4886: #line 2049 "cp-parse.y"
1.1       root     4887: { yyval.ttype = yyvsp[0].ttype; ;
                   4888:     break;}
1.1.1.3 ! root     4889: case 351:
        !          4890: #line 2055 "cp-parse.y"
1.1       root     4891: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4892:     break;}
1.1.1.3 ! root     4893: case 352:
        !          4894: #line 2060 "cp-parse.y"
1.1       root     4895: { if (! is_aggr_typedef (yyval.ttype, 1))
                   4896:                    yyval.ttype = NULL_TREE;
                   4897:                  else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   4898:     break;}
1.1.1.3 ! root     4899: case 353:
        !          4900: #line 2064 "cp-parse.y"
1.1       root     4901: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
                   4902:                    yyval.ttype = NULL_TREE;
                   4903:                  else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
                   4904:     break;}
1.1.1.3 ! root     4905: case 356:
        !          4906: #line 2076 "cp-parse.y"
1.1       root     4907: {
                   4908:                  if (yyval.itype == visibility_protected)
                   4909:                    {
                   4910:                      warning ("`protected' visibility not implemented");
                   4911:                      yyval.itype = visibility_public;
                   4912:                    }
                   4913:                ;
                   4914:     break;}
1.1.1.3 ! root     4915: case 357:
        !          4916: #line 2084 "cp-parse.y"
1.1       root     4917: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
                   4918:                    sorry ("non-virtual visibility");
                   4919:                  yyval.itype = visibility_default_virtual; ;
                   4920:     break;}
1.1.1.3 ! root     4921: case 358:
        !          4922: #line 2088 "cp-parse.y"
1.1       root     4923: { int err = 0;
                   4924:                  if (yyvsp[0].itype == visibility_protected)
                   4925:                    {
                   4926:                      warning ("`protected' visibility not implemented");
                   4927:                      yyvsp[0].itype = visibility_public;
                   4928:                      err++;
                   4929:                    }
                   4930:                  else if (yyvsp[0].itype == visibility_public)
                   4931:                    {
                   4932:                      if (yyvsp[-1].itype == visibility_private)
                   4933:                        {
                   4934:                        mixed:
                   4935:                          error ("base class cannot be public and private");
                   4936:                        }
                   4937:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   4938:                        yyval.itype = visibility_public_virtual;
                   4939:                    }
1.1.1.2   root     4940:                  else /* $2 == visibility_private */
1.1       root     4941:                    {
                   4942:                      if (yyvsp[-1].itype == visibility_public)
                   4943:                        goto mixed;
                   4944:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   4945:                        yyval.itype = visibility_private_virtual;
                   4946:                    }
                   4947:                ;
                   4948:     break;}
1.1.1.3 ! root     4949: case 359:
        !          4950: #line 2114 "cp-parse.y"
1.1       root     4951: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
                   4952:                    sorry ("non-virtual visibility");
                   4953:                  if (yyval.itype == visibility_public)
                   4954:                    yyval.itype = visibility_public_virtual;
                   4955:                  else if (yyval.itype == visibility_private)
                   4956:                    yyval.itype = visibility_private_virtual; ;
                   4957:     break;}
1.1.1.3 ! root     4958: case 360:
        !          4959: #line 2123 "cp-parse.y"
1.1       root     4960: { tree t;
                   4961:                  push_obstacks_nochange ();
                   4962:                  end_temporary_allocation ();
                   4963: 
                   4964:                  if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
                   4965:                    {
                   4966:                      yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
                   4967:                      TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
                   4968:                    }
                   4969:                  if (TYPE_SIZE (yyvsp[-1].ttype))
                   4970:                    duplicate_tag_error (yyvsp[-1].ttype);
                   4971:                   if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
                   4972:                     {
                   4973:                       t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
1.1.1.3 ! root     4974:                       pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t);
1.1       root     4975:                       yyvsp[-1].ttype = t;
                   4976:                     }
                   4977:                  pushclass (yyvsp[-1].ttype, 0);
                   4978:                  TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
1.1.1.3 ! root     4979:                  t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
1.1       root     4980:                  if (IDENTIFIER_TEMPLATE (t))
                   4981:                    overload_template_name (t, 1);
                   4982:                ;
                   4983:     break;}
1.1.1.3 ! root     4984: case 361:
        !          4985: #line 2150 "cp-parse.y"
1.1       root     4986: { yyval.ttype = NULL_TREE; ;
                   4987:     break;}
1.1.1.3 ! root     4988: case 362:
        !          4989: #line 2152 "cp-parse.y"
1.1       root     4990: { yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   4991:     break;}
1.1.1.3 ! root     4992: case 363:
        !          4993: #line 2154 "cp-parse.y"
1.1       root     4994: { yyval.ttype = chainon (yyval.ttype, build_tree_list ((tree) yyvsp[-2].itype, yyvsp[0].ttype)); ;
                   4995:     break;}
1.1.1.3 ! root     4996: case 365:
        !          4997: #line 2160 "cp-parse.y"
1.1       root     4998: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; ;
                   4999:     break;}
1.1.1.3 ! root     5000: case 366:
        !          5001: #line 2162 "cp-parse.y"
1.1       root     5002: { if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
                   5003:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   5004:     break;}
1.1.1.3 ! root     5005: case 367:
        !          5006: #line 2165 "cp-parse.y"
1.1       root     5007: { if (pedantic)
1.1.1.3 ! root     5008:                    pedwarn ("extra semicolon in struct or union specified"); ;
1.1       root     5009:     break;}
1.1.1.3 ! root     5010: case 368:
        !          5011: #line 2171 "cp-parse.y"
1.1       root     5012: {
                   5013:                do_components:
                   5014:                  if (yyvsp[-1].ttype == void_type_node)
                   5015:                    /* We just got some friends.
                   5016:                       They have been recorded elsewhere.  */
                   5017:                    yyval.ttype = NULL_TREE;
                   5018:                  else if (yyvsp[-1].ttype == NULL_TREE)
                   5019:                    {
                   5020:                      tree t = groktypename (build_decl_list (yyval.ttype, NULL_TREE));
                   5021:                      if (t == NULL_TREE)
                   5022:                        {
                   5023:                          error ("error in component specification");
                   5024:                          yyval.ttype = NULL_TREE;
                   5025:                        }
                   5026:                      else if (TREE_CODE (t) == UNION_TYPE)
                   5027:                        {
                   5028:                          /* handle anonymous unions */
                   5029:                          if (CLASSTYPE_METHOD_VEC (t))
                   5030:                            sorry ("methods in anonymous unions");
                   5031:                          yyval.ttype = build_lang_field_decl (FIELD_DECL, NULL_TREE, t);
                   5032:                        }
                   5033:                      else if (TREE_CODE (t) == ENUMERAL_TYPE)
                   5034:                        yyval.ttype = grok_enum_decls (t, NULL_TREE);
                   5035:                      else if (TREE_CODE (t) == RECORD_TYPE)
                   5036:                        {
                   5037:                          if (TYPE_LANG_SPECIFIC (t)
                   5038:                              && CLASSTYPE_DECLARED_EXCEPTION (t))
                   5039:                            shadow_tag (yyval.ttype);
                   5040:                          yyval.ttype = NULL_TREE;
                   5041:                        }
                   5042:                      else if (t != void_type_node)
                   5043:                        {
                   5044:                          error ("empty component declaration");
                   5045:                          yyval.ttype = NULL_TREE;
                   5046:                        }
                   5047:                      else yyval.ttype = NULL_TREE;
                   5048:                    }
                   5049:                  else
                   5050:                    {
                   5051:                      tree t = TREE_TYPE (yyvsp[-1].ttype);
                   5052:                      if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
                   5053:                        yyval.ttype = grok_enum_decls (t, yyvsp[-1].ttype);
                   5054:                      else
                   5055:                        yyval.ttype = yyvsp[-1].ttype;
                   5056:                    }
                   5057:                  end_exception_decls ();
                   5058:                ;
                   5059:     break;}
1.1.1.3 ! root     5060: case 369:
        !          5061: #line 2219 "cp-parse.y"
1.1       root     5062: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5063:     break;}
1.1.1.3 ! root     5064: case 370:
        !          5065: #line 2221 "cp-parse.y"
1.1       root     5066: { error ("missing ';' before right brace");
                   5067:                  yyungetc ('}', 0);
                   5068:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5069:     break;}
1.1.1.3 ! root     5070: case 371:
        !          5071: #line 2225 "cp-parse.y"
1.1       root     5072: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5073:     break;}
1.1.1.3 ! root     5074: case 372:
        !          5075: #line 2227 "cp-parse.y"
1.1       root     5076: { error ("missing ';' before right brace");
                   5077:                  yyungetc ('}', 0);
                   5078:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5079:     break;}
1.1.1.3 ! root     5080: case 373:
        !          5081: #line 2231 "cp-parse.y"
1.1       root     5082: { goto do_components; ;
                   5083:     break;}
1.1.1.3 ! root     5084: case 374:
        !          5085: #line 2234 "cp-parse.y"
1.1       root     5086: { yyval.ttype = grokfield (yyvsp[-1].ttype, yyval.ttype, 0, 0, 0, 0); ;
                   5087:     break;}
1.1.1.3 ! root     5088: case 375:
        !          5089: #line 2236 "cp-parse.y"
1.1       root     5090: { error ("missing ';' before right brace");
                   5091:                  yyungetc ('}', 0);
                   5092:                  goto do_components; ;
                   5093:     break;}
1.1.1.3 ! root     5094: case 376:
        !          5095: #line 2240 "cp-parse.y"
1.1       root     5096: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5097:     break;}
1.1.1.3 ! root     5098: case 377:
        !          5099: #line 2242 "cp-parse.y"
1.1       root     5100: { error ("missing ';' before right brace");
                   5101:                  yyungetc ('}', 0);
                   5102:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5103:     break;}
1.1.1.3 ! root     5104: case 378:
        !          5105: #line 2246 "cp-parse.y"
1.1       root     5106: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5107:     break;}
1.1.1.3 ! root     5108: case 379:
        !          5109: #line 2248 "cp-parse.y"
1.1       root     5110: { error ("missing ';' before right brace");
                   5111:                  yyungetc ('}', 0);
                   5112:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5113:     break;}
1.1.1.3 ! root     5114: case 380:
        !          5115: #line 2252 "cp-parse.y"
1.1       root     5116: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5117:     break;}
1.1.1.3 ! root     5118: case 381:
        !          5119: #line 2254 "cp-parse.y"
1.1       root     5120: { error ("missing ';' before right brace");
                   5121:                  yyungetc ('}', 0);
                   5122:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5123:     break;}
1.1.1.3 ! root     5124: case 382:
        !          5125: #line 2258 "cp-parse.y"
1.1       root     5126: { yyval.ttype = NULL_TREE; ;
                   5127:     break;}
1.1.1.3 ! root     5128: case 383:
        !          5129: #line 2263 "cp-parse.y"
1.1       root     5130: { yyval.ttype = finish_method (yyval.ttype); ;
                   5131:     break;}
1.1.1.3 ! root     5132: case 384:
        !          5133: #line 2265 "cp-parse.y"
1.1       root     5134: { yyval.ttype = finish_method (yyval.ttype); ;
                   5135:     break;}
1.1.1.3 ! root     5136: case 385:
        !          5137: #line 2267 "cp-parse.y"
1.1       root     5138: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5139:     break;}
1.1.1.3 ! root     5140: case 386:
        !          5141: #line 2269 "cp-parse.y"
1.1       root     5142: { error ("missing ';' before right brace");
                   5143:                  yyungetc ('}', 0);
                   5144:                  yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5145:     break;}
1.1.1.3 ! root     5146: case 387:
        !          5147: #line 2276 "cp-parse.y"
1.1       root     5148: { yyval.ttype = NULL_TREE; ;
                   5149:     break;}
1.1.1.3 ! root     5150: case 389:
        !          5151: #line 2279 "cp-parse.y"
1.1       root     5152: {
                   5153:                  /* In this context, void_type_node encodes
                   5154:                     friends.  They have been recorded elsewhere.  */
                   5155:                  if (yyval.ttype == void_type_node)
                   5156:                    yyval.ttype = yyvsp[0].ttype;
                   5157:                  else
                   5158:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
                   5159:                ;
                   5160:     break;}
1.1.1.3 ! root     5161: case 390:
        !          5162: #line 2291 "cp-parse.y"
        !          5163: { current_declspecs = yyvsp[-4].ttype;
        !          5164:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
        !          5165:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
        !          5166:     break;}
        !          5167: case 391:
        !          5168: #line 2295 "cp-parse.y"
        !          5169: { current_declspecs = yyvsp[-6].ttype;
        !          5170:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
        !          5171:                  decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
        !          5172:     break;}
1.1.1.2   root     5173: case 392:
1.1.1.3 ! root     5174: #line 2299 "cp-parse.y"
        !          5175: { current_declspecs = yyvsp[-4].ttype;
        !          5176:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
        !          5177:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5178:     break;}
1.1.1.2   root     5179: case 393:
1.1.1.3 ! root     5180: #line 2303 "cp-parse.y"
        !          5181: { current_declspecs = yyvsp[-3].ttype;
        !          5182:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
        !          5183:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5184:     break;}
1.1.1.2   root     5185: case 394:
1.1.1.3 ! root     5186: #line 2307 "cp-parse.y"
        !          5187: { current_declspecs = yyvsp[-2].ttype;
        !          5188:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
1.1       root     5189:     break;}
1.1.1.2   root     5190: case 395:
1.1.1.3 ! root     5191: #line 2313 "cp-parse.y"
        !          5192: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-2].ttype, NULL_TREE, yyvsp[-1].ttype);
        !          5193:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5194:     break;}
1.1.1.2   root     5195: case 396:
1.1.1.3 ! root     5196: #line 2316 "cp-parse.y"
        !          5197: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-4].ttype, yyvsp[0].ttype, yyvsp[-3].ttype);
        !          5198:                  decl_attributes (yyval.ttype, yyvsp[-2].ttype); ;
1.1       root     5199:     break;}
1.1.1.2   root     5200: case 397:
1.1.1.3 ! root     5201: #line 2319 "cp-parse.y"
        !          5202: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
        !          5203:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5204:     break;}
1.1.1.2   root     5205: case 398:
1.1.1.3 ! root     5206: #line 2322 "cp-parse.y"
        !          5207: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
        !          5208:                  decl_attributes (yyval.ttype, yyvsp[0].ttype); ;
1.1       root     5209:     break;}
1.1.1.2   root     5210: case 399:
1.1.1.3 ! root     5211: #line 2325 "cp-parse.y"
1.1       root     5212: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
                   5213:     break;}
1.1.1.3 ! root     5214: case 401:
        !          5215: #line 2335 "cp-parse.y"
1.1       root     5216: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   5217:     break;}
1.1.1.3 ! root     5218: case 402:
        !          5219: #line 2340 "cp-parse.y"
1.1       root     5220: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
                   5221:     break;}
1.1.1.3 ! root     5222: case 403:
        !          5223: #line 2342 "cp-parse.y"
1.1       root     5224: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
                   5225:     break;}
1.1.1.3 ! root     5226: case 404:
        !          5227: #line 2347 "cp-parse.y"
1.1       root     5228: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5229:     break;}
1.1.1.3 ! root     5230: case 405:
        !          5231: #line 2349 "cp-parse.y"
1.1       root     5232: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5233:     break;}
1.1.1.3 ! root     5234: case 406:
        !          5235: #line 2354 "cp-parse.y"
1.1       root     5236: { yyval.ttype = NULL_TREE; ;
                   5237:     break;}
1.1.1.3 ! root     5238: case 408:
        !          5239: #line 2357 "cp-parse.y"
1.1       root     5240: { yyval.ttype = yyvsp[0].ttype; ;
                   5241:     break;}
1.1.1.3 ! root     5242: case 409:
        !          5243: #line 2362 "cp-parse.y"
1.1       root     5244: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   5245:     break;}
1.1.1.3 ! root     5246: case 410:
        !          5247: #line 2364 "cp-parse.y"
1.1       root     5248: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5249:     break;}
1.1.1.3 ! root     5250: case 411:
        !          5251: #line 2369 "cp-parse.y"
1.1       root     5252: { yyval.ttype = NULL_TREE; ;
                   5253:     break;}
1.1.1.3 ! root     5254: case 412:
        !          5255: #line 2371 "cp-parse.y"
1.1       root     5256: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5257:     break;}
1.1.1.3 ! root     5258: case 413:
        !          5259: #line 2379 "cp-parse.y"
1.1       root     5260: { yyval.itype = suspend_momentary (); ;
                   5261:     break;}
1.1.1.3 ! root     5262: case 414:
        !          5263: #line 2380 "cp-parse.y"
1.1       root     5264: { resume_momentary (yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
                   5265:     break;}
1.1.1.3 ! root     5266: case 415:
        !          5267: #line 2386 "cp-parse.y"
1.1       root     5268: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5269:     break;}
1.1.1.3 ! root     5270: case 416:
        !          5271: #line 2388 "cp-parse.y"
1.1       root     5272: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5273:     break;}
1.1.1.3 ! root     5274: case 417:
        !          5275: #line 2390 "cp-parse.y"
1.1       root     5276: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5277:     break;}
1.1.1.3 ! root     5278: case 418:
        !          5279: #line 2392 "cp-parse.y"
1.1       root     5280: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5281:     break;}
1.1.1.3 ! root     5282: case 419:
        !          5283: #line 2394 "cp-parse.y"
1.1       root     5284: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5285:     break;}
1.1.1.3 ! root     5286: case 420:
        !          5287: #line 2396 "cp-parse.y"
1.1       root     5288: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5289:     break;}
1.1.1.3 ! root     5290: case 421:
        !          5291: #line 2398 "cp-parse.y"
1.1       root     5292: { yyval.ttype = yyvsp[-1].ttype; ;
                   5293:     break;}
1.1.1.3 ! root     5294: case 422:
        !          5295: #line 2400 "cp-parse.y"
1.1       root     5296: { yyval.ttype = make_pointer_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5297:     break;}
1.1.1.3 ! root     5298: case 423:
        !          5299: #line 2402 "cp-parse.y"
1.1       root     5300: { see_typename (); ;
                   5301:     break;}
1.1.1.3 ! root     5302: case 425:
        !          5303: #line 2405 "cp-parse.y"
1.1       root     5304: { yyval.ttype = make_reference_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5305:     break;}
1.1.1.3 ! root     5306: case 426:
        !          5307: #line 2407 "cp-parse.y"
1.1       root     5308: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5309:     break;}
1.1.1.3 ! root     5310: case 427:
        !          5311: #line 2409 "cp-parse.y"
1.1       root     5312: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5313:     break;}
1.1.1.3 ! root     5314: case 429:
        !          5315: #line 2415 "cp-parse.y"
1.1       root     5316: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5317:     break;}
1.1.1.3 ! root     5318: case 430:
        !          5319: #line 2417 "cp-parse.y"
1.1       root     5320: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5321:     break;}
1.1.1.3 ! root     5322: case 431:
        !          5323: #line 2419 "cp-parse.y"
1.1       root     5324: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5325:     break;}
1.1.1.3 ! root     5326: case 432:
        !          5327: #line 2421 "cp-parse.y"
1.1       root     5328: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5329:     break;}
1.1.1.3 ! root     5330: case 433:
        !          5331: #line 2423 "cp-parse.y"
1.1       root     5332: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5333:     break;}
1.1.1.3 ! root     5334: case 434:
        !          5335: #line 2425 "cp-parse.y"
1.1       root     5336: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5337:     break;}
1.1.1.3 ! root     5338: case 435:
        !          5339: #line 2427 "cp-parse.y"
1.1       root     5340: { yyval.ttype = yyvsp[-1].ttype; ;
                   5341:     break;}
1.1.1.3 ! root     5342: case 436:
        !          5343: #line 2429 "cp-parse.y"
1.1       root     5344: { see_typename (); ;
                   5345:     break;}
1.1.1.3 ! root     5346: case 438:
        !          5347: #line 2432 "cp-parse.y"
1.1       root     5348: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5349:     break;}
1.1.1.3 ! root     5350: case 439:
        !          5351: #line 2434 "cp-parse.y"
1.1       root     5352: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5353:     break;}
1.1.1.3 ! root     5354: case 440:
        !          5355: #line 2442 "cp-parse.y"
1.1       root     5356: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5357:     break;}
1.1.1.3 ! root     5358: case 441:
        !          5359: #line 2444 "cp-parse.y"
1.1       root     5360: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5361:     break;}
1.1.1.3 ! root     5362: case 442:
        !          5363: #line 2446 "cp-parse.y"
1.1       root     5364: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5365:     break;}
1.1.1.3 ! root     5366: case 443:
        !          5367: #line 2448 "cp-parse.y"
1.1       root     5368: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5369:     break;}
1.1.1.3 ! root     5370: case 444:
        !          5371: #line 2450 "cp-parse.y"
1.1       root     5372: { yyval.ttype = yyvsp[-1].ttype; ;
                   5373:     break;}
1.1.1.3 ! root     5374: case 445:
        !          5375: #line 2452 "cp-parse.y"
1.1       root     5376: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5377:     break;}
1.1.1.3 ! root     5378: case 446:
        !          5379: #line 2454 "cp-parse.y"
1.1       root     5380: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5381:     break;}
1.1.1.3 ! root     5382: case 447:
        !          5383: #line 2456 "cp-parse.y"
1.1       root     5384: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5385:     break;}
1.1.1.3 ! root     5386: case 448:
        !          5387: #line 2458 "cp-parse.y"
1.1       root     5388: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5389:     break;}
1.1.1.3 ! root     5390: case 449:
        !          5391: #line 2460 "cp-parse.y"
1.1       root     5392: { see_typename (); ;
                   5393:     break;}
1.1.1.3 ! root     5394: case 450:
        !          5395: #line 2464 "cp-parse.y"
1.1       root     5396: { see_typename (); ;
                   5397:     break;}
1.1.1.3 ! root     5398: case 451:
        !          5399: #line 2467 "cp-parse.y"
1.1       root     5400: {
                   5401:                destructor_name:
                   5402:                  see_typename ();
                   5403:                  yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype);
                   5404:                ;
                   5405:     break;}
1.1.1.3 ! root     5406: case 452:
        !          5407: #line 2473 "cp-parse.y"
1.1       root     5408: { goto destructor_name; ;
                   5409:     break;}
1.1.1.3 ! root     5410: case 453:
        !          5411: #line 2475 "cp-parse.y"
1.1       root     5412: { goto destructor_name; ;
                   5413:     break;}
1.1.1.3 ! root     5414: case 454:
        !          5415: #line 2477 "cp-parse.y"
1.1       root     5416: {
                   5417:                  see_typename ();
                   5418:                  yyval.ttype = build_parse_node (WRAPPER_EXPR, yyvsp[0].ttype);
                   5419:                ;
                   5420:     break;}
1.1.1.3 ! root     5421: case 455:
        !          5422: #line 2482 "cp-parse.y"
1.1       root     5423: {
                   5424:                  see_typename ();
                   5425:                  yyval.ttype = build_parse_node (WRAPPER_EXPR,
                   5426:                                 build_parse_node (COND_EXPR, yyvsp[0].ttype, NULL_TREE, NULL_TREE));
                   5427:                ;
                   5428:     break;}
1.1.1.3 ! root     5429: case 456:
        !          5430: #line 2488 "cp-parse.y"
1.1       root     5431: { see_typename ();
                   5432:                  yyval.ttype = build_parse_node (ANTI_WRAPPER_EXPR, yyvsp[0].ttype); ;
                   5433:     break;}
1.1.1.3 ! root     5434: case 457:
        !          5435: #line 2491 "cp-parse.y"
1.1       root     5436: { see_typename ();
                   5437:                  if (TREE_CODE (yyval.ttype) != SCOPE_REF)
                   5438:                    yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype);
                   5439:                  else if (TREE_OPERAND (yyval.ttype, 1) == NULL_TREE)
                   5440:                    TREE_OPERAND (yyval.ttype, 1) = yyvsp[0].ttype;
                   5441:                  else
                   5442:                    yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
                   5443:                ;
                   5444:     break;}
1.1.1.3 ! root     5445: case 458:
        !          5446: #line 2500 "cp-parse.y"
1.1       root     5447: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5448:     break;}
1.1.1.3 ! root     5449: case 459:
        !          5450: #line 2502 "cp-parse.y"
1.1       root     5451: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5452:     break;}
1.1.1.3 ! root     5453: case 460:
        !          5454: #line 2504 "cp-parse.y"
1.1       root     5455: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5456:     break;}
1.1.1.3 ! root     5457: case 461:
        !          5458: #line 2506 "cp-parse.y"
1.1       root     5459: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5460:     break;}
1.1.1.3 ! root     5461: case 462:
        !          5462: #line 2508 "cp-parse.y"
1.1       root     5463: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5464:     break;}
1.1.1.3 ! root     5465: case 463:
        !          5466: #line 2511 "cp-parse.y"
1.1       root     5467: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5468:     break;}
1.1.1.3 ! root     5469: case 464:
        !          5470: #line 2513 "cp-parse.y"
1.1       root     5471: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5472:     break;}
1.1.1.3 ! root     5473: case 465:
        !          5474: #line 2515 "cp-parse.y"
1.1       root     5475: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5476:     break;}
1.1.1.3 ! root     5477: case 466:
        !          5478: #line 2517 "cp-parse.y"
1.1       root     5479: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5480:     break;}
1.1.1.3 ! root     5481: case 467:
        !          5482: #line 2519 "cp-parse.y"
1.1       root     5483: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5484:     break;}
1.1.1.3 ! root     5485: case 468:
        !          5486: #line 2521 "cp-parse.y"
1.1       root     5487: { yyval.ttype = build_parse_node (SCOPE_REF, NULL_TREE, yyvsp[0].ttype); ;
                   5488:     break;}
1.1.1.3 ! root     5489: case 469:
        !          5490: #line 2525 "cp-parse.y"
1.1.1.2   root     5491: { yyval.ttype = resolve_scope_to_name (NULL_TREE, yyval.ttype);
                   5492:                  if (yyval.ttype == NULL_TREE)
                   5493:                    {
                   5494:                      error ("undefined explicitly scoped type");
                   5495:                      yyval.ttype = error_mark_node; 
                   5496:                    }
                   5497:                ;
1.1       root     5498:     break;}
1.1.1.3 ! root     5499: case 470:
        !          5500: #line 2533 "cp-parse.y"
1.1       root     5501: {
                   5502:                   if (yyval.ttype == error_mark_node)
                   5503:                     /* leave it alone */;
                   5504:                   else
                   5505:                    {
                   5506:                      yyval.ttype = resolve_scope_to_name (NULL_TREE, TYPE_IDENTIFIER (yyval.ttype));
1.1.1.2   root     5507:                      if (yyval.ttype == NULL_TREE)
                   5508:                        {
                   5509:                          error ("undefined explicitly scoped type");
                   5510:                          yyval.ttype = error_mark_node; 
                   5511:                        }
1.1       root     5512:                    }
                   5513:                   if (yyvsp[0].itype) popclass (1);
                   5514:                ;
                   5515:     break;}
1.1.1.3 ! root     5516: case 473:
        !          5517: #line 2569 "cp-parse.y"
1.1       root     5518: { see_typename ();
                   5519:                  yyval.ttype = yyvsp[-1].ttype; ;
                   5520:     break;}
1.1.1.3 ! root     5521: case 474:
        !          5522: #line 2573 "cp-parse.y"
1.1       root     5523: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5524:     break;}
1.1.1.3 ! root     5525: case 475:
        !          5526: #line 2575 "cp-parse.y"
1.1       root     5527: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5528:     break;}
1.1.1.3 ! root     5529: case 476:
        !          5530: #line 2577 "cp-parse.y"
1.1       root     5531: { see_typename (); ;
                   5532:     break;}
1.1.1.3 ! root     5533: case 477:
        !          5534: #line 2579 "cp-parse.y"
1.1       root     5535: { yyval.ttype = yyvsp[-1].ttype; ;
                   5536:     break;}
1.1.1.3 ! root     5537: case 478:
        !          5538: #line 2581 "cp-parse.y"
1.1       root     5539: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5540:     break;}
1.1.1.3 ! root     5541: case 479:
        !          5542: #line 2583 "cp-parse.y"
1.1       root     5543: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5544:     break;}
1.1.1.3 ! root     5545: case 480:
        !          5546: #line 2585 "cp-parse.y"
1.1       root     5547: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5548:     break;}
1.1.1.3 ! root     5549: case 481:
        !          5550: #line 2587 "cp-parse.y"
1.1       root     5551: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5552:     break;}
1.1.1.3 ! root     5553: case 482:
        !          5554: #line 2589 "cp-parse.y"
1.1       root     5555: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5556:     break;}
1.1.1.3 ! root     5557: case 483:
        !          5558: #line 2591 "cp-parse.y"
1.1       root     5559: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5560:     break;}
1.1.1.3 ! root     5561: case 484:
        !          5562: #line 2593 "cp-parse.y"
1.1       root     5563: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5564:     break;}
1.1.1.3 ! root     5565: case 485:
        !          5566: #line 2595 "cp-parse.y"
1.1       root     5567: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (), yyvsp[0].ttype); ;
                   5568:     break;}
1.1.1.3 ! root     5569: case 486:
        !          5570: #line 2597 "cp-parse.y"
1.1       root     5571: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
                   5572:     break;}
1.1.1.3 ! root     5573: case 487:
        !          5574: #line 2599 "cp-parse.y"
1.1       root     5575: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
                   5576:     break;}
1.1.1.3 ! root     5577: case 488:
        !          5578: #line 2604 "cp-parse.y"
1.1       root     5579: { tree t;
                   5580:                  t = yyval.ttype;
                   5581:                  while (TREE_OPERAND (t, 1))
                   5582:                    t = TREE_OPERAND (t, 1);
                   5583:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, 0);
                   5584:                ;
                   5585:     break;}
1.1.1.3 ! root     5586: case 489:
        !          5587: #line 2611 "cp-parse.y"
1.1       root     5588: { tree t;
                   5589:                  t = yyval.ttype;
                   5590:                  while (TREE_OPERAND (t, 1))
                   5591:                    t = TREE_OPERAND (t, 1);
                   5592:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5593:                ;
                   5594:     break;}
1.1.1.3 ! root     5595: case 490:
        !          5596: #line 2618 "cp-parse.y"
1.1       root     5597: { tree t;
                   5598:                  t = yyval.ttype;
                   5599:                  while (TREE_OPERAND (t, 1))
                   5600:                    t = TREE_OPERAND (t, 1);
                   5601:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, 0);
                   5602:                ;
                   5603:     break;}
1.1.1.3 ! root     5604: case 491:
        !          5605: #line 2625 "cp-parse.y"
1.1       root     5606: { tree t;
                   5607:                  t = yyval.ttype;
                   5608:                  while (TREE_OPERAND (t, 1))
                   5609:                    t = TREE_OPERAND (t, 1);
                   5610:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5611:                ;
                   5612:     break;}
1.1.1.3 ! root     5613: case 492:
        !          5614: #line 2635 "cp-parse.y"
1.1       root     5615: { tree t;
                   5616:                  t = yyval.ttype;
                   5617:                  while (TREE_OPERAND (t, 1))
                   5618:                    t = TREE_OPERAND (t, 1);
                   5619:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5620:                ;
                   5621:     break;}
1.1.1.3 ! root     5622: case 493:
        !          5623: #line 2642 "cp-parse.y"
1.1       root     5624: { tree t;
                   5625:                  t = yyval.ttype;
                   5626:                  while (TREE_OPERAND (t, 1))
                   5627:                    t = TREE_OPERAND (t, 1);
                   5628:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5629:                ;
                   5630:     break;}
1.1.1.3 ! root     5631: case 499:
        !          5632: #line 2669 "cp-parse.y"
1.1.1.2   root     5633: { emit_line_note (input_filename, lineno);
1.1       root     5634:                  pushlevel (0);
                   5635:                  clear_last_expr ();
                   5636:                  push_momentary ();
                   5637:                  expand_start_bindings (0);
1.1.1.2   root     5638:                  yyval.strtype = stmt_decl_msg;
                   5639:                  stmt_decl_msg = 0; ;
                   5640:     break;}
1.1.1.3 ! root     5641: case 501:
        !          5642: #line 2683 "cp-parse.y"
1.1.1.2   root     5643: { if (pedantic)
                   5644:                    pedwarn ("ANSI C forbids label declarations"); ;
                   5645:     break;}
1.1.1.3 ! root     5646: case 504:
        !          5647: #line 2694 "cp-parse.y"
1.1.1.2   root     5648: { tree link;
                   5649:                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
                   5650:                    {
                   5651:                      tree label = shadow_label (TREE_VALUE (link));
                   5652:                      C_DECLARED_LABEL_FLAG (label) = 1;
                   5653:                      declare_nonlocal_label (label);
                   5654:                    }
1.1       root     5655:                ;
                   5656:     break;}
1.1.1.3 ! root     5657: case 505:
        !          5658: #line 2708 "cp-parse.y"
1.1       root     5659: {;
                   5660:     break;}
1.1.1.3 ! root     5661: case 507:
        !          5662: #line 2713 "cp-parse.y"
1.1       root     5663: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
                   5664:     break;}
1.1.1.3 ! root     5665: case 508:
        !          5666: #line 2715 "cp-parse.y"
1.1       root     5667: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2   root     5668:                  stmt_decl_msg = yyvsp[-3].strtype;
1.1       root     5669:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5670:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
                   5671:                  pop_momentary (); ;
                   5672:     break;}
1.1.1.3 ! root     5673: case 509:
        !          5674: #line 2721 "cp-parse.y"
1.1       root     5675: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2   root     5676:                  stmt_decl_msg = yyvsp[-3].strtype;
1.1       root     5677:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5678:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   5679:                  pop_momentary (); ;
                   5680:     break;}
1.1.1.3 ! root     5681: case 510:
        !          5682: #line 2730 "cp-parse.y"
1.1       root     5683: { emit_line_note (input_filename, lineno);
                   5684:                  expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
                   5685:                  stmt_decl_msg = "if"; ;
                   5686:     break;}
1.1.1.3 ! root     5687: case 511:
        !          5688: #line 2734 "cp-parse.y"
1.1       root     5689: { stmt_decl_msg = 0; ;
                   5690:     break;}
1.1.1.3 ! root     5691: case 512:
        !          5692: #line 2739 "cp-parse.y"
1.1       root     5693: { finish_stmt (); ;
                   5694:     break;}
1.1.1.3 ! root     5695: case 513:
        !          5696: #line 2741 "cp-parse.y"
1.1       root     5697: { if (stmt_decl_msg)
                   5698:                    error ("declaration after %s invalid", stmt_decl_msg);
                   5699:                  stmt_decl_msg = 0;
                   5700:                  finish_stmt (); ;
                   5701:     break;}
1.1.1.3 ! root     5702: case 514:
        !          5703: #line 2746 "cp-parse.y"
1.1       root     5704: {
                   5705:                  tree expr = yyvsp[-1].ttype;
                   5706:                  emit_line_note (input_filename, lineno);
                   5707:                  /* Do default conversion if safe and possibly important,
                   5708:                     in case within ({...}).  */
                   5709:                  if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
                   5710:                       && lvalue_p (expr))
                   5711:                      || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
                   5712:                    expr = default_conversion (expr);
                   5713:                  cplus_expand_expr_stmt (expr);
                   5714:                  clear_momentary ();
                   5715:                  finish_stmt (); ;
                   5716:     break;}
1.1.1.3 ! root     5717: case 515:
        !          5718: #line 2759 "cp-parse.y"
1.1       root     5719: { expand_start_else ();
                   5720:                  stmt_decl_msg = "else"; ;
                   5721:     break;}
1.1.1.3 ! root     5722: case 516:
        !          5723: #line 2762 "cp-parse.y"
1.1       root     5724: { expand_end_cond ();
                   5725:                  stmt_decl_msg = 0;
                   5726:                  finish_stmt (); ;
                   5727:     break;}
1.1.1.3 ! root     5728: case 517:
        !          5729: #line 2766 "cp-parse.y"
1.1       root     5730: { expand_end_cond ();
                   5731:                  stmt_decl_msg = 0;
                   5732:                  finish_stmt (); ;
                   5733:     break;}
1.1.1.3 ! root     5734: case 518:
        !          5735: #line 2770 "cp-parse.y"
1.1       root     5736: { emit_nop ();
                   5737:                  emit_line_note (input_filename, lineno);
                   5738:                  expand_start_loop (1); ;
                   5739:     break;}
1.1.1.3 ! root     5740: case 519:
        !          5741: #line 2774 "cp-parse.y"
1.1       root     5742: { expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
                   5743:                  stmt_decl_msg = "while"; ;
                   5744:     break;}
1.1.1.3 ! root     5745: case 520:
        !          5746: #line 2777 "cp-parse.y"
1.1       root     5747: { 
                   5748:                  expand_end_loop ();
                   5749:                  stmt_decl_msg = 0;
                   5750:                  finish_stmt (); ;
                   5751:     break;}
1.1.1.3 ! root     5752: case 521:
        !          5753: #line 2782 "cp-parse.y"
1.1       root     5754: { emit_nop ();
                   5755:                  emit_line_note (input_filename, lineno);
                   5756:                  expand_start_loop_continue_elsewhere (1);
                   5757:                  stmt_decl_msg = "do"; ;
                   5758:     break;}
1.1.1.3 ! root     5759: case 522:
        !          5760: #line 2787 "cp-parse.y"
1.1       root     5761: { stmt_decl_msg = 0;
                   5762:                  expand_loop_continue_here (); ;
                   5763:     break;}
1.1.1.3 ! root     5764: case 523:
        !          5765: #line 2790 "cp-parse.y"
1.1       root     5766: { emit_line_note (input_filename, lineno);
                   5767:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-2].ttype));
                   5768:                  expand_end_loop ();
                   5769:                  clear_momentary ();
                   5770:                  finish_stmt (); ;
                   5771:     break;}
1.1.1.3 ! root     5772: case 524:
        !          5773: #line 2796 "cp-parse.y"
1.1       root     5774: { emit_nop ();
                   5775:                  emit_line_note (input_filename, lineno);
                   5776:                  if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
                   5777:                  expand_start_loop_continue_elsewhere (1); ;
                   5778:     break;}
1.1.1.3 ! root     5779: case 525:
        !          5780: #line 2801 "cp-parse.y"
1.1       root     5781: { emit_line_note (input_filename, lineno);
                   5782:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5783:     break;}
1.1.1.3 ! root     5784: case 526:
        !          5785: #line 2806 "cp-parse.y"
1.1       root     5786: { push_momentary ();
                   5787:                  stmt_decl_msg = "for"; ;
                   5788:     break;}
1.1.1.3 ! root     5789: case 527:
        !          5790: #line 2809 "cp-parse.y"
1.1       root     5791: { emit_line_note (input_filename, lineno);
                   5792:                  expand_loop_continue_here ();
                   5793:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5794:                  pop_momentary ();
                   5795:                  expand_end_loop ();
                   5796:                  stmt_decl_msg = 0;
                   5797:                  finish_stmt (); ;
                   5798:     break;}
1.1.1.3 ! root     5799: case 528:
        !          5800: #line 2817 "cp-parse.y"
1.1       root     5801: { emit_nop ();
                   5802:                  emit_line_note (input_filename, lineno);
                   5803:                  expand_start_loop_continue_elsewhere (1); ;
                   5804:     break;}
1.1.1.3 ! root     5805: case 529:
        !          5806: #line 2821 "cp-parse.y"
1.1       root     5807: { emit_line_note (input_filename, lineno);
                   5808:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5809:     break;}
1.1.1.3 ! root     5810: case 530:
        !          5811: #line 2826 "cp-parse.y"
1.1       root     5812: { push_momentary ();
                   5813:                  stmt_decl_msg = "for";
                   5814:                  yyvsp[0].itype = lineno; ;
                   5815:     break;}
1.1.1.3 ! root     5816: case 531:
        !          5817: #line 2830 "cp-parse.y"
1.1       root     5818: { emit_line_note (input_filename, yyvsp[-2].itype);
                   5819:                  expand_loop_continue_here ();
                   5820:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5821:                  pop_momentary ();
                   5822:                  expand_end_loop ();
                   5823:                  pop_implicit_try_blocks (NULL_TREE);
                   5824:                  if (yyvsp[-8].itype)
                   5825:                    {
                   5826:                      register keep = yyvsp[-8].itype > 0;
                   5827:                      if (keep) expand_end_bindings (0, keep, 1);
                   5828:                      poplevel (keep, 1, 0);
                   5829:                      pop_momentary ();
                   5830:                    }
                   5831:                  stmt_decl_msg = 0;
                   5832:                  finish_stmt ();
                   5833:                ;
                   5834:     break;}
1.1.1.3 ! root     5835: case 532:
        !          5836: #line 2847 "cp-parse.y"
1.1       root     5837: { emit_line_note (input_filename, lineno);
                   5838:                  c_expand_start_case (yyvsp[-1].ttype);
                   5839:                  /* Don't let the tree nodes for $3 be discarded by
                   5840:                     clear_momentary during the parsing of the next stmt.  */
                   5841:                  push_momentary ();
                   5842:                  stmt_decl_msg = "switch"; ;
                   5843:     break;}
1.1.1.3 ! root     5844: case 533:
        !          5845: #line 2854 "cp-parse.y"
1.1       root     5846: { expand_end_case (yyvsp[-3].ttype);
                   5847:                  pop_momentary ();
                   5848:                  stmt_decl_msg = 0;
                   5849:                  finish_stmt (); ;
                   5850:     break;}
1.1.1.3 ! root     5851: case 534:
        !          5852: #line 2859 "cp-parse.y"
1.1       root     5853: { register tree value = yyvsp[-1].ttype;
                   5854:                  register tree label
                   5855:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   5856: 
                   5857:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5858:                     Strip such NOP_EXPRs.  */
                   5859:                  if (TREE_CODE (value) == NOP_EXPR
                   5860:                      && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   5861:                    value = TREE_OPERAND (value, 0);
                   5862: 
                   5863:                  if (TREE_READONLY_DECL_P (value))
                   5864:                    {
                   5865:                      value = decl_constant_value (value);
                   5866:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5867:                         Strip such NOP_EXPRs.  */
                   5868:                      if (TREE_CODE (value) == NOP_EXPR
                   5869:                          && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   5870:                        value = TREE_OPERAND (value, 0);
                   5871:                    }
                   5872:                  value = fold (value);
                   5873: 
                   5874:                  if (TREE_CODE (value) != INTEGER_CST
                   5875:                      && value != error_mark_node)
                   5876:                    {
                   5877:                      error ("case label does not reduce to an integer constant");
                   5878:                      value = error_mark_node;
                   5879:                    }
                   5880:                  else
                   5881:                    /* Promote char or short to int.  */
                   5882:                    value = default_conversion (value);
                   5883:                  if (value != error_mark_node)
                   5884:                    {
                   5885:                      tree duplicate;
                   5886:                      int success = pushcase (value, label, &duplicate);
                   5887:                      if (success == 1)
                   5888:                        error ("case label not within a switch statement");
                   5889:                      else if (success == 2)
                   5890:                        {
                   5891:                          error ("duplicate case value");
                   5892:                          error_with_decl (duplicate, "this is the first entry for that value");
                   5893:                        }
                   5894:                      else if (success == 3)
                   5895:                        warning ("case value out of range");
                   5896:                      else if (success == 5)
                   5897:                        error ("case label within scope of cleanup or variable array");
                   5898:                    }
                   5899:                  define_case_label (label);
                   5900:                ;
                   5901:     break;}
1.1.1.3 ! root     5902: case 536:
        !          5903: #line 2909 "cp-parse.y"
1.1       root     5904: { register tree value1 = yyvsp[-3].ttype;
                   5905:                  register tree value2 = yyvsp[-1].ttype;
                   5906:                  register tree label
                   5907:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   5908: 
                   5909:                  if (pedantic)
                   5910:                    {
                   5911:                      error ("ANSI C does not allow range expressions in switch statement");
                   5912:                      value1 = error_mark_node;
                   5913:                      value2 = error_mark_node;
                   5914:                      break;
                   5915:                    }
                   5916:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5917:                     Strip such NOP_EXPRs.  */
                   5918:                  if (TREE_CODE (value1) == NOP_EXPR
                   5919:                      && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   5920:                    value1 = TREE_OPERAND (value1, 0);
                   5921: 
                   5922:                  if (TREE_READONLY_DECL_P (value1))
                   5923:                    {
                   5924:                      value1 = decl_constant_value (value1);
                   5925:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5926:                         Strip such NOP_EXPRs.  */
                   5927:                      if (TREE_CODE (value1) == NOP_EXPR
                   5928:                          && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   5929:                        value1 = TREE_OPERAND (value1, 0);
                   5930:                    }
                   5931:                  value1 = fold (value1);
                   5932: 
                   5933:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5934:                     Strip such NOP_EXPRs.  */
                   5935:                  if (TREE_CODE (value2) == NOP_EXPR
                   5936:                      && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   5937:                    value2 = TREE_OPERAND (value2, 0);
                   5938: 
                   5939:                  if (TREE_READONLY_DECL_P (value2))
                   5940:                    {
                   5941:                      value2 = decl_constant_value (value2);
                   5942:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5943:                         Strip such NOP_EXPRs.  */
                   5944:                      if (TREE_CODE (value2) == NOP_EXPR
                   5945:                          && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   5946:                        value2 = TREE_OPERAND (value2, 0);
                   5947:                    }
                   5948:                  value2 = fold (value2);
                   5949: 
                   5950: 
                   5951:                  if (TREE_CODE (value1) != INTEGER_CST
                   5952:                      && value1 != error_mark_node)
                   5953:                    {
                   5954:                      error ("case label does not reduce to an integer constant");
                   5955:                      value1 = error_mark_node;
                   5956:                    }
                   5957:                  if (TREE_CODE (value2) != INTEGER_CST
                   5958:                      && value2 != error_mark_node)
                   5959:                    {
                   5960:                      error ("case label does not reduce to an integer constant");
                   5961:                      value2 = error_mark_node;
                   5962:                    }
                   5963:                  if (value1 != error_mark_node
                   5964:                      && value2 != error_mark_node)
                   5965:                    {
                   5966:                      tree duplicate;
1.1.1.2   root     5967:                      int success = pushcase_range (value1, value2, label,
                   5968:                                                    &duplicate);
1.1       root     5969:                      if (success == 1)
                   5970:                        error ("case label not within a switch statement");
                   5971:                      else if (success == 2)
                   5972:                        {
                   5973:                          error ("duplicate (or overlapping) case value");
                   5974:                          error_with_decl (duplicate, "this is the first entry overlapping that value");
                   5975:                        }
                   5976:                      else if (success == 3)
                   5977:                        warning ("case value out of range");
                   5978:                      else if (success == 4)
                   5979:                        warning ("empty range specified");
                   5980:                      else if (success == 5)
                   5981:                        error ("case label within scope of cleanup or variable array");
                   5982:                    }
                   5983:                  define_case_label (label);
                   5984:                ;
                   5985:     break;}
1.1.1.3 ! root     5986: case 538:
        !          5987: #line 2992 "cp-parse.y"
1.1       root     5988: {
                   5989:                  tree duplicate;
                   5990:                  register tree label
                   5991:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   5992:                  int success = pushcase (NULL_TREE, label, &duplicate);
                   5993:                  if (success == 1)
                   5994:                    error ("default label not within a switch statement");
                   5995:                  else if (success == 2)
                   5996:                    {
                   5997:                      error ("multiple default labels in one switch");
                   5998:                      error_with_decl (duplicate, "this is the first default label");
                   5999:                    }
                   6000:                  define_case_label (NULL_TREE);
                   6001:                ;
                   6002:     break;}
1.1.1.3 ! root     6003: case 540:
        !          6004: #line 3008 "cp-parse.y"
1.1       root     6005: { emit_line_note (input_filename, lineno);
                   6006:                  if ( ! expand_exit_something ())
                   6007:                    error ("break statement not within loop or switch"); ;
                   6008:     break;}
1.1.1.3 ! root     6009: case 541:
        !          6010: #line 3012 "cp-parse.y"
1.1       root     6011: { emit_line_note (input_filename, lineno);
                   6012:                  if (! expand_continue_loop (0))
                   6013:                    error ("continue statement not within a loop"); ;
                   6014:     break;}
1.1.1.3 ! root     6015: case 542:
        !          6016: #line 3016 "cp-parse.y"
1.1       root     6017: { emit_line_note (input_filename, lineno);
                   6018:                  c_expand_return (NULL_TREE); ;
                   6019:     break;}
1.1.1.3 ! root     6020: case 543:
        !          6021: #line 3019 "cp-parse.y"
1.1       root     6022: { emit_line_note (input_filename, lineno);
                   6023:                  c_expand_return (yyvsp[-1].ttype);
                   6024:                  finish_stmt ();
                   6025:                ;
                   6026:     break;}
1.1.1.3 ! root     6027: case 544:
        !          6028: #line 3024 "cp-parse.y"
1.1       root     6029: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   6030:                  emit_line_note (input_filename, lineno);
                   6031:                  expand_asm (yyvsp[-2].ttype);
                   6032:                  finish_stmt ();
                   6033:                ;
                   6034:     break;}
1.1.1.3 ! root     6035: case 545:
        !          6036: #line 3031 "cp-parse.y"
1.1       root     6037: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
                   6038:                  emit_line_note (input_filename, lineno);
                   6039:                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
                   6040:                                         yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
                   6041:                                         input_filename, lineno);
                   6042:                  finish_stmt ();
                   6043:                ;
                   6044:     break;}
1.1.1.3 ! root     6045: case 546:
        !          6046: #line 3040 "cp-parse.y"
1.1       root     6047: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
                   6048:                  emit_line_note (input_filename, lineno);
                   6049:                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
                   6050:                                         yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
                   6051:                                         input_filename, lineno);
                   6052:                  finish_stmt ();
                   6053:                ;
                   6054:     break;}
1.1.1.3 ! root     6055: case 547:
        !          6056: #line 3050 "cp-parse.y"
1.1       root     6057: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
                   6058:                  emit_line_note (input_filename, lineno);
                   6059:                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
                   6060:                                         yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
                   6061:                                         input_filename, lineno);
                   6062:                  finish_stmt ();
                   6063:                ;
                   6064:     break;}
1.1.1.3 ! root     6065: case 548:
        !          6066: #line 3058 "cp-parse.y"
1.1       root     6067: { tree decl;
                   6068:                  emit_line_note (input_filename, lineno);
                   6069:                  decl = lookup_label (yyvsp[-1].ttype);
                   6070:                  TREE_USED (decl) = 1;
                   6071:                  expand_goto (decl); ;
                   6072:     break;}
1.1.1.3 ! root     6073: case 549:
        !          6074: #line 3064 "cp-parse.y"
1.1       root     6075: { finish_stmt (); ;
                   6076:     break;}
1.1.1.3 ! root     6077: case 550:
        !          6078: #line 3066 "cp-parse.y"
1.1       root     6079: { error ("label must be followed by statement");
                   6080:                  yyungetc ('}', 0);
                   6081:                  finish_stmt (); ;
                   6082:     break;}
1.1.1.3 ! root     6083: case 551:
        !          6084: #line 3070 "cp-parse.y"
1.1       root     6085: { finish_stmt (); ;
                   6086:     break;}
1.1.1.3 ! root     6087: case 552:
        !          6088: #line 3073 "cp-parse.y"
1.1       root     6089: { cplus_expand_throw (NULL_TREE); ;
                   6090:     break;}
1.1.1.3 ! root     6091: case 553:
        !          6092: #line 3074 "cp-parse.y"
1.1       root     6093: { cplus_expand_throw (yyvsp[-1].ttype); ;
                   6094:     break;}
1.1.1.3 ! root     6095: case 554:
        !          6096: #line 3076 "cp-parse.y"
1.1       root     6097: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6098:                  finish_stmt (); ;
                   6099:     break;}
1.1.1.3 ! root     6100: case 555:
        !          6101: #line 3079 "cp-parse.y"
1.1       root     6102: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6103:                  finish_stmt (); ;
                   6104:     break;}
1.1.1.3 ! root     6105: case 556:
        !          6106: #line 3082 "cp-parse.y"
1.1       root     6107: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6108:                  finish_stmt (); ;
                   6109:     break;}
1.1.1.3 ! root     6110: case 557:
        !          6111: #line 3085 "cp-parse.y"
1.1       root     6112: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6113:                  finish_stmt (); ;
                   6114:     break;}
1.1.1.3 ! root     6115: case 558:
        !          6116: #line 3088 "cp-parse.y"
1.1       root     6117: { cplus_expand_reraise (yyvsp[-1].ttype);
                   6118:                  finish_stmt (); ;
                   6119:     break;}
1.1.1.3 ! root     6120: case 559:
        !          6121: #line 3091 "cp-parse.y"
1.1       root     6122: {
                   6123:                  tree decl = cplus_expand_end_try (yyvsp[-3].itype);
                   6124:                  yyvsp[-2].ttype = current_exception_type;
                   6125:                  yyvsp[0].ttype = current_exception_decl;
                   6126:                  yyval.ttype = current_exception_object;
                   6127:                  cplus_expand_start_except (yyvsp[-1].ttype, decl);
                   6128:                  pushlevel (0);
                   6129:                  clear_last_expr ();
                   6130:                  push_momentary ();
                   6131:                  expand_start_bindings (0);
                   6132:                  stmt_decl_msg = 0;
                   6133:                ;
                   6134:     break;}
1.1.1.3 ! root     6135: case 560:
        !          6136: #line 3104 "cp-parse.y"
1.1       root     6137: {
                   6138:                  tree decls = getdecls ();
                   6139:                  /* If there is a default exception to handle,
                   6140:                     handle it here.  */
                   6141:                  if (yyvsp[-1].ttype)
                   6142:                    {
                   6143:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6144:                      tree block;
                   6145: 
                   6146:                      pushlevel (1);
                   6147:                      expand_start_bindings (0);
                   6148:                      expand_expr (yyvsp[-1].ttype, 0, 0, 0);
                   6149:                      expand_end_bindings (0, 1, 0);
                   6150:                      block = poplevel (1, 0, 0);
                   6151: 
                   6152:                      /* This is a catch block.  */
                   6153:                      TREE_LANG_FLAG_2 (block) = 1;
                   6154:                      BLOCK_VARS (block) = decl;
                   6155:                    }
                   6156: 
                   6157:                  expand_end_bindings (decls, decls != 0, 1);
                   6158:                  poplevel (decls != 0, 1, 0);
                   6159:                  pop_momentary ();
                   6160:                  current_exception_type = yyvsp[-5].ttype;
                   6161:                  current_exception_decl = yyvsp[-3].ttype;
                   6162:                  current_exception_object = yyvsp[-2].ttype;
                   6163:                  cplus_expand_end_except (yyvsp[-1].ttype);
                   6164:                ;
                   6165:     break;}
1.1.1.3 ! root     6166: case 561:
        !          6167: #line 3133 "cp-parse.y"
1.1       root     6168: {
                   6169:                  cplus_expand_end_try (yyvsp[-1].itype);
                   6170:                  /* These are the important actions of
                   6171:                     `cplus_expand_end_except' which we must emulate.  */
                   6172:                  if (expand_escape_except ())
                   6173:                    expand_end_except ();
                   6174:                  expand_end_bindings (0, 0, 1);
                   6175:                  poplevel (0, 0, 0);
                   6176:                ;
                   6177:     break;}
1.1.1.3 ! root     6178: case 562:
        !          6179: #line 3143 "cp-parse.y"
1.1       root     6180: {
                   6181:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype);
                   6182:                  yyvsp[-1].ttype = current_exception_type;
                   6183:                  yyvsp[0].ttype = current_exception_decl;
                   6184:                  yyval.ttype = current_exception_object;
                   6185:                  cplus_expand_start_except (NULL, decl);
                   6186:                  pushlevel (0);
                   6187:                  clear_last_expr ();
                   6188:                  push_momentary ();
                   6189:                  expand_start_bindings (0);
                   6190:                  stmt_decl_msg = 0;
                   6191:                ;
                   6192:     break;}
1.1.1.3 ! root     6193: case 563:
        !          6194: #line 3156 "cp-parse.y"
1.1       root     6195: {
                   6196:                  tree decls = getdecls ();
                   6197:                  /* If there is a default exception to handle,
                   6198:                     handle it here.  */
                   6199:                  if (yyvsp[0].ttype)
                   6200:                    {
                   6201:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6202:                      tree block;
                   6203: 
                   6204:                      pushlevel (1);
                   6205:                      expand_start_bindings (0);
                   6206:                      expand_expr (yyvsp[0].ttype, 0, 0, 0);
                   6207:                      expand_end_bindings (0, 1, 0);
                   6208:                      block = poplevel (1, 0, 0);
                   6209: 
                   6210:                      /* This is a catch block.  */
                   6211:                      TREE_LANG_FLAG_2 (block) = 1;
                   6212:                      BLOCK_VARS (block) = decl;
                   6213:                    }
                   6214: 
                   6215:                  expand_end_bindings (decls, decls != 0, 1);
                   6216:                  poplevel (decls != 0, 1, 0);
                   6217:                  pop_momentary ();
                   6218:                  current_exception_type = yyvsp[-3].ttype;
                   6219:                  current_exception_decl = yyvsp[-2].ttype;
                   6220:                  current_exception_object = yyvsp[-1].ttype;
                   6221:                  cplus_expand_end_except (yyvsp[0].ttype);
                   6222:                ;
                   6223:     break;}
1.1.1.3 ! root     6224: case 564:
        !          6225: #line 3185 "cp-parse.y"
1.1       root     6226: { tree name = get_identifier ("(compiler error)");
                   6227:                  tree orig_ex_type = current_exception_type;
                   6228:                  tree orig_ex_decl = current_exception_decl;
                   6229:                  tree orig_ex_obj = current_exception_object;
                   6230:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype), decls;
                   6231: 
                   6232:                  /* Start hidden EXCEPT.  */
                   6233:                  cplus_expand_start_except (name, decl);
                   6234:                  pushlevel (0);
                   6235:                  clear_last_expr ();
                   6236:                  push_momentary ();
                   6237:                  expand_start_bindings (0);
                   6238:                  stmt_decl_msg = 0;
                   6239: 
                   6240:                  /* This sets up the reraise.  */
                   6241:                  cplus_expand_reraise (yyvsp[0].ttype);
                   6242: 
                   6243:                  decls = getdecls ();
                   6244:                  expand_end_bindings (decls, decls != 0, 1);
                   6245:                  poplevel (decls != 0, 1, 0);
                   6246:                  pop_momentary ();
                   6247:                  current_exception_type = orig_ex_type;
                   6248:                  current_exception_decl = orig_ex_decl;
                   6249:                  current_exception_object = orig_ex_obj;
                   6250:                  /* This will reraise for us.  */
                   6251:                  cplus_expand_end_except (error_mark_node);
                   6252:                  if (yychar == YYEMPTY)
                   6253:                    yychar = YYLEX;
                   6254:                  if (yychar != ';')
                   6255:                    error ("missing ';' after reraise statement");
                   6256:                ;
                   6257:     break;}
1.1.1.3 ! root     6258: case 565:
        !          6259: #line 3217 "cp-parse.y"
1.1       root     6260: { yyerror ("`except' missing after `try' statement");
                   6261:                  /* Terminate the binding contour started by special
                   6262:                     code in `.pushlevel'.  Automagically pops off
                   6263:                     the conditional we started for `try' stmt.  */
                   6264:                  cplus_expand_end_try (yyvsp[0].itype);
                   6265:                  expand_end_bindings (0, 0, 1);
                   6266:                  poplevel (0, 0, 0);
                   6267:                  pop_momentary ();
                   6268:                  YYERROR; ;
                   6269:     break;}
1.1.1.3 ! root     6270: case 566:
        !          6271: #line 3232 "cp-parse.y"
1.1       root     6272: {
                   6273:                  yyval.itype = 1;
                   6274:                  pop_implicit_try_blocks (NULL_TREE);
                   6275:                ;
                   6276:     break;}
1.1.1.3 ! root     6277: case 567:
        !          6278: #line 3237 "cp-parse.y"
1.1       root     6279: {
                   6280:                  yyval.itype = 1;
                   6281:                  pop_implicit_try_blocks (NULL_TREE);
                   6282:                ;
                   6283:     break;}
1.1.1.3 ! root     6284: case 568:
        !          6285: #line 3242 "cp-parse.y"
1.1       root     6286: {
                   6287:                  yyval.itype = 0;
                   6288:                  pop_implicit_try_blocks (NULL_TREE);
                   6289:                ;
                   6290:     break;}
1.1.1.3 ! root     6291: case 569:
        !          6292: #line 3250 "cp-parse.y"
1.1       root     6293: { tree label;
                   6294:                do_label:
                   6295:                  label = define_label (input_filename, lineno, yyvsp[-1].ttype);
                   6296:                  if (label)
                   6297:                    expand_label (label);
                   6298:                ;
                   6299:     break;}
1.1.1.3 ! root     6300: case 570:
        !          6301: #line 3257 "cp-parse.y"
1.1       root     6302: { goto do_label; ;
                   6303:     break;}
1.1.1.3 ! root     6304: case 571:
        !          6305: #line 3259 "cp-parse.y"
1.1       root     6306: { tree label = define_label (input_filename, lineno, yyvsp[0].ttype);
                   6307:                  if (label)
                   6308:                    expand_label (label);
                   6309:                ;
                   6310:     break;}
1.1.1.3 ! root     6311: case 572:
        !          6312: #line 3265 "cp-parse.y"
1.1       root     6313: { cplus_expand_start_try (0); ;
                   6314:     break;}
1.1.1.3 ! root     6315: case 574:
        !          6316: #line 3271 "cp-parse.y"
1.1       root     6317: {
                   6318:                  yyval.itype = 1;
                   6319:                  pop_implicit_try_blocks (NULL_TREE);
                   6320:                ;
                   6321:     break;}
1.1.1.3 ! root     6322: case 575:
        !          6323: #line 3276 "cp-parse.y"
1.1       root     6324: {
                   6325:                  yyval.itype = 1;
                   6326:                  pop_implicit_try_blocks (NULL_TREE);
                   6327:                ;
                   6328:     break;}
1.1.1.3 ! root     6329: case 576:
        !          6330: #line 3281 "cp-parse.y"
1.1       root     6331: {
                   6332:                  yyval.itype = 0;
                   6333:                  pop_implicit_try_blocks (NULL_TREE);
                   6334:                ;
                   6335:     break;}
1.1.1.3 ! root     6336: case 578:
        !          6337: #line 3288 "cp-parse.y"
1.1       root     6338: { cplus_expand_start_try (0); ;
                   6339:     break;}
1.1.1.3 ! root     6340: case 580:
        !          6341: #line 3292 "cp-parse.y"
1.1       root     6342: { yyval.ttype = NULL_TREE; ;
                   6343:     break;}
1.1.1.3 ! root     6344: case 581:
        !          6345: #line 3294 "cp-parse.y"
1.1       root     6346: {
                   6347:                  tree type = lookup_exception_type (current_class_type, current_class_name, yyvsp[0].ttype);
                   6348:                  if (type == NULL_TREE)
                   6349:                    {
                   6350:                      error ("`%s' is not an exception type",
                   6351:                             IDENTIFIER_POINTER (TREE_VALUE (yyvsp[0].ttype)));
                   6352:                      current_exception_type = NULL_TREE;
                   6353:                      TREE_TYPE (current_exception_object) = error_mark_node;
                   6354:                    }
                   6355:                  else
                   6356:                    {
                   6357:                      current_exception_type = type;
                   6358:                      /* In-place union.  */
                   6359:                      TREE_TYPE (current_exception_object) = type;
                   6360:                    }
                   6361:                  yyvsp[0].ttype = cplus_expand_start_catch (yyvsp[0].ttype);
                   6362:                  pushlevel (1);
                   6363:                  expand_start_bindings (0);
                   6364:                ;
                   6365:     break;}
1.1.1.3 ! root     6366: case 582:
        !          6367: #line 3314 "cp-parse.y"
1.1       root     6368: {
                   6369:                  expand_end_bindings (0, 1, 0);
                   6370:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6371: 
                   6372:                  cplus_expand_end_catch (0);
                   6373: 
                   6374:                  /* Mark this as a catch block.  */
                   6375:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6376:                  if (yyvsp[-2].ttype != error_mark_node)
                   6377:                    {
                   6378:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-2].ttype), 0);
                   6379:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-2].ttype);
                   6380:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6381:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6382:                    }
                   6383:                ;
                   6384:     break;}
1.1.1.3 ! root     6385: case 583:
        !          6386: #line 3331 "cp-parse.y"
1.1       root     6387: {
                   6388:                  if (yyvsp[-1].ttype)
                   6389:                    error ("duplicate default in exception handler");
                   6390:                  current_exception_type = NULL_TREE;
                   6391:                  /* Takes it right out of scope.  */
                   6392:                  TREE_TYPE (current_exception_object) = error_mark_node;
                   6393: 
                   6394:                  if (! expand_catch_default ())
                   6395:                    compiler_error ("default catch botch");
                   6396: 
                   6397:                  /* The default exception is handled as the
                   6398:                     last in the chain of exceptions handled.  */
                   6399:                  do_pending_stack_adjust ();
                   6400:                  start_sequence ();
                   6401:                  yyvsp[-1].ttype = make_node (RTL_EXPR);
                   6402:                  TREE_TYPE (yyvsp[-1].ttype) = void_type_node;
                   6403:                ;
                   6404:     break;}
1.1.1.3 ! root     6405: case 584:
        !          6406: #line 3349 "cp-parse.y"
1.1       root     6407: {
                   6408:                  do_pending_stack_adjust ();
                   6409:                  if (! expand_catch (NULL_TREE))
                   6410:                    compiler_error ("except nesting botch");
                   6411:                  if (! expand_end_catch ())
                   6412:                    compiler_error ("except nesting botch");
                   6413:                  RTL_EXPR_SEQUENCE (yyvsp[-3].ttype) = (struct rtx_def *)get_insns ();
                   6414:                  if (yyvsp[0].ttype)
                   6415:                    {
                   6416:                      /* Mark this block as the default catch block.  */
                   6417:                      TREE_LANG_FLAG_1 (yyvsp[0].ttype) = 1;
                   6418:                      TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6419:                    }
                   6420:                  end_sequence ();
                   6421:                ;
                   6422:     break;}
1.1.1.3 ! root     6423: case 585:
        !          6424: #line 3368 "cp-parse.y"
1.1       root     6425: { yyval.ttype = NULL_TREE; ;
                   6426:     break;}
1.1.1.3 ! root     6427: case 587:
        !          6428: #line 3373 "cp-parse.y"
1.1       root     6429: { yyval.ttype = NULL_TREE; ;
                   6430:     break;}
1.1.1.3 ! root     6431: case 588:
        !          6432: #line 3375 "cp-parse.y"
1.1       root     6433: {
                   6434:                  extern tree ansi_expand_start_catch ();
                   6435:                  extern tree cplus_exception_name ();
                   6436:                  tree type = groktypename (yyvsp[-2].ttype);
                   6437:                  current_exception_type = type;
                   6438:                  /* In-place union.  */
                   6439:                  if (yyvsp[-1].ttype)
                   6440:                    {
                   6441:                      tree tmp;
                   6442:                      tmp = pushdecl (build_decl (VAR_DECL, yyvsp[-1].ttype, type));
                   6443:                      current_exception_object =
                   6444:                          build1 (INDIRECT_REF, type, tmp);
                   6445:                     }
                   6446:                  yyvsp[-2].ttype = ansi_expand_start_catch(type);
                   6447:                  pushlevel (1);
                   6448:                  expand_start_bindings (0);
                   6449:                ;
                   6450:     break;}
1.1.1.3 ! root     6451: case 589:
        !          6452: #line 3393 "cp-parse.y"
1.1       root     6453: {
                   6454:                  expand_end_bindings (0, 1, 0);
                   6455:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6456: 
                   6457:                  cplus_expand_end_catch (0);
                   6458: 
                   6459:                  /* Mark this as a catch block.  */
                   6460:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6461:                  if (yyvsp[-4].ttype != error_mark_node)
                   6462:                    {
                   6463:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-4].ttype), 0);
                   6464:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-4].ttype);
                   6465:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6466:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6467:                    }
                   6468:                ;
                   6469:     break;}
1.1.1.3 ! root     6470: case 590:
        !          6471: #line 3413 "cp-parse.y"
1.1       root     6472: { yyval.ttype = NULL_TREE; ;
                   6473:     break;}
1.1.1.3 ! root     6474: case 591:
        !          6475: #line 3415 "cp-parse.y"
1.1       root     6476: { yyval.ttype = yyvsp[-1].ttype; ;
                   6477:     break;}
1.1.1.3 ! root     6478: case 592:
        !          6479: #line 3417 "cp-parse.y"
1.1       root     6480: { yyval.ttype = NULL_TREE; ;
                   6481:     break;}
1.1.1.3 ! root     6482: case 593:
        !          6483: #line 3422 "cp-parse.y"
1.1       root     6484: { yyval.itype = 0; ;
                   6485:     break;}
1.1.1.3 ! root     6486: case 594:
        !          6487: #line 3424 "cp-parse.y"
1.1       root     6488: { yyval.itype = 0; ;
                   6489:     break;}
1.1.1.3 ! root     6490: case 595:
        !          6491: #line 3426 "cp-parse.y"
1.1       root     6492: { yyval.itype = 1; ;
                   6493:     break;}
1.1.1.3 ! root     6494: case 596:
        !          6495: #line 3428 "cp-parse.y"
1.1       root     6496: { yyval.itype = -1; ;
                   6497:     break;}
1.1.1.3 ! root     6498: case 597:
        !          6499: #line 3435 "cp-parse.y"
1.1       root     6500: { if (pedantic)
1.1.1.3 ! root     6501:                    pedwarn ("ANSI C forbids use of `asm' keyword");
1.1       root     6502:                  emit_line_note (input_filename, lineno); ;
                   6503:     break;}
1.1.1.3 ! root     6504: case 598:
        !          6505: #line 3439 "cp-parse.y"
1.1       root     6506: { if (pedantic)
1.1.1.3 ! root     6507:                    pedwarn ("ANSI C forbids use of `asm' keyword");
1.1       root     6508:                  emit_line_note (input_filename, lineno); ;
                   6509:     break;}
1.1.1.3 ! root     6510: case 599:
        !          6511: #line 3446 "cp-parse.y"
1.1       root     6512: { yyval.ttype = NULL_TREE; ;
                   6513:     break;}
1.1.1.3 ! root     6514: case 601:
        !          6515: #line 3449 "cp-parse.y"
1.1       root     6516: { yyval.ttype = NULL_TREE; ;
                   6517:     break;}
1.1.1.3 ! root     6518: case 602:
        !          6519: #line 3455 "cp-parse.y"
1.1       root     6520: { yyval.ttype = NULL_TREE; ;
                   6521:     break;}
1.1.1.3 ! root     6522: case 605:
        !          6523: #line 3462 "cp-parse.y"
1.1       root     6524: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   6525:     break;}
1.1.1.3 ! root     6526: case 606:
        !          6527: #line 3467 "cp-parse.y"
1.1       root     6528: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
                   6529:     break;}
1.1.1.3 ! root     6530: case 607:
        !          6531: #line 3472 "cp-parse.y"
1.1       root     6532: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
                   6533:     break;}
1.1.1.3 ! root     6534: case 608:
        !          6535: #line 3474 "cp-parse.y"
1.1       root     6536: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   6537:     break;}
1.1.1.3 ! root     6538: case 609:
        !          6539: #line 3483 "cp-parse.y"
1.1       root     6540: {
                   6541:                  if (strict_prototype)
                   6542:                    yyval.ttype = void_list_node;
                   6543:                  else
                   6544:                    yyval.ttype = NULL_TREE;
                   6545:                ;
                   6546:     break;}
1.1.1.3 ! root     6547: case 610:
        !          6548: #line 3490 "cp-parse.y"
1.1       root     6549: {
                   6550:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6551:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6552:                ;
                   6553:     break;}
1.1.1.3 ! root     6554: case 611:
        !          6555: #line 3495 "cp-parse.y"
1.1       root     6556: {
                   6557:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6558:                ;
                   6559:     break;}
1.1.1.3 ! root     6560: case 612:
        !          6561: #line 3500 "cp-parse.y"
1.1       root     6562: {
                   6563:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6564:                ;
                   6565:     break;}
1.1.1.3 ! root     6566: case 613:
        !          6567: #line 3504 "cp-parse.y"
1.1       root     6568: {
                   6569:                  yyval.ttype = NULL_TREE;
                   6570:                ;
                   6571:     break;}
1.1.1.3 ! root     6572: case 614:
        !          6573: #line 3508 "cp-parse.y"
1.1       root     6574: {
                   6575:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6576:                ;
                   6577:     break;}
1.1.1.3 ! root     6578: case 615:
        !          6579: #line 3512 "cp-parse.y"
1.1       root     6580: {
                   6581:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6582:                ;
                   6583:     break;}
1.1.1.3 ! root     6584: case 616:
        !          6585: #line 3516 "cp-parse.y"
1.1       root     6586: {
                   6587:                  /* This helps us recover from really nasty
                   6588:                     parse errors, for example, a missing right
                   6589:                     parenthesis.  */
                   6590:                  yyerror ("possibly missing ')'");
                   6591:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6592:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6593:                  yyungetc (':', 0);
                   6594:                  yychar = ')';
                   6595:                ;
                   6596:     break;}
1.1.1.3 ! root     6597: case 617:
        !          6598: #line 3531 "cp-parse.y"
1.1       root     6599: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   6600:     break;}
1.1.1.3 ! root     6601: case 618:
        !          6602: #line 3533 "cp-parse.y"
1.1       root     6603: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
                   6604:     break;}
1.1.1.3 ! root     6605: case 619:
        !          6606: #line 3535 "cp-parse.y"
1.1       root     6607: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6608:     break;}
1.1.1.3 ! root     6609: case 620:
        !          6610: #line 3537 "cp-parse.y"
1.1       root     6611: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6612:     break;}
1.1.1.3 ! root     6613: case 621:
        !          6614: #line 3539 "cp-parse.y"
1.1       root     6615: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6616:     break;}
1.1.1.3 ! root     6617: case 622:
        !          6618: #line 3541 "cp-parse.y"
1.1       root     6619: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6620:     break;}
1.1.1.3 ! root     6621: case 623:
        !          6622: #line 3562 "cp-parse.y"
1.1       root     6623: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6624:                  see_typename (); ;
                   6625:     break;}
1.1.1.3 ! root     6626: case 624:
        !          6627: #line 3565 "cp-parse.y"
1.1       root     6628: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6629:                  see_typename (); ;
                   6630:     break;}
1.1.1.3 ! root     6631: case 627:
        !          6632: #line 3572 "cp-parse.y"
1.1       root     6633: { yyval.ttype = yyvsp[0].ttype; ;
                   6634:     break;}
1.1.1.3 ! root     6635: case 628:
        !          6636: #line 3576 "cp-parse.y"
1.1       root     6637: { see_typename (); ;
                   6638:     break;}
1.1.1.3 ! root     6639: case 629:
        !          6640: #line 3580 "cp-parse.y"
1.1       root     6641: { dont_see_typename (); ;
                   6642:     break;}
1.1.1.3 ! root     6643: case 630:
        !          6644: #line 3584 "cp-parse.y"
1.1       root     6645: {
                   6646:          if (yyvsp[-1].ttype == error_mark_node)
                   6647:             yyval.itype = 0;
                   6648:           else
                   6649:             {
                   6650:               yyval.itype = 1;
                   6651:               pushclass (yyvsp[-1].ttype, 1);
                   6652:             }
                   6653:         ;
                   6654:     break;}
1.1.1.3 ! root     6655: case 631:
        !          6656: #line 3597 "cp-parse.y"
1.1       root     6657: {
                   6658:                  warning ("type specifier omitted for parameter");
                   6659:                  yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
                   6660:                ;
                   6661:     break;}
1.1.1.3 ! root     6662: case 632:
        !          6663: #line 3605 "cp-parse.y"
1.1       root     6664: { yyval.ttype = NULL_TREE; ;
                   6665:     break;}
1.1.1.3 ! root     6666: case 633:
        !          6667: #line 3607 "cp-parse.y"
1.1       root     6668: { yyval.ttype = yyvsp[0].ttype; ;
                   6669:     break;}
1.1.1.3 ! root     6670: case 634:
        !          6671: #line 3609 "cp-parse.y"
1.1       root     6672: { yyval.ttype = yyvsp[-1].ttype; ;
                   6673:     break;}
1.1.1.3 ! root     6674: case 635:
        !          6675: #line 3614 "cp-parse.y"
1.1       root     6676: { yyval.ttype = void_list_node; ;
                   6677:     break;}
1.1.1.3 ! root     6678: case 636:
        !          6679: #line 3616 "cp-parse.y"
1.1       root     6680: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6681:     break;}
1.1.1.3 ! root     6682: case 637:
        !          6683: #line 3618 "cp-parse.y"
1.1       root     6684: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6685:     break;}
1.1.1.3 ! root     6686: case 638:
        !          6687: #line 3620 "cp-parse.y"
1.1       root     6688: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6689:     break;}
1.1.1.3 ! root     6690: case 639:
        !          6691: #line 3622 "cp-parse.y"
1.1       root     6692: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6693:     break;}
1.1.1.3 ! root     6694: case 640:
        !          6695: #line 3624 "cp-parse.y"
1.1       root     6696: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   6697:     break;}
1.1.1.3 ! root     6698: case 642:
        !          6699: #line 3630 "cp-parse.y"
1.1       root     6700: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6701:     break;}
1.1.1.3 ! root     6702: case 644:
        !          6703: #line 3636 "cp-parse.y"
1.1       root     6704: {
                   6705:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6706:                  yyval.ttype = yyvsp[0].ttype;
                   6707:                ;
                   6708:     break;}
1.1.1.3 ! root     6709: case 646:
        !          6710: #line 3645 "cp-parse.y"
1.1       root     6711: {
                   6712:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6713:                  yyval.ttype = yyvsp[0].ttype;
                   6714:                ;
                   6715:     break;}
1.1.1.3 ! root     6716: case 647:
        !          6717: #line 3653 "cp-parse.y"
1.1       root     6718: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
                   6719:     break;}
1.1.1.3 ! root     6720: case 648:
        !          6721: #line 3655 "cp-parse.y"
1.1       root     6722: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
                   6723:     break;}
1.1.1.3 ! root     6724: case 649:
        !          6725: #line 3657 "cp-parse.y"
1.1       root     6726: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
                   6727:     break;}
1.1.1.3 ! root     6728: case 650:
        !          6729: #line 3659 "cp-parse.y"
1.1       root     6730: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
                   6731:     break;}
1.1.1.3 ! root     6732: case 651:
        !          6733: #line 3661 "cp-parse.y"
1.1       root     6734: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
                   6735:     break;}
1.1.1.3 ! root     6736: case 652:
        !          6737: #line 3663 "cp-parse.y"
1.1       root     6738: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
                   6739:     break;}
1.1.1.3 ! root     6740: case 653:
        !          6741: #line 3665 "cp-parse.y"
1.1       root     6742: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
                   6743:     break;}
1.1.1.3 ! root     6744: case 654:
        !          6745: #line 3667 "cp-parse.y"
1.1       root     6746: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
                   6747:     break;}
1.1.1.3 ! root     6748: case 655:
        !          6749: #line 3669 "cp-parse.y"
1.1       root     6750: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
                   6751:     break;}
1.1.1.3 ! root     6752: case 656:
        !          6753: #line 3671 "cp-parse.y"
1.1       root     6754: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
                   6755:     break;}
1.1.1.3 ! root     6756: case 657:
        !          6757: #line 3673 "cp-parse.y"
1.1       root     6758: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6759:     break;}
1.1.1.3 ! root     6760: case 658:
        !          6761: #line 3675 "cp-parse.y"
1.1       root     6762: { yyval.ttype = ansi_opname[LT_EXPR]; ;
                   6763:     break;}
1.1.1.3 ! root     6764: case 659:
        !          6765: #line 3677 "cp-parse.y"
1.1       root     6766: { yyval.ttype = ansi_opname[GT_EXPR]; ;
                   6767:     break;}
1.1.1.3 ! root     6768: case 660:
        !          6769: #line 3679 "cp-parse.y"
1.1       root     6770: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6771:     break;}
1.1.1.3 ! root     6772: case 661:
        !          6773: #line 3681 "cp-parse.y"
1.1       root     6774: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
                   6775:     break;}
1.1.1.3 ! root     6776: case 662:
        !          6777: #line 3683 "cp-parse.y"
1.1       root     6778: {
                   6779:                  yyval.ttype = ansi_opname [MODIFY_EXPR];
                   6780:                  if (current_class_type)
                   6781:                    {
                   6782:                      TYPE_HAS_ASSIGNMENT (current_class_type) = 1;
                   6783:                      TYPE_GETS_ASSIGNMENT (current_class_type) = 1;
                   6784:                    }
                   6785:                ;
                   6786:     break;}
1.1.1.3 ! root     6787: case 663:
        !          6788: #line 3692 "cp-parse.y"
1.1       root     6789: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6790:     break;}
1.1.1.3 ! root     6791: case 664:
        !          6792: #line 3694 "cp-parse.y"
1.1       root     6793: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6794:     break;}
1.1.1.3 ! root     6795: case 665:
        !          6796: #line 3696 "cp-parse.y"
1.1       root     6797: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
                   6798:     break;}
1.1.1.3 ! root     6799: case 666:
        !          6800: #line 3698 "cp-parse.y"
1.1       root     6801: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
                   6802:     break;}
1.1.1.3 ! root     6803: case 667:
        !          6804: #line 3700 "cp-parse.y"
1.1       root     6805: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
                   6806:     break;}
1.1.1.3 ! root     6807: case 668:
        !          6808: #line 3702 "cp-parse.y"
1.1       root     6809: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
                   6810:     break;}
1.1.1.3 ! root     6811: case 669:
        !          6812: #line 3704 "cp-parse.y"
1.1       root     6813: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
                   6814:     break;}
1.1.1.3 ! root     6815: case 670:
        !          6816: #line 3706 "cp-parse.y"
1.1       root     6817: { yyval.ttype = ansi_opname[COND_EXPR]; ;
                   6818:     break;}
1.1.1.3 ! root     6819: case 671:
        !          6820: #line 3708 "cp-parse.y"
1.1       root     6821: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6822:     break;}
1.1.1.3 ! root     6823: case 672:
        !          6824: #line 3710 "cp-parse.y"
1.1       root     6825: { yyval.ttype = ansi_opname[COMPONENT_REF];
                   6826:                  if (current_class_type)
                   6827:                    {
                   6828:                      tree t = current_class_type;
                   6829:                      while (t)
                   6830:                        {
                   6831:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6832:                          t = TYPE_NEXT_VARIANT (t);
                   6833:                        }
                   6834:                    }
                   6835:                ;
                   6836:     break;}
1.1.1.3 ! root     6837: case 673:
        !          6838: #line 3722 "cp-parse.y"
1.1       root     6839: { yyval.ttype = ansi_opname[MEMBER_REF];
                   6840:                  if (current_class_type)
                   6841:                    {
                   6842:                      tree t = current_class_type;
                   6843:                      while (t)
                   6844:                        {
                   6845:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6846:                          t = TYPE_NEXT_VARIANT (t);
                   6847:                        }
                   6848:                    }
                   6849:                ;
                   6850:     break;}
1.1.1.3 ! root     6851: case 674:
        !          6852: #line 3734 "cp-parse.y"
1.1       root     6853: {
                   6854:                  if (yychar == YYEMPTY)
                   6855:                    yychar = YYLEX;
                   6856:                  if (yychar == '(' || yychar == LEFT_RIGHT)
                   6857:                    {
                   6858:                      yyval.ttype = ansi_opname[METHOD_CALL_EXPR];
                   6859:                      if (current_class_type)
                   6860:                        {
                   6861:                          tree t = current_class_type;
                   6862:                          while (t)
                   6863:                            {
                   6864:                              TYPE_OVERLOADS_METHOD_CALL_EXPR (t) = 1;
                   6865:                              t = TYPE_NEXT_VARIANT (t);
                   6866:                            }
                   6867:                        }
                   6868:                    }
                   6869:                  else
                   6870:                    {
                   6871:                      yyval.ttype = build_parse_node (CALL_EXPR, ansi_opname[COMPONENT_REF], void_list_node, yyvsp[0].ttype);
                   6872:                      if (current_class_type)
                   6873:                        {
                   6874:                          tree t = current_class_type;
                   6875:                          while (t)
                   6876:                            {
                   6877:                              TYPE_OVERLOADS_ARROW (t) = 1;
                   6878:                              t = TYPE_NEXT_VARIANT (t);
                   6879:                            }
                   6880:                        }
                   6881:                    }
                   6882:                ;
                   6883:     break;}
1.1.1.3 ! root     6884: case 675:
        !          6885: #line 3765 "cp-parse.y"
1.1       root     6886: { yyval.ttype = ansi_opname[CALL_EXPR];
                   6887:                  if (current_class_type)
                   6888:                    {
                   6889:                      tree t = current_class_type;
                   6890:                      while (t)
                   6891:                        {
                   6892:                          TYPE_OVERLOADS_CALL_EXPR (t) = 1;
                   6893:                          t = TYPE_NEXT_VARIANT (t);
                   6894:                        }
                   6895:                    }
                   6896:                ;
                   6897:     break;}
1.1.1.3 ! root     6898: case 676:
        !          6899: #line 3777 "cp-parse.y"
1.1       root     6900: { yyval.ttype = ansi_opname[ARRAY_REF];
                   6901:                  if (current_class_type)
                   6902:                    {
                   6903:                      tree t = current_class_type;
                   6904:                      while (t)
                   6905:                        {
                   6906:                          TYPE_OVERLOADS_ARRAY_REF (t) = 1;
                   6907:                          t = TYPE_NEXT_VARIANT (t);
                   6908:                        }
                   6909:                    }
                   6910:                ;
                   6911:     break;}
1.1.1.3 ! root     6912: case 677:
        !          6913: #line 3789 "cp-parse.y"
1.1       root     6914: {
                   6915:                  yyval.ttype = ansi_opname[NEW_EXPR];
                   6916:                  if (current_class_type)
                   6917:                    {
                   6918:                      tree t = current_class_type;
                   6919:                      while (t)
                   6920:                        {
                   6921:                          TREE_GETS_NEW (t) = 1;
                   6922:                          t = TYPE_NEXT_VARIANT (t);
                   6923:                        }
                   6924:                    }
                   6925:                ;
                   6926:     break;}
1.1.1.3 ! root     6927: case 678:
        !          6928: #line 3802 "cp-parse.y"
1.1       root     6929: {
                   6930:                  yyval.ttype = ansi_opname[DELETE_EXPR];
                   6931:                  if (current_class_type)
                   6932:                    {
                   6933:                      tree t = current_class_type;
                   6934:                      while (t)
                   6935:                        {
                   6936:                          TREE_GETS_DELETE (t) = 1;
                   6937:                          t = TYPE_NEXT_VARIANT (t);
                   6938:                        }
                   6939:                    }
                   6940:                ;
                   6941:     break;}
1.1.1.3 ! root     6942: case 679:
        !          6943: #line 3818 "cp-parse.y"
1.1       root     6944: {
                   6945:                  yyval.ttype = build1 (TYPE_EXPR, yyvsp[-1].ttype, yyvsp[0].ttype);
                   6946:                ;
                   6947:     break;}
1.1.1.3 ! root     6948: case 680:
        !          6949: #line 3822 "cp-parse.y"
1.1       root     6950: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
                   6951:     break;}
                   6952: }
                   6953:    /* the action file gets copied in in place of this dollarsign */
                   6954: #line 440 "bison.simple"
                   6955: 
                   6956:   yyvsp -= yylen;
                   6957:   yyssp -= yylen;
                   6958: #ifdef YYLSP_NEEDED
                   6959:   yylsp -= yylen;
                   6960: #endif
                   6961: 
                   6962: #if YYDEBUG != 0
                   6963:   if (yydebug)
                   6964:     {
                   6965:       short *ssp1 = yyss - 1;
                   6966:       fprintf (stderr, "state stack now");
                   6967:       while (ssp1 != yyssp)
                   6968:        fprintf (stderr, " %d", *++ssp1);
                   6969:       fprintf (stderr, "\n");
                   6970:     }
                   6971: #endif
                   6972: 
                   6973:   *++yyvsp = yyval;
                   6974: 
                   6975: #ifdef YYLSP_NEEDED
                   6976:   yylsp++;
                   6977:   if (yylen == 0)
                   6978:     {
                   6979:       yylsp->first_line = yylloc.first_line;
                   6980:       yylsp->first_column = yylloc.first_column;
                   6981:       yylsp->last_line = (yylsp-1)->last_line;
                   6982:       yylsp->last_column = (yylsp-1)->last_column;
                   6983:       yylsp->text = 0;
                   6984:     }
                   6985:   else
                   6986:     {
                   6987:       yylsp->last_line = (yylsp+yylen-1)->last_line;
                   6988:       yylsp->last_column = (yylsp+yylen-1)->last_column;
                   6989:     }
                   6990: #endif
                   6991: 
                   6992:   /* Now "shift" the result of the reduction.
                   6993:      Determine what state that goes to,
                   6994:      based on the state we popped back to
                   6995:      and the rule number reduced by.  */
                   6996: 
                   6997:   yyn = yyr1[yyn];
                   6998: 
                   6999:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
                   7000:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   7001:     yystate = yytable[yystate];
                   7002:   else
                   7003:     yystate = yydefgoto[yyn - YYNTBASE];
                   7004: 
                   7005:   goto yynewstate;
                   7006: 
                   7007: yyerrlab:   /* here on detecting error */
                   7008: 
                   7009:   if (! yyerrstatus)
                   7010:     /* If not already recovering from an error, report this error.  */
                   7011:     {
                   7012:       ++yynerrs;
                   7013: 
                   7014: #ifdef YYERROR_VERBOSE
                   7015:       yyn = yypact[yystate];
                   7016: 
                   7017:       if (yyn > YYFLAG && yyn < YYLAST)
                   7018:        {
                   7019:          int size = 0;
                   7020:          char *msg;
                   7021:          int x, count;
                   7022: 
                   7023:          count = 0;
                   7024:          for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   7025:            if (yycheck[x + yyn] == x)
                   7026:              size += strlen(yytname[x]) + 15, count++;
1.1.1.3 ! root     7027:          msg = (char *) malloc(size + 15);
        !          7028:          if (msg != 0)
1.1.1.2   root     7029:            {
1.1.1.3 ! root     7030:              strcpy(msg, "parse error");
        !          7031: 
        !          7032:              if (count < 5)
        !          7033:                {
        !          7034:                  count = 0;
        !          7035:                  for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
        !          7036:                    if (yycheck[x + yyn] == x)
        !          7037:                      {
        !          7038:                        strcat(msg, count == 0 ? ", expecting `" : " or `");
        !          7039:                        strcat(msg, yytname[x]);
        !          7040:                        strcat(msg, "'");
        !          7041:                        count++;
        !          7042:                      }
        !          7043:                }
        !          7044:              yyerror(msg);
        !          7045:              free(msg);
1.1       root     7046:            }
1.1.1.3 ! root     7047:          else
        !          7048:            yyerror ("parse error; also virtual memory exceeded");
1.1       root     7049:        }
                   7050:       else
                   7051: #endif /* YYERROR_VERBOSE */
                   7052:        yyerror("parse error");
                   7053:     }
                   7054: 
                   7055: yyerrlab1:   /* here on error raised explicitly by an action */
                   7056: 
                   7057:   if (yyerrstatus == 3)
                   7058:     {
                   7059:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
                   7060: 
                   7061:       /* return failure if at end of input */
                   7062:       if (yychar == YYEOF)
                   7063:        YYABORT;
                   7064: 
                   7065: #if YYDEBUG != 0
                   7066:       if (yydebug)
                   7067:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
                   7068: #endif
                   7069: 
                   7070:       yychar = YYEMPTY;
                   7071:     }
                   7072: 
                   7073:   /* Else will try to reuse lookahead token
                   7074:      after shifting the error token.  */
                   7075: 
                   7076:   yyerrstatus = 3;             /* Each real token shifted decrements this */
                   7077: 
                   7078:   goto yyerrhandle;
                   7079: 
                   7080: yyerrdefault:  /* current state does not do anything special for the error token. */
                   7081: 
                   7082: #if 0
                   7083:   /* This is wrong; only states that explicitly want error tokens
                   7084:      should shift them.  */
                   7085:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
                   7086:   if (yyn) goto yydefault;
                   7087: #endif
                   7088: 
                   7089: yyerrpop:   /* pop the current state because it cannot handle the error token */
                   7090: 
                   7091:   if (yyssp == yyss) YYABORT;
                   7092:   yyvsp--;
                   7093:   yystate = *--yyssp;
                   7094: #ifdef YYLSP_NEEDED
                   7095:   yylsp--;
                   7096: #endif
                   7097: 
                   7098: #if YYDEBUG != 0
                   7099:   if (yydebug)
                   7100:     {
                   7101:       short *ssp1 = yyss - 1;
                   7102:       fprintf (stderr, "Error: state stack now");
                   7103:       while (ssp1 != yyssp)
                   7104:        fprintf (stderr, " %d", *++ssp1);
                   7105:       fprintf (stderr, "\n");
                   7106:     }
                   7107: #endif
                   7108: 
                   7109: yyerrhandle:
                   7110: 
                   7111:   yyn = yypact[yystate];
                   7112:   if (yyn == YYFLAG)
                   7113:     goto yyerrdefault;
                   7114: 
                   7115:   yyn += YYTERROR;
                   7116:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
                   7117:     goto yyerrdefault;
                   7118: 
                   7119:   yyn = yytable[yyn];
                   7120:   if (yyn < 0)
                   7121:     {
                   7122:       if (yyn == YYFLAG)
                   7123:        goto yyerrpop;
                   7124:       yyn = -yyn;
                   7125:       goto yyreduce;
                   7126:     }
                   7127:   else if (yyn == 0)
                   7128:     goto yyerrpop;
                   7129: 
                   7130:   if (yyn == YYFINAL)
                   7131:     YYACCEPT;
                   7132: 
                   7133: #if YYDEBUG != 0
                   7134:   if (yydebug)
                   7135:     fprintf(stderr, "Shifting error token, ");
                   7136: #endif
                   7137: 
                   7138:   *++yyvsp = yylval;
                   7139: #ifdef YYLSP_NEEDED
                   7140:   *++yylsp = yylloc;
                   7141: #endif
                   7142: 
                   7143:   yystate = yyn;
                   7144:   goto yynewstate;
                   7145: }
1.1.1.3 ! root     7146: #line 3825 "cp-parse.y"
1.1.1.2   root     7147: 
1.1       root     7148: 
1.1.1.2   root     7149: tree
                   7150: get_current_declspecs ()
                   7151: {
                   7152:   return current_declspecs;
                   7153: }
1.1       root     7154: 
                   7155: #if YYDEBUG != 0
                   7156: db_yyerror (s, yyps, yychar)
                   7157:      char *s;
                   7158:      short *yyps;
                   7159:      int yychar;
                   7160: {
                   7161:   FILE *yyout;
                   7162:   char buf[1024];
                   7163:   int st;
                   7164: 
                   7165:   yyerror (s);
                   7166:   printf ("State is %d, input token number is %d.\n", *yyps, yychar);
                   7167: 
                   7168: #ifdef PARSE_OUTPUT
                   7169:   if (*yyps < 1) fatal ("Cannot start from here");
                   7170:   else if ((yyout = fopen (PARSE_OUTPUT, "r")) == NULL)
                   7171:     error ("cannot open file %s", PARSE_OUTPUT);
                   7172:   else
                   7173:     {
                   7174:       printf ("That is to say,\n\n");
                   7175:       while (fgets(buf, sizeof (buf)-1, yyout))
                   7176:        {
                   7177:          if (buf[0] != 's') continue;
                   7178:          st = atoi (buf+6);
                   7179:          if (st != *yyps) continue;
                   7180:          printf ("%s", buf);
                   7181:          while (fgets (buf, sizeof (buf)-1, yyout))
                   7182:            {
                   7183:              if (buf[0] == 's') break;
                   7184:              printf ("%s", buf);
                   7185:            }
                   7186:          break;
                   7187:        }
                   7188:       printf ("With the token %s\n", yytname[YYTRANSLATE (yychar)]);
                   7189:       fclose (yyout);
                   7190:     }
                   7191: #endif
                   7192: }
                   7193: #endif
                   7194: 
                   7195: void
                   7196: yyerror (string)
                   7197:      char *string;
                   7198: {
                   7199:   extern int end_of_file;
                   7200:   extern char *token_buffer;
                   7201:   extern int input_redirected ();
                   7202:   char buf[200];
                   7203: 
                   7204:   strcpy (buf, string);
                   7205: 
                   7206:   /* We can't print string and character constants well
                   7207:      because the token_buffer contains the result of processing escapes.  */
                   7208:   if (end_of_file)
                   7209:     strcat (buf, input_redirected ()
                   7210:            ? " at end of saved text"
                   7211:            : " at end of input");
                   7212:   else if (token_buffer[0] == 0)
                   7213:     strcat (buf, " at null character");
                   7214:   else if (token_buffer[0] == '"')
                   7215:     strcat (buf, " before string constant");
                   7216:   else if (token_buffer[0] == '\'')
                   7217:     strcat (buf, " before character constant");
                   7218:   else if (token_buffer[0] < 040 || (unsigned char) token_buffer[0] >= 0177)
                   7219:     sprintf (buf + strlen (buf), " before character 0%o",
                   7220:             (unsigned char) token_buffer[0]);
                   7221:   else
                   7222:     strcat (buf, " before `%s'");
                   7223: 
                   7224:   error (buf, token_buffer);
                   7225: }
                   7226: 
                   7227: static
                   7228: #ifdef __GNUC__
                   7229: __inline
                   7230: #endif
                   7231: void
                   7232: yyprint (file, yychar, yylval)
                   7233:      FILE *file;
                   7234:      int yychar;
                   7235:      YYSTYPE yylval;
                   7236: {
                   7237:   tree t;
                   7238:   switch (yychar)
                   7239:     {
                   7240:     case IDENTIFIER:
                   7241:     case TYPENAME:
                   7242:     case TYPESPEC:
                   7243:     case PTYPENAME:
                   7244:     case IDENTIFIER_DEFN:
                   7245:     case TYPENAME_DEFN:
                   7246:     case PTYPENAME_DEFN:
                   7247:     case TYPENAME_COLON:
                   7248:     case TYPENAME_ELLIPSIS:
                   7249:     case SCOPED_TYPENAME:
                   7250:     case SCSPEC:
                   7251:       t = yylval.ttype;
                   7252:     print_id:
                   7253:       assert (TREE_CODE (t) == IDENTIFIER_NODE);
                   7254:       if (IDENTIFIER_POINTER (t))
                   7255:          fprintf (file, " `%s'", IDENTIFIER_POINTER (t));
                   7256:       break;
                   7257:     case AGGR:
                   7258:       if (yylval.ttype == class_type_node)
                   7259:        fprintf (file, " `class'");
                   7260:       else if (yylval.ttype == record_type_node)
                   7261:        fprintf (file, " `struct'");
                   7262:       else if (yylval.ttype == union_type_node)
                   7263:        fprintf (file, " `union'");
                   7264:       else if (yylval.ttype == enum_type_node)
                   7265:        fprintf (file, " `enum'");
                   7266:       else
1.1.1.3 ! root     7267:        my_friendly_abort (80);
1.1       root     7268:       break;
                   7269:     case PRE_PARSED_CLASS_DECL:
                   7270:       t = yylval.ttype;
                   7271:       assert (TREE_CODE (t) == TREE_LIST);
                   7272:       t = TREE_VALUE (t);
                   7273:       goto print_id;
                   7274:     }
                   7275: }
                   7276: 
                   7277: static int *reduce_count;
                   7278: int *token_count;
                   7279: 
                   7280: #define REDUCE_LENGTH (sizeof (yyr2) / sizeof (yyr2[0]))
                   7281: #define TOKEN_LENGTH (256 + sizeof (yytname) / sizeof (yytname[0]))
                   7282: 
                   7283: int *
                   7284: init_parse ()
                   7285: {
                   7286: #ifdef GATHER_STATISTICS
                   7287:   reduce_count = (int *)malloc (sizeof (int) * (REDUCE_LENGTH + 1));
                   7288:   bzero (reduce_count, sizeof (int) * (REDUCE_LENGTH + 1));
                   7289:   reduce_count += 1;
                   7290:   token_count = (int *)malloc (sizeof (int) * (TOKEN_LENGTH + 1));
                   7291:   bzero (token_count, sizeof (int) * (TOKEN_LENGTH + 1));
                   7292:   token_count += 1;
                   7293: #endif
                   7294:   return token_count;
                   7295: }
                   7296: 
                   7297: #ifdef GATHER_STATISTICS
                   7298: void
                   7299: yyhook (yyn)
                   7300:      int yyn;
                   7301: {
                   7302:   reduce_count[yyn] += 1;
                   7303: }
                   7304: #endif
                   7305: 
                   7306: static int
                   7307: reduce_cmp (p, q)
                   7308:      int *p, *q;
                   7309: {
                   7310:   return reduce_count[*q] - reduce_count[*p];
                   7311: }
                   7312: 
                   7313: static int
                   7314: token_cmp (p, q)
                   7315:      int *p, *q;
                   7316: {
                   7317:   return token_count[*q] - token_count[*p];
                   7318: }
                   7319: 
                   7320: void
                   7321: print_parse_statistics ()
                   7322: {
                   7323: #if YYDEBUG != 0
                   7324:   int i;
                   7325:   int maxlen = REDUCE_LENGTH;
                   7326:   unsigned *sorted;
                   7327:   
                   7328:   if (reduce_count[-1] == 0)
                   7329:     return;
                   7330: 
                   7331:   if (TOKEN_LENGTH > REDUCE_LENGTH)
                   7332:     maxlen = TOKEN_LENGTH;
                   7333:   sorted = (unsigned *) alloca (sizeof (int) * maxlen);
                   7334: 
                   7335:   for (i = 0; i < TOKEN_LENGTH; i++)
                   7336:     sorted[i] = i;
                   7337:   qsort (sorted, TOKEN_LENGTH, sizeof (int), token_cmp);
                   7338:   for (i = 0; i < TOKEN_LENGTH; i++)
                   7339:     {
                   7340:       int index = sorted[i];
                   7341:       if (token_count[index] == 0)
                   7342:        break;
                   7343:       if (token_count[index] < token_count[-1])
                   7344:        break;
                   7345:       fprintf (stderr, "token %d, `%s', count = %d\n",
                   7346:               index, yytname[YYTRANSLATE (index)], token_count[index]);
                   7347:     }
                   7348:   fprintf (stderr, "\n");
                   7349:   for (i = 0; i < REDUCE_LENGTH; i++)
                   7350:     sorted[i] = i;
                   7351:   qsort (sorted, REDUCE_LENGTH, sizeof (int), reduce_cmp);
                   7352:   for (i = 0; i < REDUCE_LENGTH; i++)
                   7353:     {
                   7354:       int index = sorted[i];
                   7355:       if (reduce_count[index] == 0)
                   7356:        break;
                   7357:       if (reduce_count[index] < reduce_count[-1])
                   7358:        break;
                   7359:       fprintf (stderr, "rule %d, line %d, count = %d\n",
                   7360:               index, yyrline[index], reduce_count[index]);
                   7361:     }
                   7362:   fprintf (stderr, "\n");
                   7363: #endif
                   7364: }
                   7365: 
                   7366: 
1.1.1.2   root     7367: /* Sets the value of the 'yydebug' variable to VALUE.
1.1       root     7368:    This is a function so we don't have to have YYDEBUG defined
                   7369:    in order to build the compiler.  */
                   7370: void
                   7371: set_yydebug (value)
                   7372:      int value;
                   7373: {
                   7374: #if YYDEBUG != 0
                   7375:   yydebug = value;
                   7376: #else
                   7377:   warning ("YYDEBUG not defined.");
                   7378: #endif
                   7379: }
                   7380: 
                   7381: #ifdef SPEW_DEBUG
                   7382: const char *
                   7383: debug_yytranslate (value)
                   7384:     int value;
                   7385: {
                   7386: #if YYDEBUG != 0
                   7387:   return yytname[YYTRANSLATE (value)];
                   7388: #else
                   7389:   return "YYDEBUG not defined.";
                   7390: #endif
                   7391: }
                   7392: 
                   7393: #endif

unix.superglobalmegacorp.com

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