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

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.2 ! root      214: #define        YYFINAL         1240
1.1       root      215: #define        YYFLAG          -32768
1.1.1.2 ! root      216: #define        YYNTBASE        109
1.1       root      217: 
1.1.1.2 ! root      218: #define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 300)
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,
        !           288:   1043,  1045,  1049,  1051,  1055,  1057,  1060,  1064,  1069,  1071,
        !           289:   1073,  1077,  1082,  1089,  1093,  1099,  1100,  1108,  1113,  1114,
        !           290:   1121,  1125,  1128,  1133,  1135,  1136,  1138,  1139,  1141,  1143,
        !           291:   1146,  1152,  1155,  1158,  1161,  1164,  1167,  1170,  1173,  1177,
        !           292:   1181,  1184,  1185,  1189,  1190,  1194,  1197,  1199,  1201,  1202,
        !           293:   1204,  1207,  1209,  1213,  1215,  1218,  1222,  1224,  1226,  1228,
        !           294:   1231,  1234,  1236,  1237,  1239,  1244,  1248,  1250,  1253,  1256,
        !           295:   1260,  1266,  1272,  1276,  1280,  1284,  1288,  1292,  1298,  1304,
        !           296:   1308,  1312,  1316,  1320,  1322,  1325,  1328,  1332,  1336,  1337,
        !           297:   1339,  1343,  1347,  1353,  1357,  1360,  1363,  1367,  1373,  1377,
        !           298:   1380,  1383,  1385,  1389,  1391,  1395,  1398,  1401,  1402,  1404,
        !           299:   1407,  1409,  1412,  1413,  1416,  1417,  1420,  1426,  1432,  1436,
        !           300:   1442,  1447,  1451,  1455,  1461,  1463,  1465,  1471,  1475,  1479,
        !           301:   1481,  1487,  1493,  1497,  1503,  1508,  1512,  1516,  1518,  1520,
        !           302:   1524,  1528,  1534,  1540,  1544,  1550,  1554,  1558,  1562,  1567,
        !           303:   1571,  1573,  1575,  1578,  1581,  1584,  1587,  1591,  1595,  1599,
        !           304:   1603,  1611,  1619,  1625,  1633,  1637,  1645,  1653,  1659,  1667,
        !           305:   1671,  1673,  1677,  1680,  1682,  1686,  1690,  1693,  1695,  1699,
        !           306:   1703,  1706,  1712,  1716,  1721,  1725,  1730,  1733,  1737,  1740,
        !           307:   1744,  1749,  1753,  1758,  1764,  1770,  1772,  1774,  1777,  1780,
        !           308:   1783,  1784,  1785,  1787,  1789,  1792,  1796,  1798,  1801,  1804,
        !           309:   1810,  1816,  1817,  1824,  1826,  1828,  1831,  1832,  1837,  1839,
        !           310:   1840,  1841,  1849,  1850,  1851,  1861,  1862,  1863,  1864,  1874,
        !           311:   1875,  1876,  1877,  1887,  1888,  1895,  1896,  1902,  1903,  1911,
        !           312:   1912,  1917,  1920,  1923,  1926,  1930,  1937,  1946,  1957,  1970,
        !           313:   1974,  1977,  1980,  1982,  1985,  1989,  1996,  2001,  2008,  2013,
        !           314:   2017,  2018,  2026,  2029,  2030,  2036,  2040,  2042,  2045,  2049,
        !           315:   2053,  2056,  2059,  2061,  2062,  2067,  2070,  2074,  2078,  2079,
        !           316:   2080,  2085,  2086,  2087,  2092,  2093,  2098,  2099,  2101,  2102,
        !           317:   2103,  2112,  2116,  2121,  2126,  2130,  2135,  2142,  2149,  2150,
        !           318:   2152,  2153,  2155,  2157,  2158,  2160,  2162,  2166,  2171,  2173,
        !           319:   2177,  2178,  2180,  2184,  2187,  2189,  2191,  2194,  2197,  2199,
        !           320:   2203,  2207,  2213,  2217,  2223,  2227,  2231,  2233,  2235,  2238,
        !           321:   2240,  2241,  2242,  2244,  2245,  2248,  2253,  2255,  2257,  2259,
        !           322:   2262,  2265,  2268,  2270,  2272,  2274,  2278,  2280,  2284,  2287,
        !           323:   2290,  2293,  2296,  2299,  2302,  2305,  2308,  2311,  2314,  2317,
        !           324:   2320,  2323,  2326,  2329,  2332,  2335,  2338,  2341,  2344,  2347,
        !           325:   2350,  2353,  2357,  2360,  2363,  2366,  2370,  2373,  2377,  2380,
        !           326:   2383,  2387
1.1       root      327: };
                    328: 
                    329: static const short yyrhs[] = {    -1,
1.1.1.2 ! root      330:    110,     0,     0,   111,   114,     0,   110,   114,     0,     0,
        !           331:      0,   129,     0,   128,     0,   122,     0,   120,     0,    26,
        !           332:     82,   165,   103,   104,     0,   115,    49,   110,   105,     0,
        !           333:    115,    49,   105,     0,   115,   112,   129,   113,     0,   115,
        !           334:    112,   128,   113,     0,    96,     0,     0,    44,    64,   117,
        !           335:    118,    65,     0,   119,     0,   118,    50,   119,     0,   199,
        !           336:    138,     0,   199,   139,    54,   210,     0,   199,    48,   210,
        !           337:      0,   288,     0,    38,   121,   104,     0,     3,     0,   121,
        !           338:     50,     3,     0,     0,   116,   200,    49,   123,   104,     0,
        !           339:      0,   116,   201,    49,   124,   104,     0,     0,   116,   200,
        !           340:     54,   125,   104,     0,     0,   116,   201,    54,   126,   104,
        !           341:      0,   116,   200,   104,     0,   116,   201,   104,     0,   116,
        !           342:    229,   294,   180,   187,   127,     0,   116,   171,   170,   294,
        !           343:    180,   187,   127,     0,   116,   173,   170,   127,     0,   116,
        !           344:      1,   105,     0,   116,     1,   104,     0,    49,     0,    54,
        !           345:      0,   104,     0,    52,     0,    24,     0,   179,   104,     0,
        !           346:    173,   179,   104,     0,   173,   170,   104,     0,   171,   178,
        !           347:    104,     0,   171,   170,   104,     0,   173,   104,     0,   171,
        !           348:    104,     0,     1,   104,     0,     1,   105,     0,   104,     0,
        !           349:    130,   134,   242,     0,   130,   133,   134,   242,     0,   130,
        !           350:    166,   242,     0,   130,   133,   104,   166,   242,     0,   130,
        !           351:    133,   166,   242,     0,   171,   170,     1,     0,   173,   229,
        !           352:      1,     0,   229,     1,     0,   171,   170,   294,     0,   173,
        !           353:    229,   294,     0,   229,   294,     0,     4,    82,   286,   103,
        !           354:    224,   294,     0,   232,    82,   286,   103,   224,   294,     0,
        !           355:      4,    43,   224,   294,     0,   232,    43,   224,   294,     0,
        !           356:     95,     0,   171,    82,   286,   103,   224,   294,     0,   171,
        !           357:     43,   224,   294,     0,   171,   170,   294,     0,   173,    82,
        !           358:    286,   103,   224,   294,     0,   173,    43,   224,   294,     0,
        !           359:    173,   170,   294,     0,   229,   294,     0,    24,     3,     0,
        !           360:    132,     0,   132,    52,   192,     0,   132,    82,   154,   103,
        !           361:      0,   132,    43,     0,    54,   135,   136,     0,     0,     0,
        !           362:    137,     0,   136,    50,   137,     0,   136,     1,     0,    82,
        !           363:    154,   103,     0,    43,     0,   138,    82,   154,   103,     0,
        !           364:    138,    43,     0,   143,    82,   154,   103,     0,   143,    43,
        !           365:      0,   230,   138,    82,   154,   103,     0,   230,   138,    43,
        !           366:      0,     3,     0,     4,     0,    94,     0,   100,     0,    99,
        !           367:      0,   101,     0,     3,     0,     4,     0,    94,     0,   106,
        !           368:    138,     0,   299,     0,   141,     3,     0,   141,     4,     0,
        !           369:    141,   299,     0,   141,   230,     3,     0,   141,   230,   299,
        !           370:      0,    43,     0,   106,    43,     0,    43,    53,     0,   143,
        !           371:    144,   150,     0,    94,    64,   146,    65,     0,    49,     0,
        !           372:     54,     0,     0,     0,   147,     0,   146,    50,   147,     0,
        !           373:    221,     0,   158,     0,     0,    98,   207,   149,   212,   213,
        !           374:    105,     0,     0,   148,     0,     0,   148,   151,     0,    69,
        !           375:      0,    68,     0,    74,     0,    75,     0,   107,     0,   154,
        !           376:      0,   158,     0,   158,     0,   154,    50,   158,     0,   154,
        !           377:     50,     1,     0,   159,     0,     0,    32,   156,   157,     0,
        !           378:     70,   157,     0,    60,   157,     0,   106,   157,     0,   152,
        !           379:    157,     0,    12,   155,     0,    12,    82,   221,   103,     0,
        !           380:     28,   155,     0,    28,    82,   221,   103,     0,   163,   162,
        !           381:    221,     0,   163,   162,   176,    82,   154,   103,     0,   163,
        !           382:    162,   176,    43,     0,   163,   162,   221,    52,   192,     0,
        !           383:    163,   162,    82,   174,   222,   103,    83,   225,   108,     0,
        !           384:    163,   162,    82,   223,   222,   103,    83,   225,   108,     0,
        !           385:    163,   162,    82,   174,   222,   103,     0,   163,   162,    82,
        !           386:    223,   222,   103,     0,   163,   162,    48,     0,   164,   157,
        !           387:      0,   164,    83,   108,   157,     0,   164,    83,   153,   108,
        !           388:    157,     0,   155,     0,    82,   221,   103,   158,     0,    82,
        !           389:    221,   103,    49,   193,   197,   105,     0,    29,    82,   153,
        !           390:    103,     0,    30,    82,   153,   103,     0,    30,    82,     4,
        !           391:    103,     0,   157,     0,   158,    68,   158,     0,   158,    69,
        !           392:    158,     0,   158,    70,   158,     0,   158,    71,   158,     0,
        !           393:    158,    72,   158,     0,   158,    66,   158,     0,   158,    67,
        !           394:    158,     0,   158,    63,   158,     0,   158,    64,   158,     0,
        !           395:    158,    65,   158,     0,   158,    62,   158,     0,   158,    61,
        !           396:    158,     0,   158,    60,   158,     0,   158,    58,   158,     0,
        !           397:    158,    59,   158,     0,   158,    57,   158,     0,   158,    56,
        !           398:    158,     0,   158,    53,   281,    54,   158,     0,   158,    52,
        !           399:    158,     0,   158,    51,   158,     0,   159,    81,   158,     0,
        !           400:    168,   158,     0,     3,     0,   299,     0,     9,     0,   165,
        !           401:      0,    82,   153,   103,     0,    82,     1,   103,     0,     0,
        !           402:     82,   160,   243,   103,     0,     0,   159,    82,   154,   103,
        !           403:    161,   151,     0,   159,    43,     0,   159,    83,   153,   108,
        !           404:      0,   167,   140,     0,   167,   230,   140,     0,   159,    74,
        !           405:      0,   159,    75,     0,    39,     0,     8,    82,   154,   103,
        !           406:      0,   176,    82,   154,   103,     0,   176,    43,     0,    45,
        !           407:      3,     0,    45,   299,     0,   230,   140,     0,   230,   140,
        !           408:     82,   154,   103,     0,   230,   140,    43,     0,   167,   140,
        !           409:     82,   154,   103,     0,   167,   140,    43,     0,   167,   230,
        !           410:    140,    82,   154,   103,     0,   167,   230,   140,    43,     0,
        !           411:     37,     0,    37,    49,   154,   105,     0,    37,    41,     0,
        !           412:     37,    41,    82,   165,   103,     0,     0,    45,     0,    36,
        !           413:      0,    45,   164,     0,    10,     0,   165,    10,     0,     0,
        !           414:    159,    80,     0,   159,    78,     0,   159,    79,     0,   171,
        !           415:    178,   104,     0,   171,   170,   104,     0,   173,   179,   104,
        !           416:      0,   173,   170,   104,     0,   171,   104,     0,   173,   104,
        !           417:      0,   227,     0,   229,     0,    46,   227,     0,    46,   229,
        !           418:      0,   176,     0,   173,   176,     0,   176,   172,     0,   173,
        !           419:    176,   172,     0,   177,     0,     6,     0,   172,   177,     0,
        !           420:    172,     6,     0,     8,     0,     6,     0,   173,     8,     0,
        !           421:    173,     6,     0,   176,     0,   223,   176,     0,   176,   175,
        !           422:      0,   223,   176,   175,     0,   177,     0,   175,   177,     0,
        !           423:    194,     0,     7,     0,     4,     0,   232,     0,    27,    82,
        !           424:    153,   103,     0,    27,    82,   221,   103,     0,   142,     0,
        !           425:      7,     0,     8,     0,   194,     0,   181,     0,   178,    50,
        !           426:    183,     0,   185,     0,   179,    50,   183,     0,     0,    26,
        !           427:     82,   165,   103,     0,     0,   170,   294,   180,   187,    52,
        !           428:    182,   192,     0,   170,   294,   180,   187,     0,     0,   170,
        !           429:    294,   180,   187,    52,   184,   192,     0,   170,   294,   180,
        !           430:    187,     0,     0,   229,   294,   180,   187,    52,   186,   192,
        !           431:      0,   229,   294,   180,   187,     0,     0,    31,    82,    82,
        !           432:    188,   103,   103,     0,   189,     0,   188,    50,   189,     0,
        !           433:      3,     0,     3,    82,     9,   103,     0,     3,    82,   190,
        !           434:    103,     0,     3,     0,   190,    50,     3,     0,   138,     0,
        !           435:    191,    50,   138,     0,   158,     0,    49,   105,     0,    49,
        !           436:    193,   105,     0,    49,   193,    50,   105,     0,     1,     0,
        !           437:    192,     0,   193,    50,   192,     0,    83,   158,   108,   192,
        !           438:      0,   193,    50,    20,   158,    54,   192,     0,   138,    54,
        !           439:    192,     0,   193,    50,   138,    54,   192,     0,     0,    13,
        !           440:    138,    49,   195,   219,   198,   105,     0,    13,   138,    49,
        !           441:    105,     0,     0,    13,    49,   196,   219,   198,   105,     0,
        !           442:     13,    49,   105,     0,    13,   138,     0,   206,   212,   213,
        !           443:    105,     0,   206,     0,     0,    50,     0,     0,    50,     0,
        !           444:     34,     0,    41,    34,     0,    41,    82,   165,   103,    34,
        !           445:      0,   199,     6,     0,   199,     7,     0,   199,     8,     0,
        !           446:    199,    34,     0,   199,   138,     0,   199,   143,     0,   199,
        !           447:     48,     0,   199,   143,    49,     0,   199,   143,    54,     0,
        !           448:    199,   139,     0,     0,   200,   203,   207,     0,     0,   201,
        !           449:    204,   207,     0,   199,    49,     0,   205,     0,   202,     0,
        !           450:      0,    54,     0,    54,   208,     0,   209,     0,   208,    50,
        !           451:    209,     0,   210,     0,   211,   210,     0,   143,   145,   150,
        !           452:      0,   138,     0,    35,     0,     6,     0,   211,    35,     0,
        !           453:    211,     6,     0,    49,     0,     0,   214,     0,   213,    35,
        !           454:     54,   214,     0,   213,    35,    54,     0,   215,     0,   214,
        !           455:    215,     0,   214,   104,     0,   171,   216,   104,     0,   171,
        !           456:     82,   286,   103,   104,     0,   171,    82,   286,   103,   105,
        !           457:      0,   171,    43,   104,     0,   171,    43,   105,     0,   173,
        !           458:    216,   104,     0,   173,   170,   104,     0,   173,   216,   105,
        !           459:      0,   173,    82,   286,   103,   104,     0,   173,    82,   286,
        !           460:    103,   105,     0,   173,    43,   104,     0,   173,    43,   105,
        !           461:      0,    54,   158,   104,     0,    54,   158,   105,     0,     1,
        !           462:      0,   131,    54,     0,   131,    49,     0,   229,   294,   104,
        !           463:      0,   229,   294,   105,     0,     0,   217,     0,   216,    50,
        !           464:    218,     0,   170,   294,   180,     0,   170,   294,   180,    52,
        !           465:    192,     0,     3,    54,   158,     0,    48,   158,     0,    54,
        !           466:    158,     0,   170,   294,   180,     0,   170,   294,   180,    52,
        !           467:    192,     0,     3,    54,   158,     0,    48,   158,     0,    54,
        !           468:    158,     0,   220,     0,   219,    50,   220,     0,   138,     0,
        !           469:    138,    52,   158,     0,   174,   222,     0,   223,   222,     0,
        !           470:      0,   233,     0,    46,   233,     0,     8,     0,   223,     8,
        !           471:      0,     0,   224,     8,     0,     0,   226,   153,     0,   227,
        !           472:     82,   154,   103,   224,     0,   227,    82,   286,   103,   224,
        !           473:      0,   227,    43,   224,     0,   227,    82,     1,   103,   224,
        !           474:      0,   227,    83,   225,   108,     0,   227,    83,   108,     0,
        !           475:     82,   228,   103,     0,    82,    70,   224,   227,   103,     0,
        !           476:     77,     0,   235,     0,    82,    60,   224,   227,   103,     0,
        !           477:     70,   224,   227,     0,    60,   224,   227,     0,     4,     0,
        !           478:    228,    82,   154,   103,   224,     0,   228,    82,   286,   103,
        !           479:    224,     0,   228,    43,   224,     0,   228,    82,     1,   103,
        !           480:    224,     0,   228,    83,   225,   108,     0,   228,    83,   108,
        !           481:      0,    82,   228,   103,     0,    77,     0,   235,     0,    70,
        !           482:    224,   227,     0,    60,   224,   227,     0,   229,    82,   154,
        !           483:    103,   224,     0,   229,    82,   286,   103,   224,     0,   229,
        !           484:     43,   224,     0,   229,    82,     1,   103,   224,     0,    82,
        !           485:    229,   103,     0,    70,   224,   229,     0,    60,   224,   229,
        !           486:      0,   229,    83,   225,   108,     0,   229,    83,   108,     0,
        !           487:      3,     0,   299,     0,   106,     4,     0,   106,     3,     0,
        !           488:    106,    94,     0,    43,   138,     0,    43,    53,   138,     0,
        !           489:    106,    43,   138,     0,   230,   290,   229,     0,   230,   290,
        !           490:      4,     0,   230,   290,     4,    82,   154,   103,   224,     0,
        !           491:    230,   290,     4,    82,   286,   103,   224,     0,   230,   290,
        !           492:      4,    43,   224,     0,   230,   290,     4,    82,     1,   103,
        !           493:    224,     0,   230,   290,    94,     0,   230,   290,    94,    82,
        !           494:    154,   103,   224,     0,   230,   290,    94,    82,   286,   103,
        !           495:    224,     0,   230,   290,    94,    43,   224,     0,   230,   290,
        !           496:     94,    82,     1,   103,   224,     0,    45,   290,   229,     0,
        !           497:    231,     0,   142,    45,   292,     0,     4,    45,     0,     5,
        !           498:      0,    82,   233,   103,     0,    70,   224,   233,     0,    70,
        !           499:    224,     0,    77,     0,    82,   234,   103,     0,    60,   224,
        !           500:    233,     0,    60,   224,     0,   233,    82,   286,   103,   224,
        !           501:      0,   233,    43,   224,     0,   233,    83,   225,   108,     0,
        !           502:    233,    83,   108,     0,    82,   286,   103,   224,     0,    43,
        !           503:    224,     0,    83,   225,   108,     0,    83,   108,     0,   230,
        !           504:     70,   224,     0,   230,    70,   224,   233,     0,   230,    60,
        !           505:    224,     0,   230,    60,   224,   233,     0,   230,   290,    70,
        !           506:    224,   227,     0,   230,   290,    60,   224,   227,     0,   246,
        !           507:      0,   237,     0,   236,   246,     0,   236,   237,     0,     1,
        !           508:    104,     0,     0,     0,   240,     0,   241,     0,   240,   241,
        !           509:      0,    33,   191,   104,     0,   243,     0,     1,   243,     0,
        !           510:     49,   105,     0,    49,   238,   239,   236,   105,     0,    49,
        !           511:    238,   239,     1,   105,     0,     0,    14,    82,   153,   103,
        !           512:    245,   246,     0,   243,     0,   169,     0,   153,   104,     0,
        !           513:      0,   244,    15,   247,   246,     0,   244,     0,     0,     0,
        !           514:     16,   248,    82,   153,   103,   249,   246,     0,     0,     0,
        !           515:     17,   250,   246,    16,   251,    82,   153,   103,   104,     0,
        !           516:      0,     0,     0,   278,   252,   281,   104,   253,   281,   103,
        !           517:    254,   246,     0,     0,     0,     0,   279,   255,   281,   104,
        !           518:    256,   281,   103,   257,   246,     0,     0,    19,    82,   153,
        !           519:    103,   258,   246,     0,     0,    20,   153,    54,   259,   246,
        !           520:      0,     0,    20,   153,    55,   153,    54,   260,   246,     0,
        !           521:      0,    21,    54,   261,   246,     0,    22,   104,     0,    23,
        !           522:    104,     0,    24,   104,     0,    24,   153,   104,     0,    26,
        !           523:    280,    82,   165,   103,   104,     0,    26,   280,    82,   165,
        !           524:     54,   282,   103,   104,     0,    26,   280,    82,   165,    54,
        !           525:    282,    54,   282,   103,   104,     0,    26,   280,    82,   165,
        !           526:     54,   282,    54,   282,    54,   285,   103,   104,     0,    25,
        !           527:    138,   104,     0,   265,   246,     0,   265,   105,     0,   104,
        !           528:      0,    92,   104,     0,    92,   153,   104,     0,    90,   295,
        !           529:     82,   154,   103,   104,     0,    90,   295,    43,   104,     0,
        !           530:     84,   295,    82,   154,   103,   104,     0,    84,   295,    43,
        !           531:    104,     0,    84,   138,   104,     0,     0,   264,    88,   138,
        !           532:     49,   262,   272,   105,     0,   264,     1,     0,     0,   268,
        !           533:    269,   269,   263,   276,     0,   264,    86,   297,     0,   264,
        !           534:      0,   266,   105,     0,   266,   236,   105,     0,   266,     1,
        !           535:    105,     0,     3,    54,     0,    94,    54,     0,    48,     0,
        !           536:      0,    87,    49,   267,   238,     0,   270,   105,     0,   270,
        !           537:    236,   105,     0,   270,     1,   105,     0,     0,     0,    91,
        !           538:     49,   271,   238,     0,     0,     0,   272,   295,   273,   243,
        !           539:      0,     0,   272,    21,   274,   243,     0,     0,   138,     0,
        !           540:      0,     0,   276,    89,    82,   221,   275,   103,   277,   243,
        !           541:      0,    18,    82,   104,     0,    18,    82,   153,   104,     0,
        !           542:     18,    82,    49,   105,     0,    18,    82,   169,     0,    18,
        !           543:     82,     1,   104,     0,    18,    82,    49,   238,   236,   105,
        !           544:      0,    18,    82,    49,   238,     1,   105,     0,     0,     8,
        !           545:      0,     0,   153,     0,     1,     0,     0,   283,     0,   284,
        !           546:      0,   283,    50,   284,     0,    10,    82,   153,   103,     0,
        !           547:     10,     0,   285,    50,    10,     0,     0,   287,     0,   287,
        !           548:     50,    11,     0,   287,    11,     0,    11,     0,    93,     0,
        !           549:    287,    93,     0,   287,    54,     0,   288,     0,   288,    52,
        !           550:    192,     0,   287,    50,   288,     0,   287,    50,   288,    52,
        !           551:    192,     0,   287,    50,   293,     0,   287,    50,   293,    52,
        !           552:    192,     0,   171,   291,   289,     0,   173,   291,   289,     0,
        !           553:    222,     0,   229,     0,    46,   229,     0,   224,     0,     0,
        !           554:      0,   289,     0,     0,    85,   297,     0,    92,    82,   298,
        !           555:    103,     0,    97,     0,     3,     0,     4,     0,    45,     3,
        !           556:      0,    45,     4,     0,   230,     3,     0,   232,     0,   221,
        !           557:      0,   295,     0,   297,    50,   295,     0,   296,     0,   298,
        !           558:     50,   296,     0,    40,    70,     0,    40,    71,     0,    40,
        !           559:     72,     0,    40,    68,     0,    40,    69,     0,    40,    60,
        !           560:      0,    40,    58,     0,    40,    59,     0,    40,   106,     0,
        !           561:     40,    50,     0,    40,    63,     0,    40,    64,     0,    40,
        !           562:     65,     0,    40,    62,     0,    40,    51,     0,    40,    52,
        !           563:      0,    40,    66,     0,    40,    67,     0,    40,    74,     0,
        !           564:     40,    75,     0,    40,    57,     0,    40,    56,     0,    40,
        !           565:    107,     0,    40,    53,    54,     0,    40,    61,     0,    40,
        !           566:     78,     0,    40,    79,     0,    40,    42,   224,     0,    40,
        !           567:     43,     0,    40,    83,   108,     0,    40,    37,     0,    40,
        !           568:     36,     0,    40,   174,   222,     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,
        !           576:    413,   416,   416,   419,   419,   432,   432,   437,   442,   464,
        !           577:    485,   494,   495,   498,   499,   500,   501,   502,   505,   511,
        !           578:    514,   519,   525,   532,   534,   552,   553,   554,   557,   571,
        !           579:    584,   587,   590,   593,   595,   597,   601,   607,   612,   617,
        !           580:    622,   627,   632,   637,   643,   653,   662,   669,   678,   687,
        !           581:    694,   703,   711,   713,   715,   717,   721,   730,   753,   756,
        !           582:    758,   759,   762,   769,   776,   780,   782,   784,   786,   790,
        !           583:    796,   798,   799,   802,   804,   805,   808,   810,   811,   815,
        !           584:    816,   817,   819,   821,   823,   825,   829,   831,   833,   837,
        !           585:    847,   852,   856,   857,   861,   866,   869,   873,   876,   879,
        !           586:    912,   927,   930,   934,   937,   941,   943,   945,   947,   949,
        !           587:    953,   956,   959,   962,   964,   968,   975,   978,   981,   983,
        !           588:    985,   987,   992,  1005,  1007,  1040,  1043,  1045,  1047,  1049,
        !           589:   1055,  1072,  1075,  1079,  1082,  1086,  1102,  1113,  1129,  1131,
        !           590:   1134,  1149,  1151,  1153,  1164,  1166,  1168,  1170,  1172,  1174,
        !           591:   1176,  1178,  1180,  1182,  1184,  1186,  1188,  1190,  1192,  1194,
        !           592:   1196,  1198,  1200,  1202,  1204,  1210,  1213,  1228,  1231,  1246,
        !           593:   1247,  1249,  1251,  1253,  1261,  1273,  1279,  1286,  1293,  1343,
        !           594:   1345,  1361,  1363,  1367,  1390,  1428,  1430,  1432,  1461,  1468,
        !           595:   1470,  1472,  1474,  1477,  1480,  1482,  1524,  1526,  1528,  1530,
        !           596:   1534,  1537,  1541,  1543,  1551,  1553,  1557,  1566,  1581,  1587,
        !           597:   1590,  1597,  1605,  1608,  1615,  1620,  1627,  1629,  1630,  1632,
        !           598:   1640,  1643,  1645,  1647,  1651,  1655,  1657,  1659,  1667,  1670,
        !           599:   1672,  1674,  1685,  1688,  1690,  1692,  1696,  1699,  1707,  1708,
        !           600:   1709,  1710,  1711,  1715,  1719,  1724,  1725,  1726,  1729,  1731,
        !           601:   1734,  1736,  1739,  1742,  1750,  1757,  1759,  1767,  1772,  1773,
        !           602:   1778,  1785,  1787,  1797,  1800,  1805,  1806,  1810,  1813,  1820,
        !           603:   1826,  1829,  1834,  1837,  1841,  1843,  1848,  1851,  1854,  1860,
        !           604:   1863,  1866,  1868,  1870,  1872,  1876,  1880,  1884,  1887,  1890,
        !           605:   1894,  1897,  1901,  1927,  1942,  1944,  1947,  1949,  1953,  1954,
        !           606:   1956,  1958,  1961,  1964,  1967,  1972,  1975,  1977,  1979,  1984,
        !           607:   1988,  1993,  1998,  2005,  2010,  2019,  2024,  2024,  2026,  2029,
        !           608:   2031,  2035,  2037,  2041,  2046,  2052,  2054,  2057,  2066,  2070,
        !           609:   2096,  2105,  2131,  2134,  2136,  2138,  2141,  2144,  2147,  2152,
        !           610:   2201,  2203,  2207,  2209,  2213,  2216,  2218,  2222,  2224,  2228,
        !           611:   2230,  2234,  2236,  2240,  2245,  2247,  2249,  2251,  2257,  2260,
        !           612:   2261,  2272,  2276,  2279,  2282,  2285,  2290,  2293,  2295,  2297,
        !           613:   2299,  2307,  2309,  2313,  2316,  2320,  2323,  2327,  2330,  2331,
        !           614:   2335,  2338,  2342,  2345,  2353,  2355,  2359,  2362,  2364,  2366,
        !           615:   2368,  2370,  2372,  2374,  2376,  2378,  2379,  2381,  2383,  2385,
        !           616:   2388,  2391,  2393,  2395,  2397,  2399,  2401,  2403,  2405,  2406,
        !           617:   2408,  2415,  2418,  2420,  2422,  2424,  2426,  2428,  2430,  2432,
        !           618:   2434,  2438,  2441,  2447,  2449,  2451,  2456,  2462,  2465,  2474,
        !           619:   2476,  2478,  2480,  2482,  2485,  2487,  2489,  2491,  2493,  2495,
        !           620:   2499,  2507,  2524,  2527,  2542,  2547,  2549,  2551,  2553,  2555,
        !           621:   2557,  2559,  2561,  2563,  2565,  2567,  2569,  2571,  2573,  2577,
        !           622:   2585,  2592,  2599,  2608,  2616,  2629,  2631,  2632,  2633,  2636,
        !           623:   2643,  2655,  2657,  2662,  2664,  2667,  2681,  2684,  2687,  2689,
        !           624:   2695,  2703,  2709,  2712,  2715,  2720,  2733,  2737,  2740,  2744,
        !           625:   2748,  2752,  2756,  2761,  2764,  2770,  2775,  2778,  2784,  2791,
        !           626:   2795,  2798,  2805,  2821,  2829,  2833,  2883,  2883,  2966,  2966,
        !           627:   2982,  2982,  2986,  2990,  2993,  2998,  3005,  3014,  3023,  3032,
        !           628:   3038,  3040,  3044,  3048,  3049,  3050,  3053,  3056,  3059,  3062,
        !           629:   3065,  3078,  3107,  3117,  3131,  3159,  3191,  3203,  3211,  3216,
        !           630:   3223,  3231,  3233,  3240,  3242,  3242,  3250,  3255,  3262,  3263,
        !           631:   3265,  3265,  3268,  3289,  3305,  3324,  3341,  3344,  3346,  3349,
        !           632:   3368,  3386,  3389,  3391,  3395,  3398,  3400,  3402,  3408,  3413,
        !           633:   3419,  3422,  3423,  3429,  3431,  3434,  3436,  3440,  3445,  3448,
        !           634:   3457,  3464,  3469,  3474,  3478,  3482,  3486,  3490,  3504,  3507,
        !           635:   3509,  3511,  3513,  3515,  3523,  3539,  3544,  3545,  3546,  3550,
        !           636:   3554,  3558,  3570,  3578,  3581,  3583,  3587,  3590,  3592,  3594,
        !           637:   3596,  3598,  3600,  3603,  3608,  3610,  3617,  3619,  3626,  3629,
        !           638:   3631,  3633,  3635,  3637,  3639,  3641,  3643,  3645,  3647,  3649,
        !           639:   3651,  3653,  3655,  3657,  3666,  3668,  3670,  3672,  3674,  3676,
        !           640:   3678,  3680,  3682,  3684,  3696,  3708,  3739,  3751,  3763,  3776,
        !           641:   3792,  3796
1.1       root      642: };
                    643: 
                    644: static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
                    645: "TYPENAME","SCOPED_TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING",
                    646: "ELLIPSIS","SIZEOF","ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT",
1.1.1.2 ! root      647: "BREAK","CONTINUE","RETURN","GOTO","ASM_KEYWORD","TYPEOF","ALIGNOF","HEADOF",
        !           648: "CLASSOF","ATTRIBUTE","EXTENSION","LABEL","AGGR","VISSPEC","DELETE","NEW","OVERLOAD",
        !           649: "THIS","OPERATOR","DYNAMIC","POINTSAT_LEFT_RIGHT","LEFT_RIGHT","TEMPLATE","SCOPE",
        !           650: "START_DECLARATOR","EMPTY","TYPENAME_COLON","'{'","','","ASSIGN","'='","'?'",
        !           651: "':'","RANGE","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE",
        !           652: "'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","UNARY","PLUSPLUS",
        !           653: "MINUSMINUS","HYPERUNARY","PAREN_STAR_PAREN","POINTSAT","POINTSAT_STAR","'.'",
        !           654: "DOT_STAR","'('","'['","RAISE","RAISES","RERAISE","TRY","EXCEPT","CATCH","THROW",
        !           655: "ANSI_TRY","ANSI_THROW","TYPENAME_ELLIPSIS","PTYPENAME","PRE_PARSED_FUNCTION_DECL",
        !           656: "EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
        !           657: "PTYPENAME_DEFN","END_OF_SAVED_INPUT","')'","';'","'}'","'~'","'!'","']'","program",
        !           658: "extdefs","@1",".hush_warning",".warning_ok","extdef","extern_lang_string","template_header",
        !           659: "@2","template_parm_list","template_parm","overloaddef","ov_identifiers","template_def",
        !           660: "@3","@4","@5","@6","fn_tmpl_end","datadef","fndef","fn.def1","fn.def2","return_id",
        !           661: "return_init","base_init",".set_base_init","member_init_list","member_init",
        !           662: "identifier","identifier_defn","identifier_or_opname","wrapper","template_type",
        !           663: "template_type_name","tmpl.1","tmpl.2","template_arg_list","template_arg","template_instantiate_once",
        !           664: "@7","template_instantiation","template_instantiate_some","unop","expr","nonnull_exprlist",
        !           665: "unary_expr","@8","cast_expr","expr_no_commas","primary","@9","@10","new",".scope",
1.1       root      666: "delete","string","nodecls","object","object_star","decl","declarator","typed_declspecs",
                    667: "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
                    668: "typespecqual_reserved","initdecls","notype_initdecls","maybeasm","initdcl0",
1.1.1.2 ! root      669: "@11","initdcl","@12","notype_initdcl0","@13","maybe_attribute","attribute_list",
        !           670: "attrib","identifiers","identifiers_or_typenames","init","initlist","structsp",
        !           671: "@14","@15","maybecomma","maybecomma_warn","aggr","named_class_head_sans_basetype",
        !           672: "named_class_head_sans_basetype_defn","named_class_head","@16","@17","unnamed_class_head",
        !           673: "class_head","maybe_base_class_list","base_class_list","base_class","base_class.1",
        !           674: "base_class_visibility_list","LC","opt.component_decl_list","component_decl_list",
        !           675: "component_decl","components","component_declarator0","component_declarator",
        !           676: "enumlist","enumerator","typename","absdcl","nonempty_type_quals","type_quals",
        !           677: "nonmomentary_expr","@18","after_type_declarator","after_type_declarator_no_typename",
        !           678: "notype_declarator","scoped_id","TYPENAME_SCOPE","scoped_typename","absdcl1",
        !           679: "abs_member_declarator","after_type_member_declarator","stmts","errstmt",".pushlevel",
        !           680: "maybe_label_decls","label_decls","label_decl","compstmt_or_error","compstmt",
        !           681: "simple_if","@19","stmt","@20","@21","@22","@23","@24","@25","@26","@27","@28",
        !           682: "@29","@30","@31","@32","@33","@34","@35","@36","try","label_colon","try_head",
        !           683: "@37","ansi_try","ansi_dummy","ansi_try_head","@38","except_stmts","@39","@40",
        !           684: "optional_identifier","ansi_except_stmts","@41","forhead.1","forhead.2","maybe_type_qual",
        !           685: "xexpr","asm_operands","nonnull_asm_operands","asm_operand","asm_clobbers","parmlist",
1.1       root      686: "parms","parm","abs_or_notype_decl","see_typename","dont_see_typename","try_for_typename",
                    687: "bad_parm","maybe_raises","raise_identifier","ansi_raise_identifier","raise_identifiers",
                    688: "ansi_raise_identifiers","operator_name",""
                    689: };
                    690: #endif
                    691: 
                    692: static const short yyr1[] = {     0,
1.1.1.2 ! root      693:    109,   109,   111,   110,   110,   112,   113,   114,   114,   114,
        !           694:    114,   114,   114,   114,   114,   114,   115,   117,   116,   118,
        !           695:    118,   119,   119,   119,   119,   120,   121,   121,   123,   122,
        !           696:    124,   122,   125,   122,   126,   122,   122,   122,   122,   122,
        !           697:    122,   122,   122,   127,   127,   127,   127,   127,   128,   128,
        !           698:    128,   128,   128,   128,   128,   128,   128,   128,   129,   129,
        !           699:    129,   129,   129,   129,   129,   129,   130,   130,   130,   130,
        !           700:    130,   130,   130,   130,   131,   131,   131,   131,   131,   131,
        !           701:    131,   132,   133,   133,   133,   133,   134,   135,   136,   136,
        !           702:    136,   136,   137,   137,   137,   137,   137,   137,   137,   137,
        !           703:    138,   138,   138,   139,   139,   139,   140,   140,   140,   140,
        !           704:    140,   140,   140,   140,   140,   140,   141,   141,   141,   142,
        !           705:    143,   144,   144,   144,   145,   146,   146,   147,   147,   149,
        !           706:    148,   150,   150,   151,   151,   152,   152,   152,   152,   152,
        !           707:    153,   153,   154,   154,   154,   155,   156,   155,   155,   155,
1.1       root      708:    155,   155,   155,   155,   155,   155,   155,   155,   155,   155,
1.1.1.2 ! root      709:    155,   155,   155,   155,   155,   155,   155,   155,   157,   157,
        !           710:    157,   157,   157,   157,   158,   158,   158,   158,   158,   158,
        !           711:    158,   158,   158,   158,   158,   158,   158,   158,   158,   158,
        !           712:    158,   158,   158,   158,   158,   158,   158,   159,   159,   159,
        !           713:    159,   159,   159,   160,   159,   161,   159,   159,   159,   159,
        !           714:    159,   159,   159,   159,   159,   159,   159,   159,   159,   159,
        !           715:    159,   159,   159,   159,   159,   159,   162,   162,   162,   162,
        !           716:    163,   163,   164,   164,   165,   165,   166,   167,   167,   168,
        !           717:    169,   169,   169,   169,   169,   169,   170,   170,   170,   170,
        !           718:    171,   171,   171,   171,   172,   172,   172,   172,   173,   173,
        !           719:    173,   173,   174,   174,   174,   174,   175,   175,   176,   176,
        !           720:    176,   176,   176,   176,   176,   177,   177,   177,   178,   178,
        !           721:    179,   179,   180,   180,   182,   181,   181,   184,   183,   183,
        !           722:    186,   185,   185,   187,   187,   188,   188,   189,   189,   189,
        !           723:    190,   190,   191,   191,   192,   192,   192,   192,   192,   193,
        !           724:    193,   193,   193,   193,   193,   195,   194,   194,   196,   194,
        !           725:    194,   194,   194,   194,   197,   197,   198,   198,   199,   199,
        !           726:    199,   199,   199,   199,   199,   200,   200,   200,   200,   200,
        !           727:    201,   203,   202,   204,   202,   205,   206,   206,   207,   207,
        !           728:    207,   208,   208,   209,   209,   210,   210,   211,   211,   211,
        !           729:    211,   212,   213,   213,   213,   213,   214,   214,   214,   215,
        !           730:    215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
        !           731:    215,   215,   215,   215,   215,   215,   215,   215,   216,   216,
        !           732:    216,   217,   217,   217,   217,   217,   218,   218,   218,   218,
        !           733:    218,   219,   219,   220,   220,   221,   221,   222,   222,   222,
        !           734:    223,   223,   224,   224,   226,   225,   227,   227,   227,   227,
        !           735:    227,   227,   227,   227,   227,   227,   227,   227,   227,   227,
        !           736:    228,   228,   228,   228,   228,   228,   228,   228,   228,   228,
        !           737:    228,   229,   229,   229,   229,   229,   229,   229,   229,   229,
        !           738:    229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1.1       root      739:    229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1.1.1.2 ! root      740:    230,   230,   231,   232,   233,   233,   233,   233,   233,   233,
        !           741:    233,   233,   233,   233,   233,   233,   233,   233,   233,   234,
        !           742:    234,   234,   234,   235,   235,   236,   236,   236,   236,   237,
        !           743:    238,   239,   239,   240,   240,   241,   242,   242,   243,   243,
        !           744:    243,   245,   244,   246,   246,   246,   247,   246,   246,   248,
        !           745:    249,   246,   250,   251,   246,   252,   253,   254,   246,   255,
        !           746:    256,   257,   246,   258,   246,   259,   246,   260,   246,   261,
        !           747:    246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
        !           748:    246,   246,   246,   246,   246,   246,   246,   246,   246,   246,
        !           749:    262,   246,   246,   263,   246,   246,   246,   264,   264,   264,
        !           750:    265,   265,   265,   267,   266,   268,   268,   268,   269,   271,
        !           751:    270,   272,   273,   272,   274,   272,   275,   275,   276,   277,
        !           752:    276,   278,   278,   278,   279,   279,   279,   279,   280,   280,
        !           753:    281,   281,   281,   282,   282,   283,   283,   284,   285,   285,
        !           754:    286,   286,   286,   286,   286,   286,   286,   286,   287,   287,
        !           755:    287,   287,   287,   287,   288,   288,   289,   289,   289,   290,
        !           756:    291,   292,   293,   294,   294,   294,   295,   295,   295,   295,
        !           757:    295,   295,   295,   296,   297,   297,   298,   298,   299,   299,
        !           758:    299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
        !           759:    299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
        !           760:    299,   299,   299,   299,   299,   299,   299,   299,   299,   299,
        !           761:    299,   299
1.1       root      762: };
                    763: 
                    764: static const short yyr2[] = {     0,
                    765:      0,     1,     0,     2,     2,     0,     0,     1,     1,     1,
                    766:      1,     5,     4,     3,     4,     4,     1,     0,     5,     1,
                    767:      3,     2,     4,     3,     1,     3,     1,     3,     0,     5,
                    768:      0,     5,     0,     5,     0,     5,     3,     3,     6,     7,
1.1.1.2 ! root      769:      4,     3,     3,     1,     1,     1,     1,     1,     2,     3,
        !           770:      3,     3,     3,     2,     2,     2,     2,     1,     3,     4,
        !           771:      3,     5,     4,     3,     3,     2,     3,     3,     2,     6,
        !           772:      6,     4,     4,     1,     6,     4,     3,     6,     4,     3,
        !           773:      2,     2,     1,     3,     4,     2,     3,     0,     0,     1,
        !           774:      3,     2,     3,     1,     4,     2,     4,     2,     5,     3,
        !           775:      1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
        !           776:      1,     2,     2,     2,     3,     3,     1,     2,     2,     3,
        !           777:      4,     1,     1,     0,     0,     1,     3,     1,     1,     0,
        !           778:      6,     0,     1,     0,     2,     1,     1,     1,     1,     1,
        !           779:      1,     1,     1,     3,     3,     1,     0,     3,     2,     2,
        !           780:      2,     2,     2,     4,     2,     4,     3,     6,     4,     5,
        !           781:      9,     9,     6,     6,     3,     2,     4,     5,     1,     4,
        !           782:      7,     4,     4,     4,     1,     3,     3,     3,     3,     3,
1.1       root      783:      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
1.1.1.2 ! root      784:      3,     3,     5,     3,     3,     3,     2,     1,     1,     1,
        !           785:      1,     3,     3,     0,     4,     0,     6,     2,     4,     2,
        !           786:      3,     2,     2,     1,     4,     4,     2,     2,     2,     2,
        !           787:      5,     3,     5,     3,     6,     4,     1,     4,     2,     5,
        !           788:      0,     1,     1,     2,     1,     2,     0,     2,     2,     2,
        !           789:      3,     3,     3,     3,     2,     2,     1,     1,     2,     2,
        !           790:      1,     2,     2,     3,     1,     1,     2,     2,     1,     1,
        !           791:      2,     2,     1,     2,     2,     3,     1,     2,     1,     1,
        !           792:      1,     1,     4,     4,     1,     1,     1,     1,     1,     3,
        !           793:      1,     3,     0,     4,     0,     7,     4,     0,     7,     4,
        !           794:      0,     7,     4,     0,     6,     1,     3,     1,     4,     4,
        !           795:      1,     3,     1,     3,     1,     2,     3,     4,     1,     1,
        !           796:      3,     4,     6,     3,     5,     0,     7,     4,     0,     6,
        !           797:      3,     2,     4,     1,     0,     1,     0,     1,     1,     2,
        !           798:      5,     2,     2,     2,     2,     2,     2,     2,     3,     3,
        !           799:      2,     0,     3,     0,     3,     2,     1,     1,     0,     1,
        !           800:      2,     1,     3,     1,     2,     3,     1,     1,     1,     2,
        !           801:      2,     1,     0,     1,     4,     3,     1,     2,     2,     3,
        !           802:      5,     5,     3,     3,     3,     3,     3,     5,     5,     3,
        !           803:      3,     3,     3,     1,     2,     2,     3,     3,     0,     1,
        !           804:      3,     3,     5,     3,     2,     2,     3,     5,     3,     2,
        !           805:      2,     1,     3,     1,     3,     2,     2,     0,     1,     2,
        !           806:      1,     2,     0,     2,     0,     2,     5,     5,     3,     5,
        !           807:      4,     3,     3,     5,     1,     1,     5,     3,     3,     1,
        !           808:      5,     5,     3,     5,     4,     3,     3,     1,     1,     3,
        !           809:      3,     5,     5,     3,     5,     3,     3,     3,     4,     3,
        !           810:      1,     1,     2,     2,     2,     2,     3,     3,     3,     3,
        !           811:      7,     7,     5,     7,     3,     7,     7,     5,     7,     3,
        !           812:      1,     3,     2,     1,     3,     3,     2,     1,     3,     3,
        !           813:      2,     5,     3,     4,     3,     4,     2,     3,     2,     3,
        !           814:      4,     3,     4,     5,     5,     1,     1,     2,     2,     2,
        !           815:      0,     0,     1,     1,     2,     3,     1,     2,     2,     5,
        !           816:      5,     0,     6,     1,     1,     2,     0,     4,     1,     0,
        !           817:      0,     7,     0,     0,     9,     0,     0,     0,     9,     0,
        !           818:      0,     0,     9,     0,     6,     0,     5,     0,     7,     0,
        !           819:      4,     2,     2,     2,     3,     6,     8,    10,    12,     3,
        !           820:      2,     2,     1,     2,     3,     6,     4,     6,     4,     3,
        !           821:      0,     7,     2,     0,     5,     3,     1,     2,     3,     3,
        !           822:      2,     2,     1,     0,     4,     2,     3,     3,     0,     0,
        !           823:      4,     0,     0,     4,     0,     4,     0,     1,     0,     0,
        !           824:      8,     3,     4,     4,     3,     4,     6,     6,     0,     1,
        !           825:      0,     1,     1,     0,     1,     1,     3,     4,     1,     3,
        !           826:      0,     1,     3,     2,     1,     1,     2,     2,     1,     3,
        !           827:      3,     5,     3,     5,     3,     3,     1,     1,     2,     1,
        !           828:      0,     0,     1,     0,     2,     4,     1,     1,     1,     2,
        !           829:      2,     2,     1,     1,     1,     3,     1,     3,     2,     2,
1.1       root      830:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1.1.1.2 ! root      831:      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        !           832:      2,     3,     2,     2,     2,     3,     2,     3,     2,     2,
        !           833:      3,     2
1.1       root      834: };
                    835: 
                    836: static const short yydefact[] = {     3,
1.1.1.2 ! root      837:      0,     0,     0,   451,   271,   474,   260,   270,   259,     0,
        !           838:      0,     0,   329,     0,     0,     0,     0,     0,   413,   413,
        !           839:    413,     0,     0,    74,    17,    58,     0,     5,     6,     0,
        !           840:     11,    10,     9,     8,   237,   275,   124,     0,     0,   251,
        !           841:      0,   281,   269,     0,   342,   344,   348,   347,   324,     0,
        !           842:    413,   471,   272,   452,     4,    56,    57,   413,   473,   611,
        !           843:    101,   102,   319,   103,   322,     0,   231,    27,     0,   682,
        !           844:    271,   411,   680,   679,   413,   677,   658,   663,   664,     0,
        !           845:    670,   669,   655,   656,   654,   673,   662,   659,   660,   661,
        !           846:    665,   666,   652,   653,   649,   650,   651,   667,   668,   674,
        !           847:    675,     0,   657,   671,   275,   408,   263,     0,   272,   330,
        !           848:      0,     0,   456,    18,   630,     0,     0,     0,     0,     0,
        !           849:      0,   231,   454,   453,     0,   455,     3,     0,     0,   271,
        !           850:      0,     0,   342,   344,   634,     0,    88,    83,   237,     0,
        !           851:      0,   632,   122,   123,   132,   430,     0,   413,   413,   425,
        !           852:      0,    55,     0,     0,   279,   247,   248,   413,   426,   271,
        !           853:    262,   261,    54,     0,   252,     0,     0,   256,   276,   277,
        !           854:    253,   255,   278,     0,    49,   332,   333,   334,   335,   338,
        !           855:    346,   103,   105,   104,   106,   336,   341,   337,   349,   349,
        !           856:    362,     0,    66,   413,     0,   415,     0,     0,    69,     0,
        !           857:    413,   611,   634,   615,   616,   631,   631,     0,   612,   619,
        !           858:    321,     0,   316,   235,     0,   198,   411,   200,   231,   231,
        !           859:      0,     0,   147,   233,   214,   232,   231,   137,   136,   231,
        !           860:    138,   139,     0,   231,   140,   231,     0,   141,   169,   175,
        !           861:    142,   146,     0,   231,   201,     0,   231,   408,   263,     0,
        !           862:    408,     0,   199,     0,    26,   676,   672,   678,   413,     0,
        !           863:    413,   413,   478,   611,   415,   681,   409,   265,   267,   412,
        !           864:    264,     0,   457,     0,   414,   470,   448,   447,   446,     0,
        !           865:    126,   129,   128,   458,    14,     0,     7,     7,    43,    42,
        !           866:    634,     0,    29,    33,    37,    31,    35,    38,   283,    82,
        !           867:     89,    86,     0,   231,   237,     0,     0,     0,   501,    59,
        !           868:    507,    61,   472,   349,   133,   120,   249,   250,     0,     0,
        !           869:    413,   413,   438,     0,     0,   439,    64,    53,    67,     0,
        !           870:     52,   413,     0,   415,     0,    51,   254,    50,    65,    68,
        !           871:    258,   257,   634,   282,   339,   340,   350,   343,   345,   384,
        !           872:    231,     0,   389,   389,     0,     0,   367,   634,   444,     0,
        !           873:    259,     0,   143,   251,     0,   450,     0,   231,   638,   639,
        !           874:      0,   637,     0,   643,   645,   635,     0,     0,   294,   460,
        !           875:    465,   459,   634,     0,    72,   408,   408,   413,   614,   408,
        !           876:    618,   617,     0,   404,   327,   402,   318,     0,   236,     0,
        !           877:    231,     0,     0,   153,   146,     0,     0,   155,   231,   231,
        !           878:    231,   218,     0,   234,   219,   150,   149,     0,     0,     0,
        !           879:      0,   151,   152,   273,     0,   231,   231,     0,   231,   231,
        !           880:    231,   231,   231,   231,   231,   231,   231,   231,   231,   231,
        !           881:    231,   231,   231,   231,   231,   208,   212,   213,   239,   240,
        !           882:    238,   231,   231,   231,   227,     0,   231,   166,   107,   108,
        !           883:    117,   109,     0,   210,     0,     0,   111,   197,   406,   217,
        !           884:    231,   274,   407,   108,   109,   220,    28,   487,   410,   481,
        !           885:    477,     0,     0,     0,     0,   489,     0,   413,   611,   415,
        !           886:    268,   266,     0,     0,    20,     0,    25,   231,   121,    13,
        !           887:     16,    15,   283,    48,    44,    47,    45,    46,    41,     0,
        !           888:      0,     0,     0,   294,   102,    94,   231,     0,    90,     0,
        !           889:    124,     0,   309,     0,   305,    84,     0,     0,    60,    63,
        !           890:    508,   509,   502,   130,   429,   428,     0,     0,   413,   413,
        !           891:      0,   413,     0,   415,   423,   294,   280,   419,     0,     0,
        !           892:      0,   422,     0,   413,   413,   283,   359,   358,   357,   125,
        !           893:    351,   352,   354,     0,     0,   386,   385,   451,   413,   231,
        !           894:    231,   611,   634,     0,   390,   413,   611,   634,     0,     0,
        !           895:    323,   369,   368,    81,   413,   413,   413,   449,   416,   640,
        !           896:    641,   642,     0,   644,   647,     0,     0,     0,   293,   413,
        !           897:      0,   413,     0,    73,   413,   413,     0,   413,   413,   611,
        !           898:    627,   628,   625,   626,   634,   613,   621,   633,   623,   620,
        !           899:    231,   328,     0,   327,    12,     0,     0,     0,     0,   271,
        !           900:      0,   148,   203,   202,     0,   231,   145,   144,   195,   194,
        !           901:    603,   602,     0,   192,   191,   189,   190,   188,   187,   186,
        !           902:    183,   184,   185,   181,   182,   176,   177,   178,   179,   180,
        !           903:    196,     0,     0,   229,   231,   165,     0,   263,   157,   231,
        !           904:      0,   119,   118,   110,   224,   231,   112,   113,     0,   114,
        !           905:    211,     0,   222,   231,   480,   476,   413,   413,   475,   479,
        !           906:    413,   488,   483,     0,   485,     0,   331,     0,    19,   338,
        !           907:    336,   341,   127,   294,    30,    34,    32,    36,     0,     0,
        !           908:     92,     0,    96,   231,    98,   231,     0,   198,   271,   231,
        !           909:    306,     0,   310,     0,    85,    62,     0,     0,   503,   504,
        !           910:      0,     0,     0,     0,     0,   437,   433,     0,     0,     0,
        !           911:    436,     0,   287,   413,   413,   413,   421,     0,     0,   294,
        !           912:    132,     0,   361,   360,   355,   382,   383,   231,   373,   374,
        !           913:    634,   395,   396,     0,   283,     0,   370,   380,   381,   634,
        !           914:      0,   376,   283,   375,   377,     0,   387,   388,   445,   442,
        !           915:    443,   646,     0,   636,     0,     0,   291,   463,     0,     0,
        !           916:      0,   468,     0,     0,     0,   634,   629,   481,   477,   413,
        !           917:     70,     0,     0,   405,   403,   320,     0,   215,   154,   156,
        !           918:    172,   174,   173,   205,     0,   170,   231,   206,   209,     0,
        !           919:      0,   408,   408,   159,   231,     0,   167,   231,     0,   115,
        !           920:    116,   226,   231,   216,     0,   492,   490,   486,   413,   484,
        !           921:     21,    24,     0,     0,    39,    93,    91,     0,     0,   100,
        !           922:    231,     0,     0,     0,   307,   303,     0,     0,   198,     0,
        !           923:    520,   523,     0,     0,   231,     0,     0,     0,   231,     0,
        !           924:    599,   573,     0,     0,     0,     0,   231,     0,   553,     0,
        !           925:    515,     0,     0,     0,   497,   514,   519,   496,     0,   231,
        !           926:      0,   579,     0,   526,   530,   505,     0,   427,   424,   441,
        !           927:    440,   413,   413,   413,   435,   285,   420,   417,   418,   495,
        !           928:    494,   290,   356,   353,   394,    76,   413,   392,   451,   231,
        !           929:    231,   634,   391,    79,   413,     0,   648,   284,     0,     0,
        !           930:    413,   413,   413,   413,   413,   413,    71,   622,   624,   317,
        !           931:    325,   193,   134,     0,   228,     0,     0,     0,   160,   168,
        !           932:    223,     0,   221,   493,   491,   482,    23,    40,    95,    97,
        !           933:      0,     0,   314,   231,   308,     0,   311,     0,   506,   500,
        !           934:    511,   571,   231,     0,   231,     0,   231,     0,   540,   542,
        !           935:    543,   544,     0,     0,   600,     0,   638,   639,     0,     0,
        !           936:    574,     0,   580,   554,     0,   572,   516,   245,   634,     0,
        !           937:    246,     0,     0,   634,     0,   510,   499,   498,   517,   563,
        !           938:      0,     0,   552,   551,     0,   568,     0,   579,     0,   576,
        !           939:      0,     0,     0,     0,   434,   431,   432,     0,   288,   371,
        !           940:    372,   634,     0,   231,   400,   401,   283,   378,   379,   634,
        !           941:    298,     0,   296,   292,   464,   461,   462,   469,   466,   467,
        !           942:      0,     0,   134,   207,   230,   163,   164,   158,   225,    99,
        !           943:    312,     0,     0,   304,     0,   231,     0,     0,   501,   592,
        !           944:      0,   595,     0,   536,   231,   231,   545,   550,     0,   560,
        !           945:      0,   231,   501,     0,   231,   501,   555,   242,   283,   241,
        !           946:    244,   243,   283,   231,   566,     0,   570,   569,   564,   578,
        !           947:    577,     0,     0,   131,   286,     0,    75,   393,   399,   397,
        !           948:     78,     0,     0,     0,   171,   135,   415,   415,     0,   315,
        !           949:    512,     0,   524,   596,   594,     0,   593,   534,   231,     0,
        !           950:    541,     0,   559,     0,   575,   557,     0,   581,   518,   561,
        !           951:    589,   527,   531,   289,     0,   301,     0,     0,   297,   295,
        !           952:      0,     0,   313,   231,   521,     0,     0,     0,   231,   537,
        !           953:    538,   604,     0,     0,     0,   582,   565,     0,     0,   398,
        !           954:    299,     0,   300,   161,   162,   513,   231,   231,   598,   597,
        !           955:    535,   231,     0,     0,   605,   606,   546,   558,   556,     0,
        !           956:      0,     0,     0,   302,   522,     0,   539,   231,   604,     0,
        !           957:      0,   585,   562,   583,     0,   528,   532,     0,     0,     0,
        !           958:    547,   607,     0,     0,   587,   231,   231,   525,   608,     0,
        !           959:      0,   586,   584,   588,     0,   529,   533,   609,     0,   548,
        !           960:    590,     0,     0,     0,   610,   549,   591,     0,     0,     0
1.1       root      961: };
                    962: 
1.1.1.2 ! root      963: static const short yydefgoto[] = {  1238,
        !           964:      1,     2,   128,   501,    28,    29,    30,   274,   494,   495,
        !           965:     31,    69,    32,   510,   512,   511,   513,   509,    33,    34,
        !           966:     35,   352,   138,   139,   140,   301,   518,   519,   559,   187,
        !           967:    464,   465,    36,    37,   145,   751,   280,   281,   315,   731,
        !           968:    316,  1054,   236,   880,   238,   239,   411,   240,   241,   242,
        !           969:    420,   943,   456,   243,   244,   245,   141,   246,   247,   881,
        !           970:    343,   882,   171,   883,   248,   268,   406,   269,   154,    41,
        !           971:    379,   155,  1028,   344,  1106,    42,   930,   599,  1042,  1043,
        !           972:   1148,   857,   723,   724,    43,   398,   212,  1052,   623,    44,
        !           973:     45,    46,    47,   189,   190,    48,    49,   348,   561,   562,
        !           974:    563,   564,   192,   355,   356,   357,   574,   575,   923,   395,
        !           975:    396,   283,   611,   251,   115,   367,   368,   156,   325,   157,
        !           976:    252,    52,   109,   267,   484,   159,   884,   885,   533,   728,
        !           977:    729,   730,   310,   886,   887,  1154,   888,  1094,   974,  1177,
        !           978:    975,  1156,  1022,  1168,  1216,  1023,  1169,  1217,  1159,  1129,
        !           979:   1182,  1076,  1166,  1141,   889,   890,   891,  1083,   892,  1018,
        !           980:    893,  1086,  1190,  1214,  1213,  1225,  1167,  1234,   894,   895,
        !           981:    986,   643,  1184,  1185,  1186,  1229,   485,   209,   210,   613,
        !           982:    200,   386,   313,   619,   199,   375,   595,   376,   596,   253
1.1       root      983: };
                    984: 
1.1.1.2 ! root      985: static const short yypact[] = {    74,
        !           986:   1739,  4756,   279,-32768,   553,-32768,-32768,-32768,-32768,   134,
        !           987:      3,     7,-32768,   116,  3181,    47,    90,    84,-32768,-32768,
        !           988: -32768,   507,   143,-32768,-32768,-32768,   219,-32768,   202,  1894,
        !           989: -32768,-32768,-32768,-32768,   293,   235,   228,   670,  6083,   784,
        !           990:     26,-32768,-32768,  1231,-32768,-32768,-32768,-32768,   356,   982,
        !           991: -32768,-32768,   176,-32768,-32768,-32768,-32768,-32768,-32768,  1783,
        !           992: -32768,-32768,   256,-32768,   380,   468,  5573,-32768,    28,-32768,
        !           993: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   407,
        !           994: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1       root      995: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.2 ! root      996: -32768,   390,-32768,-32768,-32768,   821,   973,   704,-32768,-32768,
        !           997:    468,   120,-32768,-32768,   512,   507,  4913,  4913,   478,   235,
        !           998:    253,  5573,-32768,-32768,   120,-32768,   441,  1370,   345,   478,
        !           999:   3720,  6267,   189,   291,   593,   551,-32768,   699,   381,   107,
        !          1000:    107,-32768,-32768,-32768,   465,   478,  2187,-32768,-32768,-32768,
        !          1001:   5301,-32768,   717,    72,-32768,   640,   643,-32768,-32768,   860,
        !          1002: -32768,-32768,-32768,   452,   784,   199,  1799,-32768,-32768,-32768,
        !          1003:    921,-32768,-32768,  3720,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1004: -32768,   143,-32768,-32768,-32768,-32768,-32768,   557,   516,   516,
        !          1005: -32768,  4869,-32768,-32768,  3273,   510,   212,   504,   427,  5196,
        !          1006: -32768,  1783,   187,-32768,-32768,-32768,  1223,   531,   338,   608,
        !          1007: -32768,   120,   590,-32768,    48,-32768,   617,-32768,  5783,  5827,
        !          1008:    654,   662,-32768,-32768,-32768,   725,  5656,-32768,-32768,  5656,
        !          1009: -32768,-32768,  4223,  5656,-32768,  5656,   651,   733,-32768,-32768,
        !          1010:   6418,  1638,   764,  5241,   762,   272,  5656,   821,   597,   703,
        !          1011:   6326,   339,-32768,   809,-32768,   512,-32768,-32768,-32768,   876,
        !          1012: -32768,-32768,-32768,  6311,   716,-32768,   696,   973,-32768,-32768,
        !          1013:    973,    51,-32768,  1414,-32768,-32768,   643,   643,-32768,   135,
        !          1014: -32768,  3268,-32768,-32768,-32768,  4683,-32768,-32768,-32768,-32768,
        !          1015:    163,   305,-32768,-32768,-32768,-32768,-32768,-32768,   788,-32768,
        !          1016:    257,-32768,  4306,  5656,-32768,   107,   107,   799,   727,-32768,
        !          1017: -32768,-32768,-32768,   516,-32768,-32768,   640,   643,  4882,  4882,
        !          1018: -32768,-32768,-32768,  5384,   525,-32768,-32768,-32768,   427,  3720,
        !          1019: -32768,-32768,  3380,   729,  5467,-32768,   921,-32768,-32768,   427,
        !          1020: -32768,-32768,   163,-32768,-32768,-32768,   136,-32768,-32768,-32768,
        !          1021:   5656,   719,  1556,  5909,    30,  1485,-32768,   593,   512,   756,
        !          1022:    617,    38,  6464,   532,   774,-32768,   793,  5656,-32768,   478,
        !          1023:    754,-32768,   892,-32768,-32768,   865,  1035,   835,   889,   478,
        !          1024:    143,-32768,   187,   823,-32768,  1091,  1091,-32768,-32768,  5967,
        !          1025: -32768,-32768,  4306,   872,   881,-32768,-32768,   120,-32768,   829,
        !          1026:   5656,   617,  4223,-32768,  1089,   375,  4223,-32768,  5656,  5739,
        !          1027:   5656,-32768,    80,-32768,-32768,-32768,-32768,   836,   844,   799,
        !          1028:    854,-32768,-32768,-32768,  4638,  5656,  5656,  4389,  5656,  5656,
        !          1029:   5656,  5656,  5656,  5656,  5656,  5656,  5656,  5656,  5656,  5656,
        !          1030:   5656,  5656,  5656,  5656,  5656,-32768,-32768,-32768,-32768,-32768,
        !          1031: -32768,  5656,  5656,  5656,   451,   903,  2016,-32768,-32768,   478,
        !          1032:    885,   143,   368,   431,   327,   339,-32768,-32768,-32768,-32768,
        !          1033:   5656,-32768,-32768,-32768,-32768,   506,-32768,   512,   696,  1037,
        !          1034:   1037,    41,   538,   857,   864,-32768,   855,-32768,  1783,   863,
        !          1035: -32768,   973,   938,   376,-32768,  3785,-32768,  5573,-32768,-32768,
        !          1036: -32768,-32768,   788,-32768,-32768,-32768,-32768,-32768,-32768,   875,
        !          1037:    878,   880,   887,   889,   478,-32768,  5656,   416,-32768,   521,
        !          1038:    706,   120,-32768,  3808,  6464,-32768,    64,   107,-32768,-32768,
        !          1039: -32768,-32768,   943,-32768,   640,   640,  4882,  4882,-32768,-32768,
        !          1040:    540,-32768,  3487,   888,-32768,   889,-32768,   512,   886,   168,
        !          1041:    890,-32768,   891,-32768,-32768,   788,-32768,-32768,-32768,-32768,
        !          1042:    945,-32768,-32768,   230,  6387,-32768,-32768,   946,    53,  5656,
        !          1043:   5656,  6141,   163,   218,-32768,    93,  6141,   735,   185,   947,
        !          1044: -32768,-32768,-32768,   567,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1045: -32768,-32768,   212,-32768,-32768,   195,   468,   922,   957,-32768,
        !          1046:   3594,-32768,  3701,-32768,-32768,    90,   330,-32768,-32768,  6025,
        !          1047: -32768,   643,-32768,-32768,   187,-32768,   958,-32768,   960,-32768,
        !          1048:   5656,   120,   912,   881,-32768,   234,   915,   920,   923,    25,
        !          1049:    924,-32768,-32768,-32768,   925,  5324,-32768,  6464,  6464,  6464,
        !          1050: -32768,-32768,   975,  6500,  6515,  3367,  1941,  3333,  2068,  2134,
        !          1051:   1296,  1296,  1296,   981,   981,   801,   801,-32768,-32768,-32768,
        !          1052: -32768,   336,   930,   951,  5656,-32768,  1035,   797,   994,  5656,
        !          1053:    939,-32768,-32768,-32768,-32768,  5656,-32768,   478,    69,-32768,
        !          1054:    548,   337,-32768,  5656,   696,   696,-32768,-32768,-32768,-32768,
        !          1055: -32768,-32768,   512,   953,-32768,   949,-32768,  1414,-32768,   965,
        !          1056:    639,  1006,-32768,   889,-32768,-32768,-32768,-32768,   305,   344,
        !          1057: -32768,   257,-32768,  5656,-32768,  5656,   576,  1009,   692,  5656,
        !          1058: -32768,  1012,-32768,    29,-32768,-32768,   120,  2982,   943,-32768,
        !          1059:    356,   611,   618,  4882,  4882,-32768,   512,   967,   348,   970,
        !          1060: -32768,   969,  1016,-32768,-32768,-32768,-32768,  4882,  4882,   889,
        !          1061:    465,   136,-32768,-32768,-32768,-32768,-32768,  5656,-32768,-32768,
        !          1062:    187,  6464,  6464,   976,   787,  2035,-32768,-32768,-32768,   187,
        !          1063:    978,-32768,   820,-32768,-32768,  4927,-32768,-32768,   512,   512,
        !          1064:    512,-32768,  1035,-32768,    58,   996,-32768,   512,   979,   370,
        !          1065:    985,   512,   986,   372,   987,   187,   643,   424,   424,    41,
        !          1066: -32768,  4306,  4306,  6464,-32768,-32768,   991,-32768,-32768,-32768,
        !          1067: -32768,-32768,-32768,-32768,  4140,-32768,  5656,-32768,-32768,   468,
        !          1068:     65,   821,  6326,-32768,  5656,  4306,-32768,  5656,   418,-32768,
        !          1069: -32768,-32768,  5656,-32768,   433,  1037,  1037,   512,-32768,-32768,
        !          1070: -32768,-32768,   146,   305,-32768,-32768,-32768,   454,   458,-32768,
        !          1071:   5656,  6365,  4306,  3891,-32768,-32768,   264,   690,  1045,  1022,
        !          1072: -32768,-32768,  1028,  1029,  5656,  1058,  1011,  1013,  5407,   120,
        !          1073:   1083,-32768,   283,  1064,   212,  1067,  5490,   445,-32768,  1014,
        !          1074: -32768,  2220,  6199,  2336,-32768,-32768,  1106,-32768,  2147,  5031,
        !          1075:   2447,-32768,  2554,-32768,-32768,-32768,  4869,-32768,-32768,   640,
        !          1076:    640,-32768,-32768,-32768,-32768,-32768,   512,   512,   512,   640,
        !          1077:    640,  1071,-32768,-32768,  6464,-32768,   712,  1072,  1068,  5656,
        !          1078:   5656,   163,-32768,-32768,   730,  4801,-32768,-32768,  1123,  4306,
1.1       root     1079: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.2 ! root     1080:   1077,  6484,   465,    61,-32768,  1027,  1032,   475,-32768,-32768,
        !          1081: -32768,   477,-32768,   696,   696,   512,-32768,-32768,-32768,-32768,
        !          1082:    487,  4306,-32768,  5656,-32768,  1084,-32768,   120,-32768,-32768,
        !          1083: -32768,-32768,  5656,  1059,  5136,  3974,  5656,   800,-32768,-32768,
        !          1084: -32768,-32768,  1036,  1039,-32768,  1062,  1041,    22,  1046,   605,
        !          1085: -32768,   609,-32768,-32768,  1048,-32768,-32768,-32768,   741,   300,
        !          1086: -32768,  1050,   312,   420,  1052,-32768,-32768,-32768,-32768,-32768,
        !          1087:    212,   120,-32768,-32768,   771,-32768,  2661,-32768,   783,-32768,
        !          1088:   2768,  4472,  4472,    40,   512,   512,   512,  4306,-32768,-32768,
        !          1089: -32768,   187,  4306,  5656,  6464,  6464,   788,-32768,-32768,   187,
        !          1090:   1080,   509,-32768,-32768,   512,   512,   512,   512,   512,   512,
        !          1091:   4057,  1044,   465,-32768,-32768,  1076,  1082,-32768,-32768,-32768,
        !          1092: -32768,  6442,  4306,-32768,  1063,  5656,  1154,  1073,  1074,-32768,
        !          1093:   1078,-32768,  1075,-32768,  5656,  5136,-32768,-32768,   468,-32768,
        !          1094:   1079,  5656,-32768,  1085,  5656,-32768,-32768,-32768,   788,-32768,
        !          1095: -32768,-32768,   788,  5136,   865,  1126,-32768,-32768,-32768,-32768,
        !          1096: -32768,  1086,  1088,-32768,-32768,  4306,-32768,-32768,  6464,  1128,
        !          1097: -32768,   513,  1123,  1081,-32768,-32768,-32768,-32768,  4306,-32768,
        !          1098: -32768,  1090,-32768,-32768,-32768,  3089,-32768,-32768,  5136,  1140,
        !          1099: -32768,    59,-32768,   542,-32768,-32768,   543,-32768,-32768,-32768,
        !          1100: -32768,-32768,-32768,-32768,  4306,-32768,  1093,   544,-32768,-32768,
        !          1101:   1095,  1099,-32768,  5136,-32768,  1117,   818,  2875,  5136,-32768,
        !          1102: -32768,  1199,  1109,  1114,  1115,-32768,  1121,  4555,  4555,-32768,
        !          1103: -32768,  1219,-32768,-32768,-32768,-32768,  5136,  5656,-32768,-32768,
        !          1104: -32768,  5136,  1141,   216,  1176,-32768,-32768,-32768,-32768,    99,
        !          1105:   1150,  1130,  1139,-32768,-32768,  1143,-32768,  5656,  1199,  1145,
        !          1106:   1199,-32768,-32768,-32768,  1035,-32768,-32768,  1147,  1144,   349,
        !          1107: -32768,-32768,   799,   799,   120,  5136,  5136,-32768,-32768,  1242,
        !          1108:   1149,-32768,-32768,-32768,  1151,-32768,-32768,-32768,   547,-32768,
        !          1109: -32768,  1245,  1152,   799,-32768,-32768,-32768,  1258,  1263,-32768
1.1       root     1110: };
                   1111: 
                   1112: static const short yypgoto[] = {-32768,
1.1.1.2 ! root     1113:   1142,-32768,-32768,   984,  1264,-32768,-32768,-32768,-32768,   569,
        !          1114: -32768,-32768,-32768,-32768,-32768,-32768,-32768,  -669,  1146,  1148,
        !          1115: -32768,-32768,-32768,-32768,  1134,-32768,-32768,   565,    -7,   785,
        !          1116:   -225,-32768,    95,   -20,-32768,-32768,-32768,   786,  -888,-32768,
        !          1117:    535,   237,-32768,   125,   186,   722,-32768,  -144,   908,  -184,
        !          1118: -32768,-32768,-32768,-32768,  -182,   -64,  -106,-32768,-32768,   311,
        !          1119:    -33,    52,  1127,   363,    -8,  1017,    -1,    37,   409,   -30,
        !          1120:   -278,-32768,-32768,   968,-32768,-32768,-32768,  -484,-32768,   182,
        !          1121: -32768,-32768,   555,   482,   -12,-32768,-32768,-32768,   675,  -252,
        !          1122:   1272,  1274,-32768,-32768,-32768,-32768,-32768,  -145,-32768,   554,
        !          1123:   -532,-32768,   574,   410,   534,  -341,   954,-32768,-32768,   913,
        !          1124:    691,   -59,   -88,    -2,  1375,  -261,-32768,   -67,   988,  1536,
        !          1125:    668,-32768,    24,  -173,-32768,  -134,  -852,  -835,  -306,-32768,
        !          1126: -32768,   585,  -118,  -129,-32768,-32768,    66,-32768,-32768,-32768,
1.1       root     1127: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
1.1.1.2 ! root     1128: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,   297,
        !          1129: -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
        !          1130: -32768,  -959,   119,-32768,   118,-32768,   -29,-32768,  -254,   -27,
        !          1131:     23,  1113,-32768,-32768,  -119,  -574,   541,   310,-32768,  1070
1.1       root     1132: };
                   1133: 
                   1134: 
1.1.1.2 ! root     1135: #define        YYLAST          6587
1.1       root     1136: 
                   1137: 
                   1138: static const short yytable[] = {    40,
1.1.1.2 ! root     1139:     40,   215,    65,   487,   153,   164,   106,   250,   166,   113,
        !          1140:    311,   311,   108,   107,   583,   299,   326,   266,   782,   497,
        !          1141:    514,   496,   312,   188,    53,    53,   476,   173,    40,   709,
        !          1142:    208,   755,   307,   329,   405,   405,   186,   165,  1017,   845,
        !          1143:   1021,   116,   405,   414,   349,   405,   272,   340,  1007,   405,
        !          1144:    546,   405,    38,    38,  1053,    61,    62,   399,    40,   405,
        !          1145:    399,   743,  1102,  1103,   580,   249,    59,   399,   399,    59,
        !          1146:    399,   830,   553,    -1,   580,   174,   172,   254,   854,   317,
        !          1147:    110,   131,   416,   385,    66,   417,   479,   425,    67,   422,
        !          1148:    483,   423,    61,    62,   173,    61,    62,   291,   292,   458,
        !          1149:    687,   369,   370,     6,   273,   112,   271,   308,    15,   105,
        !          1150:    688,   206,  1162,   425,   425,   224,   120,   284,    68,  1202,
        !          1151:    249,   330,    61,    62,   413,  -102,    40,   812,   111,   175,
        !          1152:    165,   255,   120,   855,   581,   617,    61,    62,    61,    62,
        !          1153:    586,   557,   112,   371,  1104,   112,    64,   114,    61,    62,
        !          1154:    400,    53,   173,   493,   105,   309,   759,   760,   173,   469,
        !          1155:    928,  1163,   473,  1055,  1053,   365,   725,   842,   534,   945,
        !          1156:    558,   503,   384,   421,   958,   331,   311,   311,   531,    38,
        !          1157:    335,  1007,    63,    64,   498,  1007,    64,   529,   530,   326,
        !          1158:     40,   237,    23,   364,   275,   372,   768,   769,   528,   499,
        !          1159:     40,   172,   105,  1203,   394,   165,   122,   342,  1192,  1193,
        !          1160:    120,   120,   120,    64,   369,   370,     6,   425,   201,   844,
        !          1161:    374,   123,   124,   556,   704,   120,   405,    64,   696,   182,
        !          1162:    414,   249,    61,    62,   766,   753,   173,   293,   584,   182,
        !          1163:    681,   120,   294,   353,   783,   120,   206,   197,   174,   271,
        !          1164:    127,   535,   536,   206,   198,   173,   371,   202,   173,    61,
        !          1165:    515,   125,    40,   604,   754,   912,   632,   766,   120,  1199,
        !          1166:    745,   197,    40,  1158,   459,   460,   143,   750,   198,   142,
        !          1167:    521,   144,   742,   425,    40,   987,   988,     6,   774,   775,
        !          1168:    635,   120,   295,   520,   120,   194,   105,   784,   990,   516,
        !          1169:    992,   105,   338,   551,   491,    23,   685,   686,   372,    53,
        !          1170:    957,    15,   126,   968,   461,   206,   136,   594,  1200,   573,
        !          1171:    578,   767,  1007,   182,   173,   206,   560,   371,   504,   677,
        !          1172:    678,   364,     4,   119,   195,   196,   808,    38,   517,   296,
        !          1173:    120,   459,   474,   627,   297,   105,   137,   628,   389,   330,
        !          1174:    182,   173,   165,   505,    40,   279,   506,   419,   507,   614,
        !          1175:    211,   174,   618,    39,    39,   462,    15,   969,   105,    15,
        !          1176:     61,    62,   606,   342,    19,   107,   182,   463,    15,   372,
        !          1177:    362,   461,    56,    57,   206,   425,   425,   390,    40,   608,
        !          1178:    394,   391,   132,   425,   298,   120,   669,   425,   311,   609,
        !          1179:    172,   249,  1220,  1090,   191,   249,   263,   353,   508,   726,
        !          1180:    673,   610,   265,   120,   120,  1092,   711,   470,   120,   425,
        !          1181:     23,   425,   207,    23,   120,   698,     4,   119,   213,   120,
        !          1182:    392,   275,   475,   479,   137,    27,   483,   326,   818,   834,
        !          1183:    699,   206,   326,   497,   463,   496,   846,   120,   289,   290,
        !          1184:    903,  1221,   378,   765,   668,   674,   471,  -283,   773,   694,
        !          1185:    257,    64,   194,    15,   -87,   712,   606,   425,    19,   732,
        !          1186:    733,   105,   932,   675,   935,   188,  -283,   214,  -283,   173,
        !          1187:    120,   120,   425,   608,   305,   405,   918,    40,   701,   527,
        !          1188:     39,   664,   589,   609,   918,   801,   249,   258,   996,   665,
        !          1189:    263,   195,   196,   425,   197,   610,   265,   425,   122,     4,
        !          1190:    119,   198,   676,   740,   717,  1146,   722,    23,   550,   275,
        !          1191:    951,  1147,    59,  -248,   425,   827,   425,   419,   491,    27,
        !          1192:   -283,   419,   785,   629,   631,   953,   425,   168,   169,   170,
        !          1193:    206,   364,   764,   560,    10,   285,    15,   771,   683,    17,
        !          1194:    105,    19,   642,   300,   354,   336,   959,   207,  1113,   120,
        !          1195:    960,   113,   314,   713,   207,    13,    20,   542,   113,   347,
        !          1196:     40,   791,    16,   795,   470,    40,    21,  1058,   663,  1059,
        !          1197:    488,   671,   542,   105,   583,   377,   626,   684,    22,  1060,
        !          1198:    832,   425,   425,  1172,   206,    58,  1232,    59,   113,   364,
        !          1199:     23,   364,   714,   169,   170,   345,   543,   544,    40,    10,
        !          1200:    346,  1114,    27,   471,   394,  1204,   374,   366,   850,   489,
        !          1201:    490,   543,   544,   206,   685,   686,   207,   545,   206,   833,
        !          1202:     13,   120,   120,   388,    60,   194,   207,    16,   662,   470,
        !          1203:    689,   916,   736,   405,  1164,  1165,  1173,  1081,    39,  1233,
        !          1204:    924,  1084,   206,   332,   206,   173,   682,   851,   822,   393,
        !          1205:    332,   206,   954,   955,   823,   107,   900,   901,    51,    51,
        !          1206:    777,   778,     4,   146,   195,   196,   937,   197,   471,   560,
        !          1207:    910,   911,   332,   950,   198,   194,  1082,   120,   -22,    51,
        !          1208:   1085,   521,   333,   334,   397,   207,    40,    51,   401,   333,
        !          1209:    334,   120,   710,   -22,   520,   158,   158,    71,     6,    15,
        !          1210:      8,   270,    17,   898,    19,   147,    10,   327,   354,   856,
        !          1211:    899,   333,   334,   594,   195,   196,   364,   412,   739,   148,
        !          1212:     12,   560,   922,   946,   947,   409,    59,    13,   488,   149,
        !          1213:   -634,   302,  -634,   410,    16,  -102,   150,  -634,   715,   206,
        !          1214:    303,   151,   207,   424,   143,   944,   590,   591,  1110,   144,
        !          1215:    224,   105,  1126,    23,    15,  -634,  -634,   566,  -634,   413,
        !          1216:   -634,   399,   567,   152,    40,    27,  1135,   489,   490,  1138,
        !          1217:    304,   107,   425,    51,    51,    51,   790,   716,   794,   168,
        !          1218:    169,   170,   105,   970,   971,    51,    10,    23,   158,   158,
        !          1219:    455,   197,  1037,   169,   170,   472,   120,   722,   198,    10,
        !          1220:    546,   477,   378,   378,   158,  1030,  1031,    13,   158,   197,
        !          1221:    328,   271,   560,   486,    16,   197,   198,   353,   120,   120,
        !          1222:     13,   532,   198,  1038,  1039,   -77,   552,    16,   772,   824,
        !          1223:    -77,   158,   120,   120,  1088,   378,   966,   309,   999,  1002,
        !          1224:    821,   207,  1003,  1074,  1075,  1151,  1152,   526,   585,    51,
        !          1225:    120,   829,   984,   259,   373,   989,   260,    51,   -80,   835,
        !          1226:    443,   444,   445,   -80,   970,  1097,   587,   105,   825,  1089,
        !          1227:    261,   165,   364,  -430,  1093,  -430,   970,  1100,   364,   364,
        !          1228:    262,   364,   120,   120,   592,    40,   374,   263,   374,   848,
        !          1229:    588,   849,   264,   265,    59,   207,    71,     6,  -430,     8,
        !          1230:     72,  -430,  1107,   466,   593,    10,   597,   105,   259,   598,
        !          1231:   1111,   970,  1179,   621,    40,   605,   341,   169,   170,    12,
        !          1232:    622,   482,   625,    10,   207,   261,    13,   672,   633,   207,
        !          1233:    404,   408,  -430,    16,  -430,   262,   634,   620,   353,  1008,
        !          1234:    666,  -430,   263,    51,    13,  1014,   636,   264,   265,   690,
        !          1235:   1064,    16,   692,   207,  -430,   207,   691,   120,   522,   120,
        !          1236:    695,   697,   207,   364,   364,   727,   120,   353,   705,   169,
        !          1237:    170,   706,   193,   707,   667,    10,   158,   158,   744,   978,
        !          1238:    708,   158,   746,   983,   752,   741,    23,   158,   747,   758,
        !          1239:    776,   995,    51,   786,  1096,  -634,    13,  -634,   787,   802,
        !          1240:    948,   803,  -634,    16,  1132,   364,   806,   809,   952,   364,
        !          1241:    158,   158,   810,    51,   194,   811,   813,   814,   817,   282,
        !          1242:   -634,  -634,   820,  -634,   374,  -634,   961,   819,    71,     6,
        !          1243:   1067,     8,    72,   966,   275,   826,   828,    10,   441,   442,
        !          1244:    443,   444,   445,    51,    51,   839,   840,    51,   182,   843,
        !          1245:    207,    12,  -101,   195,   196,   853,   197,   906,    13,   902,
        !          1246:     54,    54,   904,   198,   364,    16,   905,   929,   917,   259,
        !          1247:    925,   931,  1008,  1222,  1223,  -634,  1008,   933,   934,   936,
        !          1248:    985,    54,   364,     4,   119,   940,   261,  1065,   972,    54,
        !          1249:   1071,  1073,   363,   973,  1237,   120,   262,    54,    54,   976,
        !          1250:    977,   979,   991,   263,   980,   993,   981,   997,   264,   265,
        !          1251:   1009,  1034,  1029,  1033,   364,  1041,  1051,   364,    23,  1056,
        !          1252:     15,   446,   679,   606,  1057,    19,   607,  1063,   354,  1077,
        !          1253:   1066,  1131,  1078,  1079,  -101,  1215,   642,   642,  1115,  1080,
        !          1254:    608,  1087,   364,  1091,   468,   970,   364,   364,  1117,  1139,
        !          1255:    609,  1112,   447,   448,  1118,  1121,   449,   263,   451,  1123,
        !          1256:    453,   454,   610,   265,  1140,   364,  1124,  1128,  1125,  1145,
        !          1257:    364,  1127,  1133,  1150,    23,    54,    54,    54,  1136,  1142,
        !          1258:   1122,  1143,  1155,  1161,  1160,  1171,    27,    54,  1178,  1130,
        !          1259:     54,    54,  1174,   107,   158,   158,  1175,  1224,  1183,  1191,
        !          1260:    525,   363,  1187,   374,   364,   364,    54,  1188,  1189,  1176,
        !          1261:     54,  1194,  1198,  1008,  1181,  1201,    71,     6,   161,     8,
        !          1262:    162,  1205,  1206,    61,    62,    10,   176,   177,   178,   158,
        !          1263:    363,  1207,  1195,    54,   158,  1208,  1219,  1197,  1211,    12,
        !          1264:   1218,  1228,  1230,  1231,  1235,  1236,    13,  1239,   565,   354,
        !          1265:    373,    54,  1240,    16,   179,    55,   841,  1134,   286,    54,
        !          1266:   1137,   502,   306,   287,    51,   288,   847,   800,   180,   181,
        !          1267:    702,  1226,  1227,   703,   120,   913,  1072,   492,   354,  1116,
        !          1268:   1000,   337,   642,   642,  1149,   415,   941,   547,   807,   105,
        !          1269:    525,   133,  1196,   134,   897,   914,  1024,   579,   363,   926,
        !          1270:    624,   541,   805,   896,  1099,   467,    23,  1210,  1212,   387,
        !          1271:   1095,   467,  1209,   927,   182,     0,     0,     0,     0,   183,
        !          1272:    184,   185,   638,   639,   640,     0,   644,   645,   646,   647,
        !          1273:    648,   649,   650,   651,   652,   653,   654,   655,   656,   657,
        !          1274:    658,   659,   660,     0,     0,    54,   938,   939,     0,   661,
        !          1275:    363,   439,   440,   441,   442,   443,   444,   445,     0,     0,
        !          1276:      3,     0,     4,     5,     6,     7,     8,     9,   363,   522,
        !          1277:    949,     0,    10,     0,     0,     0,     0,     0,    54,    54,
        !          1278:      0,     0,     0,    54,   117,   118,    12,     0,     0,    54,
        !          1279:      0,   158,   158,    13,    54,   282,     0,   963,   967,    15,
        !          1280:     16,     0,    17,     0,    19,   158,   158,    71,     6,     7,
        !          1281:      8,     9,    54,    54,   363,    54,    10,     0,     0,    20,
        !          1282:      0,   525,   203,   158,     0,     0,     0,     0,     0,    21,
        !          1283:     12,     0,     0,    51,     0,     0,     0,    13,     0,   256,
        !          1284:    363,    22,     0,     0,    16,    54,    54,     0,     0,    54,
        !          1285:      0,     0,     0,    23,    24,    51,    51,     0,     0,     0,
        !          1286:      0,     0,     0,    26,     0,    27,     0,   762,   763,     0,
        !          1287:      0,     0,     0,     0,  1044,   350,     0,     4,   130,     6,
        !          1288:      7,     8,     9,     0,     0,     0,     0,    10,     0,     0,
        !          1289:      0,     0,     0,     0,     0,     0,     0,    23,   363,     0,
        !          1290:    363,    12,     0,     0,     0,     0,  1061,     0,    13,  -364,
        !          1291:      0,     0,   319,   320,    15,    16,     0,    17,   804,    19,
        !          1292:      0,     0,     0,     0,   680,   467,    50,    50,   351,     0,
        !          1293:    373,     0,   373,   816,    20,     0,     0,     0,     0,   158,
        !          1294:    158,     0,     0,     0,    21,     0,     0,   121,   568,   146,
        !          1295:      0,     0,     0,     0,    51,   135,    22,     0,   359,     0,
        !          1296:      0,     0,   363,     0,   167,   383,     0,     0,    23,     0,
        !          1297:      0,     0,  1105,   363,     0,     0,     0,  1108,   582,  -364,
        !          1298:     27,   363,     0,    51,     0,    15,     0,     0,   569,     0,
        !          1299:     19,   147,     0,   570,     0,   967,    54,    54,     0,   571,
        !          1300:      0,     0,     0,     0,     0,   148,     0,  1120,     0,     0,
        !          1301:      0,   363,     0,   363,     0,   149,     0,   852,     0,     0,
        !          1302:      0,     0,   150,   478,     0,   480,   481,   572,     0,     0,
        !          1303:      0,    54,     0,     0,     0,     0,    54,     0,     0,    23,
        !          1304:      0,   276,   277,   278,     0,     0,     0,     0,     0,     0,
        !          1305:   1144,    27,     0,    50,     0,   915,     0,     0,     0,     0,
        !          1306:      0,     0,     0,  1153,     0,     0,    54,     0,   373,    54,
        !          1307:    446,     0,   318,     0,     0,     0,   121,     0,     0,     0,
        !          1308:      0,     0,     0,     0,     0,   537,   538,     0,     0,  1170,
        !          1309:      0,     0,     0,     0,     0,     0,   548,     0,     0,   525,
        !          1310:    525,   447,   448,     0,     0,   449,   450,   451,   452,   453,
        !          1311:    454,     0,   525,     0,   942,     0,     0,   358,     0,     0,
        !          1312:      0,     0,   363,   525,     0,   382,     0,     0,    -2,     3,
        !          1313:    363,     4,     5,     6,     7,     8,     9,     0,   831,     0,
        !          1314:      0,    10,     0,     0,     0,     0,     0,     0,   363,     0,
        !          1315:    525,   525,   615,     0,    11,    12,     0,     0,     0,     0,
        !          1316:      0,     0,    13,     0,     0,     0,    14,     0,    15,    16,
        !          1317:      0,    17,    18,    19,     0,     0,    71,     6,     7,     8,
        !          1318:      9,     0,     0,   204,     0,    10,     0,     0,    20,   339,
        !          1319:      0,     0,     0,    54,    54,     0,     0,     0,    21,    12,
        !          1320:      0,     0,     0,     0,     0,     0,    13,    54,    54,     0,
        !          1321:     22,    50,  -634,    16,  -634,     0,     0,  1035,  1036,  -634,
        !          1322:      0,     0,    23,    24,    25,    54,     0,   525,     0,     0,
        !          1323:      0,   194,    26,     0,    27,    54,     0,  -634,  -634,     0,
        !          1324:   -634,     0,  -634,     0,   277,   278,     0,   373,     0,   121,
        !          1325:      0,     0,   693,     0,     0,     0,     0,    54,    54,   525,
        !          1326:    382,  1062,     0,     0,     0,   205,    23,     0,     0,     0,
        !          1327:    195,   196,     0,   197,     0,     0,     0,     0,     0,     0,
        !          1328:    198,   358,     0,     0,   129,     0,     4,   130,     6,     7,
        !          1329:      8,     9,  -248,     0,     0,     0,    10,     0,     0,     0,
        !          1330:      0,     0,     0,   734,   735,     0,   737,     0,     0,     0,
        !          1331:     12,   612,   612,     0,     0,   612,     0,    13,   748,   749,
        !          1332:      0,     0,     0,    15,    16,   525,    17,     0,    19,     0,
        !          1333:    525,  1109,     0,   761,     0,     0,     0,     0,     0,     0,
        !          1334:    770,    54,    54,    20,     0,     0,     0,     0,   525,   779,
        !          1335:    780,   781,     0,    21,     0,     0,    54,     0,     0,     0,
        !          1336:    525,     0,     0,     0,   788,    22,   792,     0,     0,   796,
        !          1337:    478,     0,   798,   799,     0,     0,     0,    23,     0,   363,
        !          1338:      0,     0,   363,     0,     0,    54,     0,     0,     0,    27,
        !          1339:    433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
        !          1340:    443,   444,   445,   525,     0,     0,     0,     0,   216,   130,
        !          1341:      6,     0,     8,   402,   218,   214,   525,   219,    10,     0,
        !          1342:      0,     0,     0,     0,     0,     0,     0,   919,   146,     0,
        !          1343:      0,     0,    12,   220,   221,   222,     0,   223,     0,    13,
        !          1344:      0,   224,   525,     0,   225,    15,    16,     0,     0,     0,
        !          1345:    226,   836,   837,     0,     0,   838,     0,     0,     0,     0,
        !          1346:      0,     0,   277,   278,    15,   227,     0,    17,     0,    19,
        !          1347:    147,     0,   920,   228,   229,   230,     0,     0,   921,   231,
        !          1348:    232,     0,     0,     0,   148,     0,     0,   233,     0,     0,
        !          1349:      0,     0,     0,     0,   149,     0,     0,   121,     0,    23,
        !          1350:      0,   150,   121,     0,     0,     0,   151,     0,   907,   908,
        !          1351:    909,   234,   235,   670,     0,     0,     0,     0,    23,   435,
        !          1352:    436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
        !          1353:     27,     0,   797,     0,     0,   121,     0,  1010,     0,  -567,
        !          1354:   -567,  -567,  -567,  -567,  -567,  -567,  -567,     0,  -567,  -567,
        !          1355:   -567,  -567,  -567,  -567,  -567,  -567,  -567,  -567,  -567,  -567,
        !          1356:   -567,  -567,  -567,  -567,  -567,  -567,  -567,     0,  -567,     0,
        !          1357:   -567,     0,  -567,  -567,     0,  -567,  -567,  -567,     0,     4,
        !          1358:    146,  -567,     0,     0,  -567,  -567,   436,   437,   438,   439,
        !          1359:    440,   441,   442,   443,   444,   445,  -567,     0,     0,     0,
        !          1360:      0,     0,     0,   956,  -567,  -567,  -567,     0,     0,     0,
        !          1361:   -567,  -567,     4,   146,     0,     0,    15,     0,  -567,    17,
        !          1362:   -567,    19,  1011,  -567,  1012,     0,  -567,  -567,  -567,     0,
        !          1363:   -567,     0,     0,     0,     0,     0,   148,     0,     0,     0,
        !          1364:   -567,  -567,  -567,  -567,     0,     0,   149,     0,     0,    15,
        !          1365:      0,     0,    17,   150,    19,   147,     0,     0,   151,   277,
        !          1366:    278,     0,     0,     0,     0,     0,  1025,  1026,  1027,   148,
        !          1367:     23,     0,     0,   277,   278,     0,     0,     0,     0,   149,
        !          1368:      0,  1032,    27,     0,     0,     0,   150,     0,     0,  1040,
        !          1369:      0,   151,     0,     0,     0,  1045,  1046,  1047,  1048,  1049,
        !          1370:   1050,   358,     0,    23,     0,     0,     0,     0,     0,     0,
        !          1371:      0,     0,     0,   998,     0,    27,     0,     0,     0,     0,
        !          1372:      0,     0,     0,   277,   278,     0,  1005,     0,   859,   130,
        !          1373:      6,     7,     8,   361,   218,   214,     0,   219,    10,   860,
        !          1374:      0,   861,   862,   863,   864,   865,   866,   867,   868,   869,
        !          1375:    870,   871,    12,   220,   221,   222,     0,   223,     0,    13,
        !          1376:      0,   224,  -231,     0,   225,    15,    16,     0,     0,     0,
        !          1377:    226,     0,     0,   872,   309,     0,     0,     0,     0,     0,
        !          1378:      0,     0,     0,     0,     0,   227,     0,     0,     0,     0,
        !          1379:      0,     0,     0,   228,   229,   230,     0,     0,     0,   231,
        !          1380:    232,     0,     0,     0,     0,     0,     0,   233,  1004,   873,
        !          1381:      0,     0,   874,     0,     0,   875,   876,   877,     0,   878,
        !          1382:      0,     0,   358,     0,     0,     0,     0,     0,     0,   879,
        !          1383:   1006,   234,   235,     0,     0,     0,     0,  1015,     0,   859,
        !          1384:    130,     6,     7,     8,   361,   218,   214,     0,   219,    10,
        !          1385:    860,   358,   861,   862,   863,   864,   865,   866,   867,   868,
        !          1386:    869,   870,   871,    12,   220,   221,   222,     0,   223,     0,
        !          1387:     13,     0,   224,  -231,     0,   225,    15,    16,     0,     0,
        !          1388:      0,   226,     0,     0,   872,   309,     0,     0,     0,     0,
        !          1389:      0,     0,     0,     0,     0,     0,   227,     0,     0,     0,
        !          1390:      0,     0,     0,     0,   228,   229,   230,     0,     0,     0,
        !          1391:    231,   232,     0,     0,     0,     0,     0,     0,   233,     0,
        !          1392:    873,     0,     0,   874,     0,     0,   875,   876,   877,     0,
        !          1393:    878,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1394:    879,  1016,   234,   235,  1019,     0,   859,   130,     6,     7,
        !          1395:      8,   361,   218,   214,     0,   219,    10,   860,     0,   861,
        !          1396:    862,   863,   864,   865,   866,   867,   868,   869,   870,   871,
        !          1397:     12,   220,   221,   222,     0,   223,     0,    13,     0,   224,
        !          1398:   -231,     0,   225,    15,    16,     0,     0,     0,   226,     0,
        !          1399:      0,   872,   309,     0,     0,     0,     0,     0,     0,     0,
        !          1400:      0,     0,     0,   227,     0,     0,     0,     0,     0,     0,
        !          1401:      0,   228,   229,   230,     0,     0,     0,   231,   232,     0,
        !          1402:      0,     0,     0,     0,     0,   233,     0,   873,     0,     0,
        !          1403:    874,     0,     0,   875,   876,   877,     0,   878,     0,     0,
        !          1404:      0,     0,     0,     0,     0,     0,     0,   879,  1020,   234,
        !          1405:    235,  1005,     0,   859,   130,     6,     7,     8,   361,   218,
        !          1406:    214,     0,   219,    10,   860,     0,   861,   862,   863,   864,
        !          1407:    865,   866,   867,   868,   869,   870,   871,    12,   220,   221,
        !          1408:    222,     0,   223,     0,    13,     0,   224,  -231,     0,   225,
        !          1409:     15,    16,     0,     0,     0,   226,     0,     0,   872,   309,
1.1       root     1410:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2 ! root     1411:    227,     0,     0,     0,     0,     0,     0,     0,   228,   229,
        !          1412:    230,     0,     0,     0,   231,   232,     0,     0,     0,     0,
        !          1413:      0,     0,   233,     0,   873,     0,     0,   874,     0,     0,
        !          1414:    875,   876,   877,     0,   878,     0,     0,     0,     0,     0,
        !          1415:      0,     0,     0,     0,   879,  1098,   234,   235,  1005,     0,
        !          1416:    859,   130,     6,     7,     8,   361,   218,   214,     0,   219,
        !          1417:     10,   860,     0,   861,   862,   863,   864,   865,   866,   867,
        !          1418:    868,   869,   870,   871,    12,   220,   221,   222,     0,   223,
        !          1419:      0,    13,     0,   224,  -231,     0,   225,    15,    16,     0,
        !          1420:      0,     0,   226,     0,     0,   872,   309,     0,     0,     0,
        !          1421:      0,     0,     0,     0,     0,     0,     0,   227,     0,     0,
        !          1422:      0,     0,     0,     0,     0,   228,   229,   230,     0,     0,
        !          1423:      0,   231,   232,     0,     0,     0,     0,     0,     0,   233,
        !          1424:      0,   873,     0,     0,   874,     0,     0,   875,   876,   877,
        !          1425:      0,   878,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1426:      0,   879,  1101,   234,   235,  1005,     0,   859,   130,     6,
        !          1427:      7,     8,   361,   218,   214,     0,   219,    10,   860,     0,
        !          1428:    861,   862,   863,   864,   865,   866,   867,   868,   869,   870,
        !          1429:    871,    12,   220,   221,   222,     0,   223,     0,    13,     0,
        !          1430:    224,  -231,     0,   225,    15,    16,     0,     0,     0,   226,
        !          1431:      0,     0,   872,   309,     0,     0,     0,     0,     0,     0,
        !          1432:      0,     0,     0,     0,   227,     0,     0,     0,     0,     0,
        !          1433:      0,     0,   228,   229,   230,     0,     0,     0,   231,   232,
        !          1434:      0,     0,     0,     0,     0,     0,   233,     0,   873,     0,
        !          1435:      0,   874,     0,     0,   875,   876,   877,     0,   878,     0,
        !          1436:      0,     0,     0,     0,     0,     0,     0,     0,   879,  1180,
        !          1437:    234,   235,   858,     0,   859,   130,     6,     7,     8,   361,
        !          1438:    218,   214,     0,   219,    10,   860,     0,   861,   862,   863,
        !          1439:    864,   865,   866,   867,   868,   869,   870,   871,    12,   220,
        !          1440:    221,   222,     0,   223,     0,    13,     0,   224,  -231,     0,
        !          1441:    225,    15,    16,     0,     0,     0,   226,     0,     0,   872,
        !          1442:    309,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1443:      0,   227,     0,     0,     0,     0,     0,     0,     0,   228,
        !          1444:    229,   230,     0,     0,     0,   231,   232,     0,     0,     0,
        !          1445:      0,     0,     0,   233,     0,   873,     0,     0,   874,     0,
        !          1446:      0,   875,   876,   877,     0,   878,     0,     0,     0,     0,
        !          1447:      0,     0,     0,     0,     0,   879,     0,   234,   235,  1157,
        !          1448:      0,   859,   130,     6,     7,     8,   361,   218,   214,     0,
        !          1449:    219,    10,   860,     0,   861,   862,   863,   864,   865,   866,
        !          1450:    867,   868,   869,   870,   871,    12,   220,   221,   222,     0,
        !          1451:    223,     0,    13,     0,   224,  -231,     0,   225,    15,    16,
        !          1452:      0,     0,     0,   226,     0,     0,   872,   309,     0,     0,
        !          1453:      0,     0,     0,     0,     0,     0,     0,     0,   227,     0,
        !          1454:      0,     0,     0,     0,     0,     0,   228,   229,   230,     0,
        !          1455:      0,     0,   231,   232,     0,     0,     0,     0,     0,     0,
        !          1456:    233,     0,   873,     0,     0,   874,     0,     0,   875,   876,
        !          1457:    877,    70,   878,     0,    71,     6,     0,     8,    72,     0,
        !          1458:      0,     0,   879,    10,   234,   235,     0,     0,     0,     0,
        !          1459:      0,     0,     0,     0,     0,     0,     0,    12,     0,     0,
        !          1460:      0,     0,     0,     0,    13,     0,    73,    74,     0,     0,
        !          1461:      0,    16,    75,    76,     0,     0,     0,     0,     0,     0,
        !          1462:     77,    78,    79,    80,     0,     0,    81,    82,    83,    84,
        !          1463:     85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
        !          1464:     95,    96,    97,     0,    98,    99,     0,     0,   100,   101,
        !          1465:      0,     0,     0,   102,     0,     0,     0,     0,     0,     0,
        !          1466:      0,     0,     0,   360,    23,   216,   130,     6,     7,     8,
        !          1467:    361,   218,   214,   204,   219,    10,   103,   104,     0,     0,
        !          1468:      0,     0,     0,     0,     0,     0,     0,     0,     0,    12,
        !          1469:    220,   221,   222,     0,   223,     0,    13,     0,   224,  -231,
        !          1470:      0,   225,    15,    16,     0,     0,     0,   226,   426,   427,
        !          1471:    428,     0,     0,   429,   430,   431,   432,   433,   434,   435,
        !          1472:    436,   437,   227,   439,   440,   441,   442,   443,   444,   445,
        !          1473:    228,   229,   230,     0,     0,     0,   231,   232,     0,     0,
        !          1474:      0,     0,     0,     0,   233,     0,     0,     0,     0,     0,
        !          1475:      0,     0,     0,     0,     0,   205,    23,     0,     0,     0,
        !          1476:      0,     0,     0,     0,     0,  -611,     0,     0,   234,   235,
        !          1477:    549,     0,   216,   130,     6,     7,     8,   361,   218,   214,
        !          1478:    204,   219,    10,   434,   435,   436,   437,   438,   439,   440,
        !          1479:    441,   442,   443,   444,   445,     0,    12,   220,   221,   222,
        !          1480:      0,   223,     0,    13,     0,   224,  -231,     0,   225,    15,
        !          1481:     16,     0,     0,     0,   226,   432,   433,   434,   435,   436,
        !          1482:    437,   438,   439,   440,   441,   442,   443,   444,   445,   227,
        !          1483:      0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
        !          1484:      0,     0,     0,   231,   232,     0,     0,     0,     0,     0,
        !          1485:      0,   233,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1486:      0,     0,   205,    23,     0,     0,     0,     0,     0,     0,
        !          1487:      0,     0,  -611,     0,     0,   234,   235,   738,     0,   216,
        !          1488:    130,     6,     7,     8,   361,   218,   214,   204,   219,    10,
1.1       root     1489:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2 ! root     1490:      0,     0,     0,    12,   220,   221,   222,     0,   223,     0,
        !          1491:     13,     0,   224,  -231,     0,   225,    15,    16,     0,     0,
        !          1492:      0,   226,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1493:      0,     0,     0,     0,     0,     0,   227,     0,     0,     0,
        !          1494:      0,     0,     0,     0,   228,   229,   230,     0,     0,     0,
        !          1495:    231,   232,     0,     0,     0,     0,     0,     0,   233,     0,
        !          1496:      0,     0,     0,     0,     0,     0,     0,     0,     0,   205,
        !          1497:     23,     0,     0,     0,     0,     0,     0,     0,     0,  -611,
        !          1498:      0,     0,   234,   235,   789,     0,   216,   130,     6,     7,
        !          1499:      8,   361,   218,   214,   204,   219,    10,     0,     0,     0,
1.1       root     1500:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2 ! root     1501:     12,   220,   221,   222,     0,   223,     0,    13,     0,   224,
        !          1502:   -231,     0,   225,    15,    16,     0,     0,     0,   226,     0,
        !          1503:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1504:      0,     0,     0,   227,     0,     0,     0,     0,     0,     0,
        !          1505:      0,   228,   229,   230,     0,     0,     0,   231,   232,     0,
        !          1506:      0,     0,     0,     0,     0,   233,     0,     0,     0,     0,
        !          1507:      0,     0,     0,     0,     0,     0,   205,    23,     0,     0,
        !          1508:      0,     0,     0,     0,     0,     0,  -611,     0,     0,   234,
        !          1509:    235,   793,     0,   216,   130,     6,     7,     8,   361,   218,
        !          1510:    214,   204,   219,    10,     0,     0,     0,     0,     0,     0,
        !          1511:      0,     0,     4,   146,     0,     0,     0,    12,   220,   221,
        !          1512:    222,     0,   223,     0,    13,     0,   224,  -231,     0,   225,
        !          1513:     15,    16,     0,     0,     0,   226,     0,     0,     0,     0,
        !          1514:      0,     0,     0,     0,     0,     0,     0,     0,     0,    15,
        !          1515:    227,     0,    17,     0,    19,   147,     0,     0,   228,   229,
        !          1516:    230,     0,     0,     0,   231,   232,     0,     0,     0,   148,
        !          1517:      0,     0,   233,     0,     0,     0,     0,    61,    62,   149,
        !          1518:    176,   177,   178,   205,    23,     0,   150,     0,     0,     0,
        !          1519:      0,   151,     0,  -611,     0,     0,   234,   235,   523,     0,
        !          1520:    718,   719,     6,    23,     8,   402,   218,   214,   179,   219,
        !          1521:     10,     0,     0,     0,     0,    27,     0,     0,     0,     0,
        !          1522:      0,     0,   700,   181,    12,   220,   221,   222,     0,   223,
        !          1523:      0,    13,     0,   224,  -231,     0,   225,    15,    16,     0,
        !          1524:      0,     0,   226,     0,     0,     0,   524,     0,     0,     0,
        !          1525:      0,     0,     0,     0,     0,     0,     0,   227,     0,     0,
        !          1526:      0,     0,     0,     0,     0,   228,   229,   230,   182,     0,
        !          1527:      0,   231,   232,   183,   184,   185,     0,     0,     0,   233,
        !          1528:    720,   523,     0,   718,   719,     6,     0,     8,   402,   218,
        !          1529:    214,   182,   219,    10,     0,     0,     0,     0,     0,     0,
        !          1530:    964,     0,   721,   234,   235,     0,     0,    12,   220,   221,
        !          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,
        !          1536:      0,     0,   233,     0,  1068,     0,   216,   130,     6,     7,
        !          1537:      8,   361,   218,   214,   182,   219,    10,     0,     0,     0,
        !          1538:      0,     0,     0,     0,     0,   965,   234,   235,     0,     0,
        !          1539:     12,   220,   221,   222,     0,   223,     0,    13,     0,   224,
        !          1540:   -231,     0,   225,    15,    16,     0,     0,     0,   226,     0,
        !          1541:      0,     0,  1069,     0,     0,     0,     0,     0,     0,     0,
        !          1542:      0,     0,     0,   227,     0,     0,     0,     0,     0,     0,
        !          1543:      0,   228,   229,   230,     0,     0,     0,   231,   232,     0,
        !          1544:      0,     0,     0,     0,     0,   233,     0,   523,     0,   718,
        !          1545:    719,     6,     0,     8,   402,   218,   214,    23,   219,    10,
        !          1546:      0,     0,     0,     0,     0,     0,   964,  1070,     0,   234,
        !          1547:    235,     0,     0,    12,   220,   221,   222,     0,   223,     0,
        !          1548:     13,     0,   224,  -231,     0,   225,    15,    16,     0,     0,
        !          1549:      0,   226,     0,     0,     0,   524,     0,     0,     0,     0,
        !          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,
        !          1553:    523,     0,   718,   719,     6,     0,     8,   402,   218,   214,
        !          1554:    182,   219,    10,     0,     0,     0,     0,     0,     0,     0,
        !          1555:      0,  -326,   234,   235,     0,     0,    12,   220,   221,   222,
        !          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,
        !          1561:      0,   233,   720,   418,     0,   216,   130,     6,     0,     8,
        !          1562:    217,   218,   214,   182,   219,    10,     0,     0,     0,     0,
        !          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,
        !          1566:      0,  -204,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1567:      0,     0,   227,     0,     0,     0,     0,     0,     0,     0,
        !          1568:    228,   229,   230,     0,     0,     0,   231,   232,     0,     0,
        !          1569:      0,     0,     0,     0,   233,     0,   523,     0,   216,   130,
        !          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,
        !          1574:    226,     0,     0,     0,   524,     0,     0,     0,     0,     0,
        !          1575:      0,     0,     0,     0,     0,   227,     0,     0,     0,     0,
        !          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,
        !          1579:    219,    10,     0,     0,     0,     0,     0,     0,     0,     0,
        !          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,
        !          1583:      0,     0,  -601,     0,     0,     0,     0,     0,   227,     0,
        !          1584:      0,     0,     0,     0,     0,     0,   228,   229,   230,     0,
        !          1585:      0,     0,   231,   232,     0,     0,     0,     0,     0,     0,
        !          1586:    233,     0,   641,     0,   216,   130,     6,     0,     8,   402,
        !          1587:    218,   214,    23,   219,    10,     0,     0,     0,     0,     0,
        !          1588:      0,     0,     0,     0,   234,   235,     0,     0,    12,   220,
        !          1589:    221,   222,     0,   223,     0,    13,     0,   224,  -231,     0,
        !          1590:    225,    15,    16,     0,     0,     0,   226,     0,     0,     0,
        !          1591:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1592:      0,   227,     0,     0,     0,     0,     0,     0,     0,   228,
        !          1593:    229,   230,     0,     0,     0,   231,   232,     0,     0,     0,
        !          1594:      0,     0,     0,   233,     0,   641,     0,   216,   130,     6,
        !          1595:      0,     8,   402,   218,   214,    23,   219,    10,     0,     0,
        !          1596:      0,     0,     0,     0,     0,  -601,     0,   234,   235,     0,
        !          1597:      0,    12,   220,   221,   222,     0,   223,     0,    13,     0,
        !          1598:    224,  -231,     0,   225,    15,    16,     0,     0,     0,   226,
        !          1599:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1600:      0,     0,     0,     0,   227,     0,     0,     0,     0,     0,
        !          1601:      0,     0,   228,   229,   230,     0,     0,     0,   231,   232,
        !          1602:      0,     0,     0,     0,     0,     0,   233,     0,   637,     0,
        !          1603:    216,   130,     6,     0,     8,   402,   218,   214,    23,   219,
        !          1604:     10,     0,     0,     0,     0,     0,     0,  -601,     0,     0,
        !          1605:    234,   235,     0,     0,    12,   220,   221,   222,     0,   223,
        !          1606:      0,    13,     0,   224,  -231,     0,   225,    15,    16,     0,
        !          1607:      0,     0,   226,     3,     0,     4,     5,     6,     7,     8,
        !          1608:      9,     0,     0,     0,     0,    10,     0,   227,     0,     0,
        !          1609:      0,     0,     0,     0,     0,   228,   229,   230,    11,    12,
        !          1610:      0,   231,   232,     0,     0,     0,    13,     0,     0,   233,
        !          1611:     14,     0,    15,    16,     0,    17,    18,    19,     0,     0,
        !          1612:      0,    23,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1613:      0,     0,    20,   234,   235,     0,     0,     0,     0,     0,
        !          1614:      0,     0,    21,     0,     0,     0,     3,     0,     4,     5,
        !          1615:      6,     7,     8,     9,    22,     0,     0,     0,    10,     0,
        !          1616:      0,     0,     0,     0,     0,     0,    23,    24,    25,     0,
        !          1617:      0,    11,    12,     0,     0,     0,    26,   500,    27,    13,
        !          1618:      0,     0,     0,    14,     0,    15,    16,     0,    17,    18,
        !          1619:     19,   350,     0,     4,   130,     6,     7,     8,     9,     0,
        !          1620:      0,     0,     0,    10,     0,    20,     0,     0,     0,     0,
        !          1621:      0,     0,     0,     0,     0,    21,     0,    12,     0,     0,
        !          1622:      0,     0,     0,     0,    13,  -365,     0,    22,     0,     0,
        !          1623:     15,    16,     0,    17,     0,    19,     0,     0,     0,    23,
        !          1624:     24,    25,     0,     0,   351,     0,     0,     0,     0,    26,
        !          1625:     20,    27,     0,     0,     0,     0,     0,     0,     0,   350,
        !          1626:     21,     4,   130,     6,     7,     8,     9,     0,     0,     0,
        !          1627:      0,    10,    22,     0,     4,   146,     0,     0,     0,   275,
        !          1628:      0,     0,     0,     0,    23,    12,     0,     0,     0,     0,
        !          1629:      0,     0,    13,  -363,   582,  -365,    27,     0,    15,    16,
        !          1630:      0,    17,     0,    19,     0,     4,   119,     0,     0,     0,
        !          1631:    275,    15,   351,     0,    17,     0,    19,   350,    20,     4,
        !          1632:    130,     6,     7,     8,     9,     0,     0,     0,    21,    10,
        !          1633:      0,   148,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1634:     22,   149,    15,    12,     0,    17,     0,    19,   150,     0,
        !          1635:     13,  -366,    23,   151,     0,     0,    15,    16,     0,    17,
        !          1636:      0,    19,    20,  -363,    27,    23,     0,     0,     0,     0,
        !          1637:    351,     0,    21,     0,     0,     0,    20,    27,     0,     0,
        !          1638:      0,     0,     0,     0,    22,     0,    21,     0,     0,     0,
        !          1639:      0,     0,     0,     0,     0,     0,    23,     0,    22,     0,
        !          1640:      0,     0,     0,     0,     0,     0,     0,     0,    27,     0,
        !          1641:     23,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1642:      0,  -366,    27,   859,   130,     6,     7,     8,   361,   218,
        !          1643:    214,     0,   219,    10,   860,     0,   861,   862,   863,   864,
        !          1644:    865,   866,   867,   868,   869,   870,   871,    12,   220,   221,
        !          1645:    222,     0,   223,     0,    13,     0,   224,     0,     0,   225,
        !          1646:     15,    16,     0,     0,     0,   226,     0,     0,   872,   309,
1.1       root     1647:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2 ! root     1648:    227,     0,     0,     0,     0,     0,     0,     0,   228,   229,
        !          1649:    230,     0,     0,     0,   231,   232,     0,     0,     0,     0,
        !          1650:      0,     0,   233,     0,   873,     0,     0,   874,     0,     0,
        !          1651:    875,   876,   877,     0,   878,     0,     0,     0,     0,     0,
        !          1652:      0,     0,     0,     0,   879,  1013,   234,   235,   859,   130,
        !          1653:      6,     7,     8,   361,   218,   214,     0,   219,    10,   860,
        !          1654:      0,   861,   862,   863,   864,   865,   866,   867,   868,   869,
        !          1655:    870,   871,    12,   220,   221,   222,     0,   223,     0,    13,
        !          1656:      0,   224,     0,     0,   225,    15,    16,     0,     0,     0,
        !          1657:    226,     0,     0,   872,   309,     0,     0,     0,     0,     0,
        !          1658:      0,     0,     0,     0,     0,   227,     0,     0,     4,   380,
        !          1659:      0,     0,     0,   228,   229,   230,     0,     0,     0,   231,
        !          1660:    232,     0,     0,     0,     0,     0,     0,   233,     0,   873,
        !          1661:      0,     0,   874,     0,     0,   875,   876,   877,     0,   878,
        !          1662:      0,     0,     0,     0,     0,    15,     0,     0,    17,   879,
        !          1663:     19,   234,   235,   216,   130,     6,     0,     8,   402,   218,
        !          1664:    214,     0,   219,    10,     0,    20,     0,     0,     0,     0,
        !          1665:      0,     0,     0,     0,     0,    21,     0,    12,   220,   221,
        !          1666:    222,     0,   223,     0,    13,     0,   224,    22,     0,   225,
        !          1667:     15,    16,     0,     0,     0,   226,     0,     0,     0,   381,
1.1       root     1668:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2 ! root     1669:    227,    27,     0,     4,   119,     0,     0,     0,   228,   229,
        !          1670:    230,     0,     0,     0,   231,   232,     0,     0,     0,     0,
        !          1671:      0,     0,   233,   457,     0,     0,   216,   130,     6,     0,
        !          1672:      8,   402,   218,   214,    23,   219,    10,     0,     0,     0,
        !          1673:     15,     0,     0,    17,     0,    19,   234,   235,     0,     0,
        !          1674:     12,   220,   221,   222,     0,   223,     0,    13,     0,   224,
        !          1675:    321,     0,   225,    15,    16,     0,     0,     0,   226,     0,
        !          1676:    322,     0,   815,     0,     0,     0,     0,   323,     0,     0,
        !          1677:      0,     0,   324,   227,     0,     0,     4,   119,     0,     0,
        !          1678:      0,   228,   229,   230,    23,     0,     0,   231,   232,     0,
        !          1679:      0,     0,     0,     0,     0,   233,    27,     0,     0,   216,
        !          1680:    130,     6,     0,     8,   402,   218,   214,    23,   219,    10,
        !          1681:      0,     0,     0,    15,     0,     0,    17,     0,    19,   234,
        !          1682:    235,     0,     0,    12,   220,   221,   222,     0,   223,     0,
        !          1683:     13,     0,   224,   539,     0,   225,    15,    16,     0,     0,
        !          1684:      0,   226,     0,   540,     0,     0,     0,     0,     0,     0,
        !          1685:    323,     0,     0,     0,     0,   324,   227,     0,     0,     4,
        !          1686:    380,     0,     0,     0,   228,   229,   230,    23,     0,     0,
        !          1687:    231,   232,     0,     0,     0,     0,     0,     0,   233,    27,
        !          1688:      0,     0,   216,   130,     6,     0,     8,   402,   218,   214,
        !          1689:     23,   219,    10,     0,     0,     0,    15,     0,     0,    17,
        !          1690:    982,    19,   234,   235,     0,     0,    12,   220,   221,   222,
        !          1691:      0,   223,     0,    13,     0,   224,   554,     0,   225,    15,
        !          1692:     16,     0,     0,     0,   226,     0,   555,     0,     0,     0,
        !          1693:      0,     0,     0,     0,     0,     0,     0,     0,    22,   227,
        !          1694:      0,     0,     0,     0,     0,     0,     0,   228,   229,   230,
        !          1695:    381,     0,     0,   231,   232,     0,     0,     0,     0,     0,
        !          1696:      0,   233,    27,     0,     0,   216,   130,     6,     0,     8,
        !          1697:    217,   218,   214,    23,   219,    10,     0,     0,     0,     0,
        !          1698:      0,     0,     0,   994,     0,   234,   235,     0,     0,    12,
        !          1699:    220,   221,   222,     0,   223,     0,    13,     0,   224,     0,
        !          1700:      0,   225,    15,    16,     0,     0,     0,   226,     0,     0,
1.1       root     1701:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2 ! root     1702:      0,     0,   227,     0,     0,     0,     0,     0,     0,     0,
        !          1703:    228,   229,   230,     0,     0,     0,   231,   232,     0,     0,
        !          1704:      0,     0,     0,     0,   233,     0,     0,     0,   216,   130,
        !          1705:      6,     0,     8,   402,   218,   214,    23,   219,    10,     0,
        !          1706:      0,     0,     0,     0,     0,     0,     0,     0,   234,   235,
        !          1707:      0,     0,    12,   220,   221,   222,     0,   223,     0,    13,
        !          1708:      0,   224,     0,     0,   225,    15,    16,     0,     0,     0,
        !          1709:    226,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1710:      0,     0,     0,     0,     0,   227,     0,     0,     0,     0,
        !          1711:      0,     0,     0,   228,   229,   230,     0,     0,     0,   231,
        !          1712:    232,     0,     0,     0,     0,     0,     0,   233,     0,     0,
        !          1713:      0,   216,   630,     6,     0,     8,   402,   218,   214,    23,
        !          1714:    219,    10,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1715:      0,   234,   235,     0,     0,    12,   220,   221,   222,     0,
        !          1716:    223,     0,    13,     0,   224,     0,     0,   225,    15,    16,
        !          1717:      0,     0,     0,   226,     0,   216,   130,     6,     0,     8,
        !          1718:    402,   218,   214,     0,   219,    10,     0,     0,   227,     0,
        !          1719:      0,     0,     0,     0,     0,     0,   228,   229,   230,    12,
        !          1720:    220,     0,   231,   232,   223,     0,    13,     0,   224,     0,
        !          1721:    233,   225,    15,    16,     0,     0,     0,   226,     0,   216,
        !          1722:    130,     6,    23,     8,   402,   218,   214,     0,   219,    10,
        !          1723:      0,     0,   227,     0,   234,   235,     0,     0,     0,     0,
        !          1724:    228,   229,   230,    12,   220,     0,   231,   232,   223,     0,
        !          1725:     13,     0,   224,     0,   403,   225,    15,    16,     0,     0,
        !          1726:      0,   226,     0,     0,     0,     0,    23,     0,     0,     0,
        !          1727:      0,     0,     0,     0,     0,     0,   227,     0,   234,   235,
        !          1728:      0,     0,     0,     0,   228,   229,   230,     0,     0,     0,
        !          1729:    231,   232,     0,     0,     0,     0,     0,     0,   407,     0,
        !          1730:      0,   568,   160,     6,   161,     8,   162,     0,     0,     0,
1.1       root     1731:     23,    10,     0,     0,     0,     0,     0,     0,     0,     0,
1.1.1.2 ! root     1732:      0,     0,   234,   235,     0,    12,     0,     0,     0,     0,
        !          1733:      0,     0,    13,     0,     0,     0,     0,     0,    15,    16,
        !          1734:      0,   576,     0,    19,   147,     0,   570,     0,     0,     0,
        !          1735:      0,     0,   571,     0,     0,     0,     0,     0,   148,     4,
        !          1736:    130,     6,     7,     8,     9,     0,     0,   616,   149,    10,
        !          1737:      0,     0,     0,     0,     0,   150,     0,     0,     0,     0,
        !          1738:    577,     0,     0,    12,     0,     0,     0,     0,     0,     0,
        !          1739:     13,     0,    23,     0,     0,     0,    15,    16,     0,   606,
        !          1740:      0,    19,   607,     0,    27,     0,     0,     0,     0,     0,
        !          1741:      0,     0,     0,     0,     0,     0,   608,     4,   130,     6,
        !          1742:      7,     8,     9,     0,     0,   204,   609,    10,     0,     0,
        !          1743:      0,     0,     0,   263,     0,     0,     0,     0,   610,   265,
        !          1744:      0,    12,     0,     0,     0,     0,     0,     0,    13,     0,
        !          1745:     23,     0,     0,     0,    15,    16,     0,   606,     0,    19,
        !          1746:      0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
        !          1747:      0,     0,     0,     0,   608,     4,   160,     6,   161,     8,
        !          1748:    162,     0,     0,     0,   609,    10,     0,     0,     0,     0,
        !          1749:      0,   263,     0,     0,     0,     0,   610,   265,     0,    12,
        !          1750:      0,     0,     0,     0,     0,     0,    13,   205,    23,     0,
        !          1751:      0,     0,    15,    16,     0,    17,     0,    19,   147,     0,
        !          1752:     27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1753:      0,     0,   148,     4,   130,     6,     7,     8,     9,     0,
        !          1754:      0,   204,   149,    10,     0,     0,     0,     0,     0,   150,
        !          1755:      0,     0,     0,     0,   151,     0,     0,    12,     0,     0,
        !          1756:      0,     0,     0,     0,    13,     0,    23,     0,     0,     0,
        !          1757:     15,    16,     0,    17,     0,    19,   163,     0,    27,     0,
        !          1758:      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1759:    321,     4,   160,     6,   161,     8,   162,     0,     0,     0,
        !          1760:    322,    10,     0,     0,     0,     0,     0,   323,     0,     0,
        !          1761:      0,     0,   324,     0,     0,    12,     0,     0,     0,     0,
        !          1762:      0,     0,    13,   205,    23,     0,     0,     0,    15,    16,
        !          1763:      0,    17,     0,    19,   147,     0,    27,     0,     0,     0,
        !          1764:      0,     0,     0,     0,     0,     0,     0,     0,   148,     0,
        !          1765:      0,     0,     0,     0,     0,     0,     0,     0,   149,     4,
        !          1766:    160,     6,   161,     8,   162,   150,     0,     0,     0,    10,
        !          1767:    151,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        !          1768:      0,     0,    23,    12,     0,     0,     0,     0,     0,     0,
        !          1769:     13,     0,  1001,     0,    27,     0,    15,    16,     0,    17,
        !          1770:      0,    19,   147,     0,   130,     6,     7,     8,     9,     0,
        !          1771:      0,   204,     0,    10,     0,     0,   148,     0,     0,    71,
        !          1772:      6,     0,     8,   270,     0,     0,   149,    12,    10,     0,
        !          1773:      0,     0,     0,   150,    13,     0,     0,     0,   151,     0,
        !          1774:      0,    16,    12,   259,     0,     0,     0,     0,     0,    13,
        !          1775:     23,     0,     0,     0,     0,     0,    16,     0,   259,     0,
        !          1776:    261,   260,    27,     0,     0,     0,     0,     0,     0,     0,
        !          1777:    262,     0,     0,     0,     0,   261,     0,   263,     0,     0,
        !          1778:      0,     0,   264,   265,     0,   262,     0,     0,     0,     0,
        !          1779:      0,     0,   263,   205,    23,     0,     0,   264,   265,     0,
        !          1780:      0,     0,     0,     0,     0,   426,   427,   428,     0,    23,
1.1       root     1781:    429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1.1.1.2 ! root     1782:    439,   440,   441,   442,   443,   444,   445,   426,   427,   428,
        !          1783:      0,     0,   429,   430,   431,   432,   433,   434,   435,   436,
        !          1784:    437,   438,   439,   440,   441,   442,   443,   444,   445,     0,
        !          1785:      0,     0,     0,     0,     0,     0,     0,  -143,   426,   427,
        !          1786:    428,     0,   962,   429,   430,   431,   432,   433,   434,   435,
        !          1787:    436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
        !          1788:    756,   757,   426,   427,   428,  1119,     0,   429,   430,   431,
        !          1789:    432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
        !          1790:    442,   443,   444,   445,   426,   427,   428,     0,     0,   429,
        !          1791:    430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
        !          1792:    440,   441,   442,   443,   444,   445,   428,     0,     0,   429,
        !          1793:    430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
        !          1794:    440,   441,   442,   443,   444,   445,   430,   431,   432,   433,
        !          1795:    434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
        !          1796:    444,   445,   431,   432,   433,   434,   435,   436,   437,   438,
        !          1797:    439,   440,   441,   442,   443,   444,   445
1.1       root     1798: };
                   1799: 
                   1800: static const short yycheck[] = {     1,
1.1.1.2 ! root     1801:      2,    66,    10,   265,    38,    39,    15,    67,    39,    17,
        !          1802:    140,   141,    15,    15,   356,   135,   151,   106,   593,   274,
        !          1803:    299,   274,   141,    44,     1,     2,   252,    40,    30,   514,
        !          1804:     60,   564,   139,   153,   219,   220,    44,    39,   891,   709,
        !          1805:    893,    19,   227,   226,   190,   230,   111,   167,   884,   234,
        !          1806:    329,   236,     1,     2,   943,     3,     4,    10,    60,   244,
        !          1807:     10,   546,  1022,  1023,    35,    67,    45,    10,    10,    45,
        !          1808:     10,     3,   334,     0,    35,    50,    40,    50,    50,   147,
        !          1809:     34,    30,   227,   203,    82,   230,   260,    50,    82,   234,
        !          1810:    264,   236,     3,     4,   107,     3,     4,   131,   132,   244,
        !          1811:     60,     3,     4,     5,   112,    53,   108,     1,    40,    15,
        !          1812:     70,    60,    54,    50,    50,    36,    22,   125,     3,    21,
        !          1813:    122,    50,     3,     4,    45,   104,   128,   103,    82,   104,
        !          1814:    132,   104,    38,   105,   105,   390,     3,     4,     3,     4,
        !          1815:    103,     6,    53,    45,   105,    53,    94,    64,     3,     4,
        !          1816:    103,   128,   165,   103,    60,    49,   104,   105,   171,   248,
        !          1817:    103,   103,   251,   103,  1053,   195,   103,   700,   314,   105,
        !          1818:     35,   291,   202,   233,   844,   104,   306,   307,   308,   128,
        !          1819:    158,  1017,    49,    94,    50,  1021,    94,   306,   307,   324,
        !          1820:    192,    67,    94,   195,     8,    97,   104,   105,   305,    65,
        !          1821:    202,   165,   108,   105,   212,   207,    64,   171,  1168,  1169,
        !          1822:    116,   117,   118,    94,     3,     4,     5,    50,    43,   704,
        !          1823:    197,     3,     4,   343,   503,   131,   411,    94,   490,    94,
        !          1824:    413,   233,     3,     4,    50,     6,   249,    49,   358,    94,
        !          1825:    466,   147,    54,   192,    50,   151,   195,    85,    50,   251,
        !          1826:     49,   319,   320,   202,    92,   268,    45,    82,   271,     3,
        !          1827:      4,    43,   264,   383,    35,   750,   411,    50,   174,    54,
        !          1828:    103,    85,   274,  1126,     3,     4,    49,   556,    92,    45,
        !          1829:    301,    54,   544,    50,   286,     3,     4,     5,   104,   105,
        !          1830:    420,   197,   104,   301,   200,    43,   202,   103,   873,    43,
        !          1831:    875,   207,   104,   333,   268,    94,   480,   481,    97,   286,
        !          1832:    843,    40,    94,    50,    43,   264,    24,   377,   103,   353,
        !          1833:    354,   104,  1158,    94,   337,   274,   347,    45,    24,     3,
        !          1834:      4,   333,     3,     4,    82,    83,   103,   286,    82,    49,
        !          1835:    246,     3,     4,   403,    54,   251,    54,   407,    11,    50,
        !          1836:     94,   364,   354,    49,   356,   103,    52,   233,    54,   387,
        !          1837:    105,    50,   390,     1,     2,    94,    40,   104,   274,    40,
        !          1838:      3,     4,    43,   337,    45,   377,    94,   106,    40,    97,
        !          1839:    195,    43,   104,   105,   333,    50,    50,    50,   390,    60,
        !          1840:    398,    54,    30,    50,   104,   301,   456,    50,   528,    70,
        !          1841:    364,   403,    54,   104,    49,   407,    77,   356,   104,   528,
        !          1842:     43,    82,    83,   319,   320,   104,     1,    43,   324,    50,
        !          1843:     94,    50,    60,    94,   330,    50,     3,     4,    49,   335,
        !          1844:     93,     8,    94,   607,    54,   106,   610,   572,   103,   103,
        !          1845:     65,   390,   577,   698,   106,   698,   103,   353,   104,   105,
        !          1846:    103,   103,    26,   573,   456,   463,    82,    31,   578,   489,
        !          1847:     54,    94,    43,    40,    49,    50,    43,    50,    45,   537,
        !          1848:    538,   377,   103,    43,   103,   496,    50,    10,    52,   492,
        !          1849:    386,   387,    50,    60,   104,   670,   765,   489,   496,   304,
        !          1850:    128,    41,   368,    70,   773,   615,   498,   108,    54,    49,
        !          1851:     77,    82,    83,    50,    85,    82,    83,    50,    64,     3,
        !          1852:      4,    92,    82,   543,   522,     3,   524,    94,   333,     8,
        !          1853:    103,     9,    45,   104,    50,   670,    50,   403,   492,   106,
        !          1854:    104,   407,   597,   409,   410,   103,    50,     6,     7,     8,
        !          1855:    489,   543,   572,   564,    13,   105,    40,   577,    43,    43,
        !          1856:    456,    45,   428,     3,   192,   104,   103,   195,    50,   465,
        !          1857:    103,   569,    98,    43,   202,    34,    60,    43,   576,    54,
        !          1858:    572,   601,    41,   603,    43,   577,    70,   103,   454,   103,
        !          1859:     43,   457,    43,   489,   926,    82,   401,    82,    82,   103,
        !          1860:     43,    50,    50,    50,   543,    43,    50,    45,   606,   601,
        !          1861:     94,   603,    82,     7,     8,    49,    82,    83,   610,    13,
        !          1862:     54,   103,   106,    82,   622,  1190,   593,   108,    43,    82,
        !          1863:     83,    82,    83,   572,   798,   799,   264,   103,   577,    82,
        !          1864:     34,   537,   538,   103,    82,    43,   274,    41,   453,    43,
        !          1865:    103,   761,   103,   828,   103,   103,   103,    43,   286,   103,
        !          1866:    770,    43,   601,    43,   603,   668,   471,    82,   667,    52,
        !          1867:     43,   610,   836,   837,   667,   667,   734,   735,     1,     2,
        !          1868:    104,   105,     3,     4,    82,    83,   796,    85,    82,   700,
        !          1869:    748,   749,    43,   828,    92,    43,    82,   593,    50,    22,
        !          1870:     82,   712,    82,    83,   105,   333,   698,    30,    82,    82,
        !          1871:     83,   607,   517,    65,   712,    38,    39,     4,     5,    40,
        !          1872:      7,     8,    43,   103,    45,    46,    13,     1,   356,   727,
        !          1873:    103,    82,    83,   783,    82,    83,   728,     3,   543,    60,
        !          1874:     27,   752,   766,   822,   823,    82,    45,    34,    43,    70,
        !          1875:     24,    43,    26,    82,    41,    54,    77,    31,    43,   698,
        !          1876:     52,    82,   390,   103,    49,   820,     3,     4,  1037,    54,
        !          1877:     36,   667,  1069,    94,    40,    49,    50,    49,    52,    45,
        !          1878:     54,    10,    54,   104,   776,   106,  1083,    82,    83,  1086,
        !          1879:     82,   783,    50,   116,   117,   118,   601,    82,   603,     6,
        !          1880:      7,     8,   698,   104,   105,   128,    13,    94,   131,   132,
        !          1881:     37,    85,   922,     7,     8,   103,   712,   815,    92,    13,
        !          1882:   1089,     3,    26,    26,   147,   104,   105,    34,   151,    85,
        !          1883:    104,   823,   843,   108,    41,    85,    92,   776,   734,   735,
        !          1884:     34,   105,    92,   104,   105,    49,   108,    41,   104,    43,
        !          1885:     54,   174,   748,   749,   104,    26,   854,    49,   882,   883,
        !          1886:    665,   489,   883,    54,    55,  1117,  1118,   303,   103,   192,
        !          1887:    766,   676,   870,    43,   197,   873,    46,   200,    49,   684,
        !          1888:     70,    71,    72,    54,   104,   105,   103,   783,    82,   999,
        !          1889:     60,   883,   884,    24,  1004,    26,   104,   105,   890,   891,
        !          1890:     70,   893,   798,   799,     3,   897,   873,    77,   875,   714,
        !          1891:    108,   716,    82,    83,    45,   543,     4,     5,    49,     7,
        !          1892:      8,    52,  1032,   246,    50,    13,    82,   823,    43,    31,
        !          1893:   1040,   104,   105,    52,   926,   103,     6,     7,     8,    27,
        !          1894:     50,   264,   104,    13,   572,    60,    34,    53,   103,   577,
        !          1895:    219,   220,    83,    41,    85,    70,   103,   393,   897,   884,
        !          1896:     48,    92,    77,   286,    34,   890,   103,    82,    83,   103,
        !          1897:    968,    41,   108,   601,   105,   603,   103,   873,   301,   875,
        !          1898:    108,    34,   610,   975,   976,    33,   882,   926,   104,     7,
        !          1899:      8,   104,     1,   104,    82,    13,   319,   320,   103,   865,
        !          1900:    104,   324,   103,   869,    50,   108,    94,   330,   108,    54,
        !          1901:     54,   877,   335,    82,  1012,    24,    34,    26,    52,    52,
        !          1902:    825,    52,    31,    41,  1079,  1017,   105,   103,   833,  1021,
        !          1903:    353,   354,   103,   356,    43,   103,   103,   103,    54,   122,
        !          1904:     49,    50,    82,    52,  1011,    54,   851,   108,     4,     5,
        !          1905:    975,     7,     8,  1051,     8,    52,   108,    13,    68,    69,
        !          1906:     70,    71,    72,   386,   387,   103,   108,   390,    94,    54,
        !          1907:    698,    27,    54,    82,    83,    54,    85,    52,    34,   103,
        !          1908:      1,     2,   103,    92,  1076,    41,   108,    82,   103,    43,
        !          1909:    103,   103,  1017,  1213,  1214,   104,  1021,   103,   103,   103,
        !          1910:      8,    22,  1094,     3,     4,   105,    60,   973,    54,    30,
        !          1911:    976,   977,   195,    82,  1234,  1011,    70,    38,    39,    82,
        !          1912:     82,    54,    49,    77,   104,    49,   104,   104,    82,    83,
        !          1913:     15,    54,    52,    52,  1126,     3,    50,  1129,    94,   103,
        !          1914:     40,    43,   465,    43,   103,    45,    46,    54,   776,   104,
        !          1915:     82,  1076,   104,    82,   104,  1205,  1022,  1023,   105,   104,
        !          1916:     60,   104,  1154,   104,   247,   104,  1158,  1159,    83,  1094,
        !          1917:     70,    82,    74,    75,    83,   103,    78,    77,    80,    16,
        !          1918:     82,    83,    82,    83,    49,  1177,   104,   103,   105,    52,
        !          1919:   1182,   104,   104,   103,    94,   116,   117,   118,   104,   104,
        !          1920:   1066,   104,   103,    54,  1129,   103,   106,   128,    82,  1075,
        !          1921:    131,   132,   108,  1205,   537,   538,   108,  1215,    10,    89,
        !          1922:    303,   304,   104,  1190,  1216,  1217,   147,   104,   104,  1154,
        !          1923:    151,     3,    82,  1158,  1159,    50,     4,     5,     6,     7,
        !          1924:      8,    82,   103,     3,     4,    13,     6,     7,     8,   572,
        !          1925:    333,   103,  1177,   174,   577,   103,   103,  1182,   104,    27,
        !          1926:    104,    10,   104,   103,    10,   104,    34,     0,   351,   897,
        !          1927:    593,   192,     0,    41,    34,     2,   698,  1082,   127,   200,
        !          1928:   1085,   288,   139,   128,   607,   128,   712,   610,    48,    49,
        !          1929:    496,  1216,  1217,   498,  1190,   751,   976,   271,   926,  1053,
        !          1930:    882,   165,  1168,  1169,  1113,   226,   815,   330,   624,  1205,
        !          1931:    393,    30,  1178,    30,   731,   752,   897,   354,   401,   776,
        !          1932:    398,   324,   622,   729,  1018,   246,    94,  1199,  1201,   207,
        !          1933:   1011,   252,  1198,   783,    94,    -1,    -1,    -1,    -1,    99,
        !          1934:    100,   101,   425,   426,   427,    -1,   429,   430,   431,   432,
        !          1935:    433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
        !          1936:    443,   444,   445,    -1,    -1,   286,   802,   803,    -1,   452,
        !          1937:    453,    66,    67,    68,    69,    70,    71,    72,    -1,    -1,
        !          1938:      1,    -1,     3,     4,     5,     6,     7,     8,   471,   712,
        !          1939:    826,    -1,    13,    -1,    -1,    -1,    -1,    -1,   319,   320,
        !          1940:     -1,    -1,    -1,   324,    20,    21,    27,    -1,    -1,   330,
        !          1941:     -1,   734,   735,    34,   335,   498,    -1,   853,   854,    40,
        !          1942:     41,    -1,    43,    -1,    45,   748,   749,     4,     5,     6,
        !          1943:      7,     8,   353,   354,   517,   356,    13,    -1,    -1,    60,
        !          1944:     -1,   524,    58,   766,    -1,    -1,    -1,    -1,    -1,    70,
        !          1945:     27,    -1,    -1,   776,    -1,    -1,    -1,    34,    -1,    75,
        !          1946:    543,    82,    -1,    -1,    41,   386,   387,    -1,    -1,   390,
        !          1947:     -1,    -1,    -1,    94,    95,   798,   799,    -1,    -1,    -1,
        !          1948:     -1,    -1,    -1,   104,    -1,   106,    -1,   570,   571,    -1,
        !          1949:     -1,    -1,    -1,    -1,   930,     1,    -1,     3,     4,     5,
        !          1950:      6,     7,     8,    -1,    -1,    -1,    -1,    13,    -1,    -1,
        !          1951:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    94,   601,    -1,
        !          1952:    603,    27,    -1,    -1,    -1,    -1,   962,    -1,    34,    35,
        !          1953:     -1,    -1,   148,   149,    40,    41,    -1,    43,   621,    45,
        !          1954:     -1,    -1,    -1,    -1,   465,   466,     1,     2,    54,    -1,
        !          1955:    873,    -1,   875,   636,    60,    -1,    -1,    -1,    -1,   882,
        !          1956:    883,    -1,    -1,    -1,    70,    -1,    -1,    22,     3,     4,
        !          1957:     -1,    -1,    -1,    -1,   897,    30,    82,    -1,   194,    -1,
        !          1958:     -1,    -1,   665,    -1,    39,   201,    -1,    -1,    94,    -1,
        !          1959:     -1,    -1,  1028,   676,    -1,    -1,    -1,  1033,   104,   105,
        !          1960:    106,   684,    -1,   926,    -1,    40,    -1,    -1,    43,    -1,
        !          1961:     45,    46,    -1,    48,    -1,  1051,   537,   538,    -1,    54,
        !          1962:     -1,    -1,    -1,    -1,    -1,    60,    -1,  1063,    -1,    -1,
        !          1963:     -1,   714,    -1,   716,    -1,    70,    -1,   720,    -1,    -1,
        !          1964:     -1,    -1,    77,   259,    -1,   261,   262,    82,    -1,    -1,
        !          1965:     -1,   572,    -1,    -1,    -1,    -1,   577,    -1,    -1,    94,
        !          1966:     -1,   116,   117,   118,    -1,    -1,    -1,    -1,    -1,    -1,
        !          1967:   1106,   106,    -1,   128,    -1,   758,    -1,    -1,    -1,    -1,
        !          1968:     -1,    -1,    -1,  1119,    -1,    -1,   607,    -1,  1011,   610,
        !          1969:     43,    -1,   147,    -1,    -1,    -1,   151,    -1,    -1,    -1,
        !          1970:     -1,    -1,    -1,    -1,    -1,   321,   322,    -1,    -1,  1145,
        !          1971:     -1,    -1,    -1,    -1,    -1,    -1,   332,    -1,    -1,   802,
        !          1972:    803,    74,    75,    -1,    -1,    78,    79,    80,    81,    82,
        !          1973:     83,    -1,   815,    -1,   817,    -1,    -1,   192,    -1,    -1,
        !          1974:     -1,    -1,   825,   826,    -1,   200,    -1,    -1,     0,     1,
        !          1975:    833,     3,     4,     5,     6,     7,     8,    -1,   679,    -1,
        !          1976:     -1,    13,    -1,    -1,    -1,    -1,    -1,    -1,   851,    -1,
        !          1977:    853,   854,   388,    -1,    26,    27,    -1,    -1,    -1,    -1,
        !          1978:     -1,    -1,    34,    -1,    -1,    -1,    38,    -1,    40,    41,
        !          1979:     -1,    43,    44,    45,    -1,    -1,     4,     5,     6,     7,
        !          1980:      8,    -1,    -1,    11,    -1,    13,    -1,    -1,    60,     1,
        !          1981:     -1,    -1,    -1,   734,   735,    -1,    -1,    -1,    70,    27,
        !          1982:     -1,    -1,    -1,    -1,    -1,    -1,    34,   748,   749,    -1,
        !          1983:     82,   286,    24,    41,    26,    -1,    -1,   920,   921,    31,
        !          1984:     -1,    -1,    94,    95,    96,   766,    -1,   930,    -1,    -1,
        !          1985:     -1,    43,   104,    -1,   106,   776,    -1,    49,    50,    -1,
        !          1986:     52,    -1,    54,    -1,   319,   320,    -1,  1190,    -1,   324,
        !          1987:     -1,    -1,   488,    -1,    -1,    -1,    -1,   798,   799,   962,
        !          1988:    335,   964,    -1,    -1,    -1,    93,    94,    -1,    -1,    -1,
        !          1989:     82,    83,    -1,    85,    -1,    -1,    -1,    -1,    -1,    -1,
        !          1990:     92,   356,    -1,    -1,     1,    -1,     3,     4,     5,     6,
        !          1991:      7,     8,   104,    -1,    -1,    -1,    13,    -1,    -1,    -1,
        !          1992:     -1,    -1,    -1,   539,   540,    -1,   542,    -1,    -1,    -1,
        !          1993:     27,   386,   387,    -1,    -1,   390,    -1,    34,   554,   555,
        !          1994:     -1,    -1,    -1,    40,    41,  1028,    43,    -1,    45,    -1,
        !          1995:   1033,  1034,    -1,   569,    -1,    -1,    -1,    -1,    -1,    -1,
        !          1996:    576,   882,   883,    60,    -1,    -1,    -1,    -1,  1051,   585,
        !          1997:    586,   587,    -1,    70,    -1,    -1,   897,    -1,    -1,    -1,
        !          1998:   1063,    -1,    -1,    -1,   600,    82,   602,    -1,    -1,   605,
        !          1999:    606,    -1,   608,   609,    -1,    -1,    -1,    94,    -1,  1082,
        !          2000:     -1,    -1,  1085,    -1,    -1,   926,    -1,    -1,    -1,   106,
        !          2001:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          2002:     70,    71,    72,  1106,    -1,    -1,    -1,    -1,     3,     4,
        !          2003:      5,    -1,     7,     8,     9,    10,  1119,    12,    13,    -1,
        !          2004:     -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,    -1,
        !          2005:     -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,    34,
        !          2006:     -1,    36,  1145,    -1,    39,    40,    41,    -1,    -1,    -1,
        !          2007:     45,   687,   688,    -1,    -1,   691,    -1,    -1,    -1,    -1,
        !          2008:     -1,    -1,   537,   538,    40,    60,    -1,    43,    -1,    45,
        !          2009:     46,    -1,    48,    68,    69,    70,    -1,    -1,    54,    74,
        !          2010:     75,    -1,    -1,    -1,    60,    -1,    -1,    82,    -1,    -1,
        !          2011:     -1,    -1,    -1,    -1,    70,    -1,    -1,   572,    -1,    94,
        !          2012:     -1,    77,   577,    -1,    -1,    -1,    82,    -1,   744,   745,
        !          2013:    746,   106,   107,   108,    -1,    -1,    -1,    -1,    94,    62,
        !          2014:     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
        !          2015:    106,    -1,   607,    -1,    -1,   610,    -1,     1,    -1,     3,
1.1       root     2016:      4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
                   2017:     14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
                   2018:     24,    25,    26,    27,    28,    29,    30,    -1,    32,    -1,
1.1.1.2 ! root     2019:     34,    -1,    36,    37,    -1,    39,    40,    41,    -1,     3,
        !          2020:      4,    45,    -1,    -1,    48,    49,    63,    64,    65,    66,
        !          2021:     67,    68,    69,    70,    71,    72,    60,    -1,    -1,    -1,
        !          2022:     -1,    -1,    -1,   839,    68,    69,    70,    -1,    -1,    -1,
        !          2023:     74,    75,     3,     4,    -1,    -1,    40,    -1,    82,    43,
        !          2024:     84,    45,    86,    87,    88,    -1,    90,    91,    92,    -1,
        !          2025:     94,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
        !          2026:    104,   105,   106,   107,    -1,    -1,    70,    -1,    -1,    40,
        !          2027:     -1,    -1,    43,    77,    45,    46,    -1,    -1,    82,   734,
        !          2028:    735,    -1,    -1,    -1,    -1,    -1,   902,   903,   904,    60,
        !          2029:     94,    -1,    -1,   748,   749,    -1,    -1,    -1,    -1,    70,
        !          2030:     -1,   917,   106,    -1,    -1,    -1,    77,    -1,    -1,   925,
        !          2031:     -1,    82,    -1,    -1,    -1,   931,   932,   933,   934,   935,
        !          2032:    936,   776,    -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2033:     -1,    -1,    -1,   104,    -1,   106,    -1,    -1,    -1,    -1,
        !          2034:     -1,    -1,    -1,   798,   799,    -1,     1,    -1,     3,     4,
        !          2035:      5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
        !          2036:     -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
        !          2037:     25,    26,    27,    28,    29,    30,    -1,    32,    -1,    34,
        !          2038:     -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,
        !          2039:     45,    -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,
        !          2040:     -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
        !          2041:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
        !          2042:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,   883,    84,
        !          2043:     -1,    -1,    87,    -1,    -1,    90,    91,    92,    -1,    94,
        !          2044:     -1,    -1,   897,    -1,    -1,    -1,    -1,    -1,    -1,   104,
        !          2045:    105,   106,   107,    -1,    -1,    -1,    -1,     1,    -1,     3,
        !          2046:      4,     5,     6,     7,     8,     9,    10,    -1,    12,    13,
        !          2047:     14,   926,    16,    17,    18,    19,    20,    21,    22,    23,
        !          2048:     24,    25,    26,    27,    28,    29,    30,    -1,    32,    -1,
        !          2049:     34,    -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,
        !          2050:     -1,    45,    -1,    -1,    48,    49,    -1,    -1,    -1,    -1,
        !          2051:     -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
        !          2052:     -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,
        !          2053:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
        !          2054:     84,    -1,    -1,    87,    -1,    -1,    90,    91,    92,    -1,
        !          2055:     94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2056:    104,   105,   106,   107,     1,    -1,     3,     4,     5,     6,
1.1       root     2057:      7,     8,     9,    10,    -1,    12,    13,    14,    -1,    16,
                   2058:     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1.1.1.2 ! root     2059:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    36,
        !          2060:     37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,
        !          2061:     -1,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2062:     -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2063:     -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,
        !          2064:     -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    -1,    -1,
        !          2065:     87,    -1,    -1,    90,    91,    92,    -1,    94,    -1,    -1,
        !          2066:     -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,   106,
        !          2067:    107,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
        !          2068:     10,    -1,    12,    13,    14,    -1,    16,    17,    18,    19,
        !          2069:     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
        !          2070:     30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,
        !          2071:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    48,    49,
1.1       root     2072:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2 ! root     2073:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
        !          2074:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
        !          2075:     -1,    -1,    82,    -1,    84,    -1,    -1,    87,    -1,    -1,
        !          2076:     90,    91,    92,    -1,    94,    -1,    -1,    -1,    -1,    -1,
        !          2077:     -1,    -1,    -1,    -1,   104,   105,   106,   107,     1,    -1,
1.1       root     2078:      3,     4,     5,     6,     7,     8,     9,    10,    -1,    12,
                   2079:     13,    14,    -1,    16,    17,    18,    19,    20,    21,    22,
                   2080:     23,    24,    25,    26,    27,    28,    29,    30,    -1,    32,
1.1.1.2 ! root     2081:     -1,    34,    -1,    36,    37,    -1,    39,    40,    41,    -1,
        !          2082:     -1,    -1,    45,    -1,    -1,    48,    49,    -1,    -1,    -1,
        !          2083:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
        !          2084:     -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,
        !          2085:     -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,
        !          2086:     -1,    84,    -1,    -1,    87,    -1,    -1,    90,    91,    92,
        !          2087:     -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2088:     -1,   104,   105,   106,   107,     1,    -1,     3,     4,     5,
        !          2089:      6,     7,     8,     9,    10,    -1,    12,    13,    14,    -1,
        !          2090:     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
        !          2091:     26,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
        !          2092:     36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
        !          2093:     -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2094:     -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
        !          2095:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
        !          2096:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,    -1,
        !          2097:     -1,    87,    -1,    -1,    90,    91,    92,    -1,    94,    -1,
        !          2098:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
        !          2099:    106,   107,     1,    -1,     3,     4,     5,     6,     7,     8,
        !          2100:      9,    10,    -1,    12,    13,    14,    -1,    16,    17,    18,
        !          2101:     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
        !          2102:     29,    30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,
        !          2103:     39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,    48,
        !          2104:     49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2105:     -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
        !          2106:     69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
        !          2107:     -1,    -1,    -1,    82,    -1,    84,    -1,    -1,    87,    -1,
        !          2108:     -1,    90,    91,    92,    -1,    94,    -1,    -1,    -1,    -1,
        !          2109:     -1,    -1,    -1,    -1,    -1,   104,    -1,   106,   107,     1,
        !          2110:     -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
        !          2111:     12,    13,    14,    -1,    16,    17,    18,    19,    20,    21,
        !          2112:     22,    23,    24,    25,    26,    27,    28,    29,    30,    -1,
        !          2113:     32,    -1,    34,    -1,    36,    37,    -1,    39,    40,    41,
        !          2114:     -1,    -1,    -1,    45,    -1,    -1,    48,    49,    -1,    -1,
        !          2115:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
        !          2116:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
        !          2117:     -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2118:     82,    -1,    84,    -1,    -1,    87,    -1,    -1,    90,    91,
        !          2119:     92,     1,    94,    -1,     4,     5,    -1,     7,     8,    -1,
        !          2120:     -1,    -1,   104,    13,   106,   107,    -1,    -1,    -1,    -1,
        !          2121:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,    -1,
        !          2122:     -1,    -1,    -1,    -1,    34,    -1,    36,    37,    -1,    -1,
        !          2123:     -1,    41,    42,    43,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2124:     50,    51,    52,    53,    -1,    -1,    56,    57,    58,    59,
        !          2125:     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
        !          2126:     70,    71,    72,    -1,    74,    75,    -1,    -1,    78,    79,
        !          2127:     -1,    -1,    -1,    83,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2128:     -1,    -1,    -1,     1,    94,     3,     4,     5,     6,     7,
        !          2129:      8,     9,    10,    11,    12,    13,   106,   107,    -1,    -1,
        !          2130:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,
        !          2131:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    37,
        !          2132:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    51,    52,
        !          2133:     53,    -1,    -1,    56,    57,    58,    59,    60,    61,    62,
        !          2134:     63,    64,    60,    66,    67,    68,    69,    70,    71,    72,
        !          2135:     68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,
        !          2136:     -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,    -1,
        !          2137:     -1,    -1,    -1,    -1,    -1,    93,    94,    -1,    -1,    -1,
        !          2138:     -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,   106,   107,
        !          2139:      1,    -1,     3,     4,     5,     6,     7,     8,     9,    10,
        !          2140:     11,    12,    13,    61,    62,    63,    64,    65,    66,    67,
        !          2141:     68,    69,    70,    71,    72,    -1,    27,    28,    29,    30,
        !          2142:     -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,    40,
        !          2143:     41,    -1,    -1,    -1,    45,    59,    60,    61,    62,    63,
        !          2144:     64,    65,    66,    67,    68,    69,    70,    71,    72,    60,
        !          2145:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
        !          2146:     -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
        !          2147:     -1,    82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2148:     -1,    -1,    93,    94,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2149:     -1,    -1,   103,    -1,    -1,   106,   107,     1,    -1,     3,
        !          2150:      4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
1.1       root     2151:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2 ! root     2152:     -1,    -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,
        !          2153:     34,    -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,
        !          2154:     -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2155:     -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
        !          2156:     -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,
        !          2157:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
        !          2158:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    93,
        !          2159:     94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,
        !          2160:     -1,    -1,   106,   107,     1,    -1,     3,     4,     5,     6,
        !          2161:      7,     8,     9,    10,    11,    12,    13,    -1,    -1,    -1,
1.1       root     2162:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2 ! root     2163:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    36,
        !          2164:     37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,
        !          2165:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2166:     -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2167:     -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,
        !          2168:     -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,    -1,
        !          2169:     -1,    -1,    -1,    -1,    -1,    -1,    93,    94,    -1,    -1,
        !          2170:     -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,   106,
        !          2171:    107,     1,    -1,     3,     4,     5,     6,     7,     8,     9,
        !          2172:     10,    11,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2173:     -1,    -1,     3,     4,    -1,    -1,    -1,    27,    28,    29,
        !          2174:     30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,
        !          2175:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
        !          2176:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
        !          2177:     60,    -1,    43,    -1,    45,    46,    -1,    -1,    68,    69,
        !          2178:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    60,
        !          2179:     -1,    -1,    82,    -1,    -1,    -1,    -1,     3,     4,    70,
        !          2180:      6,     7,     8,    93,    94,    -1,    77,    -1,    -1,    -1,
        !          2181:     -1,    82,    -1,   103,    -1,    -1,   106,   107,     1,    -1,
        !          2182:      3,     4,     5,    94,     7,     8,     9,    10,    34,    12,
        !          2183:     13,    -1,    -1,    -1,    -1,   106,    -1,    -1,    -1,    -1,
        !          2184:     -1,    -1,    48,    49,    27,    28,    29,    30,    -1,    32,
        !          2185:     -1,    34,    -1,    36,    37,    -1,    39,    40,    41,    -1,
        !          2186:     -1,    -1,    45,    -1,    -1,    -1,    49,    -1,    -1,    -1,
        !          2187:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,
        !          2188:     -1,    -1,    -1,    -1,    -1,    68,    69,    70,    94,    -1,
        !          2189:     -1,    74,    75,    99,   100,   101,    -1,    -1,    -1,    82,
        !          2190:     83,     1,    -1,     3,     4,     5,    -1,     7,     8,     9,
        !          2191:     10,    94,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2192:     20,    -1,   105,   106,   107,    -1,    -1,    27,    28,    29,
        !          2193:     30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,
        !          2194:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    49,
1.1       root     2195:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2 ! root     2196:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
        !          2197:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
        !          2198:     -1,    -1,    82,    -1,     1,    -1,     3,     4,     5,     6,
        !          2199:      7,     8,     9,    10,    94,    12,    13,    -1,    -1,    -1,
        !          2200:     -1,    -1,    -1,    -1,    -1,   105,   106,   107,    -1,    -1,
        !          2201:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    36,
        !          2202:     37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,
        !          2203:     -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2204:     -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2205:     -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,
        !          2206:     -1,    -1,    -1,    -1,    -1,    82,    -1,     1,    -1,     3,
        !          2207:      4,     5,    -1,     7,     8,     9,    10,    94,    12,    13,
        !          2208:     -1,    -1,    -1,    -1,    -1,    -1,    20,   104,    -1,   106,
        !          2209:    107,    -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,
        !          2210:     34,    -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,
        !          2211:     -1,    45,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,
        !          2212:     -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
        !          2213:     -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,
        !          2214:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
        !          2215:      1,    -1,     3,     4,     5,    -1,     7,     8,     9,    10,
        !          2216:     94,    12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2217:     -1,   105,   106,   107,    -1,    -1,    27,    28,    29,    30,
        !          2218:     -1,    32,    -1,    34,    -1,    36,    37,    -1,    39,    40,
        !          2219:     41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    49,    -1,
        !          2220:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
        !          2221:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
        !          2222:     -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
        !          2223:     -1,    82,    83,     1,    -1,     3,     4,     5,    -1,     7,
        !          2224:      8,     9,    10,    94,    12,    13,    -1,    -1,    -1,    -1,
        !          2225:     -1,    -1,    -1,    -1,    -1,   106,   107,    -1,    -1,    27,
        !          2226:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    37,
        !          2227:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,
        !          2228:     -1,    49,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2229:     -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2230:     68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,
        !          2231:     -1,    -1,    -1,    -1,    82,    -1,     1,    -1,     3,     4,
        !          2232:      5,    -1,     7,     8,     9,    10,    94,    12,    13,    -1,
        !          2233:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,   107,
1.1       root     2234:     -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,    34,
1.1.1.2 ! root     2235:     -1,    36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,
        !          2236:     45,    -1,    -1,    -1,    49,    -1,    -1,    -1,    -1,    -1,
        !          2237:     -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
        !          2238:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
        !          2239:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,     1,
        !          2240:     -1,     3,     4,     5,    -1,     7,     8,     9,    10,    94,
1.1       root     2241:     12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2 ! root     2242:     -1,   106,   107,    -1,    -1,    27,    28,    29,    30,    -1,
        !          2243:     32,    -1,    34,    -1,    36,    37,    -1,    39,    40,    41,
        !          2244:     -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2245:     -1,    -1,    54,    -1,    -1,    -1,    -1,    -1,    60,    -1,
        !          2246:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    -1,
        !          2247:     -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2248:     82,    -1,     1,    -1,     3,     4,     5,    -1,     7,     8,
        !          2249:      9,    10,    94,    12,    13,    -1,    -1,    -1,    -1,    -1,
        !          2250:     -1,    -1,    -1,    -1,   106,   107,    -1,    -1,    27,    28,
        !          2251:     29,    30,    -1,    32,    -1,    34,    -1,    36,    37,    -1,
        !          2252:     39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,
        !          2253:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2254:     -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
        !          2255:     69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,
        !          2256:     -1,    -1,    -1,    82,    -1,     1,    -1,     3,     4,     5,
        !          2257:     -1,     7,     8,     9,    10,    94,    12,    13,    -1,    -1,
        !          2258:     -1,    -1,    -1,    -1,    -1,   104,    -1,   106,   107,    -1,
        !          2259:     -1,    27,    28,    29,    30,    -1,    32,    -1,    34,    -1,
        !          2260:     36,    37,    -1,    39,    40,    41,    -1,    -1,    -1,    45,
        !          2261:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2262:     -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
        !          2263:     -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,    75,
        !          2264:     -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,     1,    -1,
        !          2265:      3,     4,     5,    -1,     7,     8,     9,    10,    94,    12,
        !          2266:     13,    -1,    -1,    -1,    -1,    -1,    -1,   103,    -1,    -1,
        !          2267:    106,   107,    -1,    -1,    27,    28,    29,    30,    -1,    32,
        !          2268:     -1,    34,    -1,    36,    37,    -1,    39,    40,    41,    -1,
        !          2269:     -1,    -1,    45,     1,    -1,     3,     4,     5,     6,     7,
        !          2270:      8,    -1,    -1,    -1,    -1,    13,    -1,    60,    -1,    -1,
        !          2271:     -1,    -1,    -1,    -1,    -1,    68,    69,    70,    26,    27,
        !          2272:     -1,    74,    75,    -1,    -1,    -1,    34,    -1,    -1,    82,
        !          2273:     38,    -1,    40,    41,    -1,    43,    44,    45,    -1,    -1,
        !          2274:     -1,    94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2275:     -1,    -1,    60,   106,   107,    -1,    -1,    -1,    -1,    -1,
        !          2276:     -1,    -1,    70,    -1,    -1,    -1,     1,    -1,     3,     4,
        !          2277:      5,     6,     7,     8,    82,    -1,    -1,    -1,    13,    -1,
        !          2278:     -1,    -1,    -1,    -1,    -1,    -1,    94,    95,    96,    -1,
        !          2279:     -1,    26,    27,    -1,    -1,    -1,   104,   105,   106,    34,
        !          2280:     -1,    -1,    -1,    38,    -1,    40,    41,    -1,    43,    44,
        !          2281:     45,     1,    -1,     3,     4,     5,     6,     7,     8,    -1,
        !          2282:     -1,    -1,    -1,    13,    -1,    60,    -1,    -1,    -1,    -1,
        !          2283:     -1,    -1,    -1,    -1,    -1,    70,    -1,    27,    -1,    -1,
        !          2284:     -1,    -1,    -1,    -1,    34,    35,    -1,    82,    -1,    -1,
        !          2285:     40,    41,    -1,    43,    -1,    45,    -1,    -1,    -1,    94,
        !          2286:     95,    96,    -1,    -1,    54,    -1,    -1,    -1,    -1,   104,
        !          2287:     60,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     1,
        !          2288:     70,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1,
        !          2289:     -1,    13,    82,    -1,     3,     4,    -1,    -1,    -1,     8,
        !          2290:     -1,    -1,    -1,    -1,    94,    27,    -1,    -1,    -1,    -1,
        !          2291:     -1,    -1,    34,    35,   104,   105,   106,    -1,    40,    41,
        !          2292:     -1,    43,    -1,    45,    -1,     3,     4,    -1,    -1,    -1,
        !          2293:      8,    40,    54,    -1,    43,    -1,    45,     1,    60,     3,
        !          2294:      4,     5,     6,     7,     8,    -1,    -1,    -1,    70,    13,
        !          2295:     -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2296:     82,    70,    40,    27,    -1,    43,    -1,    45,    77,    -1,
        !          2297:     34,    35,    94,    82,    -1,    -1,    40,    41,    -1,    43,
        !          2298:     -1,    45,    60,   105,   106,    94,    -1,    -1,    -1,    -1,
        !          2299:     54,    -1,    70,    -1,    -1,    -1,    60,   106,    -1,    -1,
        !          2300:     -1,    -1,    -1,    -1,    82,    -1,    70,    -1,    -1,    -1,
        !          2301:     -1,    -1,    -1,    -1,    -1,    -1,    94,    -1,    82,    -1,
        !          2302:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,    -1,
        !          2303:     94,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2304:     -1,   105,   106,     3,     4,     5,     6,     7,     8,     9,
        !          2305:     10,    -1,    12,    13,    14,    -1,    16,    17,    18,    19,
        !          2306:     20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
        !          2307:     30,    -1,    32,    -1,    34,    -1,    36,    -1,    -1,    39,
        !          2308:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    48,    49,
1.1       root     2309:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2 ! root     2310:     60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,
        !          2311:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
        !          2312:     -1,    -1,    82,    -1,    84,    -1,    -1,    87,    -1,    -1,
        !          2313:     90,    91,    92,    -1,    94,    -1,    -1,    -1,    -1,    -1,
        !          2314:     -1,    -1,    -1,    -1,   104,   105,   106,   107,     3,     4,
1.1       root     2315:      5,     6,     7,     8,     9,    10,    -1,    12,    13,    14,
                   2316:     -1,    16,    17,    18,    19,    20,    21,    22,    23,    24,
                   2317:     25,    26,    27,    28,    29,    30,    -1,    32,    -1,    34,
1.1.1.2 ! root     2318:     -1,    36,    -1,    -1,    39,    40,    41,    -1,    -1,    -1,
        !          2319:     45,    -1,    -1,    48,    49,    -1,    -1,    -1,    -1,    -1,
        !          2320:     -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,     3,     4,
        !          2321:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
        !          2322:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    84,
        !          2323:     -1,    -1,    87,    -1,    -1,    90,    91,    92,    -1,    94,
        !          2324:     -1,    -1,    -1,    -1,    -1,    40,    -1,    -1,    43,   104,
        !          2325:     45,   106,   107,     3,     4,     5,    -1,     7,     8,     9,
        !          2326:     10,    -1,    12,    13,    -1,    60,    -1,    -1,    -1,    -1,
        !          2327:     -1,    -1,    -1,    -1,    -1,    70,    -1,    27,    28,    29,
        !          2328:     30,    -1,    32,    -1,    34,    -1,    36,    82,    -1,    39,
        !          2329:     40,    41,    -1,    -1,    -1,    45,    -1,    -1,    -1,    94,
        !          2330:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2331:     60,   106,    -1,     3,     4,    -1,    -1,    -1,    68,    69,
        !          2332:     70,    -1,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,
        !          2333:     -1,    -1,    82,    83,    -1,    -1,     3,     4,     5,    -1,
        !          2334:      7,     8,     9,    10,    94,    12,    13,    -1,    -1,    -1,
        !          2335:     40,    -1,    -1,    43,    -1,    45,   106,   107,    -1,    -1,
        !          2336:     27,    28,    29,    30,    -1,    32,    -1,    34,    -1,    36,
        !          2337:     60,    -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,
        !          2338:     70,    -1,    49,    -1,    -1,    -1,    -1,    77,    -1,    -1,
        !          2339:     -1,    -1,    82,    60,    -1,    -1,     3,     4,    -1,    -1,
        !          2340:     -1,    68,    69,    70,    94,    -1,    -1,    74,    75,    -1,
        !          2341:     -1,    -1,    -1,    -1,    -1,    82,   106,    -1,    -1,     3,
        !          2342:      4,     5,    -1,     7,     8,     9,    10,    94,    12,    13,
        !          2343:     -1,    -1,    -1,    40,    -1,    -1,    43,    -1,    45,   106,
        !          2344:    107,    -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,
        !          2345:     34,    -1,    36,    60,    -1,    39,    40,    41,    -1,    -1,
        !          2346:     -1,    45,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2347:     77,    -1,    -1,    -1,    -1,    82,    60,    -1,    -1,     3,
        !          2348:      4,    -1,    -1,    -1,    68,    69,    70,    94,    -1,    -1,
        !          2349:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,   106,
        !          2350:     -1,    -1,     3,     4,     5,    -1,     7,     8,     9,    10,
        !          2351:     94,    12,    13,    -1,    -1,    -1,    40,    -1,    -1,    43,
        !          2352:    104,    45,   106,   107,    -1,    -1,    27,    28,    29,    30,
        !          2353:     -1,    32,    -1,    34,    -1,    36,    60,    -1,    39,    40,
        !          2354:     41,    -1,    -1,    -1,    45,    -1,    70,    -1,    -1,    -1,
        !          2355:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    60,
        !          2356:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,
        !          2357:     94,    -1,    -1,    74,    75,    -1,    -1,    -1,    -1,    -1,
        !          2358:     -1,    82,   106,    -1,    -1,     3,     4,     5,    -1,     7,
        !          2359:      8,     9,    10,    94,    12,    13,    -1,    -1,    -1,    -1,
        !          2360:     -1,    -1,    -1,   104,    -1,   106,   107,    -1,    -1,    27,
        !          2361:     28,    29,    30,    -1,    32,    -1,    34,    -1,    36,    -1,
        !          2362:     -1,    39,    40,    41,    -1,    -1,    -1,    45,    -1,    -1,
        !          2363:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2364:     -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2365:     68,    69,    70,    -1,    -1,    -1,    74,    75,    -1,    -1,
        !          2366:     -1,    -1,    -1,    -1,    82,    -1,    -1,    -1,     3,     4,
        !          2367:      5,    -1,     7,     8,     9,    10,    94,    12,    13,    -1,
        !          2368:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,   107,
1.1       root     2369:     -1,    -1,    27,    28,    29,    30,    -1,    32,    -1,    34,
1.1.1.2 ! root     2370:     -1,    36,    -1,    -1,    39,    40,    41,    -1,    -1,    -1,
        !          2371:     45,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2372:     -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,
        !          2373:     -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,    74,
        !          2374:     75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,    -1,
        !          2375:     -1,     3,     4,     5,    -1,     7,     8,     9,    10,    94,
        !          2376:     12,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2377:     -1,   106,   107,    -1,    -1,    27,    28,    29,    30,    -1,
        !          2378:     32,    -1,    34,    -1,    36,    -1,    -1,    39,    40,    41,
        !          2379:     -1,    -1,    -1,    45,    -1,     3,     4,     5,    -1,     7,
        !          2380:      8,     9,    10,    -1,    12,    13,    -1,    -1,    60,    -1,
        !          2381:     -1,    -1,    -1,    -1,    -1,    -1,    68,    69,    70,    27,
        !          2382:     28,    -1,    74,    75,    32,    -1,    34,    -1,    36,    -1,
        !          2383:     82,    39,    40,    41,    -1,    -1,    -1,    45,    -1,     3,
        !          2384:      4,     5,    94,     7,     8,     9,    10,    -1,    12,    13,
        !          2385:     -1,    -1,    60,    -1,   106,   107,    -1,    -1,    -1,    -1,
        !          2386:     68,    69,    70,    27,    28,    -1,    74,    75,    32,    -1,
        !          2387:     34,    -1,    36,    -1,    82,    39,    40,    41,    -1,    -1,
        !          2388:     -1,    45,    -1,    -1,    -1,    -1,    94,    -1,    -1,    -1,
        !          2389:     -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,   106,   107,
        !          2390:     -1,    -1,    -1,    -1,    68,    69,    70,    -1,    -1,    -1,
        !          2391:     74,    75,    -1,    -1,    -1,    -1,    -1,    -1,    82,    -1,
        !          2392:     -1,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1,
        !          2393:     94,    13,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2394:     -1,    -1,   106,   107,    -1,    27,    -1,    -1,    -1,    -1,
        !          2395:     -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    40,    41,
        !          2396:     -1,    43,    -1,    45,    46,    -1,    48,    -1,    -1,    -1,
        !          2397:     -1,    -1,    54,    -1,    -1,    -1,    -1,    -1,    60,     3,
        !          2398:      4,     5,     6,     7,     8,    -1,    -1,    11,    70,    13,
        !          2399:     -1,    -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
        !          2400:     82,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2401:     34,    -1,    94,    -1,    -1,    -1,    40,    41,    -1,    43,
        !          2402:     -1,    45,    46,    -1,   106,    -1,    -1,    -1,    -1,    -1,
        !          2403:     -1,    -1,    -1,    -1,    -1,    -1,    60,     3,     4,     5,
        !          2404:      6,     7,     8,    -1,    -1,    11,    70,    13,    -1,    -1,
        !          2405:     -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,    82,    83,
        !          2406:     -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,
        !          2407:     94,    -1,    -1,    -1,    40,    41,    -1,    43,    -1,    45,
        !          2408:     -1,    -1,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2409:     -1,    -1,    -1,    -1,    60,     3,     4,     5,     6,     7,
        !          2410:      8,    -1,    -1,    -1,    70,    13,    -1,    -1,    -1,    -1,
        !          2411:     -1,    77,    -1,    -1,    -1,    -1,    82,    83,    -1,    27,
        !          2412:     -1,    -1,    -1,    -1,    -1,    -1,    34,    93,    94,    -1,
        !          2413:     -1,    -1,    40,    41,    -1,    43,    -1,    45,    46,    -1,
        !          2414:    106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2415:     -1,    -1,    60,     3,     4,     5,     6,     7,     8,    -1,
        !          2416:     -1,    11,    70,    13,    -1,    -1,    -1,    -1,    -1,    77,
        !          2417:     -1,    -1,    -1,    -1,    82,    -1,    -1,    27,    -1,    -1,
        !          2418:     -1,    -1,    -1,    -1,    34,    -1,    94,    -1,    -1,    -1,
        !          2419:     40,    41,    -1,    43,    -1,    45,   104,    -1,   106,    -1,
1.1       root     2420:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1.1.1.2 ! root     2421:     60,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1,
        !          2422:     70,    13,    -1,    -1,    -1,    -1,    -1,    77,    -1,    -1,
        !          2423:     -1,    -1,    82,    -1,    -1,    27,    -1,    -1,    -1,    -1,
        !          2424:     -1,    -1,    34,    93,    94,    -1,    -1,    -1,    40,    41,
        !          2425:     -1,    43,    -1,    45,    46,    -1,   106,    -1,    -1,    -1,
        !          2426:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,
        !          2427:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,     3,
        !          2428:      4,     5,     6,     7,     8,    77,    -1,    -1,    -1,    13,
        !          2429:     82,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2430:     -1,    -1,    94,    27,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2431:     34,    -1,   104,    -1,   106,    -1,    40,    41,    -1,    43,
        !          2432:     -1,    45,    46,    -1,     4,     5,     6,     7,     8,    -1,
        !          2433:     -1,    11,    -1,    13,    -1,    -1,    60,    -1,    -1,     4,
        !          2434:      5,    -1,     7,     8,    -1,    -1,    70,    27,    13,    -1,
        !          2435:     -1,    -1,    -1,    77,    34,    -1,    -1,    -1,    82,    -1,
        !          2436:     -1,    41,    27,    43,    -1,    -1,    -1,    -1,    -1,    34,
        !          2437:     94,    -1,    -1,    -1,    -1,    -1,    41,    -1,    43,    -1,
        !          2438:     60,    46,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
        !          2439:     70,    -1,    -1,    -1,    -1,    60,    -1,    77,    -1,    -1,
        !          2440:     -1,    -1,    82,    83,    -1,    70,    -1,    -1,    -1,    -1,
        !          2441:     -1,    -1,    77,    93,    94,    -1,    -1,    82,    83,    -1,
        !          2442:     -1,    -1,    -1,    -1,    -1,    51,    52,    53,    -1,    94,
1.1       root     2443:     56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1.1.1.2 ! root     2444:     66,    67,    68,    69,    70,    71,    72,    51,    52,    53,
        !          2445:     -1,    -1,    56,    57,    58,    59,    60,    61,    62,    63,
        !          2446:     64,    65,    66,    67,    68,    69,    70,    71,    72,    -1,
        !          2447:     -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    51,    52,
        !          2448:     53,    -1,   108,    56,    57,    58,    59,    60,    61,    62,
        !          2449:     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
        !          2450:    104,   105,    51,    52,    53,    54,    -1,    56,    57,    58,
1.1       root     2451:     59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1.1.1.2 ! root     2452:     69,    70,    71,    72,    51,    52,    53,    -1,    -1,    56,
        !          2453:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
        !          2454:     67,    68,    69,    70,    71,    72,    53,    -1,    -1,    56,
        !          2455:     57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
        !          2456:     67,    68,    69,    70,    71,    72,    57,    58,    59,    60,
        !          2457:     61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
        !          2458:     71,    72,    58,    59,    60,    61,    62,    63,    64,    65,
        !          2459:     66,    67,    68,    69,    70,    71,    72
1.1       root     2460: };
                   2461: /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
                   2462: #line 3 "bison.simple"
                   2463: 
                   2464: /* Skeleton output parser for bison,
                   2465:    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
                   2466: 
                   2467:    This program is free software; you can redistribute it and/or modify
                   2468:    it under the terms of the GNU General Public License as published by
                   2469:    the Free Software Foundation; either version 1, or (at your option)
                   2470:    any later version.
                   2471: 
                   2472:    This program is distributed in the hope that it will be useful,
                   2473:    but WITHOUT ANY WARRANTY; without even the implied warranty of
                   2474:    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                   2475:    GNU General Public License for more details.
                   2476: 
                   2477:    You should have received a copy of the GNU General Public License
                   2478:    along with this program; if not, write to the Free Software
                   2479:    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
                   2480: 
                   2481: 
                   2482: #ifndef alloca
                   2483: #ifdef __GNUC__
                   2484: #define alloca __builtin_alloca
                   2485: #else /* not GNU C.  */
                   2486: #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__)
                   2487: #include <alloca.h>
                   2488: #else /* not sparc */
                   2489: #if defined (MSDOS) && !defined (__TURBOC__)
                   2490: #include <malloc.h>
                   2491: #else /* not MSDOS, or __TURBOC__ */
                   2492: #if defined(_AIX)
                   2493: #include <malloc.h>
1.1.1.2 ! root     2494: #pragma alloca
1.1       root     2495: #endif /* not _AIX */
                   2496: #endif /* not MSDOS, or __TURBOC__ */
                   2497: #endif /* not sparc.  */
                   2498: #endif /* not GNU C.  */
                   2499: #endif /* alloca not defined.  */
                   2500: 
                   2501: /* This is the parser code that is written into each bison parser
                   2502:   when the %semantic_parser declaration is not specified in the grammar.
                   2503:   It was written by Richard Stallman by simplifying the hairy parser
                   2504:   used when %semantic_parser is specified.  */
                   2505: 
                   2506: /* Note: there must be only one dollar sign in this file.
                   2507:    It is replaced by the list of actions, each action
                   2508:    as one case of the switch.  */
                   2509: 
                   2510: #define yyerrok                (yyerrstatus = 0)
                   2511: #define yyclearin      (yychar = YYEMPTY)
                   2512: #define YYEMPTY                -2
                   2513: #define YYEOF          0
                   2514: #define YYACCEPT       return(0)
                   2515: #define YYABORT        return(1)
                   2516: #define YYERROR                goto yyerrlab1
                   2517: /* Like YYERROR except do call yyerror.
                   2518:    This remains here temporarily to ease the
                   2519:    transition to the new meaning of YYERROR, for GCC.
                   2520:    Once GCC version 2 has supplanted version 1, this can go.  */
                   2521: #define YYFAIL         goto yyerrlab
                   2522: #define YYRECOVERING()  (!!yyerrstatus)
                   2523: #define YYBACKUP(token, value) \
                   2524: do                                                             \
                   2525:   if (yychar == YYEMPTY && yylen == 1)                         \
                   2526:     { yychar = (token), yylval = (value);                      \
                   2527:       yychar1 = YYTRANSLATE (yychar);                          \
                   2528:       YYPOPSTACK;                                              \
                   2529:       goto yybackup;                                           \
                   2530:     }                                                          \
                   2531:   else                                                         \
                   2532:     { yyerror ("syntax error: cannot back up"); YYERROR; }     \
                   2533: while (0)
                   2534: 
                   2535: #define YYTERROR       1
                   2536: #define YYERRCODE      256
                   2537: 
                   2538: #ifndef YYPURE
                   2539: #define YYLEX          yylex()
                   2540: #endif
                   2541: 
                   2542: #ifdef YYPURE
                   2543: #ifdef YYLSP_NEEDED
                   2544: #define YYLEX          yylex(&yylval, &yylloc)
                   2545: #else
                   2546: #define YYLEX          yylex(&yylval)
                   2547: #endif
                   2548: #endif
                   2549: 
                   2550: /* If nonreentrant, generate the variables here */
                   2551: 
                   2552: #ifndef YYPURE
                   2553: 
                   2554: int    yychar;                 /*  the lookahead symbol                */
                   2555: YYSTYPE        yylval;                 /*  the semantic value of the           */
                   2556:                                /*  lookahead symbol                    */
                   2557: 
                   2558: #ifdef YYLSP_NEEDED
                   2559: YYLTYPE yylloc;                        /*  location data for the lookahead     */
                   2560:                                /*  symbol                              */
                   2561: #endif
                   2562: 
                   2563: int yynerrs;                   /*  number of parse errors so far       */
                   2564: #endif  /* not YYPURE */
                   2565: 
                   2566: #if YYDEBUG != 0
                   2567: int yydebug;                   /*  nonzero means print parse trace     */
                   2568: /* Since this is uninitialized, it does not stop multiple parsers
                   2569:    from coexisting.  */
                   2570: #endif
                   2571: 
                   2572: /*  YYINITDEPTH indicates the initial size of the parser's stacks      */
                   2573: 
                   2574: #ifndef        YYINITDEPTH
                   2575: #define YYINITDEPTH 200
                   2576: #endif
                   2577: 
                   2578: /*  YYMAXDEPTH is the maximum size the stacks can grow to
                   2579:     (effective only if the built-in stack extension method is used).  */
                   2580: 
                   2581: #if YYMAXDEPTH == 0
                   2582: #undef YYMAXDEPTH
                   2583: #endif
                   2584: 
                   2585: #ifndef YYMAXDEPTH
                   2586: #define YYMAXDEPTH 10000
                   2587: #endif
                   2588: 
                   2589: #if __GNUC__ > 1               /* GNU C and GNU C++ define this.  */
                   2590: #define __yy_bcopy(FROM,TO,COUNT)      __builtin_memcpy(TO,FROM,COUNT)
                   2591: #else                          /* not GNU C or C++ */
                   2592: #ifndef __cplusplus
                   2593: 
                   2594: /* This is the most reliable way to avoid incompatibilities
                   2595:    in available built-in functions on various systems.  */
                   2596: static void
                   2597: __yy_bcopy (from, to, count)
                   2598:      char *from;
                   2599:      char *to;
                   2600:      int count;
                   2601: {
                   2602:   register char *f = from;
                   2603:   register char *t = to;
                   2604:   register int i = count;
                   2605: 
                   2606:   while (i-- > 0)
                   2607:     *t++ = *f++;
                   2608: }
                   2609: 
                   2610: #else /* __cplusplus */
                   2611: 
                   2612: /* This is the most reliable way to avoid incompatibilities
                   2613:    in available built-in functions on various systems.  */
                   2614: static void
                   2615: __yy_bcopy (char *from, char *to, int count)
                   2616: {
                   2617:   register char *f = from;
                   2618:   register char *t = to;
                   2619:   register int i = count;
                   2620: 
                   2621:   while (i-- > 0)
                   2622:     *t++ = *f++;
                   2623: }
                   2624: 
                   2625: #endif
                   2626: #endif
                   2627: 
                   2628: #line 169 "bison.simple"
                   2629: int
                   2630: yyparse()
                   2631: {
                   2632:   register int yystate;
                   2633:   register int yyn;
                   2634:   register short *yyssp;
                   2635:   register YYSTYPE *yyvsp;
                   2636:   int yyerrstatus;     /*  number of tokens to shift before error messages enabled */
                   2637:   int yychar1;         /*  lookahead token as an internal (translated) token number */
                   2638: 
                   2639:   short        yyssa[YYINITDEPTH];     /*  the state stack                     */
                   2640:   YYSTYPE yyvsa[YYINITDEPTH];  /*  the semantic value stack            */
                   2641: 
                   2642:   short *yyss = yyssa;         /*  refer to the stacks thru separate pointers */
                   2643:   YYSTYPE *yyvs = yyvsa;       /*  to allow yyoverflow to reallocate them elsewhere */
                   2644: 
                   2645: #ifdef YYLSP_NEEDED
                   2646:   YYLTYPE yylsa[YYINITDEPTH];  /*  the location stack                  */
                   2647:   YYLTYPE *yyls = yylsa;
                   2648:   YYLTYPE *yylsp;
                   2649: 
                   2650: #define YYPOPSTACK   (yyvsp--, yysp--, yylsp--)
                   2651: #else
                   2652: #define YYPOPSTACK   (yyvsp--, yysp--)
                   2653: #endif
                   2654: 
                   2655:   int yystacksize = YYINITDEPTH;
                   2656: 
                   2657: #ifdef YYPURE
                   2658:   int yychar;
                   2659:   YYSTYPE yylval;
                   2660:   int yynerrs;
                   2661: #ifdef YYLSP_NEEDED
                   2662:   YYLTYPE yylloc;
                   2663: #endif
                   2664: #endif
                   2665: 
                   2666:   YYSTYPE yyval;               /*  the variable used to return         */
                   2667:                                /*  semantic values from the action     */
                   2668:                                /*  routines                            */
                   2669: 
                   2670:   int yylen;
                   2671: 
                   2672: #if YYDEBUG != 0
                   2673:   if (yydebug)
                   2674:     fprintf(stderr, "Starting parse\n");
                   2675: #endif
                   2676: 
                   2677:   yystate = 0;
                   2678:   yyerrstatus = 0;
                   2679:   yynerrs = 0;
                   2680:   yychar = YYEMPTY;            /* Cause a token to be read.  */
                   2681: 
                   2682:   /* Initialize stack pointers.
                   2683:      Waste one element of value and location stack
                   2684:      so that they stay on the same level as the state stack.  */
                   2685: 
                   2686:   yyssp = yyss - 1;
                   2687:   yyvsp = yyvs;
                   2688: #ifdef YYLSP_NEEDED
                   2689:   yylsp = yyls;
                   2690: #endif
                   2691: 
                   2692: /* Push a new state, which is found in  yystate  .  */
                   2693: /* In all cases, when you get here, the value and location stacks
                   2694:    have just been pushed. so pushing a state here evens the stacks.  */
                   2695: yynewstate:
                   2696: 
                   2697:   *++yyssp = yystate;
                   2698: 
                   2699:   if (yyssp >= yyss + yystacksize - 1)
                   2700:     {
                   2701:       /* Give user a chance to reallocate the stack */
                   2702:       /* Use copies of these so that the &'s don't force the real ones into memory. */
                   2703:       YYSTYPE *yyvs1 = yyvs;
                   2704:       short *yyss1 = yyss;
                   2705: #ifdef YYLSP_NEEDED
                   2706:       YYLTYPE *yyls1 = yyls;
                   2707: #endif
                   2708: 
                   2709:       /* Get the current used size of the three stacks, in elements.  */
                   2710:       int size = yyssp - yyss + 1;
                   2711: 
                   2712: #ifdef yyoverflow
                   2713:       /* Each stack pointer address is followed by the size of
                   2714:         the data in use in that stack, in bytes.  */
                   2715:       yyoverflow("parser stack overflow",
                   2716:                 &yyss1, size * sizeof (*yyssp),
                   2717:                 &yyvs1, size * sizeof (*yyvsp),
                   2718: #ifdef YYLSP_NEEDED
                   2719:                 &yyls1, size * sizeof (*yylsp),
                   2720: #endif
                   2721:                 &yystacksize);
                   2722: 
                   2723:       yyss = yyss1; yyvs = yyvs1;
                   2724: #ifdef YYLSP_NEEDED
                   2725:       yyls = yyls1;
                   2726: #endif
                   2727: #else /* no yyoverflow */
                   2728:       /* Extend the stack our own way.  */
                   2729:       if (yystacksize >= YYMAXDEPTH)
                   2730:        {
                   2731:          yyerror("parser stack overflow");
                   2732:          return 2;
                   2733:        }
                   2734:       yystacksize *= 2;
                   2735:       if (yystacksize > YYMAXDEPTH)
                   2736:        yystacksize = YYMAXDEPTH;
                   2737:       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
                   2738:       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
                   2739:       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
                   2740:       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
                   2741: #ifdef YYLSP_NEEDED
                   2742:       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
                   2743:       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
                   2744: #endif
                   2745: #endif /* no yyoverflow */
                   2746: 
                   2747:       yyssp = yyss + size - 1;
                   2748:       yyvsp = yyvs + size - 1;
                   2749: #ifdef YYLSP_NEEDED
                   2750:       yylsp = yyls + size - 1;
                   2751: #endif
                   2752: 
                   2753: #if YYDEBUG != 0
                   2754:       if (yydebug)
                   2755:        fprintf(stderr, "Stack size increased to %d\n", yystacksize);
                   2756: #endif
                   2757: 
                   2758:       if (yyssp >= yyss + yystacksize - 1)
                   2759:        YYABORT;
                   2760:     }
                   2761: 
                   2762: #if YYDEBUG != 0
                   2763:   if (yydebug)
                   2764:     fprintf(stderr, "Entering state %d\n", yystate);
                   2765: #endif
                   2766: 
                   2767:  yybackup:
                   2768: 
                   2769: /* Do appropriate processing given the current state.  */
                   2770: /* Read a lookahead token if we need one and don't already have one.  */
                   2771: /* yyresume: */
                   2772: 
                   2773:   /* First try to decide what to do without reference to lookahead token.  */
                   2774: 
                   2775:   yyn = yypact[yystate];
                   2776:   if (yyn == YYFLAG)
                   2777:     goto yydefault;
                   2778: 
                   2779:   /* Not known => get a lookahead token if don't already have one.  */
                   2780: 
                   2781:   /* yychar is either YYEMPTY or YYEOF
                   2782:      or a valid token in external form.  */
                   2783: 
                   2784:   if (yychar == YYEMPTY)
                   2785:     {
                   2786: #if YYDEBUG != 0
                   2787:       if (yydebug)
                   2788:        fprintf(stderr, "Reading a token: ");
                   2789: #endif
                   2790:       yychar = YYLEX;
                   2791:     }
                   2792: 
                   2793:   /* Convert token to internal form (in yychar1) for indexing tables with */
                   2794: 
                   2795:   if (yychar <= 0)             /* This means end of input. */
                   2796:     {
                   2797:       yychar1 = 0;
                   2798:       yychar = YYEOF;          /* Don't call YYLEX any more */
                   2799: 
                   2800: #if YYDEBUG != 0
                   2801:       if (yydebug)
                   2802:        fprintf(stderr, "Now at end of input.\n");
                   2803: #endif
                   2804:     }
                   2805:   else
                   2806:     {
                   2807:       yychar1 = YYTRANSLATE(yychar);
                   2808: 
                   2809: #if YYDEBUG != 0
                   2810:       if (yydebug)
                   2811:        {
                   2812:          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
                   2813:          /* Give the individual parser a way to print the precise meaning
                   2814:             of a token, for further debugging info.  */
                   2815: #ifdef YYPRINT
                   2816:          YYPRINT (stderr, yychar, yylval);
                   2817: #endif
                   2818:          fprintf (stderr, ")\n");
                   2819:        }
                   2820: #endif
                   2821:     }
                   2822: 
                   2823:   yyn += yychar1;
                   2824:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
                   2825:     goto yydefault;
                   2826: 
                   2827:   yyn = yytable[yyn];
                   2828: 
                   2829:   /* yyn is what to do for this token type in this state.
                   2830:      Negative => reduce, -yyn is rule number.
                   2831:      Positive => shift, yyn is new state.
                   2832:        New state is final state => don't bother to shift,
                   2833:        just return success.
                   2834:      0, or most negative number => error.  */
                   2835: 
                   2836:   if (yyn < 0)
                   2837:     {
                   2838:       if (yyn == YYFLAG)
                   2839:        goto yyerrlab;
                   2840:       yyn = -yyn;
                   2841:       goto yyreduce;
                   2842:     }
                   2843:   else if (yyn == 0)
                   2844:     goto yyerrlab;
                   2845: 
                   2846:   if (yyn == YYFINAL)
                   2847:     YYACCEPT;
                   2848: 
                   2849:   /* Shift the lookahead token.  */
                   2850: 
                   2851: #if YYDEBUG != 0
                   2852:   if (yydebug)
                   2853:     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
                   2854: #endif
                   2855: 
                   2856:   /* Discard the token being shifted unless it is eof.  */
                   2857:   if (yychar != YYEOF)
                   2858:     yychar = YYEMPTY;
                   2859: 
                   2860:   *++yyvsp = yylval;
                   2861: #ifdef YYLSP_NEEDED
                   2862:   *++yylsp = yylloc;
                   2863: #endif
                   2864: 
                   2865:   /* count tokens shifted since error; after three, turn off error status.  */
                   2866:   if (yyerrstatus) yyerrstatus--;
                   2867: 
                   2868:   yystate = yyn;
                   2869:   goto yynewstate;
                   2870: 
                   2871: /* Do the default action for the current state.  */
                   2872: yydefault:
                   2873: 
                   2874:   yyn = yydefact[yystate];
                   2875:   if (yyn == 0)
                   2876:     goto yyerrlab;
                   2877: 
                   2878: /* Do a reduction.  yyn is the number of a rule to reduce with.  */
                   2879: yyreduce:
                   2880:   yylen = yyr2[yyn];
                   2881:   yyval = yyvsp[1-yylen]; /* implement default value of the action */
                   2882: 
                   2883: #if YYDEBUG != 0
                   2884:   if (yydebug)
                   2885:     {
                   2886:       int i;
                   2887: 
                   2888:       fprintf (stderr, "Reducing via rule %d (line %d), ",
                   2889:               yyn, yyrline[yyn]);
                   2890: 
                   2891:       /* Print the symboles being reduced, and their result.  */
                   2892:       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
                   2893:        fprintf (stderr, "%s ", yytname[yyrhs[i]]);
                   2894:       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
                   2895:     }
                   2896: #endif
                   2897: 
                   2898: 
                   2899:   switch (yyn) {
                   2900: 
                   2901: case 2:
1.1.1.2 ! root     2902: #line 302 "cp-parse.y"
1.1       root     2903: { finish_file (); ;
                   2904:     break;}
                   2905: case 3:
1.1.1.2 ! root     2906: #line 310 "cp-parse.y"
1.1       root     2907: { yyval.ttype = NULL_TREE; ;
                   2908:     break;}
                   2909: case 4:
1.1.1.2 ! root     2910: #line 311 "cp-parse.y"
1.1       root     2911: {yyval.ttype = NULL_TREE; ;
                   2912:     break;}
                   2913: case 5:
1.1.1.2 ! root     2914: #line 313 "cp-parse.y"
1.1       root     2915: {yyval.ttype = NULL_TREE; ;
                   2916:     break;}
                   2917: case 6:
1.1.1.2 ! root     2918: #line 317 "cp-parse.y"
        !          2919: { have_extern_spec = 1;
        !          2920:                  yyval.ttype = NULL_TREE; ;
1.1       root     2921:     break;}
                   2922: case 7:
1.1.1.2 ! root     2923: #line 321 "cp-parse.y"
1.1       root     2924: { have_extern_spec = 0; ;
                   2925:     break;}
                   2926: case 8:
1.1.1.2 ! root     2927: #line 326 "cp-parse.y"
1.1       root     2928: { if (pending_inlines) do_pending_inlines (); ;
                   2929:     break;}
                   2930: case 9:
1.1.1.2 ! root     2931: #line 328 "cp-parse.y"
1.1       root     2932: { if (pending_inlines) do_pending_inlines (); ;
                   2933:     break;}
                   2934: case 10:
1.1.1.2 ! root     2935: #line 330 "cp-parse.y"
1.1       root     2936: { if (pending_inlines) do_pending_inlines (); ;
                   2937:     break;}
                   2938: case 12:
1.1.1.2 ! root     2939: #line 333 "cp-parse.y"
1.1       root     2940: { if (pedantic)
                   2941:                    warning ("ANSI C forbids use of `asm' keyword");
                   2942:                  if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   2943:                  assemble_asm (yyvsp[-2].ttype); ;
                   2944:     break;}
                   2945: case 13:
1.1.1.2 ! root     2946: #line 338 "cp-parse.y"
1.1       root     2947: { pop_lang_context (); ;
                   2948:     break;}
                   2949: case 14:
1.1.1.2 ! root     2950: #line 340 "cp-parse.y"
1.1       root     2951: { pop_lang_context (); ;
                   2952:     break;}
                   2953: case 15:
1.1.1.2 ! root     2954: #line 342 "cp-parse.y"
1.1       root     2955: { if (pending_inlines) do_pending_inlines ();
                   2956:                  pop_lang_context (); ;
                   2957:     break;}
                   2958: case 16:
1.1.1.2 ! root     2959: #line 345 "cp-parse.y"
1.1       root     2960: { if (pending_inlines) do_pending_inlines ();
                   2961:                  pop_lang_context (); ;
                   2962:     break;}
                   2963: case 17:
1.1.1.2 ! root     2964: #line 351 "cp-parse.y"
1.1       root     2965: { push_lang_context (yyvsp[0].ttype); ;
                   2966:     break;}
                   2967: case 18:
1.1.1.2 ! root     2968: #line 356 "cp-parse.y"
1.1       root     2969: { begin_template_parm_list (); ;
                   2970:     break;}
                   2971: case 19:
1.1.1.2 ! root     2972: #line 358 "cp-parse.y"
1.1       root     2973: { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
                   2974:     break;}
                   2975: case 20:
1.1.1.2 ! root     2976: #line 363 "cp-parse.y"
1.1       root     2977: { yyval.ttype = process_template_parm (0, yyvsp[0].ttype); ;
                   2978:     break;}
                   2979: case 21:
1.1.1.2 ! root     2980: #line 365 "cp-parse.y"
1.1       root     2981: { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   2982:     break;}
                   2983: case 22:
1.1.1.2 ! root     2984: #line 376 "cp-parse.y"
1.1       root     2985: {
1.1.1.2 ! root     2986:                  if (yyvsp[-1].ttype != class_type_node)
1.1       root     2987:                    error ("template type parameter must use keyword `class'");
                   2988:                  yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
                   2989:                ;
                   2990:     break;}
                   2991: case 23:
1.1.1.2 ! root     2992: #line 382 "cp-parse.y"
1.1       root     2993: {
1.1.1.2 ! root     2994:                  if (yyvsp[-3].ttype != class_type_node)
1.1       root     2995:                    error ("template type parameter must use keyword `class'");
                   2996:                  warning ("restricted template type parameters not yet implemented");
                   2997:                  yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype);
                   2998:                ;
                   2999:     break;}
                   3000: case 24:
1.1.1.2 ! root     3001: #line 389 "cp-parse.y"
1.1       root     3002: {
1.1.1.2 ! root     3003:                  if (yyvsp[-2].ttype != class_type_node)
1.1       root     3004:                    error ("template type parameter must use keyword `class'");
                   3005:                  warning ("restricted template type parameters not yet implemented");
                   3006:                  yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype);
                   3007:                ;
                   3008:     break;}
                   3009: case 27:
1.1.1.2 ! root     3010: #line 402 "cp-parse.y"
1.1       root     3011: { declare_overloaded (yyvsp[0].ttype); ;
                   3012:     break;}
                   3013: case 28:
1.1.1.2 ! root     3014: #line 404 "cp-parse.y"
1.1       root     3015: { declare_overloaded (yyvsp[0].ttype); ;
                   3016:     break;}
                   3017: case 29:
1.1.1.2 ! root     3018: #line 411 "cp-parse.y"
1.1       root     3019: { yychar = '{'; goto template1; ;
                   3020:     break;}
                   3021: case 31:
1.1.1.2 ! root     3022: #line 414 "cp-parse.y"
1.1       root     3023: { yychar = '{'; goto template1; ;
                   3024:     break;}
                   3025: case 33:
1.1.1.2 ! root     3026: #line 417 "cp-parse.y"
1.1       root     3027: { yychar = ':'; goto template1; ;
                   3028:     break;}
                   3029: case 35:
1.1.1.2 ! root     3030: #line 420 "cp-parse.y"
1.1       root     3031: {
                   3032:                  yychar = ':';
                   3033:                template1:
                   3034:                  if (current_aggr == exception_type_node)
                   3035:                    error ("template type must define an aggregate or union");
                   3036:                  /* Maybe pedantic warning for union?
                   3037:                     How about an enum? :-)  */
                   3038:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3039:                  reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
                   3040:                  yychar = YYEMPTY;
                   3041:                ;
                   3042:     break;}
                   3043: case 37:
1.1.1.2 ! root     3044: #line 433 "cp-parse.y"
1.1       root     3045: {
                   3046:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3047:                  /* declare $2 as template name with $1 parm list */
                   3048:                ;
                   3049:     break;}
                   3050: case 38:
1.1.1.2 ! root     3051: #line 438 "cp-parse.y"
1.1       root     3052: {
                   3053:                  end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr);
                   3054:                  /* declare $2 as template name with $1 parm list */
                   3055:                ;
                   3056:     break;}
                   3057: case 39:
1.1.1.2 ! root     3058: #line 445 "cp-parse.y"
1.1       root     3059: {
                   3060:                  tree d;
                   3061:                  int momentary;
                   3062:                  momentary = suspend_momentary ();
                   3063:                  d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/0, 0, yyvsp[-3].ttype);
                   3064:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype);
                   3065: 
                   3066: #if 0 /* Need to sort out destructor templates, and not give warnings
                   3067:          for them.  */
                   3068:                  if (pedantic)
                   3069:                    error ("ANSI C forbids data definition with no type or storage class");
                   3070:                  else if (! flag_traditional && ! have_extern_spec)
                   3071:                    warning ("data definition has no type or storage class");
                   3072: #endif
                   3073:                  end_template_decl (yyvsp[-5].ttype, d, 0);
                   3074:                  if (yyvsp[0].itype != ';')
                   3075:                    reinit_parse_for_template (yyvsp[0].itype, yyvsp[-5].ttype, d);
                   3076:                  resume_momentary (momentary);
                   3077:                ;
                   3078:     break;}
                   3079: case 40:
1.1.1.2 ! root     3080: #line 467 "cp-parse.y"
1.1       root     3081: {
                   3082:                  tree d;
                   3083:                  int momentary;
                   3084: 
                   3085:                  current_declspecs = yyvsp[-5].ttype;
                   3086:                  momentary = suspend_momentary ();
                   3087:                  d = start_decl (yyvsp[-4].ttype, current_declspecs, 0, yyvsp[-3].ttype);
                   3088:                  finish_decl (d, NULL_TREE, yyvsp[-2].ttype);
                   3089:                  end_exception_decls ();
                   3090:                  end_template_decl (yyvsp[-6].ttype, d, 0);
                   3091:                  if (yyvsp[0].itype != ';')
                   3092:                    {
                   3093:                      reinit_parse_for_template (yyvsp[0].itype, yyvsp[-6].ttype, d);
                   3094:                      yychar = YYEMPTY;
                   3095:                    }
                   3096:                  note_list_got_semicolon (yyvsp[-5].ttype);
                   3097:                  resume_momentary (momentary);
                   3098:                ;
                   3099:     break;}
                   3100: case 41:
1.1.1.2 ! root     3101: #line 486 "cp-parse.y"
1.1       root     3102: {
                   3103:                  tree d = start_decl (yyvsp[-1].ttype, yyvsp[-2].ttype, 0, NULL_TREE);
                   3104:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   3105:                  end_template_decl (yyvsp[-3].ttype, d, 0);
                   3106:                  if (yyvsp[0].itype != ';')
                   3107:                    reinit_parse_for_template (yyvsp[0].itype, yyvsp[-3].ttype, d);
                   3108:                ;
                   3109:     break;}
                   3110: case 42:
1.1.1.2 ! root     3111: #line 494 "cp-parse.y"
        !          3112: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3113:     break;}
                   3114: case 43:
1.1.1.2 ! root     3115: #line 495 "cp-parse.y"
        !          3116: { end_template_decl (yyvsp[-2].ttype, 0, 0); ;
1.1       root     3117:     break;}
                   3118: case 44:
1.1.1.2 ! root     3119: #line 498 "cp-parse.y"
        !          3120: { yyval.itype = '{'; ;
1.1       root     3121:     break;}
                   3122: case 45:
1.1.1.2 ! root     3123: #line 499 "cp-parse.y"
        !          3124: { yyval.itype = ':'; ;
1.1       root     3125:     break;}
                   3126: case 46:
1.1.1.2 ! root     3127: #line 500 "cp-parse.y"
        !          3128: { yyval.itype = ';'; ;
1.1       root     3129:     break;}
                   3130: case 47:
1.1.1.2 ! root     3131: #line 501 "cp-parse.y"
        !          3132: { yyval.itype = '='; ;
        !          3133:     break;}
        !          3134: case 48:
        !          3135: #line 502 "cp-parse.y"
        !          3136: { yyval.itype = RETURN; ;
        !          3137:     break;}
        !          3138: case 49:
        !          3139: #line 507 "cp-parse.y"
1.1       root     3140: { if (pedantic)
                   3141:                    error ("ANSI C forbids data definition with no type or storage class");
                   3142:                  else if (! flag_traditional && ! have_extern_spec)
                   3143:                    warning ("data definition has no type or storage class"); ;
                   3144:     break;}
1.1.1.2 ! root     3145: case 50:
        !          3146: #line 512 "cp-parse.y"
1.1       root     3147: {;
                   3148:     break;}
1.1.1.2 ! root     3149: case 51:
        !          3150: #line 515 "cp-parse.y"
1.1       root     3151: { tree d;
                   3152:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
                   3153:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   3154:                ;
                   3155:     break;}
1.1.1.2 ! root     3156: case 52:
        !          3157: #line 520 "cp-parse.y"
1.1       root     3158: {
                   3159:                  end_exception_decls ();
                   3160:                  note_list_got_semicolon (yyval.ttype);
                   3161:                ;
                   3162:     break;}
1.1.1.2 ! root     3163: case 53:
        !          3164: #line 526 "cp-parse.y"
1.1       root     3165: { tree d;
                   3166:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
                   3167:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   3168:                  end_exception_decls ();
                   3169:                  note_list_got_semicolon (yyval.ttype);
                   3170:                ;
                   3171:     break;}
1.1.1.2 ! root     3172: case 54:
        !          3173: #line 533 "cp-parse.y"
1.1       root     3174: { error ("empty declaration"); ;
                   3175:     break;}
1.1.1.2 ! root     3176: case 55:
        !          3177: #line 535 "cp-parse.y"
1.1       root     3178: {
                   3179:            tree t = yyval.ttype;
                   3180:            shadow_tag (t);
                   3181:            if (TREE_CODE (t) == TREE_LIST
                   3182:                && TREE_PURPOSE (t) == NULL_TREE)
                   3183:              {
                   3184:                t = TREE_VALUE (t);
                   3185:                if (TREE_CODE (t) == RECORD_TYPE)
                   3186:                  {
                   3187:                    if (CLASSTYPE_USE_TEMPLATE (t) == 0)
                   3188:                      CLASSTYPE_USE_TEMPLATE (t) = 2;
                   3189:                    else if (CLASSTYPE_USE_TEMPLATE (t) == 1)
                   3190:                      error ("override declaration for already-expanded template");
                   3191:                  }
                   3192:              }
                   3193:            note_list_got_semicolon (yyval.ttype);
                   3194:          ;
                   3195:     break;}
1.1.1.2 ! root     3196: case 59:
        !          3197: #line 559 "cp-parse.y"
1.1       root     3198: {
                   3199:                  finish_function (lineno, 1);
                   3200:                  /* finish_function performs these three statements:
                   3201: 
                   3202:                     expand_end_bindings (getdecls (), 1, 0);
                   3203:                     poplevel (1, 1, 0);
                   3204: 
                   3205:                     expand_end_bindings (0, 0, 0);
                   3206:                     poplevel (0, 0, 1);
                   3207:                     */
                   3208:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3209:                ;
                   3210:     break;}
1.1.1.2 ! root     3211: case 60:
        !          3212: #line 572 "cp-parse.y"
1.1       root     3213: {
                   3214:                  finish_function (lineno, 1);
                   3215:                  /* finish_function performs these three statements:
                   3216: 
                   3217:                     expand_end_bindings (getdecls (), 1, 0);
                   3218:                     poplevel (1, 1, 0);
                   3219: 
                   3220:                     expand_end_bindings (0, 0, 0);
                   3221:                     poplevel (0, 0, 1);
                   3222:                     */
                   3223:                  if (yyval.ttype) process_next_inline (yyval.ttype);
                   3224:                ;
                   3225:     break;}
1.1.1.2 ! root     3226: case 61:
        !          3227: #line 585 "cp-parse.y"
1.1       root     3228: { finish_function (lineno, 0);
                   3229:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3230:     break;}
1.1.1.2 ! root     3231: case 62:
        !          3232: #line 588 "cp-parse.y"
1.1       root     3233: { finish_function (lineno, 0);
                   3234:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3235:     break;}
1.1.1.2 ! root     3236: case 63:
        !          3237: #line 591 "cp-parse.y"
1.1       root     3238: { finish_function (lineno, 0);
                   3239:                  if (yyval.ttype) process_next_inline (yyval.ttype); ;
                   3240:     break;}
1.1.1.2 ! root     3241: case 64:
        !          3242: #line 594 "cp-parse.y"
1.1       root     3243: {;
                   3244:     break;}
1.1.1.2 ! root     3245: case 65:
        !          3246: #line 596 "cp-parse.y"
1.1       root     3247: {;
                   3248:     break;}
1.1.1.2 ! root     3249: case 66:
        !          3250: #line 598 "cp-parse.y"
1.1       root     3251: {;
                   3252:     break;}
1.1.1.2 ! root     3253: case 67:
        !          3254: #line 603 "cp-parse.y"
1.1       root     3255: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3256:                    YYERROR1;
                   3257:                  reinit_parse_for_function ();
                   3258:                  yyval.ttype = NULL_TREE; ;
                   3259:     break;}
1.1.1.2 ! root     3260: case 68:
        !          3261: #line 608 "cp-parse.y"
1.1       root     3262: { if (! start_function (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype, 0))
                   3263:                    YYERROR1;
                   3264:                  reinit_parse_for_function ();
                   3265:                  yyval.ttype = NULL_TREE; ;
                   3266:     break;}
1.1.1.2 ! root     3267: case 69:
        !          3268: #line 613 "cp-parse.y"
1.1       root     3269: { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, 0))
                   3270:                    YYERROR1;
                   3271:                  reinit_parse_for_function ();
                   3272:                  yyval.ttype = NULL_TREE; ;
                   3273:     break;}
1.1.1.2 ! root     3274: case 70:
        !          3275: #line 618 "cp-parse.y"
1.1       root     3276: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3277:                    YYERROR1;
                   3278:                  reinit_parse_for_function ();
                   3279:                  yyval.ttype = NULL_TREE; ;
                   3280:     break;}
1.1.1.2 ! root     3281: case 71:
        !          3282: #line 623 "cp-parse.y"
1.1       root     3283: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3284:                    YYERROR1;
                   3285:                  reinit_parse_for_function ();
                   3286:                  yyval.ttype = NULL_TREE; ;
                   3287:     break;}
1.1.1.2 ! root     3288: case 72:
        !          3289: #line 628 "cp-parse.y"
1.1       root     3290: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3291:                    YYERROR1;
                   3292:                  reinit_parse_for_function ();
                   3293:                  yyval.ttype = NULL_TREE; ;
                   3294:     break;}
1.1.1.2 ! root     3295: case 73:
        !          3296: #line 633 "cp-parse.y"
1.1       root     3297: { if (! start_function (NULL_TREE, build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[-1].ttype), yyvsp[0].ttype, 0))
                   3298:                    YYERROR1;
                   3299:                  reinit_parse_for_function ();
                   3300:                  yyval.ttype = NULL_TREE; ;
                   3301:     break;}
1.1.1.2 ! root     3302: case 74:
        !          3303: #line 638 "cp-parse.y"
1.1       root     3304: { start_function (NULL_TREE, TREE_VALUE (yyval.ttype), NULL_TREE, 1);
                   3305:                  reinit_parse_for_function (); ;
                   3306:     break;}
1.1.1.2 ! root     3307: case 75:
        !          3308: #line 645 "cp-parse.y"
1.1       root     3309: {
                   3310:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3311:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3312:                  if (! yyval.ttype)
                   3313:                    YYERROR1;
                   3314:                  if (yychar == YYEMPTY)
                   3315:                    yychar = YYLEX;
                   3316:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3317:     break;}
1.1.1.2 ! root     3318: case 76:
        !          3319: #line 654 "cp-parse.y"
1.1       root     3320: {
                   3321:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3322:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3323:                  if (! yyval.ttype)
                   3324:                    YYERROR1;
                   3325:                  if (yychar == YYEMPTY)
                   3326:                    yychar = YYLEX;
                   3327:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3328:     break;}
1.1.1.2 ! root     3329: case 77:
        !          3330: #line 663 "cp-parse.y"
1.1       root     3331: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3332:                  if (! yyval.ttype)
                   3333:                    YYERROR1;
                   3334:                  if (yychar == YYEMPTY)
                   3335:                    yychar = YYLEX;
                   3336:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3337:     break;}
1.1.1.2 ! root     3338: case 78:
        !          3339: #line 670 "cp-parse.y"
1.1       root     3340: {
                   3341:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3342:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3343:                  if (! yyval.ttype)
                   3344:                    YYERROR1;
                   3345:                  if (yychar == YYEMPTY)
                   3346:                    yychar = YYLEX;
                   3347:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3348:     break;}
1.1.1.2 ! root     3349: case 79:
        !          3350: #line 679 "cp-parse.y"
1.1       root     3351: {
                   3352:                  tree decl = build_parse_node (CALL_EXPR, TREE_VALUE (yyval.ttype), empty_parms (), yyvsp[-1].ttype);
                   3353:                  yyval.ttype = start_method (TREE_CHAIN (yyval.ttype), decl, yyvsp[0].ttype);
                   3354:                  if (! yyval.ttype)
                   3355:                    YYERROR1;
                   3356:                  if (yychar == YYEMPTY)
                   3357:                    yychar = YYLEX;
                   3358:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3359:     break;}
1.1.1.2 ! root     3360: case 80:
        !          3361: #line 688 "cp-parse.y"
1.1       root     3362: { yyval.ttype = start_method (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype);
                   3363:                  if (! yyval.ttype)
                   3364:                    YYERROR1;
                   3365:                  if (yychar == YYEMPTY)
                   3366:                    yychar = YYLEX;
                   3367:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3368:     break;}
1.1.1.2 ! root     3369: case 81:
        !          3370: #line 695 "cp-parse.y"
1.1       root     3371: { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype);
                   3372:                  if (! yyval.ttype)
                   3373:                    YYERROR1;
                   3374:                  if (yychar == YYEMPTY)
                   3375:                    yychar = YYLEX;
                   3376:                  reinit_parse_for_method (yychar, yyval.ttype); ;
                   3377:     break;}
1.1.1.2 ! root     3378: case 82:
        !          3379: #line 704 "cp-parse.y"
1.1       root     3380: {
                   3381:                  if (! current_function_parms_stored)
                   3382:                    store_parm_decls ();
                   3383:                  yyval.ttype = yyvsp[0].ttype;
                   3384:                ;
                   3385:     break;}
1.1.1.2 ! root     3386: case 83:
        !          3387: #line 712 "cp-parse.y"
1.1       root     3388: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3389:     break;}
1.1.1.2 ! root     3390: case 84:
        !          3391: #line 714 "cp-parse.y"
1.1       root     3392: { store_return_init (yyval.ttype, yyvsp[-1].code); ;
                   3393:     break;}
1.1.1.2 ! root     3394: case 85:
        !          3395: #line 716 "cp-parse.y"
1.1       root     3396: { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
                   3397:     break;}
1.1.1.2 ! root     3398: case 86:
        !          3399: #line 718 "cp-parse.y"
1.1       root     3400: { store_return_init (yyval.ttype, NULL_TREE); ;
                   3401:     break;}
1.1.1.2 ! root     3402: case 87:
        !          3403: #line 723 "cp-parse.y"
1.1       root     3404: {
                   3405:                  if (yyvsp[0].itype == 0)
                   3406:                    error ("no base initializers given following ':'");
                   3407:                  setup_vtbl_ptr ();
                   3408:                ;
                   3409:     break;}
1.1.1.2 ! root     3410: case 88:
        !          3411: #line 732 "cp-parse.y"
1.1       root     3412: {
                   3413:                  if (! current_function_parms_stored)
                   3414:                    store_parm_decls ();
                   3415: 
                   3416:                  /* Flag that we are processing base and member initializers.  */
                   3417:                  current_vtable_decl = error_mark_node;
                   3418: 
                   3419:                  if (DECL_CONSTRUCTOR_P (current_function_decl))
                   3420:                    {
                   3421:                      /* Make a contour for the initializer list.  */
                   3422:                      pushlevel (0);
                   3423:                      clear_last_expr ();
                   3424:                      expand_start_bindings (0);
                   3425:                    }
                   3426:                  else if (current_class_type == NULL_TREE)
                   3427:                    error ("base initializers not allowed for non-member functions");
                   3428:                  else if (! DECL_CONSTRUCTOR_P (current_function_decl))
                   3429:                    error ("only constructors take base initializers");
                   3430:                ;
                   3431:     break;}
1.1.1.2 ! root     3432: case 89:
        !          3433: #line 755 "cp-parse.y"
1.1       root     3434: { yyval.itype = 0; ;
                   3435:     break;}
1.1.1.2 ! root     3436: case 90:
        !          3437: #line 757 "cp-parse.y"
1.1       root     3438: { yyval.itype = 1; ;
                   3439:     break;}
1.1.1.2 ! root     3440: case 93:
        !          3441: #line 763 "cp-parse.y"
1.1       root     3442: {
                   3443:                  if (current_class_name && pedantic)
                   3444:                    warning ("old style base class initialization; use `%s (...)'",
                   3445:                             IDENTIFIER_POINTER (current_class_name));
                   3446:                  expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
                   3447:                ;
                   3448:     break;}
1.1.1.2 ! root     3449: case 94:
        !          3450: #line 770 "cp-parse.y"
1.1       root     3451: {
                   3452:                  if (current_class_name && pedantic)
                   3453:                    warning ("old style base class initialization; use `%s (...)'",
                   3454:                             IDENTIFIER_POINTER (current_class_name));
                   3455:                  expand_member_init (C_C_D, NULL_TREE, void_type_node);
                   3456:                ;
                   3457:     break;}
1.1.1.2 ! root     3458: case 95:
        !          3459: #line 777 "cp-parse.y"
1.1       root     3460: {
                   3461:                  expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype);
                   3462:                ;
                   3463:     break;}
1.1.1.2 ! root     3464: case 96:
        !          3465: #line 781 "cp-parse.y"
1.1       root     3466: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
                   3467:     break;}
1.1.1.2 ! root     3468: case 97:
        !          3469: #line 783 "cp-parse.y"
        !          3470: { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
        !          3471:     break;}
        !          3472: case 98:
        !          3473: #line 785 "cp-parse.y"
        !          3474: { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
        !          3475:     break;}
        !          3476: case 99:
        !          3477: #line 787 "cp-parse.y"
1.1       root     3478: {
                   3479:                  do_member_init (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype);
                   3480:                ;
                   3481:     break;}
1.1.1.2 ! root     3482: case 100:
        !          3483: #line 791 "cp-parse.y"
1.1       root     3484: {
                   3485:                  do_member_init (yyval.ttype, yyvsp[-1].ttype, void_type_node);
                   3486:                ;
                   3487:     break;}
1.1.1.2 ! root     3488: case 110:
        !          3489: #line 815 "cp-parse.y"
1.1       root     3490: { yyval.ttype = build_parse_node (BIT_NOT_EXPR,yyvsp[0].ttype);;
                   3491:     break;}
1.1.1.2 ! root     3492: case 112:
        !          3493: #line 818 "cp-parse.y"
1.1       root     3494: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
                   3495:     break;}
1.1.1.2 ! root     3496: case 113:
        !          3497: #line 820 "cp-parse.y"
1.1       root     3498: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
                   3499:     break;}
1.1.1.2 ! root     3500: case 114:
        !          3501: #line 822 "cp-parse.y"
1.1       root     3502: { yyval.ttype = hack_wrapper (yyval.ttype, NULL_TREE, yyvsp[0].ttype); ;
                   3503:     break;}
1.1.1.2 ! root     3504: case 115:
        !          3505: #line 824 "cp-parse.y"
1.1       root     3506: { yyval.ttype = hack_wrapper (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   3507:     break;}
1.1.1.2 ! root     3508: case 116:
        !          3509: #line 826 "cp-parse.y"
1.1       root     3510: { yyval.ttype = hack_wrapper (yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   3511:     break;}
1.1.1.2 ! root     3512: case 117:
        !          3513: #line 830 "cp-parse.y"
1.1       root     3514: { yyval.itype = 0; ;
                   3515:     break;}
1.1.1.2 ! root     3516: case 118:
        !          3517: #line 832 "cp-parse.y"
1.1       root     3518: { yyval.itype = 1; ;
                   3519:     break;}
1.1.1.2 ! root     3520: case 119:
        !          3521: #line 834 "cp-parse.y"
1.1       root     3522: { yyval.itype = 2; ;
                   3523:     break;}
1.1.1.2 ! root     3524: case 120:
        !          3525: #line 839 "cp-parse.y"
1.1       root     3526: {
                   3527:                  if (yyvsp[0].ttype) 
                   3528:                    yyval.ttype = yyvsp[0].ttype;
                   3529:                  else if (yyval.ttype != error_mark_node)
                   3530:                    yyval.ttype = IDENTIFIER_TYPE_VALUE (yyval.ttype);
                   3531:                ;
                   3532:     break;}
1.1.1.2 ! root     3533: case 121:
        !          3534: #line 849 "cp-parse.y"
1.1       root     3535: { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype); ;
                   3536:     break;}
1.1.1.2 ! root     3537: case 122:
        !          3538: #line 855 "cp-parse.y"
1.1       root     3539: { yyungetc ('{', 1); yyval.ttype = 0; ;
                   3540:     break;}
1.1.1.2 ! root     3541: case 123:
        !          3542: #line 856 "cp-parse.y"
1.1       root     3543: { yyungetc (':', 1); yyval.ttype = 0; ;
                   3544:     break;}
1.1.1.2 ! root     3545: case 124:
        !          3546: #line 858 "cp-parse.y"
1.1       root     3547: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3548:     break;}
1.1.1.2 ! root     3549: case 125:
        !          3550: #line 863 "cp-parse.y"
1.1       root     3551: { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
                   3552:     break;}
1.1.1.2 ! root     3553: case 126:
        !          3554: #line 868 "cp-parse.y"
1.1       root     3555: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3556:     break;}
1.1.1.2 ! root     3557: case 127:
        !          3558: #line 870 "cp-parse.y"
1.1       root     3559: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3560:     break;}
1.1.1.2 ! root     3561: case 128:
        !          3562: #line 875 "cp-parse.y"
1.1       root     3563: { yyval.ttype = groktypename (yyval.ttype); ;
                   3564:     break;}
1.1.1.2 ! root     3565: case 130:
        !          3566: #line 881 "cp-parse.y"
1.1       root     3567: {
                   3568:                  tree t, decl, id, tmpl;
                   3569: 
                   3570:                  id = TREE_VALUE (yyvsp[-1].ttype);
                   3571:                  tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (id));
                   3572:                  t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, id, yyvsp[0].ttype);
                   3573:                  set_current_level_tags_transparency (1);
                   3574:                  assert (TREE_CODE (t) == RECORD_TYPE);
                   3575:                  yyval.ttype = t;
                   3576: 
                   3577:                  /* Now, put a copy of the decl in global scope, to avoid
                   3578:                     recursive expansion.  */
                   3579:                  decl = IDENTIFIER_LOCAL_VALUE (id);
                   3580:                  if (!decl)
                   3581:                    decl = IDENTIFIER_CLASS_VALUE (id);
                   3582:                  /* Now, put a copy of the decl in global scope, to avoid
                   3583:                     recursive expansion.  */
                   3584:                   if (decl)
                   3585:                     {
                   3586:                      /* Need to copy it to clear the chain pointer,
                   3587:                         and need to get it into permanent storage.  */
                   3588:                      extern struct obstack permanent_obstack;
                   3589:                       assert (TREE_CODE (decl) == TYPE_DECL);
                   3590:                      push_obstacks (&permanent_obstack, &permanent_obstack);
                   3591:                       decl = copy_node (decl);
                   3592:                      if (DECL_LANG_SPECIFIC (decl))
                   3593:                        copy_lang_decl (decl);
                   3594:                      pop_obstacks ();
                   3595:                      pushdecl_top_level (decl);
                   3596:                    }
                   3597:                ;
                   3598:     break;}
1.1.1.2 ! root     3599: case 131:
        !          3600: #line 913 "cp-parse.y"
1.1       root     3601: {
                   3602:                  extern void end_template_instantiation ();
                   3603:                  tree id, members;
                   3604: 
                   3605:                  yyval.ttype = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0, 0);
                   3606: 
                   3607:                  pop_obstacks ();
                   3608:                  end_template_instantiation (yyvsp[-5].ttype, yyvsp[-3].ttype);
                   3609: 
                   3610:                   /* Now go after the methods & class data.  */
                   3611:                   instantiate_member_templates (yyvsp[-5].ttype);
                   3612:                ;
                   3613:     break;}
1.1.1.2 ! root     3614: case 132:
        !          3615: #line 929 "cp-parse.y"
1.1       root     3616: { yyval.ttype = NULL_TREE; ;
                   3617:     break;}
1.1.1.2 ! root     3618: case 133:
        !          3619: #line 931 "cp-parse.y"
1.1       root     3620: { yyval.ttype = yyvsp[0].ttype; ;
                   3621:     break;}
1.1.1.2 ! root     3622: case 134:
        !          3623: #line 936 "cp-parse.y"
1.1       root     3624: { yyval.ttype = NULL_TREE; /* never used from here... */;
                   3625:     break;}
1.1.1.2 ! root     3626: case 135:
        !          3627: #line 938 "cp-parse.y"
1.1       root     3628: { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
                   3629:     break;}
1.1.1.2 ! root     3630: case 136:
        !          3631: #line 942 "cp-parse.y"
1.1       root     3632: { yyval.code = NEGATE_EXPR; ;
                   3633:     break;}
1.1.1.2 ! root     3634: case 137:
        !          3635: #line 944 "cp-parse.y"
1.1       root     3636: { yyval.code = CONVERT_EXPR; ;
                   3637:     break;}
1.1.1.2 ! root     3638: case 138:
        !          3639: #line 946 "cp-parse.y"
1.1       root     3640: { yyval.code = PREINCREMENT_EXPR; ;
                   3641:     break;}
1.1.1.2 ! root     3642: case 139:
        !          3643: #line 948 "cp-parse.y"
1.1       root     3644: { yyval.code = PREDECREMENT_EXPR; ;
                   3645:     break;}
1.1.1.2 ! root     3646: case 140:
        !          3647: #line 950 "cp-parse.y"
1.1       root     3648: { yyval.code = TRUTH_NOT_EXPR; ;
                   3649:     break;}
1.1.1.2 ! root     3650: case 141:
        !          3651: #line 954 "cp-parse.y"
1.1       root     3652: { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
                   3653:     break;}
1.1.1.2 ! root     3654: case 143:
        !          3655: #line 961 "cp-parse.y"
1.1       root     3656: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   3657:     break;}
1.1.1.2 ! root     3658: case 144:
        !          3659: #line 963 "cp-parse.y"
1.1       root     3660: { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   3661:     break;}
1.1.1.2 ! root     3662: case 145:
        !          3663: #line 965 "cp-parse.y"
1.1       root     3664: { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
                   3665:     break;}
1.1.1.2 ! root     3666: case 146:
        !          3667: #line 970 "cp-parse.y"
1.1       root     3668: {
                   3669:                  if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
                   3670:                    yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
                   3671:                ;
                   3672:     break;}
1.1.1.2 ! root     3673: case 147:
        !          3674: #line 976 "cp-parse.y"
        !          3675: { yyvsp[0].itype = pedantic;
        !          3676:                  pedantic = 0; ;
        !          3677:     break;}
        !          3678: case 148:
        !          3679: #line 979 "cp-parse.y"
        !          3680: { yyval.ttype = yyvsp[0].ttype;
        !          3681:                  pedantic = yyvsp[-2].itype; ;
        !          3682:     break;}
        !          3683: case 149:
        !          3684: #line 982 "cp-parse.y"
1.1       root     3685: { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
                   3686:     break;}
1.1.1.2 ! root     3687: case 150:
        !          3688: #line 984 "cp-parse.y"
1.1       root     3689: { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
                   3690:     break;}
1.1.1.2 ! root     3691: case 151:
        !          3692: #line 986 "cp-parse.y"
1.1       root     3693: { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
                   3694:     break;}
1.1.1.2 ! root     3695: case 152:
        !          3696: #line 988 "cp-parse.y"
1.1       root     3697: { yyval.ttype = build_x_unary_op (yyval.ttype, yyvsp[0].ttype);
                   3698:                  if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
                   3699:                    TREE_NEGATED_INT (yyval.ttype) = 1;
                   3700:                ;
                   3701:     break;}
1.1.1.2 ! root     3702: case 153:
        !          3703: #line 993 "cp-parse.y"
1.1       root     3704: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3705:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3706:                    error ("sizeof applied to a bit-field");
                   3707:                  /* ANSI says arrays and functions are converted inside comma.
                   3708:                     But we can't really convert them in build_compound_expr
                   3709:                     because that would break commas in lvalues.
                   3710:                     So do the conversion here if operand was a comma.  */
                   3711:                  if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3712:                      && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3713:                          || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3714:                    yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
                   3715:                  yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
                   3716:     break;}
1.1.1.2 ! root     3717: case 154:
        !          3718: #line 1006 "cp-parse.y"
1.1       root     3719: { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
                   3720:     break;}
1.1.1.2 ! root     3721: case 155:
        !          3722: #line 1008 "cp-parse.y"
1.1       root     3723: { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
                   3724:                      && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
                   3725:                    error ("`__alignof' applied to a bit-field");
                   3726:                  if (TREE_CODE (yyvsp[0].ttype) == INDIRECT_REF)
                   3727:                    {
                   3728:                      tree t = TREE_OPERAND (yyvsp[0].ttype, 0);
                   3729:                      tree best = t;
                   3730:                      int bestalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3731:                      while (TREE_CODE (t) == NOP_EXPR
                   3732:                             && TREE_CODE (TREE_TYPE (TREE_OPERAND (t, 0))) == POINTER_TYPE)
                   3733:                        {
                   3734:                          int thisalign;
                   3735:                          t = TREE_OPERAND (t, 0);
                   3736:                          thisalign = TYPE_ALIGN (TREE_TYPE (TREE_TYPE (t)));
                   3737:                          if (thisalign > bestalign)
                   3738:                            best = t, bestalign = thisalign;
                   3739:                        }
                   3740:                      yyval.ttype = c_alignof (TREE_TYPE (TREE_TYPE (best)));
                   3741:                    }
                   3742:                  else
                   3743:                    {
                   3744:                      /* ANSI says arrays and fns are converted inside comma.
                   3745:                         But we can't convert them in build_compound_expr
                   3746:                         because that would break commas in lvalues.
                   3747:                         So do the conversion here if operand was a comma.  */
                   3748:                      if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
                   3749:                          && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
                   3750:                              || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
                   3751:                        yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
                   3752:                      yyval.ttype = c_alignof (TREE_TYPE (yyvsp[0].ttype));
                   3753:                    }
                   3754:                ;
                   3755:     break;}
1.1.1.2 ! root     3756: case 156:
        !          3757: #line 1041 "cp-parse.y"
1.1       root     3758: { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
                   3759:     break;}
1.1.1.2 ! root     3760: case 157:
        !          3761: #line 1044 "cp-parse.y"
1.1       root     3762: { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
                   3763:     break;}
1.1.1.2 ! root     3764: case 158:
        !          3765: #line 1046 "cp-parse.y"
1.1       root     3766: { yyval.ttype = build_new (yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, yyval.ttype); ;
                   3767:     break;}
1.1.1.2 ! root     3768: case 159:
        !          3769: #line 1048 "cp-parse.y"
1.1       root     3770: { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE, yyval.ttype); ;
                   3771:     break;}
1.1.1.2 ! root     3772: case 160:
        !          3773: #line 1050 "cp-parse.y"
1.1       root     3774: { yyval.ttype = build_new (yyvsp[-3].ttype, yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   3775:     break;}
1.1.1.2 ! root     3776: case 161:
        !          3777: #line 1056 "cp-parse.y"
1.1       root     3778: {
                   3779:                  tree absdcl, typename;
                   3780:                  static int gave_warning = 0;
                   3781: 
                   3782:                illegal_new_array:
                   3783:                  absdcl = build_parse_node (ARRAY_REF, yyvsp[-4].ttype, yyvsp[-1].ttype);
                   3784:                  typename = build_decl_list (yyvsp[-5].ttype, absdcl);
                   3785:                  warning ("array dimensions with parenthesized type is disallowed in standard C++");
                   3786:                  if (!gave_warning)
                   3787:                    {
                   3788:                      gave_warning++;
                   3789:                      warning ("  (per grammar in Ellis & Stroustrup [1990], chapter 17)");
                   3790:                      warning ("  try rewriting, perhaps with a typedef");
                   3791:                    }
                   3792:                  yyval.ttype = build_new (yyvsp[-7].ttype, typename, NULL_TREE, yyval.ttype);
                   3793:                ;
                   3794:     break;}
1.1.1.2 ! root     3795: case 162:
        !          3796: #line 1073 "cp-parse.y"
1.1       root     3797: { goto illegal_new_array; ;
                   3798:     break;}
1.1.1.2 ! root     3799: case 163:
        !          3800: #line 1076 "cp-parse.y"
1.1       root     3801: {
                   3802:                  yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype);
                   3803:                ;
                   3804:     break;}
1.1.1.2 ! root     3805: case 164:
        !          3806: #line 1080 "cp-parse.y"
1.1       root     3807: { yyval.ttype = build_new (yyvsp[-4].ttype, build_decl_list (yyvsp[-2].ttype, yyvsp[-1].ttype), NULL_TREE, yyval.ttype); ;
                   3808:     break;}
1.1.1.2 ! root     3809: case 165:
        !          3810: #line 1083 "cp-parse.y"
1.1       root     3811: { yyungetc (':', 1);
                   3812:                  yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyval.ttype); ;
                   3813:     break;}
1.1.1.2 ! root     3814: case 166:
        !          3815: #line 1087 "cp-parse.y"
1.1       root     3816: { tree expr = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3817:                  tree type = TREE_TYPE (expr);
                   3818: 
                   3819:                  if (integer_zerop (expr))
                   3820:                    yyval.ttype = build1 (NOP_EXPR, void_type_node, expr);
                   3821:                  else if (TREE_CODE (type) != POINTER_TYPE)
                   3822:                    {
                   3823:                      error ("non-pointer type to `delete'");
                   3824:                      yyval.ttype = error_mark_node;
                   3825:                      break;
                   3826:                    }
                   3827:                  yyval.ttype = build_delete (type, expr, integer_three_node,
                   3828:                                     LOOKUP_NORMAL|LOOKUP_HAS_IN_CHARGE,
                   3829:                                     TYPE_HAS_DESTRUCTOR (TREE_TYPE (type)) ? yyval.ttype : 0, 1);
                   3830:                ;
                   3831:     break;}
1.1.1.2 ! root     3832: case 167:
        !          3833: #line 1103 "cp-parse.y"
1.1       root     3834: {
                   3835:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3836:                  tree elt_size = c_sizeof (TREE_TYPE (exp));
                   3837: 
                   3838:                  if (yychar == YYEMPTY)
                   3839:                    yychar = YYLEX;
                   3840: 
                   3841:                  yyval.ttype = build_vec_delete (exp, NULL_TREE, elt_size, NULL_TREE,
                   3842:                                         integer_one_node, integer_two_node);
                   3843:                ;
                   3844:     break;}
1.1.1.2 ! root     3845: case 168:
        !          3846: #line 1114 "cp-parse.y"
1.1       root     3847: {
                   3848:                  tree maxindex = build_binary_op (MINUS_EXPR, yyvsp[-2].ttype,
                   3849:                                                   integer_one_node);
                   3850:                  tree exp = stabilize_reference (convert_from_reference (yyvsp[0].ttype));
                   3851:                  tree elt_size = c_sizeof (TREE_TYPE (exp));
                   3852: 
                   3853:                  if (yychar == YYEMPTY)
                   3854:                    yychar = YYLEX;
                   3855: 
                   3856:                  warning ("use of array size with vector delete is anachronistic");
                   3857:                  yyval.ttype = build_vec_delete (exp, maxindex, elt_size, NULL_TREE,
                   3858:                                         integer_one_node, integer_two_node);
                   3859:                ;
                   3860:     break;}
1.1.1.2 ! root     3861: case 170:
        !          3862: #line 1132 "cp-parse.y"
1.1       root     3863: { tree type = groktypename (yyvsp[-2].ttype);
                   3864:                  yyval.ttype = build_c_cast (type, yyvsp[0].ttype); ;
                   3865:     break;}
1.1.1.2 ! root     3866: case 171:
        !          3867: #line 1135 "cp-parse.y"
1.1       root     3868: { tree type = groktypename (yyvsp[-5].ttype);
                   3869:                  tree init = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   3870:                  if (pedantic)
                   3871:                    warning ("ANSI C forbids constructor-expressions");
                   3872:                  /* Indicate that this was a GNU C constructor expression.  */
                   3873:                  TREE_HAS_CONSTRUCTOR (init) = 1;
                   3874:                  yyval.ttype = digest_init (type, init, 0);
                   3875:                  if (TREE_CODE (type) == ARRAY_TYPE && TYPE_SIZE (type) == 0)
                   3876:                    {
                   3877:                      int failure = complete_array_type (type, yyval.ttype, 1);
                   3878:                      if (failure)
                   3879:                        abort ();
                   3880:                    }
                   3881:                ;
                   3882:     break;}
1.1.1.2 ! root     3883: case 172:
        !          3884: #line 1150 "cp-parse.y"
1.1       root     3885: { yyval.ttype = build_headof (yyvsp[-1].ttype); ;
                   3886:     break;}
1.1.1.2 ! root     3887: case 173:
        !          3888: #line 1152 "cp-parse.y"
1.1       root     3889: { yyval.ttype = build_classof (yyvsp[-1].ttype); ;
                   3890:     break;}
1.1.1.2 ! root     3891: case 174:
        !          3892: #line 1154 "cp-parse.y"
1.1       root     3893: { if (is_aggr_typedef (yyvsp[-1].ttype, 1))
                   3894:                    {
                   3895:                      tree type = IDENTIFIER_TYPE_VALUE (yyvsp[-1].ttype);
                   3896:                      yyval.ttype = CLASSTYPE_DOSSIER (type);
                   3897:                    }
                   3898:                  else
                   3899:                    yyval.ttype = error_mark_node;
                   3900:                ;
                   3901:     break;}
1.1.1.2 ! root     3902: case 176:
        !          3903: #line 1167 "cp-parse.y"
1.1       root     3904: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3905:     break;}
1.1.1.2 ! root     3906: case 177:
        !          3907: #line 1169 "cp-parse.y"
1.1       root     3908: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3909:     break;}
1.1.1.2 ! root     3910: case 178:
        !          3911: #line 1171 "cp-parse.y"
1.1       root     3912: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3913:     break;}
1.1.1.2 ! root     3914: case 179:
        !          3915: #line 1173 "cp-parse.y"
1.1       root     3916: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3917:     break;}
1.1.1.2 ! root     3918: case 180:
        !          3919: #line 1175 "cp-parse.y"
1.1       root     3920: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3921:     break;}
1.1.1.2 ! root     3922: case 181:
        !          3923: #line 1177 "cp-parse.y"
1.1       root     3924: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3925:     break;}
1.1.1.2 ! root     3926: case 182:
        !          3927: #line 1179 "cp-parse.y"
1.1       root     3928: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3929:     break;}
1.1.1.2 ! root     3930: case 183:
        !          3931: #line 1181 "cp-parse.y"
1.1       root     3932: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3933:     break;}
1.1.1.2 ! root     3934: case 184:
        !          3935: #line 1183 "cp-parse.y"
1.1       root     3936: { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3937:     break;}
1.1.1.2 ! root     3938: case 185:
        !          3939: #line 1185 "cp-parse.y"
1.1       root     3940: { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3941:     break;}
1.1.1.2 ! root     3942: case 186:
        !          3943: #line 1187 "cp-parse.y"
1.1       root     3944: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3945:     break;}
1.1.1.2 ! root     3946: case 187:
        !          3947: #line 1189 "cp-parse.y"
1.1       root     3948: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3949:     break;}
1.1.1.2 ! root     3950: case 188:
        !          3951: #line 1191 "cp-parse.y"
1.1       root     3952: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3953:     break;}
1.1.1.2 ! root     3954: case 189:
        !          3955: #line 1193 "cp-parse.y"
1.1       root     3956: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3957:     break;}
1.1.1.2 ! root     3958: case 190:
        !          3959: #line 1195 "cp-parse.y"
1.1       root     3960: { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
                   3961:     break;}
1.1.1.2 ! root     3962: case 191:
        !          3963: #line 1197 "cp-parse.y"
1.1       root     3964: { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3965:     break;}
1.1.1.2 ! root     3966: case 192:
        !          3967: #line 1199 "cp-parse.y"
1.1       root     3968: { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
                   3969:     break;}
1.1.1.2 ! root     3970: case 193:
        !          3971: #line 1201 "cp-parse.y"
1.1       root     3972: { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   3973:     break;}
1.1.1.2 ! root     3974: case 194:
        !          3975: #line 1203 "cp-parse.y"
1.1       root     3976: { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype); ;
                   3977:     break;}
1.1.1.2 ! root     3978: case 195:
        !          3979: #line 1205 "cp-parse.y"
1.1       root     3980: { register tree rval;
                   3981:                  if (rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype, yyvsp[-1].code))
                   3982:                    yyval.ttype = rval;
                   3983:                  else
                   3984:                    yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
                   3985:     break;}
1.1.1.2 ! root     3986: case 196:
        !          3987: #line 1211 "cp-parse.y"
1.1       root     3988: { yyval.ttype = build_m_component_ref (yyval.ttype, build_indirect_ref (yyvsp[0].ttype, 0)); ;
                   3989:     break;}
1.1.1.2 ! root     3990: case 197:
        !          3991: #line 1214 "cp-parse.y"
1.1       root     3992: { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
                   3993:     break;}
1.1.1.2 ! root     3994: case 198:
        !          3995: #line 1230 "cp-parse.y"
1.1       root     3996: { yyval.ttype = do_identifier (yyval.ttype); ;
                   3997:     break;}
1.1.1.2 ! root     3998: case 199:
        !          3999: #line 1232 "cp-parse.y"
1.1       root     4000: {
                   4001:                  tree op = yyval.ttype;
                   4002:                  if (TREE_CODE (op) != IDENTIFIER_NODE)
                   4003:                    yyval.ttype = op;
                   4004:                  else
                   4005:                    {
                   4006:                      yyval.ttype = lookup_name (op);
                   4007:                      if (yyval.ttype == NULL_TREE)
                   4008:                        {
                   4009:                          error ("operator %s not defined", operator_name_string (op));
                   4010:                          yyval.ttype = error_mark_node;
                   4011:                        }
                   4012:                    }
                   4013:                ;
                   4014:     break;}
1.1.1.2 ! root     4015: case 201:
        !          4016: #line 1248 "cp-parse.y"
1.1       root     4017: { yyval.ttype = combine_strings (yyval.ttype); ;
                   4018:     break;}
1.1.1.2 ! root     4019: case 202:
        !          4020: #line 1250 "cp-parse.y"
1.1       root     4021: { yyval.ttype = yyvsp[-1].ttype; ;
                   4022:     break;}
1.1.1.2 ! root     4023: case 203:
        !          4024: #line 1252 "cp-parse.y"
1.1       root     4025: { yyval.ttype = error_mark_node; ;
                   4026:     break;}
1.1.1.2 ! root     4027: case 204:
        !          4028: #line 1254 "cp-parse.y"
1.1       root     4029: { if (current_function_decl == 0)
                   4030:                    {
                   4031:                      error ("braced-group within expression allowed only inside a function");
                   4032:                      YYERROR;
                   4033:                    }
                   4034:                  keep_next_level ();
                   4035:                  yyval.ttype = expand_start_stmt_expr (); ;
                   4036:     break;}
1.1.1.2 ! root     4037: case 205:
        !          4038: #line 1262 "cp-parse.y"
1.1       root     4039: { tree rtl_exp;
                   4040:                  if (pedantic)
                   4041:                    warning ("ANSI C forbids braced-groups within expressions");
                   4042:                  rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
                   4043:                  /* The statements have side effects, so the group does.  */
                   4044:                  TREE_SIDE_EFFECTS (rtl_exp) = 1;
                   4045: 
                   4046:                  /* Make a BIND_EXPR for the BLOCK already made.  */
                   4047:                  yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
                   4048:                              NULL_TREE, rtl_exp, yyvsp[-1].ttype);
                   4049:                ;
                   4050:     break;}
1.1.1.2 ! root     4051: case 206:
        !          4052: #line 1274 "cp-parse.y"
1.1       root     4053: { /* [eichin:19911016.1902EST] */
                   4054:                   extern struct pending_template* pending_templates;
                   4055:                   yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
                   4056:                   /* here we instantiate_class_template as needed... */
                   4057:                   if (pending_templates) do_pending_templates ();
                   4058:                 ;
                   4059:     break;}
1.1.1.2 ! root     4060: case 207:
        !          4061: #line 1279 "cp-parse.y"
1.1       root     4062: {
                   4063:                   if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
                   4064:                       && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
                   4065:                    yyval.ttype = require_complete_type (yyvsp[-1].ttype);
                   4066:                   else
                   4067:                     yyval.ttype = yyvsp[-1].ttype;
                   4068:                 ;
                   4069:     break;}
1.1.1.2 ! root     4070: case 208:
        !          4071: #line 1287 "cp-parse.y"
1.1       root     4072: { 
                   4073:                 yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
                   4074:                 if (TREE_CODE (yyval.ttype) == CALL_EXPR
                   4075:                     && TREE_TYPE (yyval.ttype) != void_type_node)
                   4076:                   yyval.ttype = require_complete_type (yyval.ttype);
                   4077:                 ;
                   4078:     break;}
1.1.1.2 ! root     4079: case 209:
        !          4080: #line 1294 "cp-parse.y"
1.1       root     4081: {
                   4082:                do_array:
                   4083:                  {
                   4084:                    tree array_expr = yyval.ttype;
                   4085:                    tree index_exp = yyvsp[-1].ttype;
                   4086:                    tree type = TREE_TYPE (array_expr);
                   4087:                    if (type == error_mark_node || index_exp == error_mark_node)
                   4088:                      yyval.ttype = error_mark_node;
                   4089:                    else if (type == NULL_TREE)
                   4090:                      {
                   4091:                        /* Something has gone very wrong.  Assume we
                   4092:                           are mistakenly reducing an expression
                   4093:                           instead of a declaration.  */
                   4094:                        error ("parser may be lost: is there a '{' missing somewhere?");
                   4095:                        yyval.ttype = NULL_TREE;
                   4096:                      }
                   4097:                    else
                   4098:                      {
                   4099:                        if (TREE_CODE (type) == OFFSET_TYPE)
                   4100:                          type = TREE_TYPE (type);
                   4101:                        if (TREE_CODE (type) == REFERENCE_TYPE)
                   4102:                          type = TREE_TYPE (type);
                   4103: 
                   4104:                        if (TYPE_LANG_SPECIFIC (type)
                   4105:                            && TYPE_OVERLOADS_ARRAY_REF (type))
                   4106:                          yyval.ttype = build_opfncall (ARRAY_REF, LOOKUP_NORMAL, array_expr, index_exp);
                   4107:                        else if (TREE_CODE (type) == POINTER_TYPE
                   4108:                                 || TREE_CODE (type) == ARRAY_TYPE)
                   4109:                          yyval.ttype = build_array_ref (array_expr, index_exp);
                   4110:                        else
                   4111:                          {
                   4112:                            type = TREE_TYPE (index_exp);
                   4113:                            if (TREE_CODE (type) == OFFSET_TYPE)
                   4114:                              type = TREE_TYPE (type);
                   4115:                            if (TREE_CODE (type) == REFERENCE_TYPE)
                   4116:                              type = TREE_TYPE (type);
                   4117:                            
                   4118:                            if (TYPE_LANG_SPECIFIC (type)
                   4119:                                && TYPE_OVERLOADS_ARRAY_REF (type))
                   4120:                              error ("array expression backwards");
                   4121:                            else if (TREE_CODE (type) == POINTER_TYPE
                   4122:                                     || TREE_CODE (type) == ARRAY_TYPE)
                   4123:                              yyval.ttype = build_array_ref (index_exp, array_expr);
                   4124:                            else
                   4125:                              error("[] applied to non-pointer type");
                   4126:                          }
                   4127:                      }
                   4128:                  }
                   4129:                ;
                   4130:     break;}
1.1.1.2 ! root     4131: case 210:
        !          4132: #line 1344 "cp-parse.y"
1.1       root     4133: { yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
                   4134:     break;}
1.1.1.2 ! root     4135: case 211:
        !          4136: #line 1346 "cp-parse.y"
1.1       root     4137: {
                   4138:                  tree basetype = yyvsp[-1].ttype;
                   4139:                  if (is_aggr_typedef (basetype, 1))
                   4140:                    {
                   4141:                      basetype = IDENTIFIER_TYPE_VALUE (basetype);
                   4142: 
                   4143:                      if (yyval.ttype == error_mark_node)
                   4144:                        ;
                   4145:                      else if (binfo_or_else (basetype, TREE_TYPE (yyval.ttype)))
                   4146:                        yyval.ttype = build_component_ref (build_scoped_ref (yyval.ttype, yyvsp[-1].ttype), yyvsp[0].ttype, NULL_TREE, 1);
                   4147:                      else
                   4148:                        yyval.ttype = error_mark_node;
                   4149:                    }
                   4150:                  else yyval.ttype = error_mark_node;
                   4151:                ;
                   4152:     break;}
1.1.1.2 ! root     4153: case 212:
        !          4154: #line 1362 "cp-parse.y"
1.1       root     4155: { yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
                   4156:     break;}
1.1.1.2 ! root     4157: case 213:
        !          4158: #line 1364 "cp-parse.y"
1.1       root     4159: { yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
                   4160:     break;}
1.1.1.2 ! root     4161: case 214:
        !          4162: #line 1368 "cp-parse.y"
1.1       root     4163: { if (current_class_decl)
                   4164:                    {
                   4165: #ifdef WARNING_ABOUT_CCD
                   4166:                      TREE_USED (current_class_decl) = 1;
                   4167: #endif
                   4168:                      yyval.ttype = current_class_decl;
                   4169:                    }
                   4170:                  else if (current_function_decl
                   4171:                           && DECL_STATIC_FUNCTION_P (current_function_decl))
                   4172:                    {
                   4173:                      error ("`this' is unavailable for static member functions");
                   4174:                      yyval.ttype = error_mark_node;
                   4175:                    }
                   4176:                  else
                   4177:                    {
                   4178:                      if (current_function_decl)
                   4179:                        error ("invalid use of `this' in non-member function");
                   4180:                      else
                   4181:                        error ("invalid use of `this' at top level");
                   4182:                      yyval.ttype = error_mark_node;
                   4183:                    }
                   4184:                ;
                   4185:     break;}
1.1.1.2 ! root     4186: case 215:
        !          4187: #line 1391 "cp-parse.y"
1.1       root     4188: {
                   4189:                  tree type;
                   4190:                  tree id = yyval.ttype;
                   4191: 
                   4192:                  /* This is a C cast in C++'s `functional' notation.  */
                   4193:                  if (yyvsp[-1].ttype == error_mark_node)
                   4194:                    {
                   4195:                      yyval.ttype = error_mark_node;
                   4196:                      break;
                   4197:                    }
                   4198: #if 0
                   4199:                  if (yyvsp[-1].ttype == NULL_TREE)
                   4200:                    {
                   4201:                      error ("cannot cast null list to type `%s'",
                   4202:                             IDENTIFIER_POINTER (TYPE_NAME (id)));
                   4203:                      yyval.ttype = error_mark_node;
                   4204:                      break;
                   4205:                    }
                   4206: #endif
                   4207:                  if (type == error_mark_node)
                   4208:                    yyval.ttype = error_mark_node;
                   4209:                  else
                   4210:                    {
                   4211:                      if (id == ridpointers[(int) RID_CONST])
                   4212:                        type = build_type_variant (integer_type_node, 1, 0);
                   4213:                      else if (id == ridpointers[(int) RID_VOLATILE])
                   4214:                        type = build_type_variant (integer_type_node, 0, 1);
                   4215:                      else if (id == ridpointers[(int) RID_FRIEND])
                   4216:                        {
                   4217:                          error ("cannot cast expression to `friend' type");
                   4218:                          yyval.ttype = error_mark_node;
                   4219:                          break;
                   4220:                        }
                   4221:                      else abort ();
                   4222:                      yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype));
                   4223:                    }
                   4224:                ;
                   4225:     break;}
1.1.1.2 ! root     4226: case 216:
        !          4227: #line 1429 "cp-parse.y"
1.1       root     4228: { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
                   4229:     break;}
1.1.1.2 ! root     4230: case 217:
        !          4231: #line 1431 "cp-parse.y"
1.1       root     4232: { yyval.ttype = build_functional_cast (yyval.ttype, NULL_TREE); ;
                   4233:     break;}
1.1.1.2 ! root     4234: case 218:
        !          4235: #line 1433 "cp-parse.y"
1.1       root     4236: {
                   4237:                do_scoped_id:
                   4238:                  yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
                   4239:                  if (yychar == YYEMPTY)
                   4240:                    yychar = YYLEX;
                   4241:                  if (! yyval.ttype)
                   4242:                    {
                   4243:                      if (yychar == '(' || yychar == LEFT_RIGHT)
                   4244:                        yyval.ttype = implicitly_declare (yyvsp[0].ttype);
                   4245:                      else
                   4246:                        {
                   4247:                          if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
                   4248:                            error ("undeclared variable `%s' (first use here)",
                   4249:                                   IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4250:                          yyval.ttype = error_mark_node;
                   4251:                          /* Prevent repeated error messages.  */
                   4252:                          IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
                   4253:                        }
                   4254:                    }
                   4255:                  else
                   4256:                    {
                   4257:                      assemble_external (yyval.ttype);
                   4258:                      TREE_USED (yyval.ttype) = 1;
                   4259:                    }
                   4260:                  if (TREE_CODE (yyval.ttype) == CONST_DECL)
                   4261:                    yyval.ttype = DECL_INITIAL (yyval.ttype);
                   4262:                    /* XXX CHS - should we set TREE_USED of the constant? */
                   4263:                ;
                   4264:     break;}
1.1.1.2 ! root     4265: case 219:
        !          4266: #line 1462 "cp-parse.y"
1.1       root     4267: {
                   4268:                  if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
                   4269:                    goto do_scoped_id;
                   4270:                do_scoped_operator:
                   4271:                  yyval.ttype = yyvsp[0].ttype;
                   4272:                ;
                   4273:     break;}
1.1.1.2 ! root     4274: case 220:
        !          4275: #line 1469 "cp-parse.y"
1.1       root     4276: { yyval.ttype = build_offset_ref (yyval.ttype, yyvsp[0].ttype); ;
                   4277:     break;}
1.1.1.2 ! root     4278: case 221:
        !          4279: #line 1471 "cp-parse.y"
1.1       root     4280: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4281:     break;}
1.1.1.2 ! root     4282: case 222:
        !          4283: #line 1473 "cp-parse.y"
1.1       root     4284: { yyval.ttype = build_member_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4285:     break;}
1.1.1.2 ! root     4286: case 223:
        !          4287: #line 1475 "cp-parse.y"
1.1       root     4288: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
                   4289:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4290:     break;}
1.1.1.2 ! root     4291: case 224:
        !          4292: #line 1478 "cp-parse.y"
1.1       root     4293: { yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
                   4294:                                          (LOOKUP_NORMAL|LOOKUP_AGGR)); ;
                   4295:     break;}
1.1.1.2 ! root     4296: case 225:
        !          4297: #line 1481 "cp-parse.y"
1.1       root     4298: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-4].ttype, yyvsp[-3].ttype, yyvsp[-1].ttype); ;
                   4299:     break;}
1.1.1.2 ! root     4300: case 226:
        !          4301: #line 1483 "cp-parse.y"
1.1       root     4302: { yyval.ttype = build_scoped_method_call (yyval.ttype, yyvsp[-2].ttype, yyvsp[-1].ttype, NULL_TREE); ;
                   4303:     break;}
1.1.1.2 ! root     4304: case 227:
        !          4305: #line 1525 "cp-parse.y"
1.1       root     4306: { yyval.ttype = NULL_TREE; ;
                   4307:     break;}
1.1.1.2 ! root     4308: case 228:
        !          4309: #line 1527 "cp-parse.y"
1.1       root     4310: { yyval.ttype = yyvsp[-1].ttype; ;
                   4311:     break;}
1.1.1.2 ! root     4312: case 229:
        !          4313: #line 1529 "cp-parse.y"
1.1       root     4314: { yyval.ttype = void_type_node; ;
                   4315:     break;}
1.1.1.2 ! root     4316: case 230:
        !          4317: #line 1531 "cp-parse.y"
1.1       root     4318: { yyval.ttype = combine_strings (yyvsp[-1].ttype); ;
                   4319:     break;}
1.1.1.2 ! root     4320: case 231:
        !          4321: #line 1536 "cp-parse.y"
1.1       root     4322: { yyval.itype = 0; ;
                   4323:     break;}
1.1.1.2 ! root     4324: case 232:
        !          4325: #line 1538 "cp-parse.y"
1.1       root     4326: { yyval.itype = 1; ;
                   4327:     break;}
1.1.1.2 ! root     4328: case 233:
        !          4329: #line 1542 "cp-parse.y"
1.1       root     4330: { yyval.ttype = NULL_TREE; ;
                   4331:     break;}
1.1.1.2 ! root     4332: case 234:
        !          4333: #line 1544 "cp-parse.y"
1.1       root     4334: { if (yyvsp[0].ttype)
                   4335:                    error ("extra `::' before `delete' ignored");
                   4336:                  yyval.ttype = error_mark_node;
                   4337:                ;
                   4338:     break;}
1.1.1.2 ! root     4339: case 236:
        !          4340: #line 1554 "cp-parse.y"
1.1       root     4341: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4342:     break;}
1.1.1.2 ! root     4343: case 237:
        !          4344: #line 1559 "cp-parse.y"
1.1       root     4345: {
                   4346:                  if (! current_function_parms_stored)
                   4347:                    store_parm_decls ();
                   4348:                  setup_vtbl_ptr ();
                   4349:                ;
                   4350:     break;}
1.1.1.2 ! root     4351: case 238:
        !          4352: #line 1567 "cp-parse.y"
1.1       root     4353: {
                   4354:                  if (yyval.ttype == error_mark_node)
                   4355:                    ;
                   4356:                  else
                   4357:                    {
                   4358:                      tree type = TREE_TYPE (yyval.ttype);
                   4359: 
                   4360:                      if (! PROMOTES_TO_AGGR_TYPE (type, REFERENCE_TYPE))
                   4361:                        {
                   4362:                          error ("object in '.' expression is not of aggregate type");
                   4363:                          yyval.ttype = error_mark_node;
                   4364:                        }
                   4365:                    }
                   4366:                ;
                   4367:     break;}
1.1.1.2 ! root     4368: case 239:
        !          4369: #line 1582 "cp-parse.y"
1.1       root     4370: {
                   4371:                  yyval.ttype = build_x_arrow (yyval.ttype, 0);
                   4372:                ;
                   4373:     break;}
1.1.1.2 ! root     4374: case 241:
        !          4375: #line 1592 "cp-parse.y"
1.1       root     4376: {
                   4377:                  resume_momentary (yyvsp[-1].itype);
                   4378:                  note_list_got_semicolon (yyval.ttype);
                   4379:                ;
                   4380:     break;}
1.1.1.2 ! root     4381: case 242:
        !          4382: #line 1598 "cp-parse.y"
1.1       root     4383: { tree d;
                   4384:                  int yes = suspend_momentary ();
                   4385:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
                   4386:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   4387:                  resume_momentary (yes);
                   4388:                  note_list_got_semicolon (yyval.ttype);
                   4389:                ;
                   4390:     break;}
1.1.1.2 ! root     4391: case 243:
        !          4392: #line 1606 "cp-parse.y"
1.1       root     4393: { resume_momentary (yyvsp[-1].itype); ;
                   4394:     break;}
1.1.1.2 ! root     4395: case 244:
        !          4396: #line 1609 "cp-parse.y"
1.1       root     4397: { tree d;
                   4398:                  int yes = suspend_momentary ();
                   4399:                  d = start_decl (yyvsp[-1].ttype, yyval.ttype, 0, NULL_TREE);
                   4400:                  finish_decl (d, NULL_TREE, NULL_TREE);
                   4401:                  resume_momentary (yes);
                   4402:                ;
                   4403:     break;}
1.1.1.2 ! root     4404: case 245:
        !          4405: #line 1616 "cp-parse.y"
1.1       root     4406: {
                   4407:                  shadow_tag (yyval.ttype);
                   4408:                  note_list_got_semicolon (yyval.ttype);
                   4409:                ;
                   4410:     break;}
1.1.1.2 ! root     4411: case 246:
        !          4412: #line 1621 "cp-parse.y"
1.1       root     4413: { warning ("empty declaration"); ;
                   4414:     break;}
1.1.1.2 ! root     4415: case 249:
        !          4416: #line 1631 "cp-parse.y"
1.1       root     4417: { yyval.ttype = yyvsp[0].ttype; ;
                   4418:     break;}
1.1.1.2 ! root     4419: case 250:
        !          4420: #line 1633 "cp-parse.y"
1.1       root     4421: { yyval.ttype = yyvsp[0].ttype; ;
                   4422:     break;}
1.1.1.2 ! root     4423: case 251:
        !          4424: #line 1642 "cp-parse.y"
1.1       root     4425: { yyval.ttype = list_hash_lookup_or_cons (yyval.ttype); ;
                   4426:     break;}
1.1.1.2 ! root     4427: case 252:
        !          4428: #line 1644 "cp-parse.y"
1.1       root     4429: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4430:     break;}
1.1.1.2 ! root     4431: case 253:
        !          4432: #line 1646 "cp-parse.y"
1.1       root     4433: { yyval.ttype = hash_tree_chain (yyval.ttype, yyvsp[0].ttype); ;
                   4434:     break;}
1.1.1.2 ! root     4435: case 254:
        !          4436: #line 1648 "cp-parse.y"
1.1       root     4437: { yyval.ttype = hash_tree_chain (yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4438:     break;}
1.1.1.2 ! root     4439: case 255:
        !          4440: #line 1654 "cp-parse.y"
1.1       root     4441: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   4442:     break;}
1.1.1.2 ! root     4443: case 256:
        !          4444: #line 1656 "cp-parse.y"
1.1       root     4445: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   4446:     break;}
1.1.1.2 ! root     4447: case 257:
        !          4448: #line 1658 "cp-parse.y"
1.1       root     4449: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4450:     break;}
1.1.1.2 ! root     4451: case 258:
        !          4452: #line 1660 "cp-parse.y"
1.1       root     4453: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4454:     break;}
1.1.1.2 ! root     4455: case 259:
        !          4456: #line 1669 "cp-parse.y"
1.1       root     4457: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   4458:     break;}
1.1.1.2 ! root     4459: case 260:
        !          4460: #line 1671 "cp-parse.y"
1.1       root     4461: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   4462:     break;}
1.1.1.2 ! root     4463: case 261:
        !          4464: #line 1673 "cp-parse.y"
1.1       root     4465: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4466:     break;}
1.1.1.2 ! root     4467: case 262:
        !          4468: #line 1675 "cp-parse.y"
1.1       root     4469: { yyval.ttype = hash_tree_chain (yyvsp[0].ttype, yyval.ttype); ;
                   4470:     break;}
1.1.1.2 ! root     4471: case 263:
        !          4472: #line 1687 "cp-parse.y"
1.1       root     4473: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4474:     break;}
1.1.1.2 ! root     4475: case 264:
        !          4476: #line 1689 "cp-parse.y"
1.1       root     4477: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4478:     break;}
1.1.1.2 ! root     4479: case 265:
        !          4480: #line 1691 "cp-parse.y"
1.1       root     4481: { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
                   4482:     break;}
1.1.1.2 ! root     4483: case 266:
        !          4484: #line 1693 "cp-parse.y"
1.1       root     4485: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, hash_chainon (yyvsp[0].ttype, yyval.ttype)); ;
                   4486:     break;}
1.1.1.2 ! root     4487: case 267:
        !          4488: #line 1698 "cp-parse.y"
1.1       root     4489: { yyval.ttype = get_decl_list (yyval.ttype); ;
                   4490:     break;}
1.1.1.2 ! root     4491: case 268:
        !          4492: #line 1700 "cp-parse.y"
1.1       root     4493: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4494:     break;}
1.1.1.2 ! root     4495: case 273:
        !          4496: #line 1712 "cp-parse.y"
1.1       root     4497: { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
                   4498:                  if (pedantic)
                   4499:                    warning ("ANSI C forbids `typeof'"); ;
                   4500:     break;}
1.1.1.2 ! root     4501: case 274:
        !          4502: #line 1716 "cp-parse.y"
1.1       root     4503: { yyval.ttype = groktypename (yyvsp[-1].ttype);
                   4504:                  if (pedantic)
                   4505:                    warning ("ANSI C forbids `typeof'"); ;
                   4506:     break;}
1.1.1.2 ! root     4507: case 283:
        !          4508: #line 1741 "cp-parse.y"
1.1       root     4509: { yyval.ttype = NULL_TREE; ;
                   4510:     break;}
1.1.1.2 ! root     4511: case 284:
        !          4512: #line 1743 "cp-parse.y"
1.1       root     4513: { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype);
                   4514:                  yyval.ttype = yyvsp[-1].ttype;
                   4515:                  if (pedantic)
                   4516:                    warning ("ANSI C forbids use of `asm' keyword");
                   4517:                ;
                   4518:     break;}
1.1.1.2 ! root     4519: case 285:
        !          4520: #line 1752 "cp-parse.y"
1.1       root     4521: { current_declspecs = yyvsp[-5].ttype;
                   4522:                  yyvsp[0].itype = suspend_momentary ();
                   4523:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype); ;
                   4524:     break;}
1.1.1.2 ! root     4525: case 286:
        !          4526: #line 1757 "cp-parse.y"
1.1       root     4527: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype);
                   4528:                  yyval.itype = yyvsp[-2].itype; ;
                   4529:     break;}
1.1.1.2 ! root     4530: case 287:
        !          4531: #line 1760 "cp-parse.y"
1.1       root     4532: { tree d;
                   4533:                  current_declspecs = yyvsp[-4].ttype;
                   4534:                  yyval.itype = suspend_momentary ();
                   4535:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
                   4536:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   4537:     break;}
1.1.1.2 ! root     4538: case 288:
        !          4539: #line 1769 "cp-parse.y"
1.1       root     4540: { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype); ;
                   4541:     break;}
1.1.1.2 ! root     4542: case 289:
        !          4543: #line 1772 "cp-parse.y"
1.1       root     4544: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype); ;
                   4545:     break;}
1.1.1.2 ! root     4546: case 290:
        !          4547: #line 1774 "cp-parse.y"
1.1       root     4548: { tree d = start_decl (yyval.itype, current_declspecs, 0, yyvsp[-2].ttype);
                   4549:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   4550:     break;}
1.1.1.2 ! root     4551: case 291:
        !          4552: #line 1780 "cp-parse.y"
1.1       root     4553: { current_declspecs = yyvsp[-5].ttype;
                   4554:                  yyvsp[0].itype = suspend_momentary ();
                   4555:                  yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype); ;
                   4556:     break;}
1.1.1.2 ! root     4557: case 292:
        !          4558: #line 1785 "cp-parse.y"
1.1       root     4559: { finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype);
                   4560:                  yyval.itype = yyvsp[-2].itype; ;
                   4561:     break;}
1.1.1.2 ! root     4562: case 293:
        !          4563: #line 1788 "cp-parse.y"
1.1       root     4564: { tree d;
                   4565:                  current_declspecs = yyvsp[-4].ttype;
                   4566:                  yyval.itype = suspend_momentary ();
                   4567:                  d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
                   4568:                  finish_decl (d, NULL_TREE, yyvsp[-1].ttype); ;
                   4569:     break;}
1.1.1.2 ! root     4570: case 294:
        !          4571: #line 1799 "cp-parse.y"
1.1       root     4572: { yyval.ttype = NULL_TREE; ;
                   4573:     break;}
1.1.1.2 ! root     4574: case 295:
        !          4575: #line 1801 "cp-parse.y"
1.1       root     4576: { yyval.ttype = yyvsp[-2].ttype; ;
                   4577:     break;}
1.1.1.2 ! root     4578: case 298:
        !          4579: #line 1811 "cp-parse.y"
1.1       root     4580: { warning ("`%s' attribute directive ignored",
                   4581:                   IDENTIFIER_POINTER (yyval.ttype)); ;
                   4582:     break;}
1.1.1.2 ! root     4583: case 299:
        !          4584: #line 1814 "cp-parse.y"
1.1       root     4585: { /* if not "aligned(1)", then issue warning */
                   4586:          if (strcmp (IDENTIFIER_POINTER (yyval.ttype), "aligned") != 0
                   4587:              || TREE_CODE (yyvsp[-1].ttype) != INTEGER_CST
                   4588:              || TREE_INT_CST_LOW (yyvsp[-1].ttype) != 1)
                   4589:            warning ("`%s' attribute directive ignored",
                   4590:                     IDENTIFIER_POINTER (yyval.ttype)); ;
                   4591:     break;}
1.1.1.2 ! root     4592: case 300:
        !          4593: #line 1821 "cp-parse.y"
1.1       root     4594: { warning ("`%s' attribute directive ignored",
                   4595:                   IDENTIFIER_POINTER (yyval.ttype)); ;
                   4596:     break;}
1.1.1.2 ! root     4597: case 301:
        !          4598: #line 1828 "cp-parse.y"
        !          4599: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
        !          4600:     break;}
        !          4601: case 302:
        !          4602: #line 1830 "cp-parse.y"
        !          4603: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
        !          4604:     break;}
        !          4605: case 303:
        !          4606: #line 1836 "cp-parse.y"
        !          4607: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
1.1       root     4608:     break;}
1.1.1.2 ! root     4609: case 304:
        !          4610: #line 1838 "cp-parse.y"
        !          4611: { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
1.1       root     4612:     break;}
1.1.1.2 ! root     4613: case 306:
        !          4614: #line 1844 "cp-parse.y"
1.1       root     4615: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
                   4616:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1;
                   4617:                  if (pedantic)
                   4618:                    warning ("ANSI C forbids empty initializer braces"); ;
                   4619:     break;}
1.1.1.2 ! root     4620: case 307:
        !          4621: #line 1849 "cp-parse.y"
1.1       root     4622: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
                   4623:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4624:     break;}
1.1.1.2 ! root     4625: case 308:
        !          4626: #line 1852 "cp-parse.y"
1.1       root     4627: { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
                   4628:                  TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
                   4629:     break;}
1.1.1.2 ! root     4630: case 309:
        !          4631: #line 1855 "cp-parse.y"
1.1       root     4632: { yyval.ttype = NULL_TREE; ;
                   4633:     break;}
1.1.1.2 ! root     4634: case 310:
        !          4635: #line 1862 "cp-parse.y"
1.1       root     4636: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   4637:     break;}
1.1.1.2 ! root     4638: case 311:
        !          4639: #line 1864 "cp-parse.y"
1.1       root     4640: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   4641:     break;}
1.1.1.2 ! root     4642: case 312:
        !          4643: #line 1867 "cp-parse.y"
1.1       root     4644: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4645:     break;}
1.1.1.2 ! root     4646: case 313:
        !          4647: #line 1869 "cp-parse.y"
1.1       root     4648: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4649:     break;}
1.1.1.2 ! root     4650: case 314:
        !          4651: #line 1871 "cp-parse.y"
1.1       root     4652: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
                   4653:     break;}
1.1.1.2 ! root     4654: case 315:
        !          4655: #line 1873 "cp-parse.y"
1.1       root     4656: { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
                   4657:     break;}
1.1.1.2 ! root     4658: case 316:
        !          4659: #line 1878 "cp-parse.y"
1.1       root     4660: { yyvsp[0].itype = suspend_momentary ();
                   4661:                  yyval.ttype = start_enum (yyvsp[-1].ttype); ;
                   4662:     break;}
1.1.1.2 ! root     4663: case 317:
        !          4664: #line 1881 "cp-parse.y"
1.1       root     4665: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
                   4666:                  resume_momentary (yyvsp[-4].itype);
                   4667:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4668:     break;}
1.1.1.2 ! root     4669: case 318:
        !          4670: #line 1885 "cp-parse.y"
1.1       root     4671: { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
                   4672:                  check_for_missing_semicolon (yyval.ttype); ;
                   4673:     break;}
1.1.1.2 ! root     4674: case 319:
        !          4675: #line 1888 "cp-parse.y"
1.1       root     4676: { yyvsp[0].itype = suspend_momentary ();
                   4677:                  yyval.ttype = start_enum (make_anon_name ()); ;
                   4678:     break;}
1.1.1.2 ! root     4679: case 320:
        !          4680: #line 1891 "cp-parse.y"
1.1       root     4681: { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
                   4682:                  resume_momentary (yyvsp[-5].itype);
                   4683:                  check_for_missing_semicolon (yyvsp[-3].ttype); ;
                   4684:     break;}
1.1.1.2 ! root     4685: case 321:
        !          4686: #line 1895 "cp-parse.y"
1.1       root     4687: { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
                   4688:                  check_for_missing_semicolon (yyval.ttype); ;
                   4689:     break;}
1.1.1.2 ! root     4690: case 322:
        !          4691: #line 1898 "cp-parse.y"
1.1       root     4692: { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE); ;
                   4693:     break;}
1.1.1.2 ! root     4694: case 323:
        !          4695: #line 1902 "cp-parse.y"
1.1       root     4696: {
                   4697:                  int semi;
                   4698: #if 0
                   4699:                  /* Need to rework class nesting in the
                   4700:                     presence of nested classes, etc.  */
                   4701:                  shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
                   4702: #endif
                   4703:                  semi = yychar == ';';
                   4704:                  if (semi)
                   4705:                    note_got_semicolon (yyval.ttype);
                   4706:                  if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
                   4707:                    /* $$ = $1 from default rule.  */;
                   4708:                  else if (CLASSTYPE_DECLARED_EXCEPTION (yyval.ttype))
                   4709:                    {
                   4710:                      if (! semi)
                   4711:                        yyval.ttype = finish_exception (yyval.ttype, yyvsp[-1].ttype);
                   4712:                      else
                   4713:                        warning ("empty exception declaration\n");
                   4714:                    }
                   4715:                  else
                   4716:                    yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi, semi);
                   4717: 
                   4718:                  pop_obstacks ();
                   4719:                  if (! semi)
                   4720:                    check_for_missing_semicolon (yyval.ttype); ;
                   4721:     break;}
1.1.1.2 ! root     4722: case 324:
        !          4723: #line 1928 "cp-parse.y"
1.1       root     4724: {
                   4725: #if 0
                   4726:   /* It's no longer clear what the following error is supposed to
                   4727:      accomplish.  If it turns out to be needed, add a comment why.  */
                   4728:                  if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype))
                   4729:                    {
                   4730:                      error ("incomplete definition of type `%s'",
                   4731:                             TYPE_NAME_STRING (yyval.ttype));
                   4732:                      yyval.ttype = error_mark_node;
                   4733:                    }
                   4734: #endif
                   4735:                ;
                   4736:     break;}
1.1.1.2 ! root     4737: case 328:
        !          4738: #line 1950 "cp-parse.y"
1.1       root     4739: { if (pedantic) warning ("comma at end of enumerator list"); ;
                   4740:     break;}
1.1.1.2 ! root     4741: case 330:
        !          4742: #line 1955 "cp-parse.y"
1.1       root     4743: { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
                   4744:     break;}
1.1.1.2 ! root     4745: case 331:
        !          4746: #line 1957 "cp-parse.y"
1.1       root     4747: { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   4748:     break;}
1.1.1.2 ! root     4749: case 332:
        !          4750: #line 1959 "cp-parse.y"
1.1       root     4751: { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4752:                ;
                   4753:     break;}
1.1.1.2 ! root     4754: case 333:
        !          4755: #line 1962 "cp-parse.y"
1.1       root     4756: { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4757:                ;
                   4758:     break;}
1.1.1.2 ! root     4759: case 334:
        !          4760: #line 1965 "cp-parse.y"
1.1       root     4761: { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype));
                   4762:                ;
                   4763:     break;}
1.1.1.2 ! root     4764: case 335:
        !          4765: #line 1968 "cp-parse.y"
1.1       root     4766: { error ("no body nor ';' separates two class, struct or union declarations");
                   4767:                ;
                   4768:     break;}
1.1.1.2 ! root     4769: case 336:
        !          4770: #line 1974 "cp-parse.y"
1.1       root     4771: { aggr1: current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4772:     break;}
1.1.1.2 ! root     4773: case 337:
        !          4774: #line 1976 "cp-parse.y"
1.1       root     4775: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4776:     break;}
1.1.1.2 ! root     4777: case 338:
        !          4778: #line 1978 "cp-parse.y"
1.1       root     4779: { yyungetc (':', 1); goto aggr1; ;
                   4780:     break;}
1.1.1.2 ! root     4781: case 339:
        !          4782: #line 1980 "cp-parse.y"
1.1       root     4783: { yyungetc ('{', 1);
                   4784:                aggr2:
                   4785:                  current_aggr = yyval.ttype;
                   4786:                  yyval.ttype = yyvsp[-1].ttype; ;
                   4787:     break;}
1.1.1.2 ! root     4788: case 340:
        !          4789: #line 1985 "cp-parse.y"
1.1       root     4790: { yyungetc (':', 1); goto aggr2; ;
                   4791:     break;}
1.1.1.2 ! root     4792: case 341:
        !          4793: #line 1990 "cp-parse.y"
1.1       root     4794: { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   4795:     break;}
1.1.1.2 ! root     4796: case 342:
        !          4797: #line 1995 "cp-parse.y"
1.1       root     4798: {
                   4799:                  yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4800:                ;
                   4801:     break;}
1.1.1.2 ! root     4802: case 343:
        !          4803: #line 1999 "cp-parse.y"
1.1       root     4804: {
                   4805:                  if (yyvsp[0].ttype)
                   4806:                    yyval.ttype = xref_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   4807:                  else
                   4808:                    yyval.ttype = yyvsp[-1].ttype;
                   4809:                ;
                   4810:     break;}
1.1.1.2 ! root     4811: case 344:
        !          4812: #line 2007 "cp-parse.y"
1.1       root     4813: {
                   4814:                  yyval.ttype = xref_defn_tag (current_aggr, yyvsp[0].ttype, NULL_TREE);
                   4815:                ;
                   4816:     break;}
1.1.1.2 ! root     4817: case 345:
        !          4818: #line 2011 "cp-parse.y"
1.1       root     4819: {
                   4820:                  if (yyvsp[0].ttype)
                   4821:                    yyval.ttype = xref_defn_tag (current_aggr, yyvsp[-2].ttype, yyvsp[0].ttype);
                   4822:                  else
                   4823:                    yyval.ttype = yyvsp[-1].ttype;
                   4824:                ;
                   4825:     break;}
1.1.1.2 ! root     4826: case 346:
        !          4827: #line 2020 "cp-parse.y"
1.1       root     4828: { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE);
                   4829:                  yyungetc ('{', 1); ;
                   4830:     break;}
1.1.1.2 ! root     4831: case 349:
        !          4832: #line 2028 "cp-parse.y"
1.1       root     4833: { yyval.ttype = NULL_TREE; ;
                   4834:     break;}
1.1.1.2 ! root     4835: case 350:
        !          4836: #line 2030 "cp-parse.y"
1.1       root     4837: { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
                   4838:     break;}
1.1.1.2 ! root     4839: case 351:
        !          4840: #line 2032 "cp-parse.y"
1.1       root     4841: { yyval.ttype = yyvsp[0].ttype; ;
                   4842:     break;}
1.1.1.2 ! root     4843: case 353:
        !          4844: #line 2038 "cp-parse.y"
1.1       root     4845: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4846:     break;}
1.1.1.2 ! root     4847: case 354:
        !          4848: #line 2043 "cp-parse.y"
1.1       root     4849: { if (! is_aggr_typedef (yyval.ttype, 1))
                   4850:                    yyval.ttype = NULL_TREE;
                   4851:                  else yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   4852:     break;}
1.1.1.2 ! root     4853: case 355:
        !          4854: #line 2047 "cp-parse.y"
1.1       root     4855: { if (! is_aggr_typedef (yyvsp[0].ttype, 1))
                   4856:                    yyval.ttype = NULL_TREE;
                   4857:                  else yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype); ;
                   4858:     break;}
1.1.1.2 ! root     4859: case 358:
        !          4860: #line 2059 "cp-parse.y"
1.1       root     4861: {
                   4862:                  if (yyval.itype == visibility_protected)
                   4863:                    {
                   4864:                      warning ("`protected' visibility not implemented");
                   4865:                      yyval.itype = visibility_public;
                   4866:                    }
                   4867:                ;
                   4868:     break;}
1.1.1.2 ! root     4869: case 359:
        !          4870: #line 2067 "cp-parse.y"
1.1       root     4871: { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
                   4872:                    sorry ("non-virtual visibility");
                   4873:                  yyval.itype = visibility_default_virtual; ;
                   4874:     break;}
1.1.1.2 ! root     4875: case 360:
        !          4876: #line 2071 "cp-parse.y"
1.1       root     4877: { int err = 0;
                   4878:                  if (yyvsp[0].itype == visibility_protected)
                   4879:                    {
                   4880:                      warning ("`protected' visibility not implemented");
                   4881:                      yyvsp[0].itype = visibility_public;
                   4882:                      err++;
                   4883:                    }
                   4884:                  else if (yyvsp[0].itype == visibility_public)
                   4885:                    {
                   4886:                      if (yyvsp[-1].itype == visibility_private)
                   4887:                        {
                   4888:                        mixed:
                   4889:                          error ("base class cannot be public and private");
                   4890:                        }
                   4891:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   4892:                        yyval.itype = visibility_public_virtual;
                   4893:                    }
1.1.1.2 ! root     4894:                  else /* $2 == visibility_private */
1.1       root     4895:                    {
                   4896:                      if (yyvsp[-1].itype == visibility_public)
                   4897:                        goto mixed;
                   4898:                      else if (yyvsp[-1].itype == visibility_default_virtual)
                   4899:                        yyval.itype = visibility_private_virtual;
                   4900:                    }
                   4901:                ;
                   4902:     break;}
1.1.1.2 ! root     4903: case 361:
        !          4904: #line 2097 "cp-parse.y"
1.1       root     4905: { if (yyvsp[0].ttype != ridpointers[(int)RID_VIRTUAL])
                   4906:                    sorry ("non-virtual visibility");
                   4907:                  if (yyval.itype == visibility_public)
                   4908:                    yyval.itype = visibility_public_virtual;
                   4909:                  else if (yyval.itype == visibility_private)
                   4910:                    yyval.itype = visibility_private_virtual; ;
                   4911:     break;}
1.1.1.2 ! root     4912: case 362:
        !          4913: #line 2106 "cp-parse.y"
1.1       root     4914: { tree t;
                   4915:                  push_obstacks_nochange ();
                   4916:                  end_temporary_allocation ();
                   4917: 
                   4918:                  if (! IS_AGGR_TYPE (yyvsp[-1].ttype))
                   4919:                    {
                   4920:                      yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
                   4921:                      TYPE_NAME (yyvsp[-1].ttype) = get_identifier ("erroneous type");
                   4922:                    }
                   4923:                  if (TYPE_SIZE (yyvsp[-1].ttype))
                   4924:                    duplicate_tag_error (yyvsp[-1].ttype);
                   4925:                   if (TYPE_SIZE (yyvsp[-1].ttype) || TYPE_BEING_DEFINED (yyvsp[-1].ttype))
                   4926:                     {
                   4927:                       t = make_lang_type (TREE_CODE (yyvsp[-1].ttype));
                   4928:                       pushtag (DECL_NAME (TYPE_NAME (yyvsp[-1].ttype)), t);
                   4929:                       yyvsp[-1].ttype = t;
                   4930:                     }
                   4931:                  pushclass (yyvsp[-1].ttype, 0);
                   4932:                  TYPE_BEING_DEFINED (yyvsp[-1].ttype) = 1;
                   4933:                  t = DECL_NAME (TYPE_NAME (yyvsp[-1].ttype));
                   4934:                  if (IDENTIFIER_TEMPLATE (t))
                   4935:                    overload_template_name (t, 1);
                   4936:                ;
                   4937:     break;}
1.1.1.2 ! root     4938: case 363:
        !          4939: #line 2133 "cp-parse.y"
1.1       root     4940: { yyval.ttype = NULL_TREE; ;
                   4941:     break;}
1.1.1.2 ! root     4942: case 364:
        !          4943: #line 2135 "cp-parse.y"
1.1       root     4944: { yyval.ttype = build_tree_list ((tree)visibility_default, yyval.ttype); ;
                   4945:     break;}
1.1.1.2 ! root     4946: case 365:
        !          4947: #line 2137 "cp-parse.y"
1.1       root     4948: { yyval.ttype = chainon (yyval.ttype, build_tree_list ((tree) yyvsp[-2].itype, yyvsp[0].ttype)); ;
                   4949:     break;}
1.1.1.2 ! root     4950: case 367:
        !          4951: #line 2143 "cp-parse.y"
1.1       root     4952: { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; ;
                   4953:     break;}
1.1.1.2 ! root     4954: case 368:
        !          4955: #line 2145 "cp-parse.y"
1.1       root     4956: { if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
                   4957:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   4958:     break;}
1.1.1.2 ! root     4959: case 369:
        !          4960: #line 2148 "cp-parse.y"
1.1       root     4961: { if (pedantic)
                   4962:                    warning ("extra semicolon in struct or union specified"); ;
                   4963:     break;}
1.1.1.2 ! root     4964: case 370:
        !          4965: #line 2154 "cp-parse.y"
1.1       root     4966: {
                   4967:                do_components:
                   4968:                  if (yyvsp[-1].ttype == void_type_node)
                   4969:                    /* We just got some friends.
                   4970:                       They have been recorded elsewhere.  */
                   4971:                    yyval.ttype = NULL_TREE;
                   4972:                  else if (yyvsp[-1].ttype == NULL_TREE)
                   4973:                    {
                   4974:                      tree t = groktypename (build_decl_list (yyval.ttype, NULL_TREE));
                   4975:                      if (t == NULL_TREE)
                   4976:                        {
                   4977:                          error ("error in component specification");
                   4978:                          yyval.ttype = NULL_TREE;
                   4979:                        }
                   4980:                      else if (TREE_CODE (t) == UNION_TYPE)
                   4981:                        {
                   4982:                          /* handle anonymous unions */
                   4983:                          if (CLASSTYPE_METHOD_VEC (t))
                   4984:                            sorry ("methods in anonymous unions");
                   4985:                          yyval.ttype = build_lang_field_decl (FIELD_DECL, NULL_TREE, t);
                   4986:                        }
                   4987:                      else if (TREE_CODE (t) == ENUMERAL_TYPE)
                   4988:                        yyval.ttype = grok_enum_decls (t, NULL_TREE);
                   4989:                      else if (TREE_CODE (t) == RECORD_TYPE)
                   4990:                        {
                   4991:                          if (TYPE_LANG_SPECIFIC (t)
                   4992:                              && CLASSTYPE_DECLARED_EXCEPTION (t))
                   4993:                            shadow_tag (yyval.ttype);
                   4994:                          yyval.ttype = NULL_TREE;
                   4995:                        }
                   4996:                      else if (t != void_type_node)
                   4997:                        {
                   4998:                          error ("empty component declaration");
                   4999:                          yyval.ttype = NULL_TREE;
                   5000:                        }
                   5001:                      else yyval.ttype = NULL_TREE;
                   5002:                    }
                   5003:                  else
                   5004:                    {
                   5005:                      tree t = TREE_TYPE (yyvsp[-1].ttype);
                   5006:                      if (TREE_CODE (t) == ENUMERAL_TYPE && TREE_NONLOCAL_FLAG (t))
                   5007:                        yyval.ttype = grok_enum_decls (t, yyvsp[-1].ttype);
                   5008:                      else
                   5009:                        yyval.ttype = yyvsp[-1].ttype;
                   5010:                    }
                   5011:                  end_exception_decls ();
                   5012:                ;
                   5013:     break;}
1.1.1.2 ! root     5014: case 371:
        !          5015: #line 2202 "cp-parse.y"
1.1       root     5016: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5017:     break;}
1.1.1.2 ! root     5018: case 372:
        !          5019: #line 2204 "cp-parse.y"
1.1       root     5020: { error ("missing ';' before right brace");
                   5021:                  yyungetc ('}', 0);
                   5022:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5023:     break;}
1.1.1.2 ! root     5024: case 373:
        !          5025: #line 2208 "cp-parse.y"
1.1       root     5026: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5027:     break;}
1.1.1.2 ! root     5028: case 374:
        !          5029: #line 2210 "cp-parse.y"
1.1       root     5030: { error ("missing ';' before right brace");
                   5031:                  yyungetc ('}', 0);
                   5032:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5033:     break;}
1.1.1.2 ! root     5034: case 375:
        !          5035: #line 2214 "cp-parse.y"
1.1       root     5036: { goto do_components; ;
                   5037:     break;}
1.1.1.2 ! root     5038: case 376:
        !          5039: #line 2217 "cp-parse.y"
1.1       root     5040: { yyval.ttype = grokfield (yyvsp[-1].ttype, yyval.ttype, 0, 0, 0, 0); ;
                   5041:     break;}
1.1.1.2 ! root     5042: case 377:
        !          5043: #line 2219 "cp-parse.y"
1.1       root     5044: { error ("missing ';' before right brace");
                   5045:                  yyungetc ('}', 0);
                   5046:                  goto do_components; ;
                   5047:     break;}
1.1.1.2 ! root     5048: case 378:
        !          5049: #line 2223 "cp-parse.y"
1.1       root     5050: { yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5051:     break;}
1.1.1.2 ! root     5052: case 379:
        !          5053: #line 2225 "cp-parse.y"
1.1       root     5054: { error ("missing ';' before right brace");
                   5055:                  yyungetc ('}', 0);
                   5056:                  yyval.ttype = groktypefield (yyval.ttype, yyvsp[-2].ttype); ;
                   5057:     break;}
1.1.1.2 ! root     5058: case 380:
        !          5059: #line 2229 "cp-parse.y"
1.1       root     5060: { yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5061:     break;}
1.1.1.2 ! root     5062: case 381:
        !          5063: #line 2231 "cp-parse.y"
1.1       root     5064: { error ("missing ';' before right brace");
                   5065:                  yyungetc ('}', 0);
                   5066:                  yyval.ttype = groktypefield (yyval.ttype, empty_parms ()); ;
                   5067:     break;}
1.1.1.2 ! root     5068: case 382:
        !          5069: #line 2235 "cp-parse.y"
1.1       root     5070: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5071:     break;}
1.1.1.2 ! root     5072: case 383:
        !          5073: #line 2237 "cp-parse.y"
1.1       root     5074: { error ("missing ';' before right brace");
                   5075:                  yyungetc ('}', 0);
                   5076:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[-1].ttype); ;
                   5077:     break;}
1.1.1.2 ! root     5078: case 384:
        !          5079: #line 2241 "cp-parse.y"
1.1       root     5080: { yyval.ttype = NULL_TREE; ;
                   5081:     break;}
1.1.1.2 ! root     5082: case 385:
        !          5083: #line 2246 "cp-parse.y"
1.1       root     5084: { yyval.ttype = finish_method (yyval.ttype); ;
                   5085:     break;}
1.1.1.2 ! root     5086: case 386:
        !          5087: #line 2248 "cp-parse.y"
1.1       root     5088: { yyval.ttype = finish_method (yyval.ttype); ;
                   5089:     break;}
1.1.1.2 ! root     5090: case 387:
        !          5091: #line 2250 "cp-parse.y"
1.1       root     5092: { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5093:     break;}
1.1.1.2 ! root     5094: case 388:
        !          5095: #line 2252 "cp-parse.y"
1.1       root     5096: { error ("missing ';' before right brace");
                   5097:                  yyungetc ('}', 0);
                   5098:                  yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, NULL_TREE, NULL_TREE); ;
                   5099:     break;}
1.1.1.2 ! root     5100: case 389:
        !          5101: #line 2259 "cp-parse.y"
1.1       root     5102: { yyval.ttype = NULL_TREE; ;
                   5103:     break;}
1.1.1.2 ! root     5104: case 391:
        !          5105: #line 2262 "cp-parse.y"
1.1       root     5106: {
                   5107:                  /* In this context, void_type_node encodes
                   5108:                     friends.  They have been recorded elsewhere.  */
                   5109:                  if (yyval.ttype == void_type_node)
                   5110:                    yyval.ttype = yyvsp[0].ttype;
                   5111:                  else
                   5112:                    yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
                   5113:                ;
                   5114:     break;}
1.1.1.2 ! root     5115: case 392:
        !          5116: #line 2274 "cp-parse.y"
1.1       root     5117: { current_declspecs = yyvsp[-3].ttype;
                   5118:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype); ;
                   5119:     break;}
1.1.1.2 ! root     5120: case 393:
        !          5121: #line 2277 "cp-parse.y"
1.1       root     5122: { current_declspecs = yyvsp[-5].ttype;
                   5123:                  yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   5124:     break;}
1.1.1.2 ! root     5125: case 394:
        !          5126: #line 2280 "cp-parse.y"
1.1       root     5127: { current_declspecs = yyvsp[-3].ttype;
                   5128:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[0].ttype); ;
                   5129:     break;}
1.1.1.2 ! root     5130: case 395:
        !          5131: #line 2283 "cp-parse.y"
1.1       root     5132: { current_declspecs = yyvsp[-2].ttype;
                   5133:                  yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[0].ttype); ;
                   5134:     break;}
1.1.1.2 ! root     5135: case 396:
        !          5136: #line 2286 "cp-parse.y"
1.1       root     5137: { current_declspecs = yyvsp[-2].ttype;
                   5138:                  yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
                   5139:     break;}
1.1.1.2 ! root     5140: case 397:
        !          5141: #line 2292 "cp-parse.y"
1.1       root     5142: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype, NULL_TREE, yyvsp[0].ttype); ;
                   5143:     break;}
1.1.1.2 ! root     5144: case 398:
        !          5145: #line 2294 "cp-parse.y"
1.1       root     5146: { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype); ;
                   5147:     break;}
1.1.1.2 ! root     5148: case 399:
        !          5149: #line 2296 "cp-parse.y"
1.1       root     5150: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[0].ttype); ;
                   5151:     break;}
1.1.1.2 ! root     5152: case 400:
        !          5153: #line 2298 "cp-parse.y"
1.1       root     5154: { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[0].ttype); ;
                   5155:     break;}
1.1.1.2 ! root     5156: case 401:
        !          5157: #line 2300 "cp-parse.y"
1.1       root     5158: { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
                   5159:     break;}
1.1.1.2 ! root     5160: case 403:
        !          5161: #line 2310 "cp-parse.y"
1.1       root     5162: { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
                   5163:     break;}
1.1.1.2 ! root     5164: case 404:
        !          5165: #line 2315 "cp-parse.y"
1.1       root     5166: { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
                   5167:     break;}
1.1.1.2 ! root     5168: case 405:
        !          5169: #line 2317 "cp-parse.y"
1.1       root     5170: { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
                   5171:     break;}
1.1.1.2 ! root     5172: case 406:
        !          5173: #line 2322 "cp-parse.y"
1.1       root     5174: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5175:     break;}
1.1.1.2 ! root     5176: case 407:
        !          5177: #line 2324 "cp-parse.y"
1.1       root     5178: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   5179:     break;}
1.1.1.2 ! root     5180: case 408:
        !          5181: #line 2329 "cp-parse.y"
1.1       root     5182: { yyval.ttype = NULL_TREE; ;
                   5183:     break;}
1.1.1.2 ! root     5184: case 410:
        !          5185: #line 2332 "cp-parse.y"
1.1       root     5186: { yyval.ttype = yyvsp[0].ttype; ;
                   5187:     break;}
1.1.1.2 ! root     5188: case 411:
        !          5189: #line 2337 "cp-parse.y"
1.1       root     5190: { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
                   5191:     break;}
1.1.1.2 ! root     5192: case 412:
        !          5193: #line 2339 "cp-parse.y"
1.1       root     5194: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5195:     break;}
1.1.1.2 ! root     5196: case 413:
        !          5197: #line 2344 "cp-parse.y"
1.1       root     5198: { yyval.ttype = NULL_TREE; ;
                   5199:     break;}
1.1.1.2 ! root     5200: case 414:
        !          5201: #line 2346 "cp-parse.y"
1.1       root     5202: { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   5203:     break;}
1.1.1.2 ! root     5204: case 415:
        !          5205: #line 2354 "cp-parse.y"
1.1       root     5206: { yyval.itype = suspend_momentary (); ;
                   5207:     break;}
1.1.1.2 ! root     5208: case 416:
        !          5209: #line 2355 "cp-parse.y"
1.1       root     5210: { resume_momentary (yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
                   5211:     break;}
1.1.1.2 ! root     5212: case 417:
        !          5213: #line 2361 "cp-parse.y"
1.1       root     5214: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5215:     break;}
1.1.1.2 ! root     5216: case 418:
        !          5217: #line 2363 "cp-parse.y"
1.1       root     5218: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5219:     break;}
1.1.1.2 ! root     5220: case 419:
        !          5221: #line 2365 "cp-parse.y"
1.1       root     5222: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5223:     break;}
1.1.1.2 ! root     5224: case 420:
        !          5225: #line 2367 "cp-parse.y"
1.1       root     5226: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5227:     break;}
1.1.1.2 ! root     5228: case 421:
        !          5229: #line 2369 "cp-parse.y"
1.1       root     5230: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5231:     break;}
1.1.1.2 ! root     5232: case 422:
        !          5233: #line 2371 "cp-parse.y"
1.1       root     5234: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5235:     break;}
1.1.1.2 ! root     5236: case 423:
        !          5237: #line 2373 "cp-parse.y"
1.1       root     5238: { yyval.ttype = yyvsp[-1].ttype; ;
                   5239:     break;}
1.1.1.2 ! root     5240: case 424:
        !          5241: #line 2375 "cp-parse.y"
1.1       root     5242: { yyval.ttype = make_pointer_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5243:     break;}
1.1.1.2 ! root     5244: case 425:
        !          5245: #line 2377 "cp-parse.y"
1.1       root     5246: { see_typename (); ;
                   5247:     break;}
1.1.1.2 ! root     5248: case 427:
        !          5249: #line 2380 "cp-parse.y"
1.1       root     5250: { yyval.ttype = make_reference_declarator (yyvsp[-2].ttype, yyvsp[-1].ttype); ;
                   5251:     break;}
1.1.1.2 ! root     5252: case 428:
        !          5253: #line 2382 "cp-parse.y"
1.1       root     5254: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5255:     break;}
1.1.1.2 ! root     5256: case 429:
        !          5257: #line 2384 "cp-parse.y"
1.1       root     5258: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5259:     break;}
1.1.1.2 ! root     5260: case 431:
        !          5261: #line 2390 "cp-parse.y"
1.1       root     5262: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5263:     break;}
1.1.1.2 ! root     5264: case 432:
        !          5265: #line 2392 "cp-parse.y"
1.1       root     5266: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5267:     break;}
1.1.1.2 ! root     5268: case 433:
        !          5269: #line 2394 "cp-parse.y"
1.1       root     5270: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5271:     break;}
1.1.1.2 ! root     5272: case 434:
        !          5273: #line 2396 "cp-parse.y"
1.1       root     5274: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5275:     break;}
1.1.1.2 ! root     5276: case 435:
        !          5277: #line 2398 "cp-parse.y"
1.1       root     5278: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5279:     break;}
1.1.1.2 ! root     5280: case 436:
        !          5281: #line 2400 "cp-parse.y"
1.1       root     5282: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5283:     break;}
1.1.1.2 ! root     5284: case 437:
        !          5285: #line 2402 "cp-parse.y"
1.1       root     5286: { yyval.ttype = yyvsp[-1].ttype; ;
                   5287:     break;}
1.1.1.2 ! root     5288: case 438:
        !          5289: #line 2404 "cp-parse.y"
1.1       root     5290: { see_typename (); ;
                   5291:     break;}
1.1.1.2 ! root     5292: case 440:
        !          5293: #line 2407 "cp-parse.y"
1.1       root     5294: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5295:     break;}
1.1.1.2 ! root     5296: case 441:
        !          5297: #line 2409 "cp-parse.y"
1.1       root     5298: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5299:     break;}
1.1.1.2 ! root     5300: case 442:
        !          5301: #line 2417 "cp-parse.y"
1.1       root     5302: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5303:     break;}
1.1.1.2 ! root     5304: case 443:
        !          5305: #line 2419 "cp-parse.y"
1.1       root     5306: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5307:     break;}
1.1.1.2 ! root     5308: case 444:
        !          5309: #line 2421 "cp-parse.y"
1.1       root     5310: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5311:     break;}
1.1.1.2 ! root     5312: case 445:
        !          5313: #line 2423 "cp-parse.y"
1.1       root     5314: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, NULL_TREE, NULL_TREE); ;
                   5315:     break;}
1.1.1.2 ! root     5316: case 446:
        !          5317: #line 2425 "cp-parse.y"
1.1       root     5318: { yyval.ttype = yyvsp[-1].ttype; ;
                   5319:     break;}
1.1.1.2 ! root     5320: case 447:
        !          5321: #line 2427 "cp-parse.y"
1.1       root     5322: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5323:     break;}
1.1.1.2 ! root     5324: case 448:
        !          5325: #line 2429 "cp-parse.y"
1.1       root     5326: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5327:     break;}
1.1.1.2 ! root     5328: case 449:
        !          5329: #line 2431 "cp-parse.y"
1.1       root     5330: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5331:     break;}
1.1.1.2 ! root     5332: case 450:
        !          5333: #line 2433 "cp-parse.y"
1.1       root     5334: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5335:     break;}
1.1.1.2 ! root     5336: case 451:
        !          5337: #line 2435 "cp-parse.y"
1.1       root     5338: { see_typename (); ;
                   5339:     break;}
1.1.1.2 ! root     5340: case 452:
        !          5341: #line 2439 "cp-parse.y"
1.1       root     5342: { see_typename (); ;
                   5343:     break;}
1.1.1.2 ! root     5344: case 453:
        !          5345: #line 2442 "cp-parse.y"
1.1       root     5346: {
                   5347:                destructor_name:
                   5348:                  see_typename ();
                   5349:                  yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype);
                   5350:                ;
                   5351:     break;}
1.1.1.2 ! root     5352: case 454:
        !          5353: #line 2448 "cp-parse.y"
1.1       root     5354: { goto destructor_name; ;
                   5355:     break;}
1.1.1.2 ! root     5356: case 455:
        !          5357: #line 2450 "cp-parse.y"
1.1       root     5358: { goto destructor_name; ;
                   5359:     break;}
1.1.1.2 ! root     5360: case 456:
        !          5361: #line 2452 "cp-parse.y"
1.1       root     5362: {
                   5363:                  see_typename ();
                   5364:                  yyval.ttype = build_parse_node (WRAPPER_EXPR, yyvsp[0].ttype);
                   5365:                ;
                   5366:     break;}
1.1.1.2 ! root     5367: case 457:
        !          5368: #line 2457 "cp-parse.y"
1.1       root     5369: {
                   5370:                  see_typename ();
                   5371:                  yyval.ttype = build_parse_node (WRAPPER_EXPR,
                   5372:                                 build_parse_node (COND_EXPR, yyvsp[0].ttype, NULL_TREE, NULL_TREE));
                   5373:                ;
                   5374:     break;}
1.1.1.2 ! root     5375: case 458:
        !          5376: #line 2463 "cp-parse.y"
1.1       root     5377: { see_typename ();
                   5378:                  yyval.ttype = build_parse_node (ANTI_WRAPPER_EXPR, yyvsp[0].ttype); ;
                   5379:     break;}
1.1.1.2 ! root     5380: case 459:
        !          5381: #line 2466 "cp-parse.y"
1.1       root     5382: { see_typename ();
                   5383:                  if (TREE_CODE (yyval.ttype) != SCOPE_REF)
                   5384:                    yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype);
                   5385:                  else if (TREE_OPERAND (yyval.ttype, 1) == NULL_TREE)
                   5386:                    TREE_OPERAND (yyval.ttype, 1) = yyvsp[0].ttype;
                   5387:                  else
                   5388:                    yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
                   5389:                ;
                   5390:     break;}
1.1.1.2 ! root     5391: case 460:
        !          5392: #line 2475 "cp-parse.y"
1.1       root     5393: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5394:     break;}
1.1.1.2 ! root     5395: case 461:
        !          5396: #line 2477 "cp-parse.y"
1.1       root     5397: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5398:     break;}
1.1.1.2 ! root     5399: case 462:
        !          5400: #line 2479 "cp-parse.y"
1.1       root     5401: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5402:     break;}
1.1.1.2 ! root     5403: case 463:
        !          5404: #line 2481 "cp-parse.y"
1.1       root     5405: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5406:     break;}
1.1.1.2 ! root     5407: case 464:
        !          5408: #line 2483 "cp-parse.y"
1.1       root     5409: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5410:     break;}
1.1.1.2 ! root     5411: case 465:
        !          5412: #line 2486 "cp-parse.y"
1.1       root     5413: { yyval.ttype = build_push_scope (yyval.ttype, yyvsp[0].ttype); ;
                   5414:     break;}
1.1.1.2 ! root     5415: case 466:
        !          5416: #line 2488 "cp-parse.y"
1.1       root     5417: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5418:     break;}
1.1.1.2 ! root     5419: case 467:
        !          5420: #line 2490 "cp-parse.y"
1.1       root     5421: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, yyvsp[-2].ttype, yyvsp[0].ttype)); ;
                   5422:     break;}
1.1.1.2 ! root     5423: case 468:
        !          5424: #line 2492 "cp-parse.y"
1.1       root     5425: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-2].ttype, empty_parms (), yyvsp[0].ttype)); ;
                   5426:     break;}
1.1.1.2 ! root     5427: case 469:
        !          5428: #line 2494 "cp-parse.y"
1.1       root     5429: { yyval.ttype = build_push_scope (yyval.ttype, build_parse_node (CALL_EXPR, yyvsp[-4].ttype, NULL_TREE, NULL_TREE)); ;
                   5430:     break;}
1.1.1.2 ! root     5431: case 470:
        !          5432: #line 2496 "cp-parse.y"
1.1       root     5433: { yyval.ttype = build_parse_node (SCOPE_REF, NULL_TREE, yyvsp[0].ttype); ;
                   5434:     break;}
1.1.1.2 ! root     5435: case 471:
        !          5436: #line 2500 "cp-parse.y"
        !          5437: { yyval.ttype = resolve_scope_to_name (NULL_TREE, yyval.ttype);
        !          5438:                  if (yyval.ttype == NULL_TREE)
        !          5439:                    {
        !          5440:                      error ("undefined explicitly scoped type");
        !          5441:                      yyval.ttype = error_mark_node; 
        !          5442:                    }
        !          5443:                ;
1.1       root     5444:     break;}
1.1.1.2 ! root     5445: case 472:
        !          5446: #line 2508 "cp-parse.y"
1.1       root     5447: {
                   5448:                   if (yyval.ttype == error_mark_node)
                   5449:                     /* leave it alone */;
                   5450:                   else
                   5451:                    {
                   5452:                      yyval.ttype = resolve_scope_to_name (NULL_TREE, TYPE_IDENTIFIER (yyval.ttype));
1.1.1.2 ! root     5453:                      if (yyval.ttype == NULL_TREE)
        !          5454:                        {
        !          5455:                          error ("undefined explicitly scoped type");
        !          5456:                          yyval.ttype = error_mark_node; 
        !          5457:                        }
1.1       root     5458:                    }
                   5459:                   if (yyvsp[0].itype) popclass (1);
                   5460:                ;
                   5461:     break;}
1.1.1.2 ! root     5462: case 475:
        !          5463: #line 2544 "cp-parse.y"
1.1       root     5464: { see_typename ();
                   5465:                  yyval.ttype = yyvsp[-1].ttype; ;
                   5466:     break;}
1.1.1.2 ! root     5467: case 476:
        !          5468: #line 2548 "cp-parse.y"
1.1       root     5469: { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5470:     break;}
1.1.1.2 ! root     5471: case 477:
        !          5472: #line 2550 "cp-parse.y"
1.1       root     5473: { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5474:     break;}
1.1.1.2 ! root     5475: case 478:
        !          5476: #line 2552 "cp-parse.y"
1.1       root     5477: { see_typename (); ;
                   5478:     break;}
1.1.1.2 ! root     5479: case 479:
        !          5480: #line 2554 "cp-parse.y"
1.1       root     5481: { yyval.ttype = yyvsp[-1].ttype; ;
                   5482:     break;}
1.1.1.2 ! root     5483: case 480:
        !          5484: #line 2556 "cp-parse.y"
1.1       root     5485: { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
                   5486:     break;}
1.1.1.2 ! root     5487: case 481:
        !          5488: #line 2558 "cp-parse.y"
1.1       root     5489: { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
                   5490:     break;}
1.1.1.2 ! root     5491: case 482:
        !          5492: #line 2560 "cp-parse.y"
1.1       root     5493: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5494:     break;}
1.1.1.2 ! root     5495: case 483:
        !          5496: #line 2562 "cp-parse.y"
1.1       root     5497: { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
                   5498:     break;}
1.1.1.2 ! root     5499: case 484:
        !          5500: #line 2564 "cp-parse.y"
1.1       root     5501: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
                   5502:     break;}
1.1.1.2 ! root     5503: case 485:
        !          5504: #line 2566 "cp-parse.y"
1.1       root     5505: { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
                   5506:     break;}
1.1.1.2 ! root     5507: case 486:
        !          5508: #line 2568 "cp-parse.y"
1.1       root     5509: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
                   5510:     break;}
1.1.1.2 ! root     5511: case 487:
        !          5512: #line 2570 "cp-parse.y"
1.1       root     5513: { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (), yyvsp[0].ttype); ;
                   5514:     break;}
1.1.1.2 ! root     5515: case 488:
        !          5516: #line 2572 "cp-parse.y"
1.1       root     5517: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
                   5518:     break;}
1.1.1.2 ! root     5519: case 489:
        !          5520: #line 2574 "cp-parse.y"
1.1       root     5521: { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
                   5522:     break;}
1.1.1.2 ! root     5523: case 490:
        !          5524: #line 2579 "cp-parse.y"
1.1       root     5525: { tree t;
                   5526:                  t = yyval.ttype;
                   5527:                  while (TREE_OPERAND (t, 1))
                   5528:                    t = TREE_OPERAND (t, 1);
                   5529:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, 0);
                   5530:                ;
                   5531:     break;}
1.1.1.2 ! root     5532: case 491:
        !          5533: #line 2586 "cp-parse.y"
1.1       root     5534: { tree t;
                   5535:                  t = yyval.ttype;
                   5536:                  while (TREE_OPERAND (t, 1))
                   5537:                    t = TREE_OPERAND (t, 1);
                   5538:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5539:                ;
                   5540:     break;}
1.1.1.2 ! root     5541: case 492:
        !          5542: #line 2593 "cp-parse.y"
1.1       root     5543: { tree t;
                   5544:                  t = yyval.ttype;
                   5545:                  while (TREE_OPERAND (t, 1))
                   5546:                    t = TREE_OPERAND (t, 1);
                   5547:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, 0);
                   5548:                ;
                   5549:     break;}
1.1.1.2 ! root     5550: case 493:
        !          5551: #line 2600 "cp-parse.y"
1.1       root     5552: { tree t;
                   5553:                  t = yyval.ttype;
                   5554:                  while (TREE_OPERAND (t, 1))
                   5555:                    t = TREE_OPERAND (t, 1);
                   5556:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5557:                ;
                   5558:     break;}
1.1.1.2 ! root     5559: case 494:
        !          5560: #line 2610 "cp-parse.y"
1.1       root     5561: { tree t;
                   5562:                  t = yyval.ttype;
                   5563:                  while (TREE_OPERAND (t, 1))
                   5564:                    t = TREE_OPERAND (t, 1);
                   5565:                  TREE_OPERAND (t, 1) = build_parse_node (INDIRECT_REF, yyvsp[0].ttype);
                   5566:                ;
                   5567:     break;}
1.1.1.2 ! root     5568: case 495:
        !          5569: #line 2617 "cp-parse.y"
1.1       root     5570: { tree t;
                   5571:                  t = yyval.ttype;
                   5572:                  while (TREE_OPERAND (t, 1))
                   5573:                    t = TREE_OPERAND (t, 1);
                   5574:                  TREE_OPERAND (t, 1) = build_parse_node (ADDR_EXPR, yyvsp[0].ttype);
                   5575:                ;
                   5576:     break;}
1.1.1.2 ! root     5577: case 501:
        !          5578: #line 2644 "cp-parse.y"
        !          5579: { emit_line_note (input_filename, lineno);
1.1       root     5580:                  pushlevel (0);
                   5581:                  clear_last_expr ();
                   5582:                  push_momentary ();
                   5583:                  expand_start_bindings (0);
1.1.1.2 ! root     5584:                  yyval.strtype = stmt_decl_msg;
        !          5585:                  stmt_decl_msg = 0; ;
        !          5586:     break;}
        !          5587: case 503:
        !          5588: #line 2658 "cp-parse.y"
        !          5589: { if (pedantic)
        !          5590:                    pedwarn ("ANSI C forbids label declarations"); ;
        !          5591:     break;}
        !          5592: case 506:
        !          5593: #line 2669 "cp-parse.y"
        !          5594: { tree link;
        !          5595:                  for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
        !          5596:                    {
        !          5597:                      tree label = shadow_label (TREE_VALUE (link));
        !          5598:                      C_DECLARED_LABEL_FLAG (label) = 1;
        !          5599:                      declare_nonlocal_label (label);
        !          5600:                    }
1.1       root     5601:                ;
                   5602:     break;}
1.1.1.2 ! root     5603: case 507:
        !          5604: #line 2683 "cp-parse.y"
1.1       root     5605: {;
                   5606:     break;}
1.1.1.2 ! root     5607: case 509:
        !          5608: #line 2688 "cp-parse.y"
1.1       root     5609: { yyval.ttype = convert (void_type_node, integer_zero_node); ;
                   5610:     break;}
1.1.1.2 ! root     5611: case 510:
        !          5612: #line 2690 "cp-parse.y"
1.1       root     5613: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2 ! root     5614:                  stmt_decl_msg = yyvsp[-3].strtype;
1.1       root     5615:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5616:                  yyval.ttype = poplevel (kept_level_p (), 1, 0);
                   5617:                  pop_momentary (); ;
                   5618:     break;}
1.1.1.2 ! root     5619: case 511:
        !          5620: #line 2696 "cp-parse.y"
1.1       root     5621: { pop_implicit_try_blocks (NULL_TREE);
1.1.1.2 ! root     5622:                  stmt_decl_msg = yyvsp[-3].strtype;
1.1       root     5623:                  expand_end_bindings (getdecls (), kept_level_p (), 1);
                   5624:                  yyval.ttype = poplevel (kept_level_p (), 0, 0);
                   5625:                  pop_momentary (); ;
                   5626:     break;}
1.1.1.2 ! root     5627: case 512:
        !          5628: #line 2705 "cp-parse.y"
1.1       root     5629: { emit_line_note (input_filename, lineno);
                   5630:                  expand_start_cond (truthvalue_conversion (yyvsp[-1].ttype), 0);
                   5631:                  stmt_decl_msg = "if"; ;
                   5632:     break;}
1.1.1.2 ! root     5633: case 513:
        !          5634: #line 2709 "cp-parse.y"
1.1       root     5635: { stmt_decl_msg = 0; ;
                   5636:     break;}
1.1.1.2 ! root     5637: case 514:
        !          5638: #line 2714 "cp-parse.y"
1.1       root     5639: { finish_stmt (); ;
                   5640:     break;}
1.1.1.2 ! root     5641: case 515:
        !          5642: #line 2716 "cp-parse.y"
1.1       root     5643: { if (stmt_decl_msg)
                   5644:                    error ("declaration after %s invalid", stmt_decl_msg);
                   5645:                  stmt_decl_msg = 0;
                   5646:                  finish_stmt (); ;
                   5647:     break;}
1.1.1.2 ! root     5648: case 516:
        !          5649: #line 2721 "cp-parse.y"
1.1       root     5650: {
                   5651:                  tree expr = yyvsp[-1].ttype;
                   5652:                  emit_line_note (input_filename, lineno);
                   5653:                  /* Do default conversion if safe and possibly important,
                   5654:                     in case within ({...}).  */
                   5655:                  if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
                   5656:                       && lvalue_p (expr))
                   5657:                      || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
                   5658:                    expr = default_conversion (expr);
                   5659:                  cplus_expand_expr_stmt (expr);
                   5660:                  clear_momentary ();
                   5661:                  finish_stmt (); ;
                   5662:     break;}
1.1.1.2 ! root     5663: case 517:
        !          5664: #line 2734 "cp-parse.y"
1.1       root     5665: { expand_start_else ();
                   5666:                  stmt_decl_msg = "else"; ;
                   5667:     break;}
1.1.1.2 ! root     5668: case 518:
        !          5669: #line 2737 "cp-parse.y"
1.1       root     5670: { expand_end_cond ();
                   5671:                  stmt_decl_msg = 0;
                   5672:                  finish_stmt (); ;
                   5673:     break;}
1.1.1.2 ! root     5674: case 519:
        !          5675: #line 2741 "cp-parse.y"
1.1       root     5676: { expand_end_cond ();
                   5677:                  stmt_decl_msg = 0;
                   5678:                  finish_stmt (); ;
                   5679:     break;}
1.1.1.2 ! root     5680: case 520:
        !          5681: #line 2745 "cp-parse.y"
1.1       root     5682: { emit_nop ();
                   5683:                  emit_line_note (input_filename, lineno);
                   5684:                  expand_start_loop (1); ;
                   5685:     break;}
1.1.1.2 ! root     5686: case 521:
        !          5687: #line 2749 "cp-parse.y"
1.1       root     5688: { expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype));
                   5689:                  stmt_decl_msg = "while"; ;
                   5690:     break;}
1.1.1.2 ! root     5691: case 522:
        !          5692: #line 2752 "cp-parse.y"
1.1       root     5693: { 
                   5694:                  expand_end_loop ();
                   5695:                  stmt_decl_msg = 0;
                   5696:                  finish_stmt (); ;
                   5697:     break;}
1.1.1.2 ! root     5698: case 523:
        !          5699: #line 2757 "cp-parse.y"
1.1       root     5700: { emit_nop ();
                   5701:                  emit_line_note (input_filename, lineno);
                   5702:                  expand_start_loop_continue_elsewhere (1);
                   5703:                  stmt_decl_msg = "do"; ;
                   5704:     break;}
1.1.1.2 ! root     5705: case 524:
        !          5706: #line 2762 "cp-parse.y"
1.1       root     5707: { stmt_decl_msg = 0;
                   5708:                  expand_loop_continue_here (); ;
                   5709:     break;}
1.1.1.2 ! root     5710: case 525:
        !          5711: #line 2765 "cp-parse.y"
1.1       root     5712: { emit_line_note (input_filename, lineno);
                   5713:                  expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-2].ttype));
                   5714:                  expand_end_loop ();
                   5715:                  clear_momentary ();
                   5716:                  finish_stmt (); ;
                   5717:     break;}
1.1.1.2 ! root     5718: case 526:
        !          5719: #line 2771 "cp-parse.y"
1.1       root     5720: { emit_nop ();
                   5721:                  emit_line_note (input_filename, lineno);
                   5722:                  if (yyvsp[0].ttype) cplus_expand_expr_stmt (yyvsp[0].ttype);
                   5723:                  expand_start_loop_continue_elsewhere (1); ;
                   5724:     break;}
1.1.1.2 ! root     5725: case 527:
        !          5726: #line 2776 "cp-parse.y"
1.1       root     5727: { emit_line_note (input_filename, lineno);
                   5728:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5729:     break;}
1.1.1.2 ! root     5730: case 528:
        !          5731: #line 2781 "cp-parse.y"
1.1       root     5732: { push_momentary ();
                   5733:                  stmt_decl_msg = "for"; ;
                   5734:     break;}
1.1.1.2 ! root     5735: case 529:
        !          5736: #line 2784 "cp-parse.y"
1.1       root     5737: { emit_line_note (input_filename, lineno);
                   5738:                  expand_loop_continue_here ();
                   5739:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5740:                  pop_momentary ();
                   5741:                  expand_end_loop ();
                   5742:                  stmt_decl_msg = 0;
                   5743:                  finish_stmt (); ;
                   5744:     break;}
1.1.1.2 ! root     5745: case 530:
        !          5746: #line 2792 "cp-parse.y"
1.1       root     5747: { emit_nop ();
                   5748:                  emit_line_note (input_filename, lineno);
                   5749:                  expand_start_loop_continue_elsewhere (1); ;
                   5750:     break;}
1.1.1.2 ! root     5751: case 531:
        !          5752: #line 2796 "cp-parse.y"
1.1       root     5753: { emit_line_note (input_filename, lineno);
                   5754:                  if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, truthvalue_conversion (yyvsp[-1].ttype)); ;
                   5755:     break;}
1.1.1.2 ! root     5756: case 532:
        !          5757: #line 2801 "cp-parse.y"
1.1       root     5758: { push_momentary ();
                   5759:                  stmt_decl_msg = "for";
                   5760:                  yyvsp[0].itype = lineno; ;
                   5761:     break;}
1.1.1.2 ! root     5762: case 533:
        !          5763: #line 2805 "cp-parse.y"
1.1       root     5764: { emit_line_note (input_filename, yyvsp[-2].itype);
                   5765:                  expand_loop_continue_here ();
                   5766:                  if (yyvsp[-3].ttype) cplus_expand_expr_stmt (yyvsp[-3].ttype);
                   5767:                  pop_momentary ();
                   5768:                  expand_end_loop ();
                   5769:                  pop_implicit_try_blocks (NULL_TREE);
                   5770:                  if (yyvsp[-8].itype)
                   5771:                    {
                   5772:                      register keep = yyvsp[-8].itype > 0;
                   5773:                      if (keep) expand_end_bindings (0, keep, 1);
                   5774:                      poplevel (keep, 1, 0);
                   5775:                      pop_momentary ();
                   5776:                    }
                   5777:                  stmt_decl_msg = 0;
                   5778:                  finish_stmt ();
                   5779:                ;
                   5780:     break;}
1.1.1.2 ! root     5781: case 534:
        !          5782: #line 2822 "cp-parse.y"
1.1       root     5783: { emit_line_note (input_filename, lineno);
                   5784:                  c_expand_start_case (yyvsp[-1].ttype);
                   5785:                  /* Don't let the tree nodes for $3 be discarded by
                   5786:                     clear_momentary during the parsing of the next stmt.  */
                   5787:                  push_momentary ();
                   5788:                  stmt_decl_msg = "switch"; ;
                   5789:     break;}
1.1.1.2 ! root     5790: case 535:
        !          5791: #line 2829 "cp-parse.y"
1.1       root     5792: { expand_end_case (yyvsp[-3].ttype);
                   5793:                  pop_momentary ();
                   5794:                  stmt_decl_msg = 0;
                   5795:                  finish_stmt (); ;
                   5796:     break;}
1.1.1.2 ! root     5797: case 536:
        !          5798: #line 2834 "cp-parse.y"
1.1       root     5799: { register tree value = yyvsp[-1].ttype;
                   5800:                  register tree label
                   5801:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   5802: 
                   5803:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5804:                     Strip such NOP_EXPRs.  */
                   5805:                  if (TREE_CODE (value) == NOP_EXPR
                   5806:                      && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   5807:                    value = TREE_OPERAND (value, 0);
                   5808: 
                   5809:                  if (TREE_READONLY_DECL_P (value))
                   5810:                    {
                   5811:                      value = decl_constant_value (value);
                   5812:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5813:                         Strip such NOP_EXPRs.  */
                   5814:                      if (TREE_CODE (value) == NOP_EXPR
                   5815:                          && TREE_TYPE (value) == TREE_TYPE (TREE_OPERAND (value, 0)))
                   5816:                        value = TREE_OPERAND (value, 0);
                   5817:                    }
                   5818:                  value = fold (value);
                   5819: 
                   5820:                  if (TREE_CODE (value) != INTEGER_CST
                   5821:                      && value != error_mark_node)
                   5822:                    {
                   5823:                      error ("case label does not reduce to an integer constant");
                   5824:                      value = error_mark_node;
                   5825:                    }
                   5826:                  else
                   5827:                    /* Promote char or short to int.  */
                   5828:                    value = default_conversion (value);
                   5829:                  if (value != error_mark_node)
                   5830:                    {
                   5831:                      tree duplicate;
                   5832:                      int success = pushcase (value, label, &duplicate);
                   5833:                      if (success == 1)
                   5834:                        error ("case label not within a switch statement");
                   5835:                      else if (success == 2)
                   5836:                        {
                   5837:                          error ("duplicate case value");
                   5838:                          error_with_decl (duplicate, "this is the first entry for that value");
                   5839:                        }
                   5840:                      else if (success == 3)
                   5841:                        warning ("case value out of range");
                   5842:                      else if (success == 5)
                   5843:                        error ("case label within scope of cleanup or variable array");
                   5844:                    }
                   5845:                  define_case_label (label);
                   5846:                ;
                   5847:     break;}
1.1.1.2 ! root     5848: case 538:
        !          5849: #line 2884 "cp-parse.y"
1.1       root     5850: { register tree value1 = yyvsp[-3].ttype;
                   5851:                  register tree value2 = yyvsp[-1].ttype;
                   5852:                  register tree label
                   5853:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   5854: 
                   5855:                  if (pedantic)
                   5856:                    {
                   5857:                      error ("ANSI C does not allow range expressions in switch statement");
                   5858:                      value1 = error_mark_node;
                   5859:                      value2 = error_mark_node;
                   5860:                      break;
                   5861:                    }
                   5862:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5863:                     Strip such NOP_EXPRs.  */
                   5864:                  if (TREE_CODE (value1) == NOP_EXPR
                   5865:                      && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   5866:                    value1 = TREE_OPERAND (value1, 0);
                   5867: 
                   5868:                  if (TREE_READONLY_DECL_P (value1))
                   5869:                    {
                   5870:                      value1 = decl_constant_value (value1);
                   5871:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5872:                         Strip such NOP_EXPRs.  */
                   5873:                      if (TREE_CODE (value1) == NOP_EXPR
                   5874:                          && TREE_TYPE (value1) == TREE_TYPE (TREE_OPERAND (value1, 0)))
                   5875:                        value1 = TREE_OPERAND (value1, 0);
                   5876:                    }
                   5877:                  value1 = fold (value1);
                   5878: 
                   5879:                  /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5880:                     Strip such NOP_EXPRs.  */
                   5881:                  if (TREE_CODE (value2) == NOP_EXPR
                   5882:                      && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   5883:                    value2 = TREE_OPERAND (value2, 0);
                   5884: 
                   5885:                  if (TREE_READONLY_DECL_P (value2))
                   5886:                    {
                   5887:                      value2 = decl_constant_value (value2);
                   5888:                      /* build_c_cast puts on a NOP_EXPR to make a non-lvalue.
                   5889:                         Strip such NOP_EXPRs.  */
                   5890:                      if (TREE_CODE (value2) == NOP_EXPR
                   5891:                          && TREE_TYPE (value2) == TREE_TYPE (TREE_OPERAND (value2, 0)))
                   5892:                        value2 = TREE_OPERAND (value2, 0);
                   5893:                    }
                   5894:                  value2 = fold (value2);
                   5895: 
                   5896: 
                   5897:                  if (TREE_CODE (value1) != INTEGER_CST
                   5898:                      && value1 != error_mark_node)
                   5899:                    {
                   5900:                      error ("case label does not reduce to an integer constant");
                   5901:                      value1 = error_mark_node;
                   5902:                    }
                   5903:                  if (TREE_CODE (value2) != INTEGER_CST
                   5904:                      && value2 != error_mark_node)
                   5905:                    {
                   5906:                      error ("case label does not reduce to an integer constant");
                   5907:                      value2 = error_mark_node;
                   5908:                    }
                   5909:                  if (value1 != error_mark_node
                   5910:                      && value2 != error_mark_node)
                   5911:                    {
                   5912:                      tree duplicate;
1.1.1.2 ! root     5913:                      int success = pushcase_range (value1, value2, label,
        !          5914:                                                    &duplicate);
1.1       root     5915:                      if (success == 1)
                   5916:                        error ("case label not within a switch statement");
                   5917:                      else if (success == 2)
                   5918:                        {
                   5919:                          error ("duplicate (or overlapping) case value");
                   5920:                          error_with_decl (duplicate, "this is the first entry overlapping that value");
                   5921:                        }
                   5922:                      else if (success == 3)
                   5923:                        warning ("case value out of range");
                   5924:                      else if (success == 4)
                   5925:                        warning ("empty range specified");
                   5926:                      else if (success == 5)
                   5927:                        error ("case label within scope of cleanup or variable array");
                   5928:                    }
                   5929:                  define_case_label (label);
                   5930:                ;
                   5931:     break;}
1.1.1.2 ! root     5932: case 540:
        !          5933: #line 2967 "cp-parse.y"
1.1       root     5934: {
                   5935:                  tree duplicate;
                   5936:                  register tree label
                   5937:                    = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
                   5938:                  int success = pushcase (NULL_TREE, label, &duplicate);
                   5939:                  if (success == 1)
                   5940:                    error ("default label not within a switch statement");
                   5941:                  else if (success == 2)
                   5942:                    {
                   5943:                      error ("multiple default labels in one switch");
                   5944:                      error_with_decl (duplicate, "this is the first default label");
                   5945:                    }
                   5946:                  define_case_label (NULL_TREE);
                   5947:                ;
                   5948:     break;}
1.1.1.2 ! root     5949: case 542:
        !          5950: #line 2983 "cp-parse.y"
1.1       root     5951: { emit_line_note (input_filename, lineno);
                   5952:                  if ( ! expand_exit_something ())
                   5953:                    error ("break statement not within loop or switch"); ;
                   5954:     break;}
1.1.1.2 ! root     5955: case 543:
        !          5956: #line 2987 "cp-parse.y"
1.1       root     5957: { emit_line_note (input_filename, lineno);
                   5958:                  if (! expand_continue_loop (0))
                   5959:                    error ("continue statement not within a loop"); ;
                   5960:     break;}
1.1.1.2 ! root     5961: case 544:
        !          5962: #line 2991 "cp-parse.y"
1.1       root     5963: { emit_line_note (input_filename, lineno);
                   5964:                  c_expand_return (NULL_TREE); ;
                   5965:     break;}
1.1.1.2 ! root     5966: case 545:
        !          5967: #line 2994 "cp-parse.y"
1.1       root     5968: { emit_line_note (input_filename, lineno);
                   5969:                  c_expand_return (yyvsp[-1].ttype);
                   5970:                  finish_stmt ();
                   5971:                ;
                   5972:     break;}
1.1.1.2 ! root     5973: case 546:
        !          5974: #line 2999 "cp-parse.y"
1.1       root     5975: { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
                   5976:                  emit_line_note (input_filename, lineno);
                   5977:                  expand_asm (yyvsp[-2].ttype);
                   5978:                  finish_stmt ();
                   5979:                ;
                   5980:     break;}
1.1.1.2 ! root     5981: case 547:
        !          5982: #line 3006 "cp-parse.y"
1.1       root     5983: { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
                   5984:                  emit_line_note (input_filename, lineno);
                   5985:                  c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
                   5986:                                         yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
                   5987:                                         input_filename, lineno);
                   5988:                  finish_stmt ();
                   5989:                ;
                   5990:     break;}
1.1.1.2 ! root     5991: case 548:
        !          5992: #line 3015 "cp-parse.y"
1.1       root     5993: { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
                   5994:                  emit_line_note (input_filename, lineno);
                   5995:                  c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
                   5996:                                         yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
                   5997:                                         input_filename, lineno);
                   5998:                  finish_stmt ();
                   5999:                ;
                   6000:     break;}
1.1.1.2 ! root     6001: case 549:
        !          6002: #line 3025 "cp-parse.y"
1.1       root     6003: { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
                   6004:                  emit_line_note (input_filename, lineno);
                   6005:                  c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
                   6006:                                         yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
                   6007:                                         input_filename, lineno);
                   6008:                  finish_stmt ();
                   6009:                ;
                   6010:     break;}
1.1.1.2 ! root     6011: case 550:
        !          6012: #line 3033 "cp-parse.y"
1.1       root     6013: { tree decl;
                   6014:                  emit_line_note (input_filename, lineno);
                   6015:                  decl = lookup_label (yyvsp[-1].ttype);
                   6016:                  TREE_USED (decl) = 1;
                   6017:                  expand_goto (decl); ;
                   6018:     break;}
1.1.1.2 ! root     6019: case 551:
        !          6020: #line 3039 "cp-parse.y"
1.1       root     6021: { finish_stmt (); ;
                   6022:     break;}
1.1.1.2 ! root     6023: case 552:
        !          6024: #line 3041 "cp-parse.y"
1.1       root     6025: { error ("label must be followed by statement");
                   6026:                  yyungetc ('}', 0);
                   6027:                  finish_stmt (); ;
                   6028:     break;}
1.1.1.2 ! root     6029: case 553:
        !          6030: #line 3045 "cp-parse.y"
1.1       root     6031: { finish_stmt (); ;
                   6032:     break;}
1.1.1.2 ! root     6033: case 554:
        !          6034: #line 3048 "cp-parse.y"
1.1       root     6035: { cplus_expand_throw (NULL_TREE); ;
                   6036:     break;}
1.1.1.2 ! root     6037: case 555:
        !          6038: #line 3049 "cp-parse.y"
1.1       root     6039: { cplus_expand_throw (yyvsp[-1].ttype); ;
                   6040:     break;}
1.1.1.2 ! root     6041: case 556:
        !          6042: #line 3051 "cp-parse.y"
1.1       root     6043: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6044:                  finish_stmt (); ;
                   6045:     break;}
1.1.1.2 ! root     6046: case 557:
        !          6047: #line 3054 "cp-parse.y"
1.1       root     6048: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6049:                  finish_stmt (); ;
                   6050:     break;}
1.1.1.2 ! root     6051: case 558:
        !          6052: #line 3057 "cp-parse.y"
1.1       root     6053: { cplus_expand_raise (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, 0);
                   6054:                  finish_stmt (); ;
                   6055:     break;}
1.1.1.2 ! root     6056: case 559:
        !          6057: #line 3060 "cp-parse.y"
1.1       root     6058: { cplus_expand_raise (yyvsp[-2].ttype, NULL_TREE, NULL_TREE, 0);
                   6059:                  finish_stmt (); ;
                   6060:     break;}
1.1.1.2 ! root     6061: case 560:
        !          6062: #line 3063 "cp-parse.y"
1.1       root     6063: { cplus_expand_reraise (yyvsp[-1].ttype);
                   6064:                  finish_stmt (); ;
                   6065:     break;}
1.1.1.2 ! root     6066: case 561:
        !          6067: #line 3066 "cp-parse.y"
1.1       root     6068: {
                   6069:                  tree decl = cplus_expand_end_try (yyvsp[-3].itype);
                   6070:                  yyvsp[-2].ttype = current_exception_type;
                   6071:                  yyvsp[0].ttype = current_exception_decl;
                   6072:                  yyval.ttype = current_exception_object;
                   6073:                  cplus_expand_start_except (yyvsp[-1].ttype, decl);
                   6074:                  pushlevel (0);
                   6075:                  clear_last_expr ();
                   6076:                  push_momentary ();
                   6077:                  expand_start_bindings (0);
                   6078:                  stmt_decl_msg = 0;
                   6079:                ;
                   6080:     break;}
1.1.1.2 ! root     6081: case 562:
        !          6082: #line 3079 "cp-parse.y"
1.1       root     6083: {
                   6084:                  tree decls = getdecls ();
                   6085:                  /* If there is a default exception to handle,
                   6086:                     handle it here.  */
                   6087:                  if (yyvsp[-1].ttype)
                   6088:                    {
                   6089:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6090:                      tree block;
                   6091: 
                   6092:                      pushlevel (1);
                   6093:                      expand_start_bindings (0);
                   6094:                      expand_expr (yyvsp[-1].ttype, 0, 0, 0);
                   6095:                      expand_end_bindings (0, 1, 0);
                   6096:                      block = poplevel (1, 0, 0);
                   6097: 
                   6098:                      /* This is a catch block.  */
                   6099:                      TREE_LANG_FLAG_2 (block) = 1;
                   6100:                      BLOCK_VARS (block) = decl;
                   6101:                    }
                   6102: 
                   6103:                  expand_end_bindings (decls, decls != 0, 1);
                   6104:                  poplevel (decls != 0, 1, 0);
                   6105:                  pop_momentary ();
                   6106:                  current_exception_type = yyvsp[-5].ttype;
                   6107:                  current_exception_decl = yyvsp[-3].ttype;
                   6108:                  current_exception_object = yyvsp[-2].ttype;
                   6109:                  cplus_expand_end_except (yyvsp[-1].ttype);
                   6110:                ;
                   6111:     break;}
1.1.1.2 ! root     6112: case 563:
        !          6113: #line 3108 "cp-parse.y"
1.1       root     6114: {
                   6115:                  cplus_expand_end_try (yyvsp[-1].itype);
                   6116:                  /* These are the important actions of
                   6117:                     `cplus_expand_end_except' which we must emulate.  */
                   6118:                  if (expand_escape_except ())
                   6119:                    expand_end_except ();
                   6120:                  expand_end_bindings (0, 0, 1);
                   6121:                  poplevel (0, 0, 0);
                   6122:                ;
                   6123:     break;}
1.1.1.2 ! root     6124: case 564:
        !          6125: #line 3118 "cp-parse.y"
1.1       root     6126: {
                   6127:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype);
                   6128:                  yyvsp[-1].ttype = current_exception_type;
                   6129:                  yyvsp[0].ttype = current_exception_decl;
                   6130:                  yyval.ttype = current_exception_object;
                   6131:                  cplus_expand_start_except (NULL, decl);
                   6132:                  pushlevel (0);
                   6133:                  clear_last_expr ();
                   6134:                  push_momentary ();
                   6135:                  expand_start_bindings (0);
                   6136:                  stmt_decl_msg = 0;
                   6137:                ;
                   6138:     break;}
1.1.1.2 ! root     6139: case 565:
        !          6140: #line 3131 "cp-parse.y"
1.1       root     6141: {
                   6142:                  tree decls = getdecls ();
                   6143:                  /* If there is a default exception to handle,
                   6144:                     handle it here.  */
                   6145:                  if (yyvsp[0].ttype)
                   6146:                    {
                   6147:                      tree decl = build_decl (CPLUS_CATCH_DECL, NULL_TREE, 0);
                   6148:                      tree block;
                   6149: 
                   6150:                      pushlevel (1);
                   6151:                      expand_start_bindings (0);
                   6152:                      expand_expr (yyvsp[0].ttype, 0, 0, 0);
                   6153:                      expand_end_bindings (0, 1, 0);
                   6154:                      block = poplevel (1, 0, 0);
                   6155: 
                   6156:                      /* This is a catch block.  */
                   6157:                      TREE_LANG_FLAG_2 (block) = 1;
                   6158:                      BLOCK_VARS (block) = decl;
                   6159:                    }
                   6160: 
                   6161:                  expand_end_bindings (decls, decls != 0, 1);
                   6162:                  poplevel (decls != 0, 1, 0);
                   6163:                  pop_momentary ();
                   6164:                  current_exception_type = yyvsp[-3].ttype;
                   6165:                  current_exception_decl = yyvsp[-2].ttype;
                   6166:                  current_exception_object = yyvsp[-1].ttype;
                   6167:                  cplus_expand_end_except (yyvsp[0].ttype);
                   6168:                ;
                   6169:     break;}
1.1.1.2 ! root     6170: case 566:
        !          6171: #line 3160 "cp-parse.y"
1.1       root     6172: { tree name = get_identifier ("(compiler error)");
                   6173:                  tree orig_ex_type = current_exception_type;
                   6174:                  tree orig_ex_decl = current_exception_decl;
                   6175:                  tree orig_ex_obj = current_exception_object;
                   6176:                  tree decl = cplus_expand_end_try (yyvsp[-2].itype), decls;
                   6177: 
                   6178:                  /* Start hidden EXCEPT.  */
                   6179:                  cplus_expand_start_except (name, decl);
                   6180:                  pushlevel (0);
                   6181:                  clear_last_expr ();
                   6182:                  push_momentary ();
                   6183:                  expand_start_bindings (0);
                   6184:                  stmt_decl_msg = 0;
                   6185: 
                   6186:                  /* This sets up the reraise.  */
                   6187:                  cplus_expand_reraise (yyvsp[0].ttype);
                   6188: 
                   6189:                  decls = getdecls ();
                   6190:                  expand_end_bindings (decls, decls != 0, 1);
                   6191:                  poplevel (decls != 0, 1, 0);
                   6192:                  pop_momentary ();
                   6193:                  current_exception_type = orig_ex_type;
                   6194:                  current_exception_decl = orig_ex_decl;
                   6195:                  current_exception_object = orig_ex_obj;
                   6196:                  /* This will reraise for us.  */
                   6197:                  cplus_expand_end_except (error_mark_node);
                   6198:                  if (yychar == YYEMPTY)
                   6199:                    yychar = YYLEX;
                   6200:                  if (yychar != ';')
                   6201:                    error ("missing ';' after reraise statement");
                   6202:                ;
                   6203:     break;}
1.1.1.2 ! root     6204: case 567:
        !          6205: #line 3192 "cp-parse.y"
1.1       root     6206: { yyerror ("`except' missing after `try' statement");
                   6207:                  /* Terminate the binding contour started by special
                   6208:                     code in `.pushlevel'.  Automagically pops off
                   6209:                     the conditional we started for `try' stmt.  */
                   6210:                  cplus_expand_end_try (yyvsp[0].itype);
                   6211:                  expand_end_bindings (0, 0, 1);
                   6212:                  poplevel (0, 0, 0);
                   6213:                  pop_momentary ();
                   6214:                  YYERROR; ;
                   6215:     break;}
1.1.1.2 ! root     6216: case 568:
        !          6217: #line 3207 "cp-parse.y"
1.1       root     6218: {
                   6219:                  yyval.itype = 1;
                   6220:                  pop_implicit_try_blocks (NULL_TREE);
                   6221:                ;
                   6222:     break;}
1.1.1.2 ! root     6223: case 569:
        !          6224: #line 3212 "cp-parse.y"
1.1       root     6225: {
                   6226:                  yyval.itype = 1;
                   6227:                  pop_implicit_try_blocks (NULL_TREE);
                   6228:                ;
                   6229:     break;}
1.1.1.2 ! root     6230: case 570:
        !          6231: #line 3217 "cp-parse.y"
1.1       root     6232: {
                   6233:                  yyval.itype = 0;
                   6234:                  pop_implicit_try_blocks (NULL_TREE);
                   6235:                ;
                   6236:     break;}
1.1.1.2 ! root     6237: case 571:
        !          6238: #line 3225 "cp-parse.y"
1.1       root     6239: { tree label;
                   6240:                do_label:
                   6241:                  label = define_label (input_filename, lineno, yyvsp[-1].ttype);
                   6242:                  if (label)
                   6243:                    expand_label (label);
                   6244:                ;
                   6245:     break;}
1.1.1.2 ! root     6246: case 572:
        !          6247: #line 3232 "cp-parse.y"
1.1       root     6248: { goto do_label; ;
                   6249:     break;}
1.1.1.2 ! root     6250: case 573:
        !          6251: #line 3234 "cp-parse.y"
1.1       root     6252: { tree label = define_label (input_filename, lineno, yyvsp[0].ttype);
                   6253:                  if (label)
                   6254:                    expand_label (label);
                   6255:                ;
                   6256:     break;}
1.1.1.2 ! root     6257: case 574:
        !          6258: #line 3240 "cp-parse.y"
1.1       root     6259: { cplus_expand_start_try (0); ;
                   6260:     break;}
1.1.1.2 ! root     6261: case 576:
        !          6262: #line 3246 "cp-parse.y"
1.1       root     6263: {
                   6264:                  yyval.itype = 1;
                   6265:                  pop_implicit_try_blocks (NULL_TREE);
                   6266:                ;
                   6267:     break;}
1.1.1.2 ! root     6268: case 577:
        !          6269: #line 3251 "cp-parse.y"
1.1       root     6270: {
                   6271:                  yyval.itype = 1;
                   6272:                  pop_implicit_try_blocks (NULL_TREE);
                   6273:                ;
                   6274:     break;}
1.1.1.2 ! root     6275: case 578:
        !          6276: #line 3256 "cp-parse.y"
1.1       root     6277: {
                   6278:                  yyval.itype = 0;
                   6279:                  pop_implicit_try_blocks (NULL_TREE);
                   6280:                ;
                   6281:     break;}
1.1.1.2 ! root     6282: case 580:
        !          6283: #line 3263 "cp-parse.y"
1.1       root     6284: { cplus_expand_start_try (0); ;
                   6285:     break;}
1.1.1.2 ! root     6286: case 582:
        !          6287: #line 3267 "cp-parse.y"
1.1       root     6288: { yyval.ttype = NULL_TREE; ;
                   6289:     break;}
1.1.1.2 ! root     6290: case 583:
        !          6291: #line 3269 "cp-parse.y"
1.1       root     6292: {
                   6293:                  tree type = lookup_exception_type (current_class_type, current_class_name, yyvsp[0].ttype);
                   6294:                  if (type == NULL_TREE)
                   6295:                    {
                   6296:                      error ("`%s' is not an exception type",
                   6297:                             IDENTIFIER_POINTER (TREE_VALUE (yyvsp[0].ttype)));
                   6298:                      current_exception_type = NULL_TREE;
                   6299:                      TREE_TYPE (current_exception_object) = error_mark_node;
                   6300:                    }
                   6301:                  else
                   6302:                    {
                   6303:                      current_exception_type = type;
                   6304:                      /* In-place union.  */
                   6305:                      TREE_TYPE (current_exception_object) = type;
                   6306:                    }
                   6307:                  yyvsp[0].ttype = cplus_expand_start_catch (yyvsp[0].ttype);
                   6308:                  pushlevel (1);
                   6309:                  expand_start_bindings (0);
                   6310:                ;
                   6311:     break;}
1.1.1.2 ! root     6312: case 584:
        !          6313: #line 3289 "cp-parse.y"
1.1       root     6314: {
                   6315:                  expand_end_bindings (0, 1, 0);
                   6316:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6317: 
                   6318:                  cplus_expand_end_catch (0);
                   6319: 
                   6320:                  /* Mark this as a catch block.  */
                   6321:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6322:                  if (yyvsp[-2].ttype != error_mark_node)
                   6323:                    {
                   6324:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-2].ttype), 0);
                   6325:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-2].ttype);
                   6326:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6327:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6328:                    }
                   6329:                ;
                   6330:     break;}
1.1.1.2 ! root     6331: case 585:
        !          6332: #line 3306 "cp-parse.y"
1.1       root     6333: {
                   6334:                  if (yyvsp[-1].ttype)
                   6335:                    error ("duplicate default in exception handler");
                   6336:                  current_exception_type = NULL_TREE;
                   6337:                  /* Takes it right out of scope.  */
                   6338:                  TREE_TYPE (current_exception_object) = error_mark_node;
                   6339: 
                   6340:                  if (! expand_catch_default ())
                   6341:                    compiler_error ("default catch botch");
                   6342: 
                   6343:                  /* The default exception is handled as the
                   6344:                     last in the chain of exceptions handled.  */
                   6345:                  do_pending_stack_adjust ();
                   6346:                  start_sequence ();
                   6347:                  yyvsp[-1].ttype = make_node (RTL_EXPR);
                   6348:                  TREE_TYPE (yyvsp[-1].ttype) = void_type_node;
                   6349:                ;
                   6350:     break;}
1.1.1.2 ! root     6351: case 586:
        !          6352: #line 3324 "cp-parse.y"
1.1       root     6353: {
                   6354:                  do_pending_stack_adjust ();
                   6355:                  if (! expand_catch (NULL_TREE))
                   6356:                    compiler_error ("except nesting botch");
                   6357:                  if (! expand_end_catch ())
                   6358:                    compiler_error ("except nesting botch");
                   6359:                  RTL_EXPR_SEQUENCE (yyvsp[-3].ttype) = (struct rtx_def *)get_insns ();
                   6360:                  if (yyvsp[0].ttype)
                   6361:                    {
                   6362:                      /* Mark this block as the default catch block.  */
                   6363:                      TREE_LANG_FLAG_1 (yyvsp[0].ttype) = 1;
                   6364:                      TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6365:                    }
                   6366:                  end_sequence ();
                   6367:                ;
                   6368:     break;}
1.1.1.2 ! root     6369: case 587:
        !          6370: #line 3343 "cp-parse.y"
1.1       root     6371: { yyval.ttype = NULL_TREE; ;
                   6372:     break;}
1.1.1.2 ! root     6373: case 589:
        !          6374: #line 3348 "cp-parse.y"
1.1       root     6375: { yyval.ttype = NULL_TREE; ;
                   6376:     break;}
1.1.1.2 ! root     6377: case 590:
        !          6378: #line 3350 "cp-parse.y"
1.1       root     6379: {
                   6380:                  extern tree ansi_expand_start_catch ();
                   6381:                  extern tree cplus_exception_name ();
                   6382:                  tree type = groktypename (yyvsp[-2].ttype);
                   6383:                  current_exception_type = type;
                   6384:                  /* In-place union.  */
                   6385:                  if (yyvsp[-1].ttype)
                   6386:                    {
                   6387:                      tree tmp;
                   6388:                      tmp = pushdecl (build_decl (VAR_DECL, yyvsp[-1].ttype, type));
                   6389:                      current_exception_object =
                   6390:                          build1 (INDIRECT_REF, type, tmp);
                   6391:                     }
                   6392:                  yyvsp[-2].ttype = ansi_expand_start_catch(type);
                   6393:                  pushlevel (1);
                   6394:                  expand_start_bindings (0);
                   6395:                ;
                   6396:     break;}
1.1.1.2 ! root     6397: case 591:
        !          6398: #line 3368 "cp-parse.y"
1.1       root     6399: {
                   6400:                  expand_end_bindings (0, 1, 0);
                   6401:                  yyvsp[0].ttype = poplevel (1, 0, 0);
                   6402: 
                   6403:                  cplus_expand_end_catch (0);
                   6404: 
                   6405:                  /* Mark this as a catch block.  */
                   6406:                  TREE_LANG_FLAG_2 (yyvsp[0].ttype) = 1;
                   6407:                  if (yyvsp[-4].ttype != error_mark_node)
                   6408:                    {
                   6409:                      tree decl = build_decl (CPLUS_CATCH_DECL, DECL_NAME (yyvsp[-4].ttype), 0);
                   6410:                      DECL_RTL (decl) = DECL_RTL (yyvsp[-4].ttype);
                   6411:                      TREE_CHAIN (decl) = BLOCK_VARS (yyvsp[0].ttype);
                   6412:                      BLOCK_VARS (yyvsp[0].ttype) = decl;
                   6413:                    }
                   6414:                ;
                   6415:     break;}
1.1.1.2 ! root     6416: case 592:
        !          6417: #line 3388 "cp-parse.y"
1.1       root     6418: { yyval.ttype = NULL_TREE; ;
                   6419:     break;}
1.1.1.2 ! root     6420: case 593:
        !          6421: #line 3390 "cp-parse.y"
1.1       root     6422: { yyval.ttype = yyvsp[-1].ttype; ;
                   6423:     break;}
1.1.1.2 ! root     6424: case 594:
        !          6425: #line 3392 "cp-parse.y"
1.1       root     6426: { yyval.ttype = NULL_TREE; ;
                   6427:     break;}
1.1.1.2 ! root     6428: case 595:
        !          6429: #line 3397 "cp-parse.y"
1.1       root     6430: { yyval.itype = 0; ;
                   6431:     break;}
1.1.1.2 ! root     6432: case 596:
        !          6433: #line 3399 "cp-parse.y"
1.1       root     6434: { yyval.itype = 0; ;
                   6435:     break;}
1.1.1.2 ! root     6436: case 597:
        !          6437: #line 3401 "cp-parse.y"
1.1       root     6438: { yyval.itype = 1; ;
                   6439:     break;}
1.1.1.2 ! root     6440: case 598:
        !          6441: #line 3403 "cp-parse.y"
1.1       root     6442: { yyval.itype = -1; ;
                   6443:     break;}
1.1.1.2 ! root     6444: case 599:
        !          6445: #line 3410 "cp-parse.y"
1.1       root     6446: { if (pedantic)
                   6447:                    warning ("ANSI C forbids use of `asm' keyword");
                   6448:                  emit_line_note (input_filename, lineno); ;
                   6449:     break;}
1.1.1.2 ! root     6450: case 600:
        !          6451: #line 3414 "cp-parse.y"
1.1       root     6452: { if (pedantic)
                   6453:                    warning ("ANSI C forbids use of `asm' keyword");
                   6454:                  emit_line_note (input_filename, lineno); ;
                   6455:     break;}
1.1.1.2 ! root     6456: case 601:
        !          6457: #line 3421 "cp-parse.y"
1.1       root     6458: { yyval.ttype = NULL_TREE; ;
                   6459:     break;}
1.1.1.2 ! root     6460: case 603:
        !          6461: #line 3424 "cp-parse.y"
1.1       root     6462: { yyval.ttype = NULL_TREE; ;
                   6463:     break;}
1.1.1.2 ! root     6464: case 604:
        !          6465: #line 3430 "cp-parse.y"
1.1       root     6466: { yyval.ttype = NULL_TREE; ;
                   6467:     break;}
1.1.1.2 ! root     6468: case 607:
        !          6469: #line 3437 "cp-parse.y"
1.1       root     6470: { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
                   6471:     break;}
1.1.1.2 ! root     6472: case 608:
        !          6473: #line 3442 "cp-parse.y"
1.1       root     6474: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
                   6475:     break;}
1.1.1.2 ! root     6476: case 609:
        !          6477: #line 3447 "cp-parse.y"
1.1       root     6478: { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
                   6479:     break;}
1.1.1.2 ! root     6480: case 610:
        !          6481: #line 3449 "cp-parse.y"
1.1       root     6482: { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
                   6483:     break;}
1.1.1.2 ! root     6484: case 611:
        !          6485: #line 3458 "cp-parse.y"
1.1       root     6486: {
                   6487:                  if (strict_prototype)
                   6488:                    yyval.ttype = void_list_node;
                   6489:                  else
                   6490:                    yyval.ttype = NULL_TREE;
                   6491:                ;
                   6492:     break;}
1.1.1.2 ! root     6493: case 612:
        !          6494: #line 3465 "cp-parse.y"
1.1       root     6495: {
                   6496:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6497:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6498:                ;
                   6499:     break;}
1.1.1.2 ! root     6500: case 613:
        !          6501: #line 3470 "cp-parse.y"
1.1       root     6502: {
                   6503:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6504:                ;
                   6505:     break;}
1.1.1.2 ! root     6506: case 614:
        !          6507: #line 3475 "cp-parse.y"
1.1       root     6508: {
                   6509:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6510:                ;
                   6511:     break;}
1.1.1.2 ! root     6512: case 615:
        !          6513: #line 3479 "cp-parse.y"
1.1       root     6514: {
                   6515:                  yyval.ttype = NULL_TREE;
                   6516:                ;
                   6517:     break;}
1.1.1.2 ! root     6518: case 616:
        !          6519: #line 3483 "cp-parse.y"
1.1       root     6520: {
                   6521:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6522:                ;
                   6523:     break;}
1.1.1.2 ! root     6524: case 617:
        !          6525: #line 3487 "cp-parse.y"
1.1       root     6526: {
                   6527:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6528:                ;
                   6529:     break;}
1.1.1.2 ! root     6530: case 618:
        !          6531: #line 3491 "cp-parse.y"
1.1       root     6532: {
                   6533:                  /* This helps us recover from really nasty
                   6534:                     parse errors, for example, a missing right
                   6535:                     parenthesis.  */
                   6536:                  yyerror ("possibly missing ')'");
                   6537:                  yyval.ttype = chainon (yyval.ttype, void_list_node);
                   6538:                  TREE_PARMLIST (yyval.ttype) = 1;
                   6539:                  yyungetc (':', 0);
                   6540:                  yychar = ')';
                   6541:                ;
                   6542:     break;}
1.1.1.2 ! root     6543: case 619:
        !          6544: #line 3506 "cp-parse.y"
1.1       root     6545: { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
                   6546:     break;}
1.1.1.2 ! root     6547: case 620:
        !          6548: #line 3508 "cp-parse.y"
1.1       root     6549: { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
                   6550:     break;}
1.1.1.2 ! root     6551: case 621:
        !          6552: #line 3510 "cp-parse.y"
1.1       root     6553: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6554:     break;}
1.1.1.2 ! root     6555: case 622:
        !          6556: #line 3512 "cp-parse.y"
1.1       root     6557: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6558:     break;}
1.1.1.2 ! root     6559: case 623:
        !          6560: #line 3514 "cp-parse.y"
1.1       root     6561: { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
                   6562:     break;}
1.1.1.2 ! root     6563: case 624:
        !          6564: #line 3516 "cp-parse.y"
1.1       root     6565: { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
                   6566:     break;}
1.1.1.2 ! root     6567: case 625:
        !          6568: #line 3537 "cp-parse.y"
1.1       root     6569: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6570:                  see_typename (); ;
                   6571:     break;}
1.1.1.2 ! root     6572: case 626:
        !          6573: #line 3540 "cp-parse.y"
1.1       root     6574: { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype);
                   6575:                  see_typename (); ;
                   6576:     break;}
1.1.1.2 ! root     6577: case 629:
        !          6578: #line 3547 "cp-parse.y"
1.1       root     6579: { yyval.ttype = yyvsp[0].ttype; ;
                   6580:     break;}
1.1.1.2 ! root     6581: case 630:
        !          6582: #line 3551 "cp-parse.y"
1.1       root     6583: { see_typename (); ;
                   6584:     break;}
1.1.1.2 ! root     6585: case 631:
        !          6586: #line 3555 "cp-parse.y"
1.1       root     6587: { dont_see_typename (); ;
                   6588:     break;}
1.1.1.2 ! root     6589: case 632:
        !          6590: #line 3559 "cp-parse.y"
1.1       root     6591: {
                   6592:          if (yyvsp[-1].ttype == error_mark_node)
                   6593:             yyval.itype = 0;
                   6594:           else
                   6595:             {
                   6596:               yyval.itype = 1;
                   6597:               pushclass (yyvsp[-1].ttype, 1);
                   6598:             }
                   6599:         ;
                   6600:     break;}
1.1.1.2 ! root     6601: case 633:
        !          6602: #line 3572 "cp-parse.y"
1.1       root     6603: {
                   6604:                  warning ("type specifier omitted for parameter");
                   6605:                  yyval.ttype = build_tree_list (TREE_PURPOSE (TREE_VALUE (yyvsp[-2].ttype)), yyval.ttype);
                   6606:                ;
                   6607:     break;}
1.1.1.2 ! root     6608: case 634:
        !          6609: #line 3580 "cp-parse.y"
1.1       root     6610: { yyval.ttype = NULL_TREE; ;
                   6611:     break;}
1.1.1.2 ! root     6612: case 635:
        !          6613: #line 3582 "cp-parse.y"
1.1       root     6614: { yyval.ttype = yyvsp[0].ttype; ;
                   6615:     break;}
1.1.1.2 ! root     6616: case 636:
        !          6617: #line 3584 "cp-parse.y"
1.1       root     6618: { yyval.ttype = yyvsp[-1].ttype; ;
                   6619:     break;}
1.1.1.2 ! root     6620: case 637:
        !          6621: #line 3589 "cp-parse.y"
1.1       root     6622: { yyval.ttype = void_list_node; ;
                   6623:     break;}
1.1.1.2 ! root     6624: case 638:
        !          6625: #line 3591 "cp-parse.y"
1.1       root     6626: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6627:     break;}
1.1.1.2 ! root     6628: case 639:
        !          6629: #line 3593 "cp-parse.y"
1.1       root     6630: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6631:     break;}
1.1.1.2 ! root     6632: case 640:
        !          6633: #line 3595 "cp-parse.y"
1.1       root     6634: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6635:     break;}
1.1.1.2 ! root     6636: case 641:
        !          6637: #line 3597 "cp-parse.y"
1.1       root     6638: { yyval.ttype = build_decl_list (void_type_node, yyvsp[0].ttype); ;
                   6639:     break;}
1.1.1.2 ! root     6640: case 642:
        !          6641: #line 3599 "cp-parse.y"
1.1       root     6642: { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
                   6643:     break;}
1.1.1.2 ! root     6644: case 644:
        !          6645: #line 3605 "cp-parse.y"
1.1       root     6646: { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
                   6647:     break;}
1.1.1.2 ! root     6648: case 646:
        !          6649: #line 3611 "cp-parse.y"
1.1       root     6650: {
                   6651:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6652:                  yyval.ttype = yyvsp[0].ttype;
                   6653:                ;
                   6654:     break;}
1.1.1.2 ! root     6655: case 648:
        !          6656: #line 3620 "cp-parse.y"
1.1       root     6657: {
                   6658:                  TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
                   6659:                  yyval.ttype = yyvsp[0].ttype;
                   6660:                ;
                   6661:     break;}
1.1.1.2 ! root     6662: case 649:
        !          6663: #line 3628 "cp-parse.y"
1.1       root     6664: { yyval.ttype = ansi_opname[MULT_EXPR]; ;
                   6665:     break;}
1.1.1.2 ! root     6666: case 650:
        !          6667: #line 3630 "cp-parse.y"
1.1       root     6668: { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
                   6669:     break;}
1.1.1.2 ! root     6670: case 651:
        !          6671: #line 3632 "cp-parse.y"
1.1       root     6672: { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
                   6673:     break;}
1.1.1.2 ! root     6674: case 652:
        !          6675: #line 3634 "cp-parse.y"
1.1       root     6676: { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
                   6677:     break;}
1.1.1.2 ! root     6678: case 653:
        !          6679: #line 3636 "cp-parse.y"
1.1       root     6680: { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
                   6681:     break;}
1.1.1.2 ! root     6682: case 654:
        !          6683: #line 3638 "cp-parse.y"
1.1       root     6684: { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
                   6685:     break;}
1.1.1.2 ! root     6686: case 655:
        !          6687: #line 3640 "cp-parse.y"
1.1       root     6688: { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
                   6689:     break;}
1.1.1.2 ! root     6690: case 656:
        !          6691: #line 3642 "cp-parse.y"
1.1       root     6692: { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
                   6693:     break;}
1.1.1.2 ! root     6694: case 657:
        !          6695: #line 3644 "cp-parse.y"
1.1       root     6696: { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
                   6697:     break;}
1.1.1.2 ! root     6698: case 658:
        !          6699: #line 3646 "cp-parse.y"
1.1       root     6700: { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
                   6701:     break;}
1.1.1.2 ! root     6702: case 659:
        !          6703: #line 3648 "cp-parse.y"
1.1       root     6704: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6705:     break;}
1.1.1.2 ! root     6706: case 660:
        !          6707: #line 3650 "cp-parse.y"
1.1       root     6708: { yyval.ttype = ansi_opname[LT_EXPR]; ;
                   6709:     break;}
1.1.1.2 ! root     6710: case 661:
        !          6711: #line 3652 "cp-parse.y"
1.1       root     6712: { yyval.ttype = ansi_opname[GT_EXPR]; ;
                   6713:     break;}
1.1.1.2 ! root     6714: case 662:
        !          6715: #line 3654 "cp-parse.y"
1.1       root     6716: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6717:     break;}
1.1.1.2 ! root     6718: case 663:
        !          6719: #line 3656 "cp-parse.y"
1.1       root     6720: { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
                   6721:     break;}
1.1.1.2 ! root     6722: case 664:
        !          6723: #line 3658 "cp-parse.y"
1.1       root     6724: {
                   6725:                  yyval.ttype = ansi_opname [MODIFY_EXPR];
                   6726:                  if (current_class_type)
                   6727:                    {
                   6728:                      TYPE_HAS_ASSIGNMENT (current_class_type) = 1;
                   6729:                      TYPE_GETS_ASSIGNMENT (current_class_type) = 1;
                   6730:                    }
                   6731:                ;
                   6732:     break;}
1.1.1.2 ! root     6733: case 665:
        !          6734: #line 3667 "cp-parse.y"
1.1       root     6735: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6736:     break;}
1.1.1.2 ! root     6737: case 666:
        !          6738: #line 3669 "cp-parse.y"
1.1       root     6739: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6740:     break;}
1.1.1.2 ! root     6741: case 667:
        !          6742: #line 3671 "cp-parse.y"
1.1       root     6743: { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
                   6744:     break;}
1.1.1.2 ! root     6745: case 668:
        !          6746: #line 3673 "cp-parse.y"
1.1       root     6747: { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
                   6748:     break;}
1.1.1.2 ! root     6749: case 669:
        !          6750: #line 3675 "cp-parse.y"
1.1       root     6751: { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
                   6752:     break;}
1.1.1.2 ! root     6753: case 670:
        !          6754: #line 3677 "cp-parse.y"
1.1       root     6755: { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
                   6756:     break;}
1.1.1.2 ! root     6757: case 671:
        !          6758: #line 3679 "cp-parse.y"
1.1       root     6759: { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
                   6760:     break;}
1.1.1.2 ! root     6761: case 672:
        !          6762: #line 3681 "cp-parse.y"
1.1       root     6763: { yyval.ttype = ansi_opname[COND_EXPR]; ;
                   6764:     break;}
1.1.1.2 ! root     6765: case 673:
        !          6766: #line 3683 "cp-parse.y"
1.1       root     6767: { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
                   6768:     break;}
1.1.1.2 ! root     6769: case 674:
        !          6770: #line 3685 "cp-parse.y"
1.1       root     6771: { yyval.ttype = ansi_opname[COMPONENT_REF];
                   6772:                  if (current_class_type)
                   6773:                    {
                   6774:                      tree t = current_class_type;
                   6775:                      while (t)
                   6776:                        {
                   6777:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6778:                          t = TYPE_NEXT_VARIANT (t);
                   6779:                        }
                   6780:                    }
                   6781:                ;
                   6782:     break;}
1.1.1.2 ! root     6783: case 675:
        !          6784: #line 3697 "cp-parse.y"
1.1       root     6785: { yyval.ttype = ansi_opname[MEMBER_REF];
                   6786:                  if (current_class_type)
                   6787:                    {
                   6788:                      tree t = current_class_type;
                   6789:                      while (t)
                   6790:                        {
                   6791:                          TYPE_OVERLOADS_ARROW (t) = 1;
                   6792:                          t = TYPE_NEXT_VARIANT (t);
                   6793:                        }
                   6794:                    }
                   6795:                ;
                   6796:     break;}
1.1.1.2 ! root     6797: case 676:
        !          6798: #line 3709 "cp-parse.y"
1.1       root     6799: {
                   6800:                  if (yychar == YYEMPTY)
                   6801:                    yychar = YYLEX;
                   6802:                  if (yychar == '(' || yychar == LEFT_RIGHT)
                   6803:                    {
                   6804:                      yyval.ttype = ansi_opname[METHOD_CALL_EXPR];
                   6805:                      if (current_class_type)
                   6806:                        {
                   6807:                          tree t = current_class_type;
                   6808:                          while (t)
                   6809:                            {
                   6810:                              TYPE_OVERLOADS_METHOD_CALL_EXPR (t) = 1;
                   6811:                              t = TYPE_NEXT_VARIANT (t);
                   6812:                            }
                   6813:                        }
                   6814:                    }
                   6815:                  else
                   6816:                    {
                   6817:                      yyval.ttype = build_parse_node (CALL_EXPR, ansi_opname[COMPONENT_REF], void_list_node, yyvsp[0].ttype);
                   6818:                      if (current_class_type)
                   6819:                        {
                   6820:                          tree t = current_class_type;
                   6821:                          while (t)
                   6822:                            {
                   6823:                              TYPE_OVERLOADS_ARROW (t) = 1;
                   6824:                              t = TYPE_NEXT_VARIANT (t);
                   6825:                            }
                   6826:                        }
                   6827:                    }
                   6828:                ;
                   6829:     break;}
1.1.1.2 ! root     6830: case 677:
        !          6831: #line 3740 "cp-parse.y"
1.1       root     6832: { yyval.ttype = ansi_opname[CALL_EXPR];
                   6833:                  if (current_class_type)
                   6834:                    {
                   6835:                      tree t = current_class_type;
                   6836:                      while (t)
                   6837:                        {
                   6838:                          TYPE_OVERLOADS_CALL_EXPR (t) = 1;
                   6839:                          t = TYPE_NEXT_VARIANT (t);
                   6840:                        }
                   6841:                    }
                   6842:                ;
                   6843:     break;}
1.1.1.2 ! root     6844: case 678:
        !          6845: #line 3752 "cp-parse.y"
1.1       root     6846: { yyval.ttype = ansi_opname[ARRAY_REF];
                   6847:                  if (current_class_type)
                   6848:                    {
                   6849:                      tree t = current_class_type;
                   6850:                      while (t)
                   6851:                        {
                   6852:                          TYPE_OVERLOADS_ARRAY_REF (t) = 1;
                   6853:                          t = TYPE_NEXT_VARIANT (t);
                   6854:                        }
                   6855:                    }
                   6856:                ;
                   6857:     break;}
1.1.1.2 ! root     6858: case 679:
        !          6859: #line 3764 "cp-parse.y"
1.1       root     6860: {
                   6861:                  yyval.ttype = ansi_opname[NEW_EXPR];
                   6862:                  if (current_class_type)
                   6863:                    {
                   6864:                      tree t = current_class_type;
                   6865:                      while (t)
                   6866:                        {
                   6867:                          TREE_GETS_NEW (t) = 1;
                   6868:                          t = TYPE_NEXT_VARIANT (t);
                   6869:                        }
                   6870:                    }
                   6871:                ;
                   6872:     break;}
1.1.1.2 ! root     6873: case 680:
        !          6874: #line 3777 "cp-parse.y"
1.1       root     6875: {
                   6876:                  yyval.ttype = ansi_opname[DELETE_EXPR];
                   6877:                  if (current_class_type)
                   6878:                    {
                   6879:                      tree t = current_class_type;
                   6880:                      while (t)
                   6881:                        {
                   6882:                          TREE_GETS_DELETE (t) = 1;
                   6883:                          t = TYPE_NEXT_VARIANT (t);
                   6884:                        }
                   6885:                    }
                   6886:                ;
                   6887:     break;}
1.1.1.2 ! root     6888: case 681:
        !          6889: #line 3793 "cp-parse.y"
1.1       root     6890: {
                   6891:                  yyval.ttype = build1 (TYPE_EXPR, yyvsp[-1].ttype, yyvsp[0].ttype);
                   6892:                ;
                   6893:     break;}
1.1.1.2 ! root     6894: case 682:
        !          6895: #line 3797 "cp-parse.y"
1.1       root     6896: { yyval.ttype = ansi_opname[ERROR_MARK]; ;
                   6897:     break;}
                   6898: }
                   6899:    /* the action file gets copied in in place of this dollarsign */
                   6900: #line 440 "bison.simple"
                   6901: 
                   6902:   yyvsp -= yylen;
                   6903:   yyssp -= yylen;
                   6904: #ifdef YYLSP_NEEDED
                   6905:   yylsp -= yylen;
                   6906: #endif
                   6907: 
                   6908: #if YYDEBUG != 0
                   6909:   if (yydebug)
                   6910:     {
                   6911:       short *ssp1 = yyss - 1;
                   6912:       fprintf (stderr, "state stack now");
                   6913:       while (ssp1 != yyssp)
                   6914:        fprintf (stderr, " %d", *++ssp1);
                   6915:       fprintf (stderr, "\n");
                   6916:     }
                   6917: #endif
                   6918: 
                   6919:   *++yyvsp = yyval;
                   6920: 
                   6921: #ifdef YYLSP_NEEDED
                   6922:   yylsp++;
                   6923:   if (yylen == 0)
                   6924:     {
                   6925:       yylsp->first_line = yylloc.first_line;
                   6926:       yylsp->first_column = yylloc.first_column;
                   6927:       yylsp->last_line = (yylsp-1)->last_line;
                   6928:       yylsp->last_column = (yylsp-1)->last_column;
                   6929:       yylsp->text = 0;
                   6930:     }
                   6931:   else
                   6932:     {
                   6933:       yylsp->last_line = (yylsp+yylen-1)->last_line;
                   6934:       yylsp->last_column = (yylsp+yylen-1)->last_column;
                   6935:     }
                   6936: #endif
                   6937: 
                   6938:   /* Now "shift" the result of the reduction.
                   6939:      Determine what state that goes to,
                   6940:      based on the state we popped back to
                   6941:      and the rule number reduced by.  */
                   6942: 
                   6943:   yyn = yyr1[yyn];
                   6944: 
                   6945:   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
                   6946:   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
                   6947:     yystate = yytable[yystate];
                   6948:   else
                   6949:     yystate = yydefgoto[yyn - YYNTBASE];
                   6950: 
                   6951:   goto yynewstate;
                   6952: 
                   6953: yyerrlab:   /* here on detecting error */
                   6954: 
                   6955:   if (! yyerrstatus)
                   6956:     /* If not already recovering from an error, report this error.  */
                   6957:     {
                   6958:       ++yynerrs;
                   6959: 
                   6960: #ifdef YYERROR_VERBOSE
                   6961:       yyn = yypact[yystate];
                   6962: 
                   6963:       if (yyn > YYFLAG && yyn < YYLAST)
                   6964:        {
                   6965:          int size = 0;
                   6966:          char *msg;
                   6967:          int x, count;
                   6968: 
                   6969:          count = 0;
                   6970:          for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
                   6971:            if (yycheck[x + yyn] == x)
                   6972:              size += strlen(yytname[x]) + 15, count++;
1.1.1.2 ! root     6973:          msg = (char *) xmalloc(size + 15);
        !          6974:          strcpy(msg, "parse error");
1.1       root     6975: 
1.1.1.2 ! root     6976:          if (count < 5)
        !          6977:            {
        !          6978:              count = 0;
        !          6979:              for (x = 0; x < (sizeof(yytname) / sizeof(char *)); x++)
        !          6980:                if (yycheck[x + yyn] == x)
        !          6981:                  {
        !          6982:                    strcat(msg, count == 0 ? ", expecting `" : " or `");
        !          6983:                    strcat(msg, yytname[x]);
        !          6984:                    strcat(msg, "'");
        !          6985:                    count++;
        !          6986:                  }
1.1       root     6987:            }
1.1.1.2 ! root     6988:          yyerror(msg);
        !          6989:          free(msg);
1.1       root     6990:        }
                   6991:       else
                   6992: #endif /* YYERROR_VERBOSE */
                   6993:        yyerror("parse error");
                   6994:     }
                   6995: 
                   6996: yyerrlab1:   /* here on error raised explicitly by an action */
                   6997: 
                   6998:   if (yyerrstatus == 3)
                   6999:     {
                   7000:       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
                   7001: 
                   7002:       /* return failure if at end of input */
                   7003:       if (yychar == YYEOF)
                   7004:        YYABORT;
                   7005: 
                   7006: #if YYDEBUG != 0
                   7007:       if (yydebug)
                   7008:        fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
                   7009: #endif
                   7010: 
                   7011:       yychar = YYEMPTY;
                   7012:     }
                   7013: 
                   7014:   /* Else will try to reuse lookahead token
                   7015:      after shifting the error token.  */
                   7016: 
                   7017:   yyerrstatus = 3;             /* Each real token shifted decrements this */
                   7018: 
                   7019:   goto yyerrhandle;
                   7020: 
                   7021: yyerrdefault:  /* current state does not do anything special for the error token. */
                   7022: 
                   7023: #if 0
                   7024:   /* This is wrong; only states that explicitly want error tokens
                   7025:      should shift them.  */
                   7026:   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
                   7027:   if (yyn) goto yydefault;
                   7028: #endif
                   7029: 
                   7030: yyerrpop:   /* pop the current state because it cannot handle the error token */
                   7031: 
                   7032:   if (yyssp == yyss) YYABORT;
                   7033:   yyvsp--;
                   7034:   yystate = *--yyssp;
                   7035: #ifdef YYLSP_NEEDED
                   7036:   yylsp--;
                   7037: #endif
                   7038: 
                   7039: #if YYDEBUG != 0
                   7040:   if (yydebug)
                   7041:     {
                   7042:       short *ssp1 = yyss - 1;
                   7043:       fprintf (stderr, "Error: state stack now");
                   7044:       while (ssp1 != yyssp)
                   7045:        fprintf (stderr, " %d", *++ssp1);
                   7046:       fprintf (stderr, "\n");
                   7047:     }
                   7048: #endif
                   7049: 
                   7050: yyerrhandle:
                   7051: 
                   7052:   yyn = yypact[yystate];
                   7053:   if (yyn == YYFLAG)
                   7054:     goto yyerrdefault;
                   7055: 
                   7056:   yyn += YYTERROR;
                   7057:   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
                   7058:     goto yyerrdefault;
                   7059: 
                   7060:   yyn = yytable[yyn];
                   7061:   if (yyn < 0)
                   7062:     {
                   7063:       if (yyn == YYFLAG)
                   7064:        goto yyerrpop;
                   7065:       yyn = -yyn;
                   7066:       goto yyreduce;
                   7067:     }
                   7068:   else if (yyn == 0)
                   7069:     goto yyerrpop;
                   7070: 
                   7071:   if (yyn == YYFINAL)
                   7072:     YYACCEPT;
                   7073: 
                   7074: #if YYDEBUG != 0
                   7075:   if (yydebug)
                   7076:     fprintf(stderr, "Shifting error token, ");
                   7077: #endif
                   7078: 
                   7079:   *++yyvsp = yylval;
                   7080: #ifdef YYLSP_NEEDED
                   7081:   *++yylsp = yylloc;
                   7082: #endif
                   7083: 
                   7084:   yystate = yyn;
                   7085:   goto yynewstate;
                   7086: }
1.1.1.2 ! root     7087: #line 3800 "cp-parse.y"
        !          7088: 
1.1       root     7089: 
1.1.1.2 ! root     7090: tree
        !          7091: get_current_declspecs ()
        !          7092: {
        !          7093:   return current_declspecs;
        !          7094: }
1.1       root     7095: 
                   7096: #if YYDEBUG != 0
                   7097: db_yyerror (s, yyps, yychar)
                   7098:      char *s;
                   7099:      short *yyps;
                   7100:      int yychar;
                   7101: {
                   7102:   FILE *yyout;
                   7103:   char buf[1024];
                   7104:   int st;
                   7105: 
                   7106:   yyerror (s);
                   7107:   printf ("State is %d, input token number is %d.\n", *yyps, yychar);
                   7108: 
                   7109: #ifdef PARSE_OUTPUT
                   7110:   if (*yyps < 1) fatal ("Cannot start from here");
                   7111:   else if ((yyout = fopen (PARSE_OUTPUT, "r")) == NULL)
                   7112:     error ("cannot open file %s", PARSE_OUTPUT);
                   7113:   else
                   7114:     {
                   7115:       printf ("That is to say,\n\n");
                   7116:       while (fgets(buf, sizeof (buf)-1, yyout))
                   7117:        {
                   7118:          if (buf[0] != 's') continue;
                   7119:          st = atoi (buf+6);
                   7120:          if (st != *yyps) continue;
                   7121:          printf ("%s", buf);
                   7122:          while (fgets (buf, sizeof (buf)-1, yyout))
                   7123:            {
                   7124:              if (buf[0] == 's') break;
                   7125:              printf ("%s", buf);
                   7126:            }
                   7127:          break;
                   7128:        }
                   7129:       printf ("With the token %s\n", yytname[YYTRANSLATE (yychar)]);
                   7130:       fclose (yyout);
                   7131:     }
                   7132: #endif
                   7133: }
                   7134: #endif
                   7135: 
                   7136: void
                   7137: yyerror (string)
                   7138:      char *string;
                   7139: {
                   7140:   extern int end_of_file;
                   7141:   extern char *token_buffer;
                   7142:   extern int input_redirected ();
                   7143:   char buf[200];
                   7144: 
                   7145:   strcpy (buf, string);
                   7146: 
                   7147:   /* We can't print string and character constants well
                   7148:      because the token_buffer contains the result of processing escapes.  */
                   7149:   if (end_of_file)
                   7150:     strcat (buf, input_redirected ()
                   7151:            ? " at end of saved text"
                   7152:            : " at end of input");
                   7153:   else if (token_buffer[0] == 0)
                   7154:     strcat (buf, " at null character");
                   7155:   else if (token_buffer[0] == '"')
                   7156:     strcat (buf, " before string constant");
                   7157:   else if (token_buffer[0] == '\'')
                   7158:     strcat (buf, " before character constant");
                   7159:   else if (token_buffer[0] < 040 || (unsigned char) token_buffer[0] >= 0177)
                   7160:     sprintf (buf + strlen (buf), " before character 0%o",
                   7161:             (unsigned char) token_buffer[0]);
                   7162:   else
                   7163:     strcat (buf, " before `%s'");
                   7164: 
                   7165:   error (buf, token_buffer);
                   7166: }
                   7167: 
                   7168: static
                   7169: #ifdef __GNUC__
                   7170: __inline
                   7171: #endif
                   7172: void
                   7173: yyprint (file, yychar, yylval)
                   7174:      FILE *file;
                   7175:      int yychar;
                   7176:      YYSTYPE yylval;
                   7177: {
                   7178:   tree t;
                   7179:   switch (yychar)
                   7180:     {
                   7181:     case IDENTIFIER:
                   7182:     case TYPENAME:
                   7183:     case TYPESPEC:
                   7184:     case PTYPENAME:
                   7185:     case IDENTIFIER_DEFN:
                   7186:     case TYPENAME_DEFN:
                   7187:     case PTYPENAME_DEFN:
                   7188:     case TYPENAME_COLON:
                   7189:     case TYPENAME_ELLIPSIS:
                   7190:     case SCOPED_TYPENAME:
                   7191:     case SCSPEC:
                   7192:       t = yylval.ttype;
                   7193:     print_id:
                   7194:       assert (TREE_CODE (t) == IDENTIFIER_NODE);
                   7195:       if (IDENTIFIER_POINTER (t))
                   7196:          fprintf (file, " `%s'", IDENTIFIER_POINTER (t));
                   7197:       break;
                   7198:     case AGGR:
                   7199:       if (yylval.ttype == class_type_node)
                   7200:        fprintf (file, " `class'");
                   7201:       else if (yylval.ttype == record_type_node)
                   7202:        fprintf (file, " `struct'");
                   7203:       else if (yylval.ttype == union_type_node)
                   7204:        fprintf (file, " `union'");
                   7205:       else if (yylval.ttype == enum_type_node)
                   7206:        fprintf (file, " `enum'");
                   7207:       else
                   7208:        abort ();
                   7209:       break;
                   7210:     case PRE_PARSED_CLASS_DECL:
                   7211:       t = yylval.ttype;
                   7212:       assert (TREE_CODE (t) == TREE_LIST);
                   7213:       t = TREE_VALUE (t);
                   7214:       goto print_id;
                   7215:     }
                   7216: }
                   7217: 
                   7218: static int *reduce_count;
                   7219: int *token_count;
                   7220: 
                   7221: #define REDUCE_LENGTH (sizeof (yyr2) / sizeof (yyr2[0]))
                   7222: #define TOKEN_LENGTH (256 + sizeof (yytname) / sizeof (yytname[0]))
                   7223: 
                   7224: int *
                   7225: init_parse ()
                   7226: {
                   7227: #ifdef GATHER_STATISTICS
                   7228:   reduce_count = (int *)malloc (sizeof (int) * (REDUCE_LENGTH + 1));
                   7229:   bzero (reduce_count, sizeof (int) * (REDUCE_LENGTH + 1));
                   7230:   reduce_count += 1;
                   7231:   token_count = (int *)malloc (sizeof (int) * (TOKEN_LENGTH + 1));
                   7232:   bzero (token_count, sizeof (int) * (TOKEN_LENGTH + 1));
                   7233:   token_count += 1;
                   7234: #endif
                   7235:   return token_count;
                   7236: }
                   7237: 
                   7238: #ifdef GATHER_STATISTICS
                   7239: void
                   7240: yyhook (yyn)
                   7241:      int yyn;
                   7242: {
                   7243:   reduce_count[yyn] += 1;
                   7244: }
                   7245: #endif
                   7246: 
                   7247: static int
                   7248: reduce_cmp (p, q)
                   7249:      int *p, *q;
                   7250: {
                   7251:   return reduce_count[*q] - reduce_count[*p];
                   7252: }
                   7253: 
                   7254: static int
                   7255: token_cmp (p, q)
                   7256:      int *p, *q;
                   7257: {
                   7258:   return token_count[*q] - token_count[*p];
                   7259: }
                   7260: 
                   7261: void
                   7262: print_parse_statistics ()
                   7263: {
                   7264: #if YYDEBUG != 0
                   7265:   int i;
                   7266:   int maxlen = REDUCE_LENGTH;
                   7267:   unsigned *sorted;
                   7268:   
                   7269:   if (reduce_count[-1] == 0)
                   7270:     return;
                   7271: 
                   7272:   if (TOKEN_LENGTH > REDUCE_LENGTH)
                   7273:     maxlen = TOKEN_LENGTH;
                   7274:   sorted = (unsigned *) alloca (sizeof (int) * maxlen);
                   7275: 
                   7276:   for (i = 0; i < TOKEN_LENGTH; i++)
                   7277:     sorted[i] = i;
                   7278:   qsort (sorted, TOKEN_LENGTH, sizeof (int), token_cmp);
                   7279:   for (i = 0; i < TOKEN_LENGTH; i++)
                   7280:     {
                   7281:       int index = sorted[i];
                   7282:       if (token_count[index] == 0)
                   7283:        break;
                   7284:       if (token_count[index] < token_count[-1])
                   7285:        break;
                   7286:       fprintf (stderr, "token %d, `%s', count = %d\n",
                   7287:               index, yytname[YYTRANSLATE (index)], token_count[index]);
                   7288:     }
                   7289:   fprintf (stderr, "\n");
                   7290:   for (i = 0; i < REDUCE_LENGTH; i++)
                   7291:     sorted[i] = i;
                   7292:   qsort (sorted, REDUCE_LENGTH, sizeof (int), reduce_cmp);
                   7293:   for (i = 0; i < REDUCE_LENGTH; i++)
                   7294:     {
                   7295:       int index = sorted[i];
                   7296:       if (reduce_count[index] == 0)
                   7297:        break;
                   7298:       if (reduce_count[index] < reduce_count[-1])
                   7299:        break;
                   7300:       fprintf (stderr, "rule %d, line %d, count = %d\n",
                   7301:               index, yyrline[index], reduce_count[index]);
                   7302:     }
                   7303:   fprintf (stderr, "\n");
                   7304: #endif
                   7305: }
                   7306: 
                   7307: 
1.1.1.2 ! root     7308: /* Sets the value of the 'yydebug' variable to VALUE.
1.1       root     7309:    This is a function so we don't have to have YYDEBUG defined
                   7310:    in order to build the compiler.  */
                   7311: void
                   7312: set_yydebug (value)
                   7313:      int value;
                   7314: {
                   7315: #if YYDEBUG != 0
                   7316:   yydebug = value;
                   7317: #else
                   7318:   warning ("YYDEBUG not defined.");
                   7319: #endif
                   7320: }
                   7321: 
                   7322: #ifdef SPEW_DEBUG
                   7323: const char *
                   7324: debug_yytranslate (value)
                   7325:     int value;
                   7326: {
                   7327: #if YYDEBUG != 0
                   7328:   return yytname[YYTRANSLATE (value)];
                   7329: #else
                   7330:   return "YYDEBUG not defined.";
                   7331: #endif
                   7332: }
                   7333: 
                   7334: #endif

unix.superglobalmegacorp.com

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