home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gcc-2.7.2.1-base.tgz / gcc-2.7.2.1-base.tar / fsf / gcc / cp / parse.c < prev    next >
C/C++ Source or Header  |  1995-11-05  |  337KB  |  7,757 lines

  1.  
  2. /*  A Bison parser, made from parse.y with Bison version GNU Bison version 1.22
  3.   */
  4.  
  5. #define YYBISON 1  /* Identify Bison output.  */
  6.  
  7. #define    IDENTIFIER    258
  8. #define    TYPENAME    259
  9. #define    SCSPEC    260
  10. #define    TYPESPEC    261
  11. #define    TYPE_QUAL    262
  12. #define    CONSTANT    263
  13. #define    STRING    264
  14. #define    ELLIPSIS    265
  15. #define    SIZEOF    266
  16. #define    ENUM    267
  17. #define    IF    268
  18. #define    ELSE    269
  19. #define    WHILE    270
  20. #define    DO    271
  21. #define    FOR    272
  22. #define    SWITCH    273
  23. #define    CASE    274
  24. #define    DEFAULT    275
  25. #define    BREAK    276
  26. #define    CONTINUE    277
  27. #define    RETURN    278
  28. #define    GOTO    279
  29. #define    ASM_KEYWORD    280
  30. #define    GCC_ASM_KEYWORD    281
  31. #define    TYPEOF    282
  32. #define    ALIGNOF    283
  33. #define    SIGOF    284
  34. #define    ATTRIBUTE    285
  35. #define    EXTENSION    286
  36. #define    LABEL    287
  37. #define    AGGR    288
  38. #define    VISSPEC    289
  39. #define    DELETE    290
  40. #define    NEW    291
  41. #define    OVERLOAD    292
  42. #define    THIS    293
  43. #define    OPERATOR    294
  44. #define    CXX_TRUE    295
  45. #define    CXX_FALSE    296
  46. #define    NAMESPACE    297
  47. #define    TYPENAME_KEYWORD    298
  48. #define    USING    299
  49. #define    LEFT_RIGHT    300
  50. #define    TEMPLATE    301
  51. #define    TYPEID    302
  52. #define    DYNAMIC_CAST    303
  53. #define    STATIC_CAST    304
  54. #define    REINTERPRET_CAST    305
  55. #define    CONST_CAST    306
  56. #define    SCOPE    307
  57. #define    EMPTY    308
  58. #define    PTYPENAME    309
  59. #define    NSNAME    310
  60. #define    THROW    311
  61. #define    ASSIGN    312
  62. #define    OROR    313
  63. #define    ANDAND    314
  64. #define    MIN_MAX    315
  65. #define    EQCOMPARE    316
  66. #define    ARITHCOMPARE    317
  67. #define    LSHIFT    318
  68. #define    RSHIFT    319
  69. #define    POINTSAT_STAR    320
  70. #define    DOT_STAR    321
  71. #define    UNARY    322
  72. #define    PLUSPLUS    323
  73. #define    MINUSMINUS    324
  74. #define    HYPERUNARY    325
  75. #define    PAREN_STAR_PAREN    326
  76. #define    POINTSAT    327
  77. #define    TRY    328
  78. #define    CATCH    329
  79. #define    TYPENAME_ELLIPSIS    330
  80. #define    PRE_PARSED_FUNCTION_DECL    331
  81. #define    EXTERN_LANG_STRING    332
  82. #define    ALL    333
  83. #define    PRE_PARSED_CLASS_DECL    334
  84. #define    TYPENAME_DEFN    335
  85. #define    IDENTIFIER_DEFN    336
  86. #define    PTYPENAME_DEFN    337
  87. #define    END_OF_LINE    338
  88. #define    END_OF_SAVED_INPUT    339
  89.  
  90. #line 29 "parse.y"
  91.  
  92. /* Cause the `yydebug' variable to be defined.  */
  93. #define YYDEBUG 1
  94.  
  95. #include "config.h"
  96.  
  97. #include <stdio.h>
  98. #include <errno.h>
  99.  
  100. #include "tree.h"
  101. #include "input.h"
  102. #include "flags.h"
  103. #include "lex.h"
  104. #include "cp-tree.h"
  105. #include "output.h"
  106.  
  107. /* Since parsers are distinct for each language, put the language string
  108.    definition here.  (fnf) */
  109. char *language_string = "GNU C++";
  110.  
  111. extern tree void_list_node;
  112. extern struct obstack permanent_obstack;
  113.  
  114. #ifndef errno
  115. extern int errno;
  116. #endif
  117.  
  118. extern int end_of_file;
  119. extern int current_class_depth;
  120.  
  121. /* FSF LOCAL dje prefix attributes */
  122. extern tree strip_attrs        PROTO((tree));
  123. /* END FSF LOCAL */
  124.  
  125. void yyerror ();
  126.  
  127. /* Like YYERROR but do call yyerror.  */
  128. #define YYERROR1 { yyerror ("syntax error"); YYERROR; }
  129.  
  130. #define OP0(NODE) (TREE_OPERAND (NODE, 0))
  131. #define OP1(NODE) (TREE_OPERAND (NODE, 1))
  132.  
  133. /* Contains the statement keyword (if/while/do) to include in an
  134.    error message if the user supplies an empty conditional expression.  */
  135. static char *cond_stmt_keyword;
  136.  
  137. /* Nonzero if we have an `extern "C"' acting as an extern specifier.  */
  138. int have_extern_spec;
  139. int used_extern_spec;
  140.  
  141. void yyhook ();
  142.  
  143. /* Cons up an empty parameter list.  */
  144. #ifdef __GNUC__
  145. __inline
  146. #endif
  147. static tree
  148. empty_parms ()
  149. {
  150.   tree parms;
  151.  
  152.   if (strict_prototype)
  153.     parms = void_list_node;
  154.   else
  155.     parms = NULL_TREE;
  156.   return parms;
  157. }
  158.  
  159. #line 100 "parse.y"
  160. typedef union {long itype; tree ttype; char *strtype; enum tree_code code; } YYSTYPE;
  161. #line 278 "parse.y"
  162.  
  163. /* List of types and structure classes of the current declaration.  */
  164. static tree current_declspecs;
  165. /* List of prefix attributes in effect.
  166.    Prefix attributes are parsed by the reserved_declspecs and declmods
  167.    rules.  They create a list that contains *both* declspecs and attrs.  */
  168. /* ??? It is not clear yet that all cases where an attribute can now appear in
  169.    a declspec list have been updated.  */
  170. static tree prefix_attributes;
  171.  
  172. /* When defining an aggregate, this is the most recent one being defined.  */
  173. static tree current_aggr;
  174.  
  175. /* Tell yyparse how to print a token's value, if yydebug is set.  */
  176.  
  177. #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
  178. extern void yyprint ();
  179. extern tree combine_strings        PROTO((tree));
  180.  
  181. #ifndef YYLTYPE
  182. typedef
  183.   struct yyltype
  184.     {
  185.       int timestamp;
  186.       int first_line;
  187.       int first_column;
  188.       int last_line;
  189.       int last_column;
  190.       char *text;
  191.    }
  192.   yyltype;
  193.  
  194. #define YYLTYPE yyltype
  195. #endif
  196.  
  197. #include <stdio.h>
  198.  
  199. #ifndef __cplusplus
  200. #ifndef __STDC__
  201. #define const
  202. #endif
  203. #endif
  204.  
  205.  
  206.  
  207. #define    YYFINAL        1399
  208. #define    YYFLAG        -32768
  209. #define    YYNTBASE    109
  210.  
  211. #define YYTRANSLATE(x) ((unsigned)(x) <= 339 ? yytranslate[x] : 364)
  212.  
  213. static const char yytranslate[] = {     0,
  214.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  215.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  216.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  217.      2,     2,   107,     2,     2,     2,    80,    68,     2,    91,
  218.    105,    78,    76,    57,    77,    90,    79,     2,     2,     2,
  219.      2,     2,     2,     2,     2,     2,     2,    60,    58,    72,
  220.     62,    73,    63,     2,     2,     2,     2,     2,     2,     2,
  221.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  222.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  223.     92,     2,   108,    67,     2,     2,     2,     2,     2,     2,
  224.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  225.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  226.      2,     2,    56,    66,   106,    86,     2,     2,     2,     2,
  227.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  228.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  229.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  230.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  231.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  232.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  233.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  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,     1,     2,     3,     4,     5,
  240.      6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
  241.     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  242.     26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
  243.     36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
  244.     46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
  245.     59,    61,    64,    65,    69,    70,    71,    74,    75,    81,
  246.     82,    83,    84,    85,    87,    88,    89,    93,    94,    95,
  247.     96,    97,    98,    99,   100,   101,   102,   103,   104
  248. };
  249.  
  250. #if YYDEBUG != 0
  251. static const short yyprhs[] = {     0,
  252.      0,     1,     3,     4,     7,    10,    12,    13,    14,    15,
  253.     17,    19,    20,    23,    25,    27,    29,    31,    37,    42,
  254.     47,    52,    53,    60,    61,    67,    73,    76,    81,    84,
  255.     88,    92,    94,    96,    99,   102,   104,   107,   108,   114,
  256.    116,   120,   122,   125,   127,   130,   132,   136,   138,   142,
  257.    144,   148,   149,   155,   156,   162,   163,   169,   170,   176,
  258.    180,   184,   191,   199,   204,   208,   212,   214,   216,   218,
  259.    220,   222,   225,   229,   233,   237,   241,   244,   247,   250,
  260.    253,   256,   258,   260,   262,   263,   265,   268,   269,   271,
  261.    276,   277,   283,   287,   291,   294,   298,   302,   305,   307,
  262.    314,   319,   323,   327,   330,   333,   336,   341,   344,   348,
  263.    349,   350,   352,   356,   359,   363,   365,   370,   373,   378,
  264.    381,   386,   389,   391,   393,   395,   397,   399,   401,   403,
  265.    405,   407,   409,   413,   417,   420,   425,   430,   434,   438,
  266.    443,   447,   452,   453,   455,   459,   461,   463,   464,   471,
  267.    472,   474,   475,   478,   480,   482,   484,   486,   488,   490,
  268.    492,   494,   498,   500,   504,   505,   507,   509,   510,   519,
  269.    521,   523,   527,   532,   536,   539,   541,   545,   549,   553,
  270.    557,   559,   561,   563,   564,   568,   571,   574,   577,   580,
  271.    583,   586,   591,   594,   599,   602,   606,   610,   615,   620,
  272.    626,   632,   639,   642,   647,   653,   657,   661,   665,   667,
  273.    671,   674,   678,   683,   685,   688,   694,   696,   700,   704,
  274.    708,   712,   716,   720,   724,   728,   732,   736,   740,   744,
  275.    748,   752,   756,   760,   764,   768,   772,   778,   782,   786,
  276.    788,   791,   795,   797,   799,   801,   803,   805,   807,   809,
  277.    812,   815,   819,   821,   823,   827,   829,   831,   833,   835,
  278.    839,   843,   847,   848,   853,   854,   861,   864,   869,   872,
  279.    875,   877,   882,   884,   885,   886,   896,   897,   898,   908,
  280.    909,   910,   920,   921,   922,   932,   937,   942,   945,   948,
  281.    950,   955,   958,   961,   964,   970,   974,   980,   984,   989,
  282.    996,   999,  1001,  1004,  1006,  1009,  1011,  1013,  1015,  1018,
  283.   1019,  1022,  1025,  1029,  1033,  1037,  1041,  1045,  1048,  1051,
  284.   1053,  1055,  1057,  1060,  1063,  1066,  1069,  1071,  1073,  1075,
  285.   1077,  1080,  1083,  1087,  1091,  1095,  1100,  1102,  1105,  1108,
  286.   1111,  1113,  1115,  1117,  1120,  1123,  1126,  1128,  1130,  1133,
  287.   1136,  1140,  1142,  1145,  1147,  1149,  1151,  1156,  1161,  1166,
  288.   1171,  1173,  1175,  1177,  1179,  1183,  1185,  1189,  1191,  1195,
  289.   1196,  1201,  1202,  1210,  1215,  1216,  1224,  1229,  1230,  1238,
  290.   1243,  1244,  1252,  1257,  1258,  1260,  1262,  1265,  1272,  1274,
  291.   1278,  1279,  1281,  1286,  1293,  1298,  1300,  1302,  1304,  1306,
  292.   1308,  1312,  1313,  1316,  1318,  1321,  1325,  1330,  1332,  1334,
  293.   1338,  1343,  1350,  1354,  1360,  1361,  1369,  1374,  1375,  1382,
  294.   1386,  1389,  1392,  1395,  1400,  1402,  1403,  1405,  1406,  1408,
  295.   1410,  1413,  1416,  1419,  1422,  1426,  1429,  1431,  1434,  1438,
  296.   1442,  1446,  1449,  1450,  1452,  1456,  1459,  1462,  1464,  1466,
  297.   1467,  1470,  1474,  1476,  1481,  1483,  1487,  1489,  1494,  1499,
  298.   1502,  1505,  1509,  1513,  1515,  1516,  1518,  1523,  1527,  1529,
  299.   1532,  1535,  1538,  1541,  1544,  1547,  1550,  1552,  1555,  1558,
  300.   1564,  1567,  1569,  1579,  1587,  1589,  1590,  1592,  1596,  1597,
  301.   1599,  1603,  1605,  1607,  1609,  1611,  1617,  1622,  1628,  1633,
  302.   1637,  1643,  1648,  1654,  1659,  1663,  1665,  1669,  1671,  1675,
  303.   1678,  1680,  1687,  1688,  1691,  1693,  1696,  1697,  1700,  1705,
  304.   1710,  1713,  1718,  1722,  1726,  1729,  1732,  1736,  1738,  1740,
  305.   1742,  1745,  1749,  1754,  1758,  1762,  1765,  1767,  1771,  1775,
  306.   1778,  1781,  1785,  1787,  1791,  1795,  1798,  1801,  1805,  1807,
  307.   1811,  1815,  1820,  1824,  1826,  1829,  1832,  1834,  1837,  1842,
  308.   1847,  1850,  1852,  1854,  1856,  1859,  1862,  1865,  1868,  1870,
  309.   1873,  1875,  1878,  1881,  1885,  1887,  1891,  1894,  1898,  1901,
  310.   1904,  1908,  1910,  1914,  1919,  1923,  1926,  1929,  1931,  1935,
  311.   1938,  1941,  1943,  1946,  1950,  1952,  1956,  1958,  1964,  1968,
  312.   1973,  1977,  1982,  1985,  1988,  1992,  1995,  1997,  1999,  2002,
  313.   2005,  2008,  2009,  2010,  2011,  2013,  2015,  2018,  2022,  2024,
  314.   2027,  2032,  2033,  2034,  2041,  2043,  2047,  2049,  2051,  2053,
  315.   2056,  2057,  2058,  2065,  2067,  2068,  2069,  2077,  2078,  2079,
  316.   2087,  2088,  2089,  2090,  2091,  2106,  2107,  2108,  2118,  2119,
  317.   2125,  2126,  2134,  2135,  2140,  2143,  2146,  2149,  2153,  2160,
  318.   2169,  2180,  2193,  2198,  2202,  2205,  2208,  2210,  2212,  2213,
  319.   2214,  2221,  2222,  2223,  2229,  2230,  2231,  2232,  2233,  2243,
  320.   2245,  2247,  2251,  2255,  2258,  2261,  2264,  2267,  2269,  2272,
  321.   2273,  2275,  2276,  2278,  2280,  2281,  2283,  2285,  2289,  2294,
  322.   2296,  2300,  2301,  2303,  2305,  2307,  2310,  2313,  2316,  2318,
  323.   2320,  2323,  2326,  2329,  2332,  2334,  2338,  2341,  2344,  2349,
  324.   2352,  2355,  2358,  2361,  2364,  2367,  2369,  2372,  2375,  2377,
  325.   2379,  2380,  2381,  2383,  2384,  2389,  2392,  2394,  2396,  2400,
  326.   2401,  2405,  2409,  2413,  2415,  2418,  2421,  2424,  2427,  2430,
  327.   2433,  2436,  2439,  2442,  2445,  2448,  2451,  2454,  2457,  2460,
  328.   2463,  2466,  2469,  2472,  2475,  2478,  2481,  2484,  2488,  2491,
  329.   2494,  2497,  2500,  2504,  2507,  2510,  2515,  2520,  2524
  330. };
  331.  
  332. static const short yyrhs[] = {    -1,
  333.    110,     0,     0,   111,   116,     0,   110,   116,     0,   110,
  334.      0,     0,     0,     0,    25,     0,    26,     0,     0,   117,
  335.    118,     0,   141,     0,   137,     0,   131,     0,   129,     0,
  336.    115,    91,   200,   105,    58,     0,   123,    56,   112,   106,
  337.      0,   123,   113,   141,   114,     0,   123,   113,   137,   114,
  338.      0,     0,    42,   151,    56,   119,   112,   106,     0,     0,
  339.     42,    56,   120,   112,   106,     0,    42,   151,    62,   122,
  340.     58,     0,   121,    58,     0,    44,    42,   122,    58,     0,
  341.     44,   284,     0,    44,   294,   284,     0,    44,   294,   183,
  342.      0,   183,     0,   284,     0,   294,   284,     0,   294,   183,
  343.      0,    97,     0,   123,    97,     0,     0,    46,    72,   125,
  344.    126,    73,     0,   128,     0,   126,    57,   128,     0,   242,
  345.      0,   242,   151,     0,    43,     0,    43,   151,     0,   127,
  346.      0,   127,    62,   213,     0,   354,     0,    37,   130,    58,
  347.      0,     3,     0,   130,    57,     3,     0,     0,   124,   244,
  348.     56,   132,    58,     0,     0,   124,   245,    56,   133,    58,
  349.      0,     0,   124,   244,    60,   134,    58,     0,     0,   124,
  350.    245,    60,   135,    58,     0,   124,   244,    58,     0,   124,
  351.    245,    58,     0,   124,   281,   358,   218,   227,   136,     0,
  352.    124,   207,   204,   358,   218,   227,   136,     0,   124,   210,
  353.    281,   136,     0,   124,     1,   106,     0,   124,     1,    58,
  354.      0,    56,     0,    60,     0,    58,     0,    62,     0,    23,
  355.      0,   217,    58,     0,   210,   216,    58,     0,   210,   281,
  356.     58,     0,   207,   215,    58,     0,   207,   204,    58,     0,
  357.    210,    58,     0,   154,    58,     0,   207,    58,     0,     1,
  358.     58,     0,     1,   106,     0,    58,     0,   201,     0,   147,
  359.      0,     0,   146,     0,   146,    58,     0,     0,   104,     0,
  360.    143,   139,   138,   306,     0,     0,   143,   139,   329,   142,
  361.    140,     0,   207,   204,     1,     0,   210,   281,     1,     0,
  362.    281,     1,     0,   207,   204,   358,     0,   210,   281,   358,
  363.      0,   281,   358,     0,    96,     0,   207,    91,   349,   105,
  364.    272,   358,     0,   207,    45,   272,   358,     0,   207,   204,
  365.    358,     0,   210,   281,   358,     0,   281,   358,     0,    23,
  366.      3,     0,   145,   234,     0,   145,    91,   174,   105,     0,
  367.    145,    45,     0,    60,   148,   149,     0,     0,     0,   150,
  368.      0,   149,    57,   150,     0,   149,     1,     0,    91,   174,
  369.    105,     0,    45,     0,   152,    91,   174,   105,     0,   152,
  370.     45,     0,   291,    91,   174,   105,     0,   291,    45,     0,
  371.    285,    91,   174,   105,     0,   285,    45,     0,     3,     0,
  372.      4,     0,    54,     0,    55,     0,     3,     0,    54,     0,
  373.     55,     0,   101,     0,   100,     0,   102,     0,    46,   243,
  374.    162,     0,    46,   207,   204,     0,    46,   281,     0,     5,
  375.     46,   243,   162,     0,     5,    46,   207,   204,     0,     5,
  376.     46,   281,     0,   156,   157,   162,     0,    54,    72,   158,
  377.     73,     0,    54,    72,    73,     0,     4,    72,   158,    73,
  378.      0,     0,   159,     0,   158,    57,   159,     0,   206,     0,
  379.    181,     0,     0,    99,   251,   161,   256,   257,   106,     0,
  380.      0,   160,     0,     0,   160,   163,     0,    77,     0,    76,
  381.      0,    84,     0,    85,     0,   107,     0,   173,     0,   181,
  382.      0,    45,     0,    91,   165,   105,     0,    45,     0,    91,
  383.    169,   105,     0,     0,   169,     0,     1,     0,     0,   339,
  384.    204,   358,   218,   227,    62,   170,   235,     0,   165,     0,
  385.    106,     0,   303,   299,   106,     0,   303,   299,     1,   106,
  386.      0,   303,     1,   106,     0,    56,   171,     0,   313,     0,
  387.    181,    57,   181,     0,   181,    57,     1,     0,   173,    57,
  388.    181,     0,   173,    57,     1,     0,   181,     0,   173,     0,
  389.    186,     0,     0,    31,   176,   180,     0,    78,   180,     0,
  390.     68,   180,     0,    86,   180,     0,   164,   180,     0,    65,
  391.    151,     0,    11,   175,     0,    11,    91,   206,   105,     0,
  392.     28,   175,     0,    28,    91,   206,   105,     0,   197,   271,
  393.      0,   197,   271,   178,     0,   197,   177,   271,     0,   197,
  394.    177,   271,   178,     0,   197,    91,   206,   105,     0,   197,
  395.     91,   206,   105,   178,     0,   197,   177,    91,   206,   105,
  396.      0,   197,   177,    91,   206,   105,   178,     0,   198,   180,
  397.      0,   198,    92,   108,   180,     0,   198,    92,   165,   108,
  398.    180,     0,    91,   174,   105,     0,    56,   174,   106,     0,
  399.     91,   174,   105,     0,    45,     0,    91,   213,   105,     0,
  400.     62,   235,     0,    91,   206,   105,     0,   179,    91,   206,
  401.    105,     0,   175,     0,   179,   175,     0,   179,    56,   236,
  402.    240,   106,     0,   180,     0,   181,    81,   181,     0,   181,
  403.     82,   181,     0,   181,    76,   181,     0,   181,    77,   181,
  404.      0,   181,    78,   181,     0,   181,    79,   181,     0,   181,
  405.     80,   181,     0,   181,    74,   181,     0,   181,    75,   181,
  406.      0,   181,    71,   181,     0,   181,    72,   181,     0,   181,
  407.     73,   181,     0,   181,    70,   181,     0,   181,    69,   181,
  408.      0,   181,    68,   181,     0,   181,    66,   181,     0,   181,
  409.     67,   181,     0,   181,    65,   181,     0,   181,    64,   181,
  410.      0,   181,    63,   344,    60,   181,     0,   181,    62,   181,
  411.      0,   181,    61,   181,     0,    59,     0,    59,   181,     0,
  412.     86,   356,   151,     0,   363,     0,     3,     0,    54,     0,
  413.     55,     0,   182,     0,     4,     0,   182,     0,    78,   184,
  414.      0,    68,   184,     0,    91,   184,   105,     0,   283,     0,
  415.    182,     0,    91,   184,   105,     0,   182,     0,     8,     0,
  416.    199,     0,   200,     0,    91,   165,   105,     0,    91,   184,
  417.    105,     0,    91,     1,   105,     0,     0,    91,   187,   307,
  418.    105,     0,     0,   186,    91,   174,   105,   188,   163,     0,
  419.    186,    45,     0,   186,    92,   165,   108,     0,   186,    84,
  420.      0,   186,    85,     0,    38,     0,     7,    91,   174,   105,
  421.      0,   287,     0,     0,     0,    48,    72,   189,   206,    73,
  422.    190,    91,   165,   105,     0,     0,     0,    49,    72,   191,
  423.    206,    73,   192,    91,   165,   105,     0,     0,     0,    50,
  424.     72,   193,   206,    73,   194,    91,   165,   105,     0,     0,
  425.      0,    51,    72,   195,   206,    73,   196,    91,   165,   105,
  426.      0,    47,    91,   165,   105,     0,    47,    91,   206,   105,
  427.      0,   294,     3,     0,   294,   363,     0,   286,     0,   286,
  428.     91,   174,   105,     0,   286,    45,     0,   202,   183,     0,
  429.    202,   286,     0,   202,   183,    91,   174,   105,     0,   202,
  430.    183,    45,     0,   202,   286,    91,   174,   105,     0,   202,
  431.    286,    45,     0,   202,    86,     6,    45,     0,   202,     6,
  432.     52,    86,     6,    45,     0,   202,     1,     0,    36,     0,
  433.    294,    36,     0,    35,     0,   294,   198,     0,    40,     0,
  434.     41,     0,     9,     0,   200,     9,     0,     0,   186,    90,
  435.      0,   186,    89,     0,   213,   204,    58,     0,   207,   204,
  436.     58,     0,   213,   215,    58,     0,   207,   215,    58,     0,
  437.    210,   216,    58,     0,   207,    58,     0,   210,    58,     0,
  438.    277,     0,   281,     0,    45,     0,   205,    45,     0,   211,
  439.    297,     0,   273,   297,     0,   213,   297,     0,   211,     0,
  440.    273,     0,   211,     0,   208,     0,   210,   213,     0,   213,
  441.    209,     0,   213,   212,   209,     0,   210,   213,   209,     0,
  442.    210,   213,   212,     0,   210,   213,   212,   209,     0,     5,
  443.      0,   209,   214,     0,   209,     5,     0,   209,   228,     0,
  444.    228,     0,   273,     0,     5,     0,   210,     7,     0,   210,
  445.      5,     0,   210,   228,     0,   228,     0,   213,     0,   273,
  446.    213,     0,   213,   212,     0,   273,   213,   212,     0,   214,
  447.      0,   212,   214,     0,   237,     0,     6,     0,   291,     0,
  448.     27,    91,   165,   105,     0,    27,    91,   206,   105,     0,
  449.     29,    91,   165,   105,     0,    29,    91,   206,   105,     0,
  450.      6,     0,     7,     0,   237,     0,   219,     0,   215,    57,
  451.    221,     0,   223,     0,   216,    57,   221,     0,   225,     0,
  452.    217,    57,   221,     0,     0,   115,    91,   200,   105,     0,
  453.      0,   204,   358,   218,   227,    62,   220,   235,     0,   204,
  454.    358,   218,   227,     0,     0,   204,   358,   218,   227,    62,
  455.    222,   235,     0,   204,   358,   218,   227,     0,     0,   281,
  456.    358,   218,   227,    62,   224,   235,     0,   281,   358,   218,
  457.    227,     0,     0,   281,   358,   218,   227,    62,   226,   235,
  458.      0,   281,   358,   218,   227,     0,     0,   228,     0,   229,
  459.      0,   228,   229,     0,    30,    91,    91,   230,   105,   105,
  460.      0,   231,     0,   230,    57,   231,     0,     0,   232,     0,
  461.    232,    91,     3,   105,     0,   232,    91,     3,    57,   174,
  462.    105,     0,   232,    91,   174,   105,     0,   151,     0,     5,
  463.      0,     6,     0,     7,     0,   151,     0,   233,    57,   151,
  464.      0,     0,    62,   235,     0,   181,     0,    56,   106,     0,
  465.     56,   236,   106,     0,    56,   236,    57,   106,     0,     1,
  466.      0,   235,     0,   236,    57,   235,     0,    92,   181,   108,
  467.    235,     0,   236,    57,    19,   181,    60,   235,     0,   151,
  468.     60,   235,     0,   236,    57,   151,    60,   235,     0,     0,
  469.     12,   151,    56,   238,   269,   241,   106,     0,    12,   151,
  470.     56,   106,     0,     0,    12,    56,   239,   269,   241,   106,
  471.      0,    12,    56,   106,     0,    12,   151,     0,    12,   292,
  472.      0,    43,   292,     0,   250,   256,   257,   106,     0,   250,
  473.      0,     0,    57,     0,     0,    57,     0,    33,     0,   242,
  474.      5,     0,   242,     6,     0,   242,     7,     0,   242,    33,
  475.      0,   242,   156,    58,     0,   242,   151,     0,   243,     0,
  476.    242,   153,     0,   242,   156,    56,     0,   242,   156,    60,
  477.      0,   242,   289,   151,     0,   242,   155,     0,     0,   244,
  478.      0,   245,   247,   251,     0,   246,   251,     0,   242,    56,
  479.      0,   249,     0,   248,     0,     0,    60,   356,     0,    60,
  480.    356,   252,     0,   253,     0,   252,    57,   356,   253,     0,
  481.    254,     0,   255,   356,   254,     0,   291,     0,    29,    91,
  482.    165,   105,     0,    29,    91,   206,   105,     0,    34,   356,
  483.      0,     5,   356,     0,   255,    34,   356,     0,   255,     5,
  484.    356,     0,    56,     0,     0,   258,     0,   257,    34,    60,
  485.    258,     0,   257,    34,    60,     0,   259,     0,   258,   259,
  486.      0,   260,    58,     0,   260,   106,     0,   144,    60,     0,
  487.    144,    93,     0,   144,    23,     0,   144,    56,     0,    58,
  488.      0,   207,   261,     0,   210,   262,     0,   281,   358,   218,
  489.    227,   234,     0,    60,   181,     0,     1,     0,   207,    91,
  490.    349,   105,   272,   358,   218,   227,   234,     0,   207,    45,
  491.    272,   358,   218,   227,   234,     0,   121,     0,     0,   263,
  492.      0,   261,    57,   264,     0,     0,   266,     0,   262,    57,
  493.    268,     0,   265,     0,   266,     0,   267,     0,   268,     0,
  494.    277,   358,   218,   227,   234,     0,     4,    60,   181,   227,
  495.      0,   281,   358,   218,   227,   234,     0,     3,    60,   181,
  496.    227,     0,    60,   181,   227,     0,   277,   358,   218,   227,
  497.    234,     0,     4,    60,   181,   227,     0,   281,   358,   218,
  498.    227,   234,     0,     3,    60,   181,   227,     0,    60,   181,
  499.    227,     0,   270,     0,   269,    57,   270,     0,   151,     0,
  500.    151,    62,   181,     0,   339,   295,     0,   339,     0,    91,
  501.    206,   105,    92,   165,   108,     0,     0,   272,     7,     0,
  502.      7,     0,   273,     7,     0,     0,   274,   165,     0,   274,
  503.     91,   174,   105,     0,   274,    91,   349,   105,     0,   274,
  504.     45,     0,   274,    91,     1,   105,     0,    78,   273,   277,
  505.      0,    68,   273,   277,     0,    78,   277,     0,    68,   277,
  506.      0,   293,   272,   277,     0,   280,     0,   288,     0,   279,
  507.      0,   289,   288,     0,   280,   276,   272,     0,   280,    92,
  508.    275,   108,     0,   280,    92,   108,     0,    91,   277,   105,
  509.      0,   289,   288,     0,   288,     0,    78,   273,   281,     0,
  510.     68,   273,   281,     0,    78,   281,     0,    68,   281,     0,
  511.    293,   272,   281,     0,   185,     0,    78,   273,   281,     0,
  512.     68,   273,   281,     0,    78,   282,     0,    68,   282,     0,
  513.    293,   272,   281,     0,   283,     0,   185,   276,   272,     0,
  514.     91,   282,   105,     0,   185,    92,   275,   108,     0,   185,
  515.     92,   108,     0,   285,     0,   289,   183,     0,   289,   182,
  516.      0,   285,     0,   294,   285,     0,   213,    91,   174,   105,
  517.      0,   213,    91,   184,   105,     0,   213,   205,     0,     4,
  518.      0,   155,     0,   290,     0,   289,   290,     0,     4,    52,
  519.      0,    55,    52,     0,   155,    52,     0,   278,     0,   294,
  520.    278,     0,   279,     0,   294,   278,     0,   289,    78,     0,
  521.    294,   289,    78,     0,    52,     0,    78,   272,   295,     0,
  522.     78,   272,     0,    68,   272,   295,     0,    68,   272,     0,
  523.    293,   272,     0,   293,   272,   295,     0,   296,     0,    92,
  524.    165,   108,     0,   296,    92,   275,   108,     0,    78,   273,
  525.    297,     0,    78,   297,     0,    78,   273,     0,    78,     0,
  526.     68,   273,   297,     0,    68,   297,     0,    68,   273,     0,
  527.     68,     0,   293,   272,     0,   293,   272,   297,     0,   298,
  528.      0,    91,   297,   105,     0,    88,     0,   298,    91,   349,
  529.    105,   272,     0,   298,    45,   272,     0,   298,    92,   275,
  530.    108,     0,   298,    92,   108,     0,    91,   350,   105,   272,
  531.      0,   179,   272,     0,   205,   272,     0,    92,   275,   108,
  532.      0,    92,   108,     0,   312,     0,   300,     0,   299,   312,
  533.      0,   299,   300,     0,     1,    58,     0,     0,     0,     0,
  534.    304,     0,   305,     0,   304,   305,     0,    32,   233,    58,
  535.      0,   307,     0,     1,   307,     0,    56,   301,   171,   302,
  536.      0,     0,     0,    13,   309,   301,   167,   310,   311,     0,
  537.    307,     0,   301,   313,   302,     0,   307,     0,   313,     0,
  538.    203,     0,   165,    58,     0,     0,     0,   308,    14,   314,
  539.    311,   315,   302,     0,   308,     0,     0,     0,    15,   316,
  540.    301,   167,   317,   172,   302,     0,     0,     0,    16,   318,
  541.    311,    15,   319,   166,    58,     0,     0,     0,     0,     0,
  542.     17,   320,    91,   342,   321,   301,   168,    58,   322,   344,
  543.    105,   323,   172,   302,     0,     0,     0,    18,   301,    91,
  544.    169,   105,   324,   311,   325,   302,     0,     0,    19,   181,
  545.     60,   326,   312,     0,     0,    19,   181,    10,   181,    60,
  546.    327,   312,     0,     0,    20,    60,   328,   312,     0,    21,
  547.     58,     0,    22,    58,     0,    23,    58,     0,    23,   165,
  548.     58,     0,   115,   343,    91,   200,   105,    58,     0,   115,
  549.    343,    91,   200,    60,   345,   105,    58,     0,   115,   343,
  550.     91,   200,    60,   345,    60,   345,   105,    58,     0,   115,
  551.    343,    91,   200,    60,   345,    60,   345,    60,   348,   105,
  552.     58,     0,    24,    78,   165,    58,     0,    24,   151,    58,
  553.      0,   341,   312,     0,   341,   106,     0,    58,     0,   332,
  554.      0,     0,     0,    93,   330,   138,   306,   331,   335,     0,
  555.      0,     0,    93,   333,   307,   334,   335,     0,     0,     0,
  556.      0,     0,   335,    94,   301,   336,   340,   337,   307,   338,
  557.    302,     0,   211,     0,   273,     0,    91,    10,   105,     0,
  558.     91,   355,   105,     0,     3,    60,     0,    54,    60,     0,
  559.      4,    60,     0,   344,    58,     0,   203,     0,    56,   171,
  560.      0,     0,     7,     0,     0,   165,     0,     1,     0,     0,
  561.    346,     0,   347,     0,   346,    57,   347,     0,     9,    91,
  562.    165,   105,     0,     9,     0,   348,    57,     9,     0,     0,
  563.    350,     0,   206,     0,   351,     0,   352,    10,     0,   351,
  564.     10,     0,   206,    10,     0,    10,     0,    95,     0,   351,
  565.     95,     0,   206,    95,     0,   351,    60,     0,   206,    60,
  566.      0,   353,     0,   355,    62,   235,     0,   352,   354,     0,
  567.    352,   357,     0,   352,   357,    62,   235,     0,   351,    57,
  568.      0,   206,    57,     0,   208,   204,     0,   211,   204,     0,
  569.    213,   204,     0,   208,   297,     0,   208,     0,   210,   281,
  570.      0,   355,   234,     0,   353,     0,   206,     0,     0,     0,
  571.    281,     0,     0,    59,    91,   360,   105,     0,    59,    45,
  572.      0,   206,     0,   359,     0,   360,    57,   359,     0,     0,
  573.     78,   272,   361,     0,    68,   272,   361,     0,   293,   272,
  574.    361,     0,    39,     0,   362,    78,     0,   362,    79,     0,
  575.    362,    80,     0,   362,    76,     0,   362,    77,     0,   362,
  576.     68,     0,   362,    66,     0,   362,    67,     0,   362,    86,
  577.      0,   362,    57,     0,   362,    71,     0,   362,    72,     0,
  578.    362,    73,     0,   362,    70,     0,   362,    61,     0,   362,
  579.     62,     0,   362,    74,     0,   362,    75,     0,   362,    84,
  580.      0,   362,    85,     0,   362,    65,     0,   362,    64,     0,
  581.    362,   107,     0,   362,    63,    60,     0,   362,    69,     0,
  582.    362,    89,     0,   362,    81,     0,   362,    45,     0,   362,
  583.     92,   108,     0,   362,    36,     0,   362,    35,     0,   362,
  584.     36,    92,   108,     0,   362,    35,    92,   108,     0,   362,
  585.    339,   361,     0,   362,     1,     0
  586. };
  587.  
  588. #endif
  589.  
  590. #if YYDEBUG != 0
  591. static const short yyrline[] = { 0,
  592.    299,   300,   314,   316,   317,   321,   323,   326,   331,   335,
  593.    337,   340,   343,   347,   350,   352,   354,   355,   358,   360,
  594.    363,   366,   368,   370,   372,   374,   376,   378,   382,   385,
  595.    387,   391,   393,   394,   396,   400,   403,   409,   412,   416,
  596.    419,   423,   433,   435,   437,   441,   451,   453,   456,   461,
  597.    463,   467,   473,   473,   476,   476,   479,   479,   492,   492,
  598.    497,   502,   519,   540,   553,   554,   557,   558,   559,   560,
  599.    561,   564,   567,   570,   577,   582,   590,   592,   593,   613,
  600.    614,   615,   618,   621,   625,   627,   628,   631,   633,   636,
  601.    642,   647,   647,   649,   651,   655,   663,   669,   674,   682,
  602.    693,   700,   703,   706,   710,   718,   720,   722,   726,   739,
  603.    759,   762,   764,   765,   768,   774,   780,   782,   784,   786,
  604.    789,   793,   799,   801,   802,   803,   806,   808,   809,   812,
  605.    814,   815,   818,   821,   824,   826,   828,   831,   835,   840,
  606.    843,   845,   849,   854,   857,   861,   864,   867,   901,   919,
  607.    922,   926,   929,   933,   935,   937,   939,   941,   945,   947,
  608.    950,   955,   959,   964,   968,   971,   973,   977,   997,  1004,
  609.   1007,  1009,  1010,  1011,  1014,  1017,  1021,  1025,  1028,  1030,
  610.   1034,  1037,  1040,  1049,  1052,  1055,  1057,  1059,  1061,  1068,
  611.   1079,  1101,  1103,  1105,  1110,  1112,  1114,  1116,  1118,  1121,
  612.   1123,  1125,  1128,  1130,  1134,  1140,  1143,  1150,  1153,  1155,
  613.   1163,  1172,  1178,  1184,  1186,  1188,  1201,  1204,  1206,  1208,
  614.   1210,  1212,  1214,  1216,  1218,  1220,  1222,  1224,  1226,  1228,
  615.   1230,  1232,  1234,  1236,  1238,  1240,  1242,  1244,  1247,  1254,
  616.   1256,  1273,  1276,  1277,  1278,  1279,  1282,  1284,  1287,  1289,
  617.   1291,  1293,  1297,  1299,  1300,  1304,  1324,  1325,  1326,  1328,
  618.   1336,  1344,  1346,  1354,  1375,  1380,  1387,  1394,  1396,  1405,
  619.   1410,  1433,  1477,  1478,  1480,  1482,  1485,  1487,  1489,  1492,
  620.   1494,  1496,  1499,  1501,  1503,  1506,  1508,  1511,  1550,  1557,
  621.   1559,  1561,  1563,  1566,  1569,  1585,  1601,  1613,  1626,  1635,
  622.   1645,  1690,  1692,  1696,  1698,  1702,  1705,  1710,  1712,  1716,
  623.   1729,  1731,  1738,  1749,  1760,  1766,  1771,  1773,  1778,  1785,
  624.   1787,  1791,  1795,  1801,  1804,  1806,  1808,  1810,  1819,  1821,
  625.   1824,  1827,  1829,  1831,  1833,  1835,  1840,  1846,  1848,  1853,
  626.   1855,  1864,  1867,  1869,  1872,  1878,  1880,  1890,  1893,  1895,
  627.   1897,  1901,  1904,  1912,  1913,  1914,  1915,  1919,  1923,  1937,
  628.   1955,  1956,  1957,  1960,  1962,  1965,  1967,  1970,  1972,  1975,
  629.   1978,  1982,  2000,  2002,  2021,  2027,  2028,  2034,  2043,  2045,
  630.   2055,  2064,  2066,  2078,  2081,  2085,  2088,  2092,  2097,  2100,
  631.   2104,  2107,  2109,  2111,  2113,  2120,  2122,  2123,  2124,  2128,
  632.   2131,  2135,  2138,  2141,  2143,  2146,  2149,  2152,  2158,  2161,
  633.   2164,  2166,  2168,  2170,  2174,  2178,  2182,  2185,  2188,  2192,
  634.   2195,  2197,  2199,  2202,  2250,  2260,  2262,  2265,  2267,  2271,
  635.   2272,  2274,  2276,  2278,  2282,  2291,  2294,  2297,  2300,  2306,
  636.   2310,  2313,  2317,  2321,  2324,  2331,  2339,  2344,  2344,  2346,
  637.   2349,  2351,  2355,  2357,  2361,  2388,  2418,  2420,  2442,  2466,
  638.   2468,  2472,  2498,  2507,  2573,  2576,  2583,  2594,  2603,  2607,
  639.   2622,  2625,  2630,  2632,  2634,  2636,  2638,  2642,  2648,  2650,
  640.   2653,  2655,  2666,  2673,  2680,  2686,  2689,  2690,  2701,  2704,
  641.   2705,  2716,  2718,  2721,  2723,  2726,  2733,  2741,  2748,  2754,
  642.   2762,  2766,  2771,  2775,  2778,  2787,  2789,  2793,  2796,  2801,
  643.   2804,  2808,  2817,  2820,  2824,  2827,  2834,  2838,  2844,  2847,
  644.   2849,  2851,  2857,  2860,  2862,  2864,  2866,  2870,  2873,  2887,
  645.   2890,  2895,  2898,  2900,  2902,  2904,  2908,  2914,  2917,  2919,
  646.   2921,  2923,  2927,  2930,  2933,  2935,  2937,  2939,  2943,  2946,
  647.   2949,  2951,  2953,  2955,  2964,  2970,  2976,  2978,  2982,  2985,
  648.   2987,  2991,  2993,  2996,  2998,  3004,  3007,  3009,  3023,  3025,
  649.   3029,  3031,  3035,  3038,  3044,  3050,  3053,  3055,  3057,  3059,
  650.   3063,  3067,  3071,  3074,  3079,  3082,  3084,  3086,  3088,  3090,
  651.   3092,  3094,  3096,  3100,  3104,  3108,  3112,  3113,  3115,  3117,
  652.   3119,  3121,  3123,  3125,  3127,  3129,  3137,  3139,  3140,  3141,
  653.   3144,  3151,  3159,  3167,  3169,  3174,  3176,  3179,  3193,  3196,
  654.   3199,  3203,  3206,  3210,  3212,  3215,  3219,  3222,  3225,  3228,
  655.   3241,  3244,  3246,  3247,  3253,  3258,  3260,  3263,  3267,  3270,
  656.   3276,  3288,  3292,  3295,  3299,  3312,  3320,  3324,  3325,  3350,
  657.   3350,  3382,  3382,  3398,  3398,  3402,  3406,  3409,  3414,  3421,
  658.   3430,  3439,  3448,  3451,  3457,  3459,  3463,  3465,  3468,  3475,
  659.   3479,  3485,  3489,  3492,  3495,  3497,  3500,  3502,  3504,  3506,
  660.   3508,  3511,  3524,  3529,  3537,  3539,  3543,  3546,  3547,  3552,
  661.   3556,  3560,  3563,  3564,  3570,  3572,  3575,  3577,  3581,  3586,
  662.   3589,  3599,  3606,  3607,  3614,  3620,  3625,  3629,  3634,  3641,
  663.   3645,  3649,  3654,  3665,  3679,  3682,  3684,  3686,  3688,  3692,
  664.   3694,  3702,  3722,  3724,  3726,  3729,  3732,  3737,  3742,  3744,
  665.   3747,  3769,  3775,  3782,  3785,  3787,  3791,  3796,  3798,  3805,
  666.   3808,  3810,  3812,  3818,  3822,  3825,  3827,  3829,  3831,  3833,
  667.   3835,  3837,  3839,  3841,  3843,  3845,  3847,  3849,  3851,  3853,
  668.   3855,  3857,  3859,  3861,  3863,  3865,  3867,  3869,  3871,  3873,
  669.   3875,  3877,  3879,  3881,  3883,  3885,  3887,  3890,  3892
  670. };
  671.  
  672. static const char * const yytname[] = {   "$","error","$illegal.","IDENTIFIER",
  673. "TYPENAME","SCSPEC","TYPESPEC","TYPE_QUAL","CONSTANT","STRING","ELLIPSIS","SIZEOF",
  674. "ENUM","IF","ELSE","WHILE","DO","FOR","SWITCH","CASE","DEFAULT","BREAK","CONTINUE",
  675. "RETURN","GOTO","ASM_KEYWORD","GCC_ASM_KEYWORD","TYPEOF","ALIGNOF","SIGOF","ATTRIBUTE",
  676. "EXTENSION","LABEL","AGGR","VISSPEC","DELETE","NEW","OVERLOAD","THIS","OPERATOR",
  677. "CXX_TRUE","CXX_FALSE","NAMESPACE","TYPENAME_KEYWORD","USING","LEFT_RIGHT","TEMPLATE",
  678. "TYPEID","DYNAMIC_CAST","STATIC_CAST","REINTERPRET_CAST","CONST_CAST","SCOPE",
  679. "EMPTY","PTYPENAME","NSNAME","'{'","','","';'","THROW","':'","ASSIGN","'='",
  680. "'?'","OROR","ANDAND","'|'","'^'","'&'","MIN_MAX","EQCOMPARE","ARITHCOMPARE",
  681. "'<'","'>'","LSHIFT","RSHIFT","'+'","'-'","'*'","'/'","'%'","POINTSAT_STAR",
  682. "DOT_STAR","UNARY","PLUSPLUS","MINUSMINUS","'~'","HYPERUNARY","PAREN_STAR_PAREN",
  683. "POINTSAT","'.'","'('","'['","TRY","CATCH","TYPENAME_ELLIPSIS","PRE_PARSED_FUNCTION_DECL",
  684. "EXTERN_LANG_STRING","ALL","PRE_PARSED_CLASS_DECL","TYPENAME_DEFN","IDENTIFIER_DEFN",
  685. "PTYPENAME_DEFN","END_OF_LINE","END_OF_SAVED_INPUT","')'","'}'","'!'","']'",
  686. "program","extdefs","@1","extdefs_opt",".hush_warning",".warning_ok","asm_keyword",
  687. "lang_extdef","@2","extdef","@3","@4","using_decl","any_id","extern_lang_string",
  688. "template_header","@5","template_parm_list","template_type_parm","template_parm",
  689. "overloaddef","ov_identifiers","template_def","@6","@7","@8","@9","fn_tmpl_end",
  690. "datadef","ctor_initializer_opt","maybe_return_init","eat_saved_input","fndef",
  691. "@10","fn.def1","fn.def2","return_id","return_init","base_init",".set_base_init",
  692. "member_init_list","member_init","identifier","notype_identifier","identifier_defn",
  693. "explicit_instantiation","template_type","template_type_name","tmpl.2","template_arg_list",
  694. "template_arg","template_instantiate_once","@11","template_instantiation","template_instantiate_some",
  695. "unop","expr","paren_expr_or_null","paren_cond_or_null","xcond","condition",
  696. "@12","compstmtend","already_scoped_stmt","nontrivial_exprlist","nonnull_exprlist",
  697. "unary_expr","@13","new_placement","new_initializer","regcast_or_absdcl","cast_expr",
  698. "expr_no_commas","notype_unqualified_id","unqualified_id","expr_or_declarator",
  699. "direct_notype_declarator","primary","@14","@15","@16","@17","@18","@19","@20",
  700. "@21","@22","@23","new","delete","boolean.literal","string","nodecls","object",
  701. "decl","declarator","fcast_or_absdcl","type_id","typed_declspecs","typed_declspecs1",
  702. "reserved_declspecs","declmods","typed_typespecs","reserved_typespecquals","typespec",
  703. "typespecqual_reserved","initdecls","notype_initdecls","nomods_initdecls","maybeasm",
  704. "initdcl0","@24","initdcl","@25","notype_initdcl0","@26","nomods_initdcl0","@27",
  705. "maybe_attribute","attributes","attribute","attribute_list","attrib","any_word",
  706. "identifiers_or_typenames","maybe_init","init","initlist","structsp","@28","@29",
  707. "maybecomma","maybecomma_warn","aggr","specialization","named_class_head_sans_basetype",
  708. "named_class_head_sans_basetype_defn","named_complex_class_head_sans_basetype",
  709. "do_xref_defn","named_class_head","unnamed_class_head","class_head","maybe_base_class_list",
  710. "base_class_list","base_class","base_class.1","base_class_access_list","left_curly",
  711. "opt.component_decl_list","component_decl_list","component_decl","component_decl_1",
  712. "components","notype_components","component_declarator0","component_declarator",
  713. "after_type_component_declarator0","notype_component_declarator0","after_type_component_declarator",
  714. "notype_component_declarator","enumlist","enumerator","new_type_id","type_quals",
  715. "nonempty_type_quals","suspend_mom","nonmomentary_expr","maybe_parmlist","after_type_declarator",
  716. "qualified_type_name","nested_type","direct_after_type_declarator","notype_declarator",
  717. "complex_notype_declarator","complex_direct_notype_declarator","qualified_id",
  718. "notype_qualified_id","overqualified_id","functional_cast","type_name","nested_name_specifier",
  719. "nested_name_specifier_1","complete_type_name","complex_type_name","ptr_to_mem",
  720. "global_scope","new_declarator","direct_new_declarator","absdcl","direct_abstract_declarator",
  721. "stmts","errstmt",".pushlevel",".poplevel","maybe_label_decls","label_decls",
  722. "label_decl","compstmt_or_error","compstmt","simple_if","@30","@31","implicitly_scoped_stmt",
  723. "stmt","simple_stmt","@32","@33","@34","@35","@36","@37","@38","@39","@40","@41",
  724. "@42","@43","@44","@45","@46","function_try_block","@47","@48","try_block","@49",
  725. "@50","handler_seq","@51","@52","@53","type_specifier_seq","handler_args","label_colon",
  726. "for.init.statement","maybe_type_qual","xexpr","asm_operands","nonnull_asm_operands",
  727. "asm_operand","asm_clobbers","parmlist","complex_parmlist","parms","parms_comma",
  728. "named_parm","full_parm","parm","see_typename","bad_parm","exception_specification_opt",
  729. "ansi_raise_identifier","ansi_raise_identifiers","conversion_declarator","operator",
  730. "operator_name",""
  731. };
  732. #endif
  733.  
  734. static const short yyr1[] = {     0,
  735.    109,   109,   111,   110,   110,   112,   112,   113,   114,   115,
  736.    115,   117,   116,   118,   118,   118,   118,   118,   118,   118,
  737.    118,   119,   118,   120,   118,   118,   118,   118,   121,   121,
  738.    121,   122,   122,   122,   122,   123,   123,   125,   124,   126,
  739.    126,   127,   127,   127,   127,   128,   128,   128,   129,   130,
  740.    130,   132,   131,   133,   131,   134,   131,   135,   131,   131,
  741.    131,   131,   131,   131,   131,   131,   136,   136,   136,   136,
  742.    136,   137,   137,   137,   137,   137,   137,   137,   137,   137,
  743.    137,   137,   138,   138,   139,   139,   139,   140,   140,   141,
  744.    142,   141,   141,   141,   141,   143,   143,   143,   143,   144,
  745.    144,   144,   144,   144,   145,   146,   146,   146,   147,   148,
  746.    149,   149,   149,   149,   150,   150,   150,   150,   150,   150,
  747.    150,   150,   151,   151,   151,   151,   152,   152,   152,   153,
  748.    153,   153,   154,   154,   154,   154,   154,   154,   155,   156,
  749.    156,   156,   157,   158,   158,   159,   159,   161,   160,   162,
  750.    162,   163,   163,   164,   164,   164,   164,   164,   165,   165,
  751.    166,   166,   167,   167,   168,   168,   168,   170,   169,   169,
  752.    171,   171,   171,   171,   172,   172,   173,   173,   173,   173,
  753.    174,   174,   175,   176,   175,   175,   175,   175,   175,   175,
  754.    175,   175,   175,   175,   175,   175,   175,   175,   175,   175,
  755.    175,   175,   175,   175,   175,   177,   177,   178,   178,   178,
  756.    178,   179,   179,   180,   180,   180,   181,   181,   181,   181,
  757.    181,   181,   181,   181,   181,   181,   181,   181,   181,   181,
  758.    181,   181,   181,   181,   181,   181,   181,   181,   181,   181,
  759.    181,   182,   182,   182,   182,   182,   183,   183,   184,   184,
  760.    184,   184,   185,   185,   185,   186,   186,   186,   186,   186,
  761.    186,   186,   187,   186,   188,   186,   186,   186,   186,   186,
  762.    186,   186,   186,   189,   190,   186,   191,   192,   186,   193,
  763.    194,   186,   195,   196,   186,   186,   186,   186,   186,   186,
  764.    186,   186,   186,   186,   186,   186,   186,   186,   186,   186,
  765.    186,   197,   197,   198,   198,   199,   199,   200,   200,   201,
  766.    202,   202,   203,   203,   203,   203,   203,   203,   203,   204,
  767.    204,   205,   205,   206,   206,   206,   206,   206,   207,   207,
  768.    208,   208,   208,   208,   208,   208,   209,   209,   209,   209,
  769.    209,   210,   210,   210,   210,   210,   210,   211,   211,   211,
  770.    211,   212,   212,   213,   213,   213,   213,   213,   213,   213,
  771.    214,   214,   214,   215,   215,   216,   216,   217,   217,   218,
  772.    218,   220,   219,   219,   222,   221,   221,   224,   223,   223,
  773.    226,   225,   225,   227,   227,   228,   228,   229,   230,   230,
  774.    231,   231,   231,   231,   231,   232,   232,   232,   232,   233,
  775.    233,   234,   234,   235,   235,   235,   235,   235,   236,   236,
  776.    236,   236,   236,   236,   238,   237,   237,   239,   237,   237,
  777.    237,   237,   237,   237,   237,   240,   240,   241,   241,   242,
  778.    242,   242,   242,   242,   243,   244,   244,   245,   245,   245,
  779.    246,   246,   247,   248,   248,   248,   249,   250,   250,   251,
  780.    251,   251,   252,   252,   253,   253,   254,   254,   254,   255,
  781.    255,   255,   255,   256,   257,   257,   257,   257,   258,   258,
  782.    259,   259,   259,   259,   259,   259,   259,   260,   260,   260,
  783.    260,   260,   260,   260,   260,   261,   261,   261,   262,   262,
  784.    262,   263,   263,   264,   264,   265,   265,   266,   266,   266,
  785.    267,   267,   268,   268,   268,   269,   269,   270,   270,   271,
  786.    271,   271,   272,   272,   273,   273,   274,   275,   276,   276,
  787.    276,   276,   277,   277,   277,   277,   277,   277,   278,   278,
  788.    279,   280,   280,   280,   280,   280,   280,   281,   281,   281,
  789.    281,   281,   281,   282,   282,   282,   282,   282,   282,   283,
  790.    283,   283,   283,   283,   284,   285,   286,   286,   287,   287,
  791.    287,   288,   288,   289,   289,   290,   290,   290,   291,   291,
  792.    292,   292,   293,   293,   294,   295,   295,   295,   295,   295,
  793.    295,   295,   296,   296,   297,   297,   297,   297,   297,   297,
  794.    297,   297,   297,   297,   297,   298,   298,   298,   298,   298,
  795.    298,   298,   298,   298,   298,   298,   299,   299,   299,   299,
  796.    300,   301,   302,   303,   303,   304,   304,   305,   306,   306,
  797.    307,   309,   310,   308,   311,   311,   312,   312,   313,   313,
  798.    314,   315,   313,   313,   316,   317,   313,   318,   319,   313,
  799.    320,   321,   322,   323,   313,   324,   325,   313,   326,   313,
  800.    327,   313,   328,   313,   313,   313,   313,   313,   313,   313,
  801.    313,   313,   313,   313,   313,   313,   313,   313,   330,   331,
  802.    329,   333,   334,   332,   335,   336,   337,   338,   335,   339,
  803.    339,   340,   340,   341,   341,   341,   342,   342,   342,   343,
  804.    343,   344,   344,   344,   345,   345,   346,   346,   347,   348,
  805.    348,   349,   349,   349,   350,   350,   350,   350,   350,   350,
  806.    350,   350,   350,   350,   351,   351,   351,   351,   351,   352,
  807.    352,   353,   353,   353,   353,   353,   353,   354,   355,   355,
  808.    356,   357,   357,   358,   358,   358,   359,   360,   360,   361,
  809.    361,   361,   361,   362,   363,   363,   363,   363,   363,   363,
  810.    363,   363,   363,   363,   363,   363,   363,   363,   363,   363,
  811.    363,   363,   363,   363,   363,   363,   363,   363,   363,   363,
  812.    363,   363,   363,   363,   363,   363,   363,   363,   363
  813. };
  814.  
  815. static const short yyr2[] = {     0,
  816.      0,     1,     0,     2,     2,     1,     0,     0,     0,     1,
  817.      1,     0,     2,     1,     1,     1,     1,     5,     4,     4,
  818.      4,     0,     6,     0,     5,     5,     2,     4,     2,     3,
  819.      3,     1,     1,     2,     2,     1,     2,     0,     5,     1,
  820.      3,     1,     2,     1,     2,     1,     3,     1,     3,     1,
  821.      3,     0,     5,     0,     5,     0,     5,     0,     5,     3,
  822.      3,     6,     7,     4,     3,     3,     1,     1,     1,     1,
  823.      1,     2,     3,     3,     3,     3,     2,     2,     2,     2,
  824.      2,     1,     1,     1,     0,     1,     2,     0,     1,     4,
  825.      0,     5,     3,     3,     2,     3,     3,     2,     1,     6,
  826.      4,     3,     3,     2,     2,     2,     4,     2,     3,     0,
  827.      0,     1,     3,     2,     3,     1,     4,     2,     4,     2,
  828.      4,     2,     1,     1,     1,     1,     1,     1,     1,     1,
  829.      1,     1,     3,     3,     2,     4,     4,     3,     3,     4,
  830.      3,     4,     0,     1,     3,     1,     1,     0,     6,     0,
  831.      1,     0,     2,     1,     1,     1,     1,     1,     1,     1,
  832.      1,     3,     1,     3,     0,     1,     1,     0,     8,     1,
  833.      1,     3,     4,     3,     2,     1,     3,     3,     3,     3,
  834.      1,     1,     1,     0,     3,     2,     2,     2,     2,     2,
  835.      2,     4,     2,     4,     2,     3,     3,     4,     4,     5,
  836.      5,     6,     2,     4,     5,     3,     3,     3,     1,     3,
  837.      2,     3,     4,     1,     2,     5,     1,     3,     3,     3,
  838.      3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
  839.      3,     3,     3,     3,     3,     3,     5,     3,     3,     1,
  840.      2,     3,     1,     1,     1,     1,     1,     1,     1,     2,
  841.      2,     3,     1,     1,     3,     1,     1,     1,     1,     3,
  842.      3,     3,     0,     4,     0,     6,     2,     4,     2,     2,
  843.      1,     4,     1,     0,     0,     9,     0,     0,     9,     0,
  844.      0,     9,     0,     0,     9,     4,     4,     2,     2,     1,
  845.      4,     2,     2,     2,     5,     3,     5,     3,     4,     6,
  846.      2,     1,     2,     1,     2,     1,     1,     1,     2,     0,
  847.      2,     2,     3,     3,     3,     3,     3,     2,     2,     1,
  848.      1,     1,     2,     2,     2,     2,     1,     1,     1,     1,
  849.      2,     2,     3,     3,     3,     4,     1,     2,     2,     2,
  850.      1,     1,     1,     2,     2,     2,     1,     1,     2,     2,
  851.      3,     1,     2,     1,     1,     1,     4,     4,     4,     4,
  852.      1,     1,     1,     1,     3,     1,     3,     1,     3,     0,
  853.      4,     0,     7,     4,     0,     7,     4,     0,     7,     4,
  854.      0,     7,     4,     0,     1,     1,     2,     6,     1,     3,
  855.      0,     1,     4,     6,     4,     1,     1,     1,     1,     1,
  856.      3,     0,     2,     1,     2,     3,     4,     1,     1,     3,
  857.      4,     6,     3,     5,     0,     7,     4,     0,     6,     3,
  858.      2,     2,     2,     4,     1,     0,     1,     0,     1,     1,
  859.      2,     2,     2,     2,     3,     2,     1,     2,     3,     3,
  860.      3,     2,     0,     1,     3,     2,     2,     1,     1,     0,
  861.      2,     3,     1,     4,     1,     3,     1,     4,     4,     2,
  862.      2,     3,     3,     1,     0,     1,     4,     3,     1,     2,
  863.      2,     2,     2,     2,     2,     2,     1,     2,     2,     5,
  864.      2,     1,     9,     7,     1,     0,     1,     3,     0,     1,
  865.      3,     1,     1,     1,     1,     5,     4,     5,     4,     3,
  866.      5,     4,     5,     4,     3,     1,     3,     1,     3,     2,
  867.      1,     6,     0,     2,     1,     2,     0,     2,     4,     4,
  868.      2,     4,     3,     3,     2,     2,     3,     1,     1,     1,
  869.      2,     3,     4,     3,     3,     2,     1,     3,     3,     2,
  870.      2,     3,     1,     3,     3,     2,     2,     3,     1,     3,
  871.      3,     4,     3,     1,     2,     2,     1,     2,     4,     4,
  872.      2,     1,     1,     1,     2,     2,     2,     2,     1,     2,
  873.      1,     2,     2,     3,     1,     3,     2,     3,     2,     2,
  874.      3,     1,     3,     4,     3,     2,     2,     1,     3,     2,
  875.      2,     1,     2,     3,     1,     3,     1,     5,     3,     4,
  876.      3,     4,     2,     2,     3,     2,     1,     1,     2,     2,
  877.      2,     0,     0,     0,     1,     1,     2,     3,     1,     2,
  878.      4,     0,     0,     6,     1,     3,     1,     1,     1,     2,
  879.      0,     0,     6,     1,     0,     0,     7,     0,     0,     7,
  880.      0,     0,     0,     0,    14,     0,     0,     9,     0,     5,
  881.      0,     7,     0,     4,     2,     2,     2,     3,     6,     8,
  882.     10,    12,     4,     3,     2,     2,     1,     1,     0,     0,
  883.      6,     0,     0,     5,     0,     0,     0,     0,     9,     1,
  884.      1,     3,     3,     2,     2,     2,     2,     1,     2,     0,
  885.      1,     0,     1,     1,     0,     1,     1,     3,     4,     1,
  886.      3,     0,     1,     1,     1,     2,     2,     2,     1,     1,
  887.      2,     2,     2,     2,     1,     3,     2,     2,     4,     2,
  888.      2,     2,     2,     2,     2,     1,     2,     2,     1,     1,
  889.      0,     0,     1,     0,     4,     2,     1,     1,     3,     0,
  890.      3,     3,     3,     1,     2,     2,     2,     2,     2,     2,
  891.      2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
  892.      2,     2,     2,     2,     2,     2,     2,     3,     2,     2,
  893.      2,     2,     3,     2,     2,     4,     4,     3,     2
  894. };
  895.  
  896. static const short yydefact[] = {     3,
  897.     12,    12,     5,     0,     4,     0,   244,   562,   343,   355,
  898.    515,     0,    10,    11,     0,     0,     0,   430,     0,   744,
  899.      0,     0,     0,     0,   575,   245,   246,    82,     0,     0,
  900.    731,     0,    99,    36,     0,    13,     0,     8,     0,    17,
  901.     16,    15,    14,    85,     0,   563,   143,   254,   543,     0,
  902.    330,     0,   329,   348,     0,   368,   347,   386,   354,     0,
  903.    437,   444,   443,   450,   449,   448,   425,   342,   569,   530,
  904.      0,   253,   554,   529,     0,   564,   356,   513,     0,     0,
  905.    243,    80,    81,   566,     0,     0,   123,   124,   125,   126,
  906.    418,   421,     0,   571,     0,   422,     0,     0,     0,     0,
  907.     50,     0,   124,   125,   126,    24,     0,     0,     0,     0,
  908.    423,     0,    29,     0,     0,   343,    38,     0,     0,   437,
  909.    135,     0,   567,     0,   541,     0,     0,     0,   540,     0,
  910.      0,     0,     0,   254,     0,   517,     0,   253,   513,     0,
  911.     27,     3,    37,     0,     0,     0,     0,   444,   443,   734,
  912.      0,   310,   402,    86,    78,   568,   150,   517,     0,   513,
  913.     79,     0,     0,     0,     0,     0,   364,   320,   528,   321,
  914.    537,     0,   513,   345,   344,    77,   331,     0,   366,   346,
  915.      0,   337,   361,   362,   332,   350,   352,   341,   363,     0,
  916.     72,   387,   431,   432,   433,   434,   447,   131,   130,   132,
  917.    436,   438,   442,   143,     0,   450,   731,   446,   464,     0,
  918.    516,   349,     0,    95,     0,    98,   573,   556,   531,   565,
  919.      0,   570,     0,   779,   775,   774,   772,   754,   759,   760,
  920.      0,   766,   765,   751,   752,   750,   769,   758,   755,   756,
  921.    757,   761,   762,   748,   749,   745,   746,   747,   771,   763,
  922.    764,   753,   770,     0,   767,   680,   348,   681,   740,   515,
  923.    257,   308,     0,     0,   184,   304,   302,   271,   306,   307,
  924.      0,     0,     0,     0,     0,   240,     0,     0,   155,   154,
  925.      0,   156,   157,     0,     0,   158,     0,   144,     0,   214,
  926.      0,   217,   147,   256,   183,     0,     0,   258,   259,     0,
  927.    146,   327,   348,   328,   557,   290,   273,     0,     0,     0,
  928.    437,   138,   420,     0,   415,   572,     0,   159,   160,     0,
  929.      0,     0,   391,     0,    49,     3,    22,     0,   248,     0,
  930.    247,    32,    33,     0,   555,    31,    30,     0,   134,   450,
  931.    151,   133,   141,     0,   539,     0,   538,   242,   251,     0,
  932.    547,   250,     0,   546,     0,   255,   551,     0,     0,    12,
  933.      0,     0,     9,     9,    66,    65,   734,     0,    52,    60,
  934.     56,    54,    61,    58,   370,   105,   110,   669,     0,    84,
  935.     83,    91,   108,     0,     0,   106,    87,   139,   553,     0,
  936.      0,   521,     0,   550,     0,   526,     0,   525,     0,     0,
  937.      0,     0,   513,    93,    76,    96,     0,    75,   517,   513,
  938.    536,     0,   334,   335,     0,    73,    94,    74,    97,   339,
  939.    338,   340,   333,   353,   734,   369,   439,   435,   440,   441,
  940.    445,   451,   482,     0,   477,     0,   485,     0,   486,   489,
  941.      0,     0,   469,     0,   734,   351,   736,     0,     0,   384,
  942.    514,   542,   574,     0,     0,   768,   773,   350,   513,   513,
  943.      0,   513,   778,     0,     0,     0,   191,     0,     0,   193,
  944.      0,     0,   274,   277,   280,   283,   241,   190,   187,   186,
  945.    188,     0,     0,     0,     0,     0,   256,     0,     0,     0,
  946.      0,   142,   189,     0,     0,   215,     0,     0,     0,     0,
  947.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  948.      0,     0,     0,     0,     0,     0,     0,     0,   267,   269,
  949.    270,   312,   311,     0,     0,     0,     0,     0,   195,   511,
  950.      0,   203,   309,   301,     0,   731,   293,   294,     0,     0,
  951.    322,   592,   588,   597,     0,   517,   513,   513,   513,   324,
  952.    595,     0,   561,   326,     0,   325,   292,     0,   288,   303,
  953.    305,   558,     0,   289,   137,   136,   508,   428,   506,   417,
  954.      0,   357,     0,     0,   358,   359,   360,   397,   398,   399,
  955.    396,     0,   389,   392,    51,     0,     3,     0,    28,    35,
  956.     34,    44,     0,    46,    40,   730,   726,     0,   327,   348,
  957.     42,   328,   729,    48,   402,   148,   140,   545,   544,   255,
  958.    548,     0,    19,    21,    20,   370,    71,    67,    69,    68,
  959.     70,    64,     0,     0,     0,     0,   384,   111,   310,     0,
  960.    612,    90,   619,    88,   408,     0,   404,   403,   182,     0,
  961.    181,   518,   552,     0,   709,   710,     0,   704,   348,     0,
  962.    703,   705,   732,   715,     0,   524,   523,     0,     0,   535,
  963.      0,   384,   365,   534,     0,   532,   527,   336,   367,   384,
  964.    370,   731,     0,   731,   452,   453,   455,   731,   457,   481,
  965.    475,   476,   473,   474,   244,   562,   513,     0,   702,   734,
  966.    478,   487,   492,   493,   734,   734,   479,   490,   734,     0,
  967.    424,   470,   471,   472,   104,   737,   348,   738,     0,     0,
  968.    383,   385,   777,   776,   740,   740,   740,     0,     0,     0,
  969.    561,     0,   185,     0,     0,     0,     0,     0,     0,   262,
  970.      0,   260,   261,     0,   212,   145,   244,   562,   245,   246,
  971.      0,     0,   409,   426,     0,   239,   238,   694,   693,     0,
  972.    236,   235,   233,   234,   232,   231,   230,   227,   228,   229,
  973.    225,   226,   220,   221,   222,   223,   224,   218,   219,     0,
  974.      0,     0,     0,     0,     0,   197,   209,     0,     0,   196,
  975.    513,   513,     0,   513,   510,   582,     0,     0,     0,     0,
  976.    296,     0,   298,     0,   591,   590,   587,   586,   730,     0,
  977.      0,   606,     0,     0,   603,   323,   604,   593,   513,   702,
  978.    517,   592,   588,     0,     0,   513,     0,     0,     0,     0,
  979.    429,     0,   428,   180,   179,   178,   177,   391,     0,     0,
  980.     25,     0,    26,    45,     0,    39,     0,   592,   588,     0,
  981.    722,   513,   725,   727,   723,   724,   436,   728,     0,    18,
  982.    384,    53,    57,    55,    59,     0,   127,   116,   128,   129,
  983.      0,   109,   112,     0,     0,     0,     0,   620,   614,    89,
  984.     92,   405,     0,   107,   522,   519,   708,   721,   714,   712,
  985.      0,   520,   707,   720,   713,   711,   706,   733,   717,   718,
  986.      0,   374,   533,   380,   384,   461,     0,   460,   731,   731,
  987.    731,     0,     0,     0,   734,   384,   529,     0,     0,   102,
  988.      0,   370,   370,     0,   370,     0,   384,     0,   735,     0,
  989.    381,   742,   741,   743,   272,   192,   194,   286,   287,     0,
  990.      0,     0,     0,   261,   264,     0,     0,     0,     0,   213,
  991.      0,   265,   268,   207,   206,   199,     0,   198,   211,     0,
  992.      0,   579,   577,     0,   580,   517,   204,     0,     0,   299,
  993.      0,     0,   589,   585,   596,   513,   605,   594,   599,     0,
  994.    601,     0,   559,   560,     0,   291,   509,   507,   419,     0,
  995.    390,   388,   244,     0,    23,    41,    47,   591,   587,   592,
  996.    588,     0,   513,   593,     0,     0,    62,     0,   114,     0,
  997.    118,     0,   122,     0,   120,     0,   670,     0,   171,   613,
  998.      0,   615,   616,     0,   406,   592,   588,     0,   256,     0,
  999.    557,     0,   716,   372,   378,   377,     0,     0,     0,   463,
  1000.    462,   456,   384,   384,   101,   500,   531,   513,   244,   562,
  1001.      0,   488,   494,   495,   734,   734,   384,   384,   491,     0,
  1002.    402,   739,   371,     0,   275,   278,   281,   284,     0,   413,
  1003.      0,     0,   410,   216,   237,   152,     0,   200,   201,   208,
  1004.    210,   578,   576,   583,   581,     0,   205,     0,   295,   297,
  1005.    602,   513,   600,   416,     0,   393,   395,   591,   587,   593,
  1006.      0,    63,   115,   113,     0,     0,     0,   675,   400,     0,
  1007.    621,     0,   244,   562,   622,   635,   638,   641,   612,     0,
  1008.      0,     0,     0,     0,     0,   245,   667,   672,   690,     0,
  1009.    629,     0,     0,   348,     0,   608,   627,   634,   607,   628,
  1010.    668,     0,   617,   407,     0,   560,   719,     0,     0,   375,
  1011.    458,   459,   454,   499,   497,   384,   734,     0,     0,   384,
  1012.    370,   370,   402,   402,   480,   382,     0,     0,     0,     0,
  1013.    411,     0,     0,   152,   266,     0,   202,   584,   300,   598,
  1014.      0,   149,   117,   121,   119,   671,     0,   618,   611,   174,
  1015.    684,   686,   612,   612,   612,     0,     0,     0,   653,   655,
  1016.    656,   657,     0,     0,     0,   685,     0,   691,     0,   630,
  1017.    318,   734,     0,   319,     0,   734,     0,   734,     0,     0,
  1018.    172,   610,   609,   631,   666,   665,   261,   373,   379,     0,
  1019.    402,   100,   384,   384,   505,   384,   384,   496,   498,     0,
  1020.      0,     0,     0,     0,   414,   153,   512,   394,   612,   401,
  1021.      0,     0,     0,   625,     0,     0,     0,     0,   649,     0,
  1022.    658,     0,   664,   673,     0,   314,   370,   316,   317,   370,
  1023.      0,     0,     0,   313,   315,   173,   612,   376,   484,   384,
  1024.    504,   502,   402,   402,     0,     0,     0,     0,   412,   676,
  1025.    163,     0,   623,   636,   613,   639,   614,   688,   642,     0,
  1026.    170,     0,   348,     0,     0,     0,   654,   663,   675,     0,
  1027.    632,   402,   501,   503,   276,   279,   282,   285,     0,     0,
  1028.    612,     0,   626,     0,   689,   612,   687,   646,   734,   651,
  1029.    650,   674,   695,     0,   613,   483,     0,   677,   164,   624,
  1030.    614,   613,   176,   161,     0,     0,     0,   612,   370,     0,
  1031.      0,     0,   696,   697,   659,   633,     0,     0,     0,   175,
  1032.    637,     0,   640,   167,     0,   166,   647,   384,   652,     0,
  1033.    695,     0,     0,   682,   683,   678,   162,   643,   613,     0,
  1034.      0,     0,   660,   698,   613,     0,   648,   168,   699,     0,
  1035.      0,   679,     0,     0,   700,     0,   661,   644,   169,     0,
  1036.      0,     0,   701,   662,   613,   645,     0,     0,     0
  1037. };
  1038.  
  1039. static const short yydefgoto[] = {  1397,
  1040.    360,     2,   361,   144,   614,   449,     3,     4,    36,   587,
  1041.    326,   437,   330,    38,    39,   338,   593,   594,   595,    40,
  1042.    102,    41,   623,   625,   624,   626,   622,    42,   379,   152,
  1043.    871,    43,   634,    44,   438,   153,   154,   380,   628,   862,
  1044.    863,   567,   864,   202,    45,    46,    47,   157,   287,   288,
  1045.    341,   849,   342,  1165,   289,  1120,  1336,  1283,  1355,  1292,
  1046.   1384,  1010,  1332,   318,   815,   290,   471,   528,   780,   291,
  1047.    292,   319,   294,   332,   349,    49,   295,   489,  1066,   726,
  1048.   1157,   727,  1158,   728,  1159,   729,  1160,   296,   297,   298,
  1049.    299,   381,   300,  1121,   425,   548,   799,  1122,    51,   185,
  1050.    598,   302,   186,   468,   187,   166,   178,    55,   662,   167,
  1051.   1138,   426,  1220,   179,  1139,    56,  1054,   711,    57,    58,
  1052.    582,   583,   584,  1100,   386,   743,   744,    59,   571,   314,
  1053.    939,   822,    60,    61,    62,    63,    64,   206,    65,    66,
  1054.     67,   208,   675,   676,   677,   678,   210,   441,   442,   443,
  1055.    444,   691,   697,   692,  1042,   693,   694,  1043,  1044,   568,
  1056.    569,   529,   805,   304,   390,   391,   160,   168,    69,    70,
  1057.    169,   170,   137,    72,   113,   305,   306,   307,    74,   308,
  1058.     76,    77,   111,    78,   309,   785,   786,   800,   551,  1125,
  1059.   1126,  1243,  1101,  1011,  1012,  1013,   632,  1127,  1128,  1183,
  1060.   1311,  1245,  1129,  1130,  1267,  1325,  1184,  1312,  1185,  1314,
  1061.   1186,  1316,  1376,  1392,  1338,  1369,  1296,  1340,  1250,   382,
  1062.    629,  1098,  1131,  1197,  1299,  1176,  1309,  1349,  1375,  1294,
  1063.   1328,  1132,  1289,  1199,   750,  1342,  1343,  1344,  1386,   650,
  1064.    801,   652,   653,   654,   604,   655,   130,   890,  1257,   708,
  1065.    709,   463,    80,    81
  1066. };
  1067.  
  1068. static const short yypact[] = {    97,
  1069.    116,-32768,-32768,  8850,-32768,    40,-32768,   288,    73,-32768,
  1070. -32768,   624,-32768,-32768,   296,   300,   313,-32768,   229,-32768,
  1071.    835,   612,  1146,  4474,-32768,   164,   228,-32768,  2545,  2545,
  1072. -32768,  1682,-32768,-32768,   317,-32768,   183,   182,  2615,-32768,
  1073. -32768,-32768,-32768,   389,   243,   383,-32768,-32768,   414,  1529,
  1074. -32768,  3016,-32768,  1349,   217,-32768,   431,-32768,-32768,  1163,
  1075. -32768,-32768,-32768,   406,-32768,-32768,   420,  1796,-32768,-32768,
  1076.    471,-32768,-32768,-32768,   359,-32768,-32768,-32768,   122,  5657,
  1077. -32768,-32768,-32768,-32768,  7811,  9178,-32768,   288,   164,   228,
  1078.    382,   436,   383,-32768,   122,-32768,   122,  7811,  7811,   423,
  1079. -32768,   240,-32768,-32768,-32768,-32768,   395,   288,   164,   228,
  1080. -32768,   569,-32768,   644,   644,-32768,-32768,  3469,  4823,   250,
  1081. -32768,  7639,-32768,  2622,-32768,   786,   366,  2622,-32768,   685,
  1082.   3130,  3130,  1682,   412,   415,   450,   442,   463,-32768,   572,
  1083. -32768,   472,-32768,  8910,    65,  3469,  9222,   603,   756,   543,
  1084.    609,   177,   136,   548,-32768,-32768,   534,   537,    38,-32768,
  1085. -32768,  3202,  3202,  4066,  1043,   298,-32768,-32768,   445,-32768,
  1086. -32768,   359,-32768,-32768,-32768,-32768,  1349,   320,-32768,   431,
  1087.   1739,-32768,-32768,-32768,  1424,  1349,-32768,   431,-32768,  3469,
  1088. -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1089. -32768,-32768,   383,   800,  1016,   406,-32768,-32768,-32768,  1925,
  1090. -32768,   925,   122,-32768,   270,   885,-32768,-32768,-32768,-32768,
  1091.   3282,-32768,    81,-32768,   547,   550,-32768,-32768,-32768,-32768,
  1092.    598,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1093. -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1094. -32768,-32768,-32768,   562,-32768,-32768,   925,  1796,   506,   586,
  1095. -32768,-32768,  8417,  8503,-32768,-32768,-32768,-32768,-32768,-32768,
  1096.    590,   601,   614,   618,   625,  7897,   685,  8589,-32768,-32768,
  1097.   8589,-32768,-32768,  8589,  6100,-32768,   140,-32768,  8589,-32768,
  1098.   7983,-32768,  9443,-32768,  1195,   704,  8069,-32768,   675,  1417,
  1099. -32768,   689,  2013,  3730,-32768,   338,-32768,  1008,  1105,  3469,
  1100.    250,-32768,-32768,   685,   597,-32768,   604,   655,  9375,   633,
  1101.    637,   640,   847,   745,-32768,   472,-32768,   569,   288,   692,
  1102. -32768,-32768,-32768,   644,-32768,-32768,-32768,  9332,-32768,   406,
  1103. -32768,-32768,-32768,   231,-32768,   218,-32768,-32768,-32768,  2622,
  1104. -32768,-32768,  2622,-32768,   665,-32768,-32768,  3282,    59,   695,
  1105.    698,  9178,-32768,-32768,-32768,-32768,   543,  1176,-32768,-32768,
  1106. -32768,-32768,-32768,-32768,   457,-32768,-32768,-32768,   105,-32768,
  1107. -32768,-32768,-32768,  6186,  7897,-32768,-32768,-32768,-32768,  7897,
  1108.    683,-32768,  5492,   801,  3787,-32768,  3787,-32768,  3853,  3853,
  1109.   4066,   706,-32768,-32768,-32768,   885,  3469,-32768,   705,-32768,
  1110. -32768,  4278,  1424,  1349,  3469,-32768,-32768,-32768,   885,-32768,
  1111. -32768,   431,  1424,-32768,   543,-32768,-32768,-32768,-32768,-32768,
  1112. -32768,  1158,-32768,   612,-32768,  7897,-32768,   367,   881,  9014,
  1113.     35,  4006,-32768,   124,   543,   925,-32768,  2527,   727,   431,
  1114. -32768,-32768,-32768,   724,   729,-32768,-32768,   925,-32768,-32768,
  1115.    399,-32768,-32768,  7897,   586,  6100,-32768,   348,  6100,-32768,
  1116.   8589,  7811,-32768,-32768,-32768,-32768,  9349,-32768,-32768,-32768,
  1117. -32768,   738,  8675,  8675,  6100,   757,   412,   766,   823,   778,
  1118.   7811,-32768,-32768,  6008,  6100,-32768,  7897,  7897,  6272,  7897,
  1119.   7897,  7897,  7897,  7897,  7897,  7897,  7897,  7897,  7897,  7897,
  1120.   7897,  7897,  7897,  7897,  7897,  7897,  7897,  7897,-32768,-32768,
  1121. -32768,-32768,-32768,  7897,  7897,  7897,  7811,  4343,   284,   731,
  1122.   6788,-32768,-32768,-32768,   840,   888,   424,   441,  1037,   366,
  1123. -32768,  2302,  2302,-32768,  3076,   791,   822,   872,-32768,-32768,
  1124.    499,  7276,  1606,-32768,   444,-32768,-32768,  7897,-32768,-32768,
  1125. -32768,-32768,    57,-32768,-32768,-32768,   856,   862,-32768,-32768,
  1126.    685,-32768,  6616,  6702,-32768,-32768,-32768,-32768,-32768,-32768,
  1127. -32768,   138,-32768,   838,-32768,   828,   472,   880,-32768,-32768,
  1128. -32768,   870,   308,   895,-32768,-32768,  1567,  9222,  1567,  2459,
  1129.   1163,  2362,-32768,-32768,   898,-32768,-32768,-32768,-32768,   857,
  1130. -32768,   912,-32768,-32768,-32768,   457,-32768,-32768,-32768,-32768,
  1131. -32768,-32768,   913,   915,   917,   929,   431,    76,   930,   823,
  1132. -32768,-32768,-32768,   891,-32768,  5744,  9349,-32768,   655,   884,
  1133.   9375,-32768,-32768,   896,-32768,-32768,   901,   189,  2792,   903,
  1134. -32768,   204,  9074,   943,   948,-32768,-32768,  3787,  3787,-32768,
  1135.   4278,   431,-32768,-32768,   907,   801,-32768,  1424,-32768,   431,
  1136.    457,-32768,   944,-32768,   964,-32768,-32768,   261,-32768,  9349,
  1137. -32768,-32768,-32768,-32768,   977,   622,-32768,  7897,  4673,   543,
  1138.    986,-32768,-32768,-32768,   279,   452,   988,-32768,   543,   989,
  1139. -32768,-32768,-32768,-32768,   286,-32768,  4121,-32768,   145,   572,
  1140.    992,   431,-32768,-32768,   364,   364,   364,   967,   972,  8159,
  1141.    872,   973,-32768,   974,   976,  2527,  2527,  2527,  2527,-32768,
  1142.    979,-32768,-32768,   980,-32768,-32768,   996,   712,    39,   328,
  1143.   7897,  1022,-32768,   991,   984,  9349,  9349,-32768,-32768,  1033,
  1144.   9461,  4349,  3589,  2144,  2250,  4153,  3772,  1437,  1437,  1437,
  1145.    951,   951,   673,   673,    20,    20,    20,-32768,-32768,   990,
  1146.    998,  1001,   993,  1005,  2527,   284,-32768,  6186,  7897,-32768,
  1147. -32768,-32768,  7897,-32768,-32768,  1021,  8589,  1006,  1029,  1072,
  1148. -32768,  7897,-32768,  7897,  2962,-32768,  2962,-32768,   115,  1017,
  1149.   1020,-32768,  1018,  2527,   801,-32768,   801,  3172,-32768,  1854,
  1150.   1023,  7459,  7459,  5294,  1028,  7983,  1030,  1105,  1041,  7897,
  1151.    685,  1032,   862,-32768,  9349,-32768,  9349,   847,  1042,  8245,
  1152. -32768,  1036,-32768,-32768,  9332,-32768,  2560,  2025,  2025,  8970,
  1153. -32768,-32768,-32768,-32768,-32768,-32768,   337,-32768,   420,-32768,
  1154.    431,-32768,-32768,-32768,-32768,  1176,-32768,-32768,   164,   228,
  1155.   7897,  1092,-32768,   448,   464,   512,   105,-32768,    42,-32768,
  1156. -32768,-32768,    18,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1157.   7369,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1102,
  1158.   6186,  1103,-32768,  1109,   431,-32768,  7811,-32768,-32768,-32768,
  1159. -32768,  1154,  7897,  7897,   101,  9253,-32768,   359,  1049,-32768,
  1160.   1932,   457,   457,  2678,  1027,  4779,   431,  2527,-32768,    63,
  1161. -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  1101,
  1162.   1107,  1108,  1116,   857,-32768,  9327,  6186,  5836,  1076,-32768,
  1163.   7897,-32768,-32768,-32768,-32768,   379,  1085,-32768,-32768,  1086,
  1164.     51,   255,   255,  1097,   255,-32768,-32768,  8589,  1187,-32768,
  1165.   1106,  1110,-32768,-32768,-32768,-32768,-32768,-32768,   801,  1111,
  1166. -32768,  1099,-32768,-32768,   900,-32768,  9349,-32768,-32768,  1114,
  1167. -32768,-32768,   151,  1117,-32768,-32768,-32768,  2226,  2226,  2817,
  1168.   2817,  8970,-32768,  2861,  1925,  1176,-32768,  1118,-32768,    76,
  1169. -32768,  7897,-32768,  7897,-32768,  7897,-32768,   685,-32768,-32768,
  1170.   4927,  1182,-32768,  5922,-32768,  7549,  7549,  5387,   462,  1119,
  1171.    552,  6186,-32768,-32768,-32768,  1159,  1121,  1122,  1158,-32768,
  1172. -32768,-32768,  9253,  9253,   286,-32768,-32768,-32768,  1169,   716,
  1173.   7897,-32768,-32768,-32768,   543,   543,   431,   431,-32768,  5052,
  1174.    898,-32768,-32768,  6186,-32768,-32768,-32768,-32768,  6186,-32768,
  1175.   7897,  1170,-32768,-32768,  9349,   534,  7897,-32768,   379,-32768,
  1176. -32768,-32768,-32768,-32768,-32768,  1125,-32768,  1190,-32768,-32768,
  1177.    801,-32768,-32768,-32768,  7897,-32768,-32768,  2226,  2226,  2861,
  1178.     44,-32768,-32768,-32768,  1136,  1139,  1142,-32768,-32768,   468,
  1179. -32768,   149,  1189,   892,-32768,-32768,-32768,-32768,-32768,  7897,
  1180.   1196,  1203,  1204,  7725,   150,   371,-32768,-32768,  1259,  1209,
  1181. -32768,  3379,  9118,  3564,  5203,-32768,-32768,  1256,-32768,-32768,
  1182. -32768,  6894,-32768,-32768,  1167,  1532,-32768,  6186,  6186,-32768,
  1183. -32768,-32768,-32768,-32768,-32768,   431,   101,  7897,  7897,  9253,
  1184.    457,   457,   898,   898,-32768,-32768,  1183,  1184,  1185,  1186,
  1185. -32768,  9398,  6186,   534,-32768,  1165,-32768,-32768,-32768,   801,
  1186.   1177,-32768,-32768,-32768,-32768,  1194,   685,-32768,-32768,-32768,
  1187. -32768,-32768,-32768,-32768,   823,  1192,  1200,  5113,-32768,-32768,
  1188. -32768,-32768,  1237,  7897,  1241,-32768,   823,-32768,  1211,-32768,
  1189. -32768,   559,   662,-32768,   740,   543,  8331,   776,   808,   154,
  1190. -32768,-32768,-32768,-32768,-32768,-32768,   560,-32768,-32768,  6186,
  1191.    898,   286,  9253,  9253,-32768,   431,   431,-32768,-32768,  7897,
  1192.   7897,  7897,  7897,  6186,-32768,-32768,-32768,-32768,-32768,-32768,
  1193.    531,   531,  7185,-32768,  1285,  5597,  7811,  7897,-32768,  6999,
  1194. -32768,  1246,-32768,-32768,   572,-32768,   457,-32768,-32768,   457,
  1195.   8761,  8761,  6358,-32768,-32768,-32768,   823,-32768,-32768,   431,
  1196. -32768,-32768,   898,   898,  1201,  1202,  1205,  1208,-32768,-32768,
  1197. -32768,  7811,-32768,-32768,-32768,-32768,    42,-32768,-32768,  1247,
  1198. -32768,  1213,   178,  3469,  9421,  6999,-32768,-32768,-32768,    50,
  1199. -32768,   898,-32768,-32768,-32768,-32768,-32768,-32768,  1218,  1215,
  1200.    823,  7092,-32768,   555,-32768,-32768,-32768,-32768,   543,-32768,
  1201. -32768,  1194,  1307,  1266,-32768,-32768,  4597,-32768,-32768,-32768,
  1202.     42,-32768,-32768,-32768,  7897,  1269,  6444,   823,   457,  6999,
  1203.   1239,   143,  1271,-32768,-32768,-32768,  1227,  1230,   823,-32768,
  1204. -32768,  1232,-32768,-32768,  1282,-32768,-32768,   431,-32768,  7897,
  1205.   1307,  1283,  1307,-32768,-32768,-32768,-32768,-32768,-32768,  1284,
  1206.   1244,   208,-32768,-32768,-32768,  6530,-32768,-32768,-32768,  1343,
  1207.   1295,-32768,  1252,  6186,-32768,   162,-32768,-32768,-32768,  1351,
  1208.   1304,  7092,-32768,-32768,-32768,-32768,  1363,  1365,-32768
  1209. };
  1210.  
  1211. static const short yypgoto[] = {-32768,
  1212.   1366,-32768,  -294,-32768,  1003,     2,  1369,-32768,-32768,-32768,
  1213. -32768,  1368,  1045,-32768,-32768,-32768,-32768,-32768,   542,-32768,
  1214. -32768,-32768,-32768,-32768,-32768,-32768,  -809,  1236,   752,-32768,
  1215. -32768,  1242,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1216.    390,   223,-32768,-32768,-32768,  4560,   -58,-32768,  1261,   904,
  1217.  -1001,-32768,  -118,   227,-32768,   297,-32768,   161,-32768, -1205,
  1218. -32768, -1165,    13,  1398,  -199,  -239,-32768,-32768,  -715,  2893,
  1219.    672,  2474,  3277,   -48,   508,   186,-32768,-32768,-32768,-32768,
  1220. -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,  -305,-32768,
  1221.   -139,-32768,-32768,   163,   -34,  -276,   141,    14,  -231,  -132,
  1222.      5,    47,  -169,    -4,   -72,  -672,   285,-32768,  -186,-32768,
  1223. -32768,  -206,-32768,-32768,-32768,-32768,-32768,   669,   278,   -43,
  1224. -32768,   579,-32768,-32768,  -500,  -159,   774,   -12,-32768,-32768,
  1225. -32768,   592,  -319,     4,  1374,  1377,-32768,-32768,-32768,-32768,
  1226. -32768,  -144,-32768,   388,   517,-32768,   578,   439,   519,  -439,
  1227. -32768,-32768,-32768,-32768,-32768,-32768,   997,-32768,   524,   869,
  1228.    620,   914,  1273,     7,    11,  -394,  1275,  1799,   -56,    28,
  1229. -32768,  1690,  -110,   582,   -57,  3151,  1145,-32768,  3909,  1346,
  1230.    210,  -399,  1438,  3783,  2123,  -126,-32768,  3654,-32768,-32768,
  1231.    326,  -614, -1038,-32768,-32768,   440,   588,  -163,-32768,-32768,
  1232. -32768, -1194, -1062, -1209,-32768,-32768,-32768,-32768,-32768,-32768,
  1233. -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
  1234. -32768,-32768,-32768,-32768,-32768,   167,-32768,-32768,-32768,   -54,
  1235. -32768,-32768,-32768,-32768, -1197,    92,-32768,    99,-32768,  -632,
  1236.   -337,-32768,-32768,  -333,   807,  -331,  -194,-32768,   -61,   557,
  1237. -32768,   181,-32768,  -297
  1238. };
  1239.  
  1240.  
  1241. #define    YYLAST        9543
  1242.  
  1243.  
  1244. static const short yytable[] = {    54,
  1245.    359,   204,   702,   561,   603,    35,   605,   414,    52,   216,
  1246.     68,   564,   432,   192,   665,   165,   869,    50,   601,    54,
  1247.    351,   354,   222,   467,   470,   259,   553,   120,   119,   450,
  1248.     68,   586,   679,  1285,    54,   124,   128,   118,   388,    94,
  1249.    316,   189,   446,   147,   413,    68,   997,   177,  1290,    94,
  1250.     53,   496,   146,   423,   333,   651,   909,   337,   533,   159,
  1251.    948,   431,  1213,   212,  1164,   335,   336,   533,   700,  1216,
  1252.     53,   533,  1301,  1008,  1014,   257,  1310,   700,   857,     8,
  1253.    303,    54,   392,   339,     8,    53,   258,   458,   375,   311,
  1254.    119,   266,    68,   303,   303,   541,    -1,    82,  -125,   310,
  1255.    517,   518,  1333,   406,   848,   630,   597,   451,    25,  1323,
  1256.    122,   367,   421,   424,   177,    -2,  1330,   303,    86,   419,
  1257.    858,  1315,   365,  1015,   877,     8,   256,    25,   393,   859,
  1258.    860,  1356,    53,   458,   109,   110,   192,   350,   353,    54,
  1259.    701,   720,   177,  1357,   192,    83,   159,  1009,    52,  1172,
  1260.     68,   803,    87,   103,  1324,  1071,   222,    50,   453,   215,
  1261.    631,   597,  1164,   612,   189,  1350,   861,  1053,   395,   397,
  1262.    366,   878,   189,   189,   879,   109,   110,   970,  1383,   159,
  1263.    383,   703,  1333,   183,   184,   640,  1092,  1297,   627,    12,
  1264.     53,   721,   566,   647,   828,   606,   491,   384,   877,   189,
  1265.    663,   918,  1361,   104,   105,    54,  1179,  1085,   669,   880,
  1266.     18,  1179,   492,   883,   440,   633,    68,   136,  1390,   735,
  1267.     22,   108,   541,   439,   638,   301,   385,  1194,   866,   704,
  1268.   1068,   101,   670,  1321,    92,   122,   377,   142,   320,   322,
  1269.    141,   530,   829,   107,   189,   878,  1313,  1362,   879,   919,
  1270.   -730,   537,   222,   212,  1180,  1086,    53,   561,   108,  1266,
  1271.    884,   451,   301,   885,   718,   900,  1391,  1380,   720,   378,
  1272.    333,   109,   110,   190,   191,   565,   591,  1359,   143,   123,
  1273.    303,   668,   201,   880,   220,   590,  1346,   491,   351,   354,
  1274.    189,   257,   832,  1351,   901,   453,   324,   325,   886,   212,
  1275.    155,  -320,   258,   607,   220,   616,    25,  -150,   109,   110,
  1276.     13,    14,  1381,   597,   447,  -370,   136,   136,   136,   603,
  1277.    597,   605,   781,   220,   770,   734,   772,   773,   777,   180,
  1278.   1377,   188,   782,   600,  -320,   220,  1382,   215,  -320,    84,
  1279.    421,   424,   256,  -370,   602,   778,   783,  -370,   340,   136,
  1280.    421,   651,   348,  1167,   407,   408,  1396,    54,   819,    85,
  1281.    448,     7,     8,   671,   835,   120,   119,   108,    68,   108,
  1282.    451,  -320,   553,   424,   779,   118,   415,   416,   192,   123,
  1283.    836,   220,   557,   705,   599,   424,    98,  -126,   649,   681,
  1284.     99,  -370,   541,   -43,   317,   321,   180,    20,   -43,   602,
  1285.    189,   189,   108,   100,   690,   658,   659,   140,    53,   -43,
  1286.    189,   151,    26,    27,   220,    25,   972,   109,   110,   109,
  1287.    110,   597,   682,   777,   180,   490,   683,   430,   558,   851,
  1288.   1196,   459,   220,   189,   156,   177,   217,    54,   720,   599,
  1289.    778,   460,   122,   707,    31,   189,   440,     8,    68,  1203,
  1290.    327,  1209,   109,   110,   188,   439,   328,   597,  -517,   684,
  1291.     17,   303,   422,   188,   303,   207,   868,   303,   791,   779,
  1292.   1067,   214,   651,   530,  -321,   209,   217,   896,   596,   898,
  1293.    303,    13,    14,   902,   895,   793,   303,   313,    53,  -517,
  1294.    303,   315,  1001,  -734,  1187,  -734,  -734,   109,   110,   478,
  1295.   -734,   603,   679,   605,  -517,   158,  -254,  -321,  1003,   108,
  1296.    215,  -321,   561,   323,   792,   601,  -249,   220,   917,   356,
  1297.    564,   217,   303,   257,  1177,  1178,  -734,  -734,  -734,   215,
  1298.   -734,   794,  -734,   648,   258,  -517,   409,   458,  1002,   135,
  1299.    600,   158,   204,   809,  -321,   581,   357,   649,   795,   797,
  1300.   1155,   602,  -254,  -254,  1004,   220,  1005,    25,   602,   109,
  1301.    110,  1076,   841,  -734,   845,   846,  -249,  -549,  1241,  1242,
  1302.    920,     7,   329,   459,   256,  1281,   496,    -7,   597,   950,
  1303.    262,   486,   597,   460,   136,   136,   136,   189,   706,   810,
  1304.    811,   599,   961,   177,   962,   421,  -554,   212,   599,  1334,
  1305.    866,   215,  1006,   597,  -255,   387,   719,    20,   597,   722,
  1306.    702,   376,   725,   138,   846,   108,  1256,   215,   949,    94,
  1307.     25,  1282,    26,    27,  1280,   490,    87,    88,   910,   679,
  1308.    984,   301,   340,   912,   913,   745,   189,   915,   454,   352,
  1309.    355,   455,  -554,  -554,   389,  1335,     7,   329,   600,   597,
  1310.   -255,  -255,  1228,  1229,    31,   189,  -554,   456,   369,   602,
  1311.    370,   998,   371,    25,  -252,   109,   110,   774,   192,   457,
  1312.    220,   135,   473,    84,   721,    25,   464,    89,    90,    91,
  1313.    472,   904,    20,   533,   600,   474,   642,    87,   103,   475,
  1314.    422,   188,   108,    85,   189,   602,   476,    26,    27,   599,
  1315.    422,  1337,   570,   633,  1029,  1030,  1031,     8,   572,    10,
  1316.     11,   573,   138,   138,   138,    12,   742,   180,   407,  1258,
  1317.   1269,   707,   707,   707,   707,  1047,  1048,   712,  1048,    31,
  1318.     15,  1023,    16,   541,   108,   599,    18,   575,   104,   105,
  1319.     25,   576,   109,   110,   577,   138,    22,   585,   220,   589,
  1320.    514,   515,   516,   517,   518,    25,   542,   109,   110,   526,
  1321.    597,   222,   486,    84,   220,   486,   543,    84,   724,   610,
  1322.    707,  -124,  1303,  1304,   951,  1149,   544,  1060,  1063,   545,
  1323.    546,   486,    25,    85,   109,   110,   597,    85,     7,   108,
  1324.    643,   486,   488,   596,   527,   749,   415,  1259,   781,   707,
  1325.     -6,  1326,  1095,   613,  1096,   600,  1097,   451,   782,   649,
  1326.    660,   372,   664,   373,   834,   374,   602,   710,   795,   797,
  1327.    602,   771,   783,   847,    20,  1072,  1073,   788,  1075,   648,
  1328.    600,   713,   987,  1264,   215,   600,   714,    87,   103,    26,
  1329.     27,   602,   730,  1035,   988,   989,   602,   721,  1146,    87,
  1330.    103,   578,   579,   580,  1063,   427,   599,   428,   742,   429,
  1331.    599,   732,  1137,   217,   407,  1265,   930,   931,   932,   933,
  1332.    733,    31,    87,    88,   136,   180,   649,   188,   631,   351,
  1333.    354,   599,   735,   685,   686,  1171,   599,   602,   104,   105,
  1334.    106,   789,   303,   790,  1156,   922,   923,   924,   802,  1161,
  1335.    104,   105,     7,     8,   712,   351,   354,   352,   355,    13,
  1336.     14,    54,   804,   707,  -370,   947,   806,   820,   821,    20,
  1337.    440,    25,    68,    89,    90,   687,   188,   599,   830,   439,
  1338.    183,   184,    25,   831,    26,    27,    12,   833,    20,   712,
  1339.    688,  -370,  -370,    84,   745,   422,  -370,   712,   162,   479,
  1340.    648,  1182,   480,    26,    27,   481,   837,    18,   163,   384,
  1341.    493,  -252,    53,    85,  1226,  1227,    31,    22,   532,   850,
  1342.    852,   689,   853,   488,   854,   596,   488,   453,  1218,  1219,
  1343.    138,   138,   138,  1151,  1152,    31,   855,   600,   874,   377,
  1344.     54,   352,   731,   603,   870,  1348,  1088,  1089,   602,   440,
  1345.    875,    68,   488,  1235,  -729,   876,  1124,   882,   439,   891,
  1346.      7,     8,  1119,   649,   893,  1123,   721,    68,    87,    88,
  1347.    899,  1244,  1088,  1089,   602,   136,   512,   513,   514,   515,
  1348.    516,   517,   518,  1254,   897,  1270,   903,  1028,   599,     7,
  1349.    108,    53,   911,   404,   914,    54,    20,   938,   916,  -103,
  1350.    581,    13,    14,   921,   440,  -123,    68,    53,   706,   817,
  1351.   1268,    26,    27,   439,   599,  -734,   136,  -734,  -734,    89,
  1352.     90,   925,  -734,   670,  1279,    20,   926,   927,   928,   954,
  1353.    929,   937,  -103,   934,   935,  1222,  -103,  1202,   940,  1208,
  1354.     26,    27,   941,    31,   942,   597,    53,   945,  -734,  -734,
  1355.    405,   215,  -734,  1244,  -734,   943,   944,   559,     8,   946,
  1356.    486,   189,   956,   958,   959,  1300,   960,   220,   177,  -103,
  1357.   1124,   965,    31,   458,   966,   967,  1119,  1124,   712,  1123,
  1358.    971,    68,   973,  1119,   974,  -734,  1123,   979,    68,   266,
  1359.    560,   985,   723,    20,  1260,   976,   982,  1244,  1000,   108,
  1360.    351,   354,  1358,  1038,   479,   480,    25,     8,   109,   110,
  1361.   1062,     8,   672,  1022,  1024,    87,    88,   193,   194,   195,
  1362.   1025,    53,   712,  1055,  1244,   136,   136,   136,    53,  1056,
  1363.   1057,  1064,   673,   712,   220,  1366,   673,   112,  1058,  1069,
  1364.   1070,   674,  1078,  1027,   712,   196,   135,    25,   617,   109,
  1365.    110,   136,   136,   136,  1074,    25,  1083,   109,   110,    25,
  1366.   1079,   109,   110,  1008,  1080,  1082,    89,    90,   197,  1084,
  1367.   1140,  1087,  1093,  1136,  1389,  1141,  1142,   817,  1148,  1163,
  1368.   1099,   618,  1168,   619,  1169,   620,  1062,   621,  1124,   519,
  1369.   1173,  1124,  1293,  1174,  1119,  1124,  1175,  1123,  1181,    68,
  1370.   1123,  1119,    68,   258,  1123,  1189,    68,  1339,   303,  1319,
  1371.   1190,  1191,   198,   199,   200,  1198,  1200,   658,   659,  1214,
  1372.    138,  1217,  1237,  1230,  1231,  1232,  1233,  1293,   520,   521,
  1373.    189,  1238,  1246,   522,   523,   524,   525,  1239,   258,    53,
  1374.   1247,  1124,    53,   256,  1251,   856,    53,  1119,  1253,  1286,
  1375.   1123,  1255,    68,  1298,  1317,  1305,  1306,  1124,  1327,  1307,
  1376.    712,   712,  1308,  1119,   486,  1341,  1123,  1318,    68,  1329,
  1377.    352,   731,   600,  1345,   712,   712,  1353,  1363,   256,  1360,
  1378.    892,  1364,  1293,   602,  1365,  1124,  1367,  1195,   894,  1368,
  1379.   1373,  1119,    53,   258,  1123,  1378,    68,   135,  1379,    75,
  1380.    221,  1385,  1387,   182,   183,   184,  1388,    95,    53,  1393,
  1381.     12,  1394,  1398,  1166,  1399,     1,   615,    95,   114,    75,
  1382.      5,    37,   588,   599,   126,   126,   986,   126,    17,   363,
  1383.    867,    18,   344,   256,    75,   364,    53,  1124,  1020,  1094,
  1384.   1236,    22,   136,  1119,   736,   172,  1123,    75,    68,  1240,
  1385.    180,   188,  1284,   490,  1395,   205,   981,  1205,  1288,   873,
  1386.   1193,   358,   148,    95,   980,   149,  1143,   534,  1032,     7,
  1387.    329,   138,   535,   712,   223,    95,   995,   712,   420,   183,
  1388.    184,    75,   394,  1091,  1050,    12,   698,  1049,    53,   823,
  1389.    978,   776,    95,   410,   538,   412,   136,   136,   136,    96,
  1390.   1212,  1133,  1372,    17,  1007,    20,    18,   114,   957,   889,
  1391.    114,  1374,   138,   172,    95,  1322,    22,   596,    25,   126,
  1392.     26,    27,   346,   126,  1052,     0,   126,   126,   126,     0,
  1393.      0,     0,     0,   479,   480,     0,     0,     0,     0,    75,
  1394.   1252,   172,    75,     0,     0,     0,     0,     0,   352,   355,
  1395.    712,   712,   536,   712,   712,     0,     0,   172,   172,   172,
  1396.    510,   511,   512,   513,   514,   515,   516,   517,   518,   996,
  1397.      0,     0,     0,     0,   352,  1135,  1275,  1276,  1277,  1278,
  1398.      0,     7,     8,     0,     0,   172,     0,     0,     0,     0,
  1399.      0,  -255,   749,  1291,     0,     0,     0,   712,     0,     0,
  1400.      0,     0,     0,     0,     0,    75,  -255,  -255,    95,   486,
  1401.      0,  -255,     0,  1026,     0,     0,   126,    20,     0,     7,
  1402.      8,   138,   138,   138,  1036,     0,  -255,     0,  1291,     0,
  1403.     25,     0,    26,    27,     0,  1051,   161,     0,  -255,  -255,
  1404.   -255,  -255,     0,  -255,     0,     0,   162,   138,   138,   138,
  1405.      0,     0,     0,    95,   461,    20,   163,     0,     0,     0,
  1406.      0,   541,  -513,     0,    31,  -513,     0,     0,    25,   164,
  1407.     26,    27,  -255,  -255,     0,     0,  -255,     0,     0,  1077,
  1408.      0,  1352,     0,  1291,   838,   712,  -255,     0,     0,     0,
  1409.      0,    95,     0,     0,   839,   539,     0,   461,   461,   555,
  1410.    806,     0,    31,     0,   544,   172,  1371,   840,   546,     0,
  1411.      0,     0,  -513,     0,     0,  -513,     0,  -513,     0,     0,
  1412.      0,     0,   749,   114,     0,   661,     0,     0,  -513,   114,
  1413.      0,     0,   666,    95,     7,   108,     0,   479,   480,     0,
  1414.      0,     0,     0,    71,     0,   126,  -513,  -513,   126,     0,
  1415.   -513,  1144,  1145,   126,     0,     0,     0,    75,     0,     0,
  1416.   -513,     0,     0,   121,  1020,  1153,  1154,     0,   125,   129,
  1417.     20,     0,     0,     0,     0,     0,     0,     0,   150,     0,
  1418.      0,   715,   716,    25,   717,    26,    27,     0,     0,   417,
  1419.    172,   181,   172,     0,   172,   172,   172,     0,     0,   131,
  1420.      0,     0,   172,     0,     0,     0,     0,   172,     0,   132,
  1421.    172,  -734,     0,  -734,  -734,     0,     0,    31,  -734,   352,
  1422.   1135,     0,   133,     0,     0,   312,     0,    95,     0,   114,
  1423.      0,     0,   639,     0,   172,    75,     0,    75,   138,     0,
  1424.    639,     0,     0,    95,  -734,  -734,   418,   215,  -734,     8,
  1425.   -734,    10,   211,     0,     0,     0,     0,    12,     0,     0,
  1426.      0,     0,     0,   345,  1221,     0,     0,   347,  1225,     0,
  1427.    807,   808,    15,     0,    16,   807,     0,     0,    18,     0,
  1428.      0,  -734,     0,    71,     0,     0,   368,     0,    22,     0,
  1429.      0,     0,   138,   138,   138,     0,     0,    25,     0,   109,
  1430.    110,   125,   129,     0,     0,     0,     0,     8,   116,    10,
  1431.     11,   639,     0,   645,     0,    12,     0,     0,     0,     0,
  1432.      0,     0,     0,    95,     0,   461,     0,     0,     0,     0,
  1433.     15,     0,    16,    17,     0,   539,    18,   461,   461,     0,
  1434.    555,  1271,  1272,     0,  1273,  1274,    22,    75,     0,   445,
  1435.      0,     0,     0,     0,     0,    25,     0,   109,   110,     0,
  1436.    452,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1437.      0,   639,     0,   639,   639,   433,     0,     7,     8,   116,
  1438.     10,    11,   479,   480,  1039,  1040,    12,    95,  1302,     0,
  1439.      0,     0,   172,    75,   172,   172,   205,   555,   646,   639,
  1440.      0,    15,     0,    16,    17,   639,     0,    18,  -465,   905,
  1441.    396,   398,   402,    20,     0,     0,     0,    22,   434,     0,
  1442.     20,     0,     0,     0,     0,     0,    25,     0,    26,    27,
  1443.      0,     0,   435,    25,   436,    26,    27,     0,     0,     0,
  1444.      0,  1041,    29,     0,   172,     0,     0,     0,    75,   162,
  1445.      0,     0,    30,   172,   172,     0,   172,     0,     0,   163,
  1446.     31,     0,     0,     0,     0,    32,   108,    31,   183,   184,
  1447.      0,     0,   164,     0,    12,     0,  1370,     7,     8,     0,
  1448.   -465,    11,     0,     0,   908,     0,     0,     0,     0,   608,
  1449.      0,     0,   609,     0,     0,    18,     0,   611,     0,     0,
  1450.      0,   121,   461,   952,   953,    22,   955,   541,     0,     0,
  1451.    461,   461,   461,    20,    25,     0,   109,   110,     0,   541,
  1452.      0,    95,    95,    95,    95,     0,    25,     0,    26,    27,
  1453.    542,   969,     0,     0,   345,     0,   347,     0,     0,     0,
  1454.    543,     0,   838,     0,     0,     0,     0,     0,     0,     0,
  1455.    544,   452,   839,   552,   546,     0,     0,     0,     0,     0,
  1456.     31,     0,   544,     0,   994,   840,   546,   639,     0,     0,
  1457.     95,     0,     0,     0,     0,     0,    79,     0,   696,   699,
  1458.      0,   445,     0,     0,    97,     0,     0,     0,     0,     0,
  1459.    461,     0,   461,     0,    97,   115,    79,     0,     0,    95,
  1460.      0,   127,   127,   461,   127,    95,     0,    75,    75,    75,
  1461.      0,    79,     0,   975,     0,     0,     0,     0,     0,     0,
  1462.      0,     0,   127,     0,    79,     0,   639,     0,     0,     0,
  1463.     95,     0,    95,   172,   172,   908,     0,     0,     0,   639,
  1464.    213,   639,     0,   656,     0,   657,     0,   396,   398,   402,
  1465.      0,     0,   213,     0,     0,     0,     0,     0,    79,     0,
  1466.    667,   504,   505,   506,   507,   508,   509,   510,   511,   512,
  1467.    513,   514,   515,   516,   517,   518,   908,   639,     7,     8,
  1468.      0,     0,   211,     0,   334,     0,     0,   695,  1081,     0,
  1469.    127,   213,     0,     0,     0,     0,   127,    95,     0,     0,
  1470.    127,     0,     0,   127,   127,   127,   172,     0,   639,   126,
  1471.      0,    75,     0,    95,    20,  1090,    79,     0,   127,    79,
  1472.    541,     0,     0,     0,     0,     0,     0,    25,   639,    26,
  1473.     27,     0,     0,     0,   127,   127,   127,   844,     0,     0,
  1474.      0,     0,     0,   838,     0,     0,     0,   461,   461,     0,
  1475.    461,     0,     0,   839,     0,   108,     0,     0,    11,     0,
  1476.   1147,    31,   127,   544,     0,     0,   840,   546,   505,   506,
  1477.    507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
  1478.    517,   518,    79,   172,   172,   172,   172,   908,     0,   172,
  1479.     75,     0,   888,   127,     0,     0,   541,   608,   609,     0,
  1480.    611,     0,     0,    25,  1170,   109,   110,     0,     0,     0,
  1481.      0,   908,   908,   908,  -342,     8,  -342,    10,   211,   542,
  1482.      0,     0,     0,    12,    95,     0,     0,     0,     0,   543,
  1483.    213,   127,     0,     0,     0,     0,     0,     0,    15,   544,
  1484.     16,  -342,   545,   546,    18,    75,     0,     0,     0,   639,
  1485.   -342,   639,     0,   639,    22,     0,   541,     0,     0,     0,
  1486.      0,     0,     0,    25,     0,   109,   110,     0,   213,     0,
  1487.      0,     0,   540,     0,   127,   127,    79,     0,     0,   542,
  1488.      0,   563,   127,   172,   172,   172,     0,     0,     0,   543,
  1489.      0,     0,     0,     0,     0,     0,     0,  -342,     0,   544,
  1490.    334,     0,   545,   546,     0,     0,   656,   657,     0,   667,
  1491.    213,     7,     8,   182,   183,   184,     0,   172,    75,   172,
  1492.     12,     0,   127,     0,     0,   127,     0,     0,     0,     0,
  1493.    127,     0,   639,     0,    79,     0,     0,   402,    17,     0,
  1494.      0,    18,     0,     0,     0,     0,     0,    20,     0,     0,
  1495.      0,    22,     0,   541,     0,     0,     0,     0,     0,     0,
  1496.     25,     0,    26,    27,     0,     0,     0,   127,     0,   127,
  1497.      0,   127,   127,   127,     0,     0,   838,   125,   129,   127,
  1498.      8,     0,    10,    11,   127,     0,   839,   127,    12,     0,
  1499.      0,     0,     0,     0,    31,     0,   544,     7,   108,   840,
  1500.    546,    11,   908,    15,   213,    16,   115,     0,   293,    18,
  1501.      0,   127,    79,     8,    79,    10,     0,     0,     0,    22,
  1502.    213,    12,     0,     0,     0,     0,     0,     0,    25,     0,
  1503.    109,   110,     0,    20,     0,     0,    15,     0,    16,     0,
  1504.      0,     0,    18,     0,     0,   293,    25,     0,    26,    27,
  1505.   1046,     0,    22,  1046,   639,   445,   908,   908,   908,     0,
  1506.      0,    25,    29,   109,   110,   145,     0,     7,     8,   116,
  1507.     10,    11,    30,     0,     7,   108,    12,     0,   211,     0,
  1508.     31,     0,     0,     0,     0,    32,   396,   398,   402,   172,
  1509.      0,    15,     0,    16,    17,     0,     0,    18,     0,     0,
  1510.    213,     0,   127,    20,     0,     0,     0,    22,     0,     0,
  1511.     20,     0,     0,     0,   127,   127,    25,    79,    26,    27,
  1512.      0,     0,    95,    25,   818,    26,    27,   345,   347,   402,
  1513.   1039,   108,    29,   452,   445,   563,     0,     0,     0,    29,
  1514.      0,     0,    30,     0,     0,     0,     0,     0,     0,    30,
  1515.     31,     0,     0,     0,     0,    32,     0,    31,     0,  1045,
  1516.      0,     0,    32,     0,    97,     0,    20,     0,     0,   127,
  1517.     79,   127,   127,     0,    79,     0,     0,     0,     0,    25,
  1518.      0,    26,    27,     0,     0,     0,     0,  1041,     0,   445,
  1519.      0,     0,     0,     0,     0,    29,     0,     0,     0,   477,
  1520.    213,     0,     0,     0,     0,    30,     0,     0,     0,     0,
  1521.      0,     0,     0,    31,     0,     0,     0,     0,    32,     0,
  1522.      0,   127,     0,     0,     0,    79,     0,   608,   609,   611,
  1523.    127,   127,     0,   127,     0,     0,   656,   657,   396,   398,
  1524.    402,     0,   667,     0,     7,     8,   182,   183,   184,     0,
  1525.      0,     0,     0,    12,     0,     0,     0,     0,     0,     0,
  1526.      0,    79,  1206,     0,   396,   398,   402,     0,     0,     7,
  1527.      8,    17,     0,    11,    18,     0,     0,     0,     0,   127,
  1528.     20,     0,     0,     0,    22,     0,   541,   127,   127,   127,
  1529.      0,     0,     0,    25,     0,    26,    27,     0,   213,   213,
  1530.    213,   213,     0,     0,     0,    20,     0,   637,   641,   838,
  1531.      0,   541,     0,     7,     8,     0,   641,   451,    25,   839,
  1532.     26,    27,     0,     0,     0,     0,     0,    31,     0,   544,
  1533.      0,     0,   881,   546,   990,     0,   656,   657,   667,     0,
  1534.      0,     0,     0,     0,   991,     0,     0,   213,     0,    20,
  1535.      0,     0,    31,     0,   544,   541,     0,   992,   546,   680,
  1536.      0,     0,    25,     0,    26,    27,     0,   127,     0,   127,
  1537.      0,     0,     0,     0,     0,     0,   213,     0,   838,     0,
  1538.    127,     0,   213,     0,   818,   818,   818,   641,   839,     0,
  1539.    563,     0,     0,     0,     0,     0,    31,     0,   544,     0,
  1540.      0,   840,   546,     0,     0,     0,     0,   213,     0,   213,
  1541.    127,   127,    79,     0,   293,   108,     0,   637,   211,     0,
  1542.    746,   747,     0,   751,   752,   753,   754,   755,   756,   757,
  1543.    758,   759,   760,   761,   762,   763,   764,   765,   766,   767,
  1544.    768,   769,     0,     0,     0,     0,     0,   641,     0,   641,
  1545.    641,     0,     0,   818,     0,   402,   541,     0,     0,     0,
  1546.      0,     0,     0,    25,     0,   109,   110,     0,     7,     8,
  1547.    174,    10,   175,     0,   213,   641,     0,    12,     0,   542,
  1548.      0,   641,     0,   127,     0,     0,   127,     0,    79,   543,
  1549.    213,     0,    15,     0,    16,    17,   825,   827,    18,   544,
  1550.      0,     0,   545,   546,    20,     0,     0,     0,    22,   396,
  1551.    398,   402,     0,     0,     0,     0,     0,    25,     0,    26,
  1552.     27,     0,     0,   176,   127,   127,     0,   127,     0,     8,
  1553.    116,    10,    11,    29,     0,   645,     0,    12,     0,     0,
  1554.      0,     0,     0,    30,     0,     0,     0,     0,     0,     0,
  1555.      0,    31,    15,     0,    16,    17,    32,     0,    18,   637,
  1556.    127,   127,   127,   127,    79,     0,   127,    79,    22,     0,
  1557.    541,     0,   213,     0,     0,     0,     0,    25,     0,   109,
  1558.    110,     0,     7,   108,     0,     0,    11,     0,   818,   818,
  1559.    818,     0,     0,   542,     0,     0,     0,     0,     0,     0,
  1560.      0,   213,     0,   543,    73,     0,     0,     0,     0,     0,
  1561.      0,   906,     0,   544,     0,     0,   545,   546,    20,     0,
  1562.    646,     0,    79,     0,    73,   108,     0,     0,   451,    73,
  1563.     73,    25,    73,    26,    27,     0,     0,     0,     0,    73,
  1564.      0,     0,     0,   641,   547,   547,   547,   131,     0,     0,
  1565.     73,     0,    73,     0,     7,     8,     0,   132,    11,     0,
  1566.    127,   127,   127,     0,   936,    31,   541,     0,     0,     0,
  1567.    133,     0,     0,    25,     0,   109,   110,     0,     0,     0,
  1568.      0,     0,     0,     0,     0,     0,    73,     0,     0,   542,
  1569.     20,     0,     0,     0,   127,    79,   127,     0,     0,   543,
  1570.      0,   637,   641,    25,     0,    26,    27,     0,     0,   544,
  1571.      0,     0,   545,   546,     0,   641,     0,   641,    73,   162,
  1572.      0,     0,     0,     0,    73,     0,     0,     0,    73,   163,
  1573.     48,    73,    73,    73,     7,   108,     0,    31,   451,     0,
  1574.      0,     0,   164,   977,    73,     0,    73,    73,     0,     0,
  1575.     48,     0,     0,   641,     0,    48,    48,     0,   134,     0,
  1576.      0,     0,    73,    73,    73,    48,     0,     0,     0,     0,
  1577.     20,     0,     0,     0,     0,     0,    48,     0,    48,   818,
  1578.      0,     0,     0,    25,   641,    26,    27,     0,     0,     0,
  1579.     73,     0,     0,     0,     0,     0,     0,     0,     0,    29,
  1580.      0,   218,     0,     0,   641,     0,     0,     0,     0,    30,
  1581.     73,     0,    48,     0,   637,     0,     0,    31,     0,     0,
  1582.      0,    73,    32,     0,     0,     0,  1033,  1034,     0,     0,
  1583.      0,     7,     8,   818,   818,   818,     0,     0,   331,     0,
  1584.    331,   331,     0,     0,    48,     0,     0,     0,     0,     0,
  1585.     48,     0,   218,     0,    48,     0,     0,   134,   134,   134,
  1586.    637,   637,     0,     0,  1065,     0,   127,    20,     0,     0,
  1587.     48,     0,    48,    48,     0,     0,     0,     0,     0,     0,
  1588.     25,     0,    26,    27,   547,   547,  1201,   547,    48,    48,
  1589.    134,     0,     0,     0,   816,     0,   162,     0,   218,   213,
  1590.      0,     0,     0,     0,     0,     0,   163,     0,     0,   562,
  1591.     73,     0,     0,     0,    31,     0,    48,     0,     0,   164,
  1592.      0,     7,     8,     0,     0,   641,     0,   641,     0,   641,
  1593.      0,     0,     0,     0,     0,     0,    48,   637,     0,   547,
  1594.      0,   547,   547,     0,   547,   637,     0,    48,     0,     0,
  1595.     73,     0,     0,    73,     0,     0,     0,    20,    73,     0,
  1596.      0,     0,    73,     0,  1150,     0,     0,     0,     0,     0,
  1597.     25,     0,    26,    27,     0,     0,     0,   637,     0,     0,
  1598.      0,     0,   637,     0,  1162,     0,   162,     0,     0,     0,
  1599.      0,   547,     0,     0,     0,    73,   163,    73,     0,    73,
  1600.     73,    73,     0,     0,    31,     0,     0,    73,   641,   164,
  1601.      0,   487,    73,     0,     0,    73,     7,     8,   182,   183,
  1602.    184,     0,     0,     0,     0,    12,   331,     0,     0,     0,
  1603.      0,     0,     0,  1188,   218,     0,    48,     0,     0,    73,
  1604.     73,     0,    73,    17,     0,     0,    18,     0,     0,   547,
  1605.      0,     0,    20,     0,   331,     0,    22,     0,   541,     0,
  1606.    331,   637,   637,     0,     0,    25,     0,    26,    27,     0,
  1607.      0,  1223,  1224,     0,     0,     0,    48,     0,     0,    48,
  1608.      0,   162,     0,     0,    48,     0,   637,     0,    48,     0,
  1609.      0,   163,     0,     0,     0,     0,     0,     0,     0,    31,
  1610.      0,     0,     0,     0,  1207,   503,   504,   505,   506,   507,
  1611.    508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
  1612.    518,    48,     0,    48,     0,   134,   134,   134,     0,     0,
  1613.    641,     0,     0,    48,     0,     0,     0,   547,    48,   547,
  1614.    562,    48,     0,   637,     0,     0,     0,     0,     0,     0,
  1615.    547,     0,     0,     0,   816,   816,   816,   637,     0,     0,
  1616.      0,     0,     0,     0,     0,    48,    48,     0,    48,     0,
  1617.      0,  1295,     0,     0,     0,     0,     0,     0,     0,     0,
  1618.    547,   547,   547,     8,     0,    10,   211,     0,     0,     0,
  1619.      0,    12,   487,     0,     0,   487,     0,    73,    73,    73,
  1620.     73,     0,     0,     0,     0,     0,    15,     0,    16,   487,
  1621.    487,   487,    18,     0,     0,     0,     0,     0,     0,     0,
  1622.      0,   487,    22,   816,   541,     0,     0,     0,   865,     0,
  1623.      0,    25,     0,   109,   110,     0,     0,     0,     0,     7,
  1624.      8,     0,     0,   211,     0,     0,     0,   542,     0,    73,
  1625.      0,     0,     0,    73,     0,     0,     0,   543,    73,    73,
  1626.      0,    73,     0,     0,   139,   218,     0,   544,     0,     0,
  1627.    545,   546,     0,     0,     0,    20,     0,     0,   487,     0,
  1628.      0,     0,   173,     0,     0,     0,     0,     0,    25,    73,
  1629.     26,    27,   507,   508,   509,   510,   511,   512,   513,   514,
  1630.    515,   516,   517,   518,   162,     7,     8,   637,     0,    11,
  1631.      0,     0,     0,     0,   163,     0,     0,     0,     0,     0,
  1632.      0,     0,    31,    48,    48,    48,    48,   164,     0,     0,
  1633.    547,   547,   547,   547,   547,     0,   547,     0,     0,     0,
  1634.      0,    20,     0,     0,     0,     0,     0,     0,     0,     0,
  1635.    173,     0,     0,     0,    25,     0,    26,    27,   816,   816,
  1636.    816,     0,     0,   139,   139,   139,     0,     0,     0,     0,
  1637.    399,     0,     0,     0,     0,    48,     0,     0,   173,    48,
  1638.    400,     0,     0,     0,    48,    48,     0,    48,    31,     0,
  1639.      0,     0,     0,   401,   173,   173,   403,     0,     0,     0,
  1640.      0,     0,     0,     0,     0,   550,   554,   556,   171,     0,
  1641.      0,     0,     0,     0,     0,   134,     0,     0,   562,     0,
  1642.      0,     0,   173,     0,     0,     0,     0,     0,     0,     0,
  1643.    547,   547,   547,   219,     0,     0,     0,     0,    73,    73,
  1644.     73,     0,     0,     0,     0,     0,   487,     0,     0,     0,
  1645.      0,     0,     0,   219,     0,     0,   433,     0,     7,     8,
  1646.    116,    10,    11,     0,     0,     0,     0,    12,     0,     0,
  1647.      0,     0,     0,     0,     0,     0,   171,     0,     0,     0,
  1648.      0,  1021,    15,     0,    16,    17,     0,     0,    18,  -466,
  1649.      0,   462,     0,     0,    20,     0,     0,     0,    22,   434,
  1650.      0,     0,     0,     0,   171,     0,     0,    25,     0,    26,
  1651.     27,    73,     0,   435,    73,   436,    73,     0,     7,     8,
  1652.    171,   171,   171,    29,     0,     0,     0,     0,     0,     0,
  1653.    411,     0,     0,    30,   549,   549,   549,     0,   487,   487,
  1654.    487,    31,   173,     0,     0,     0,    32,     0,   171,     0,
  1655.      0,     0,     0,     0,    20,     0,     0,     0,     0,     0,
  1656.      0,  -466,     0,     0,    48,    48,   134,    25,     0,    26,
  1657.     27,     0,     0,     0,   108,     0,   183,   184,     0,     0,
  1658.      0,   219,    12,   399,     0,     0,     0,     0,    73,    73,
  1659.     73,    73,    73,   400,    73,    73,     0,     0,     0,     0,
  1660.    865,    31,     0,    18,     0,     0,   401,  1019,     0,     0,
  1661.      0,     0,     0,    22,     0,   541,  1021,  1021,  1021,     0,
  1662.      0,     0,    25,     0,   109,   110,     0,   173,     0,   173,
  1663.      0,   403,   403,   403,   218,     0,     0,    48,   542,   173,
  1664.     48,     0,    48,     0,   173,   796,   798,   173,   543,     0,
  1665.     73,     0,     0,     0,     0,     0,     0,     0,   544,     0,
  1666.      0,   545,   546,     0,     0,     0,   219,     0,   171,     0,
  1667.      0,   173,   506,   507,   508,   509,   510,   511,   512,   513,
  1668.    514,   515,   516,   517,   518,     0,     0,     0,    73,    73,
  1669.     73,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1670.    843,   218,   550,   554,     0,   556,     0,     0,     0,     0,
  1671.      0,     0,     0,     0,    48,    48,   134,   134,   134,     0,
  1672.     48,    48,    73,    73,    73,     0,     0,     0,     0,     0,
  1673.      7,     8,     0,     0,   451,     0,     0,     0,     0,     0,
  1674.      0,     0,  1019,  1019,  1019,     0,     0,     0,     0,     0,
  1675.      0,     0,   554,   171,     0,   171,     0,   171,   171,   171,
  1676.      0,     0,   784,     0,     0,   171,    20,     0,     0,     0,
  1677.    171,     0,     0,   171,   549,   549,    48,   549,     0,    25,
  1678.      0,    26,    27,     0,   549,     0,     0,     0,     0,     0,
  1679.      0,     0,     0,     0,     0,   162,     8,   171,    10,    11,
  1680.      0,     0,     0,     0,    12,   163,     0,  1021,     0,     0,
  1681.    554,     0,     0,    31,    48,    48,    48,     0,   164,    15,
  1682.      0,    16,     0,     0,     0,    18,     0,     0,     0,   842,
  1683.      0,   842,   842,     0,   549,    22,     0,     0,     0,     0,
  1684.      0,     0,     0,     0,    25,     0,   109,   110,    48,    48,
  1685.     48,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1686.      0,  1021,  1021,  1021,   502,   503,   504,   505,   506,   507,
  1687.    508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
  1688.    518,   842,     0,   775,     0,     0,     0,     0,     0,     0,
  1689.    173,   173,     0,   173,    73,     0,     0,     0,   963,     0,
  1690.    964,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1691.      0,   968,     0,   219,     0,   796,   798,     0,     0,     0,
  1692.      0,   403,     0,     0,     0,     0,     7,     8,   116,    10,
  1693.     11,     0,     0,  1019,     0,    12,     0,     0,     0,   549,
  1694.      0,   796,   798,     0,     0,     0,     0,   462,   462,   462,
  1695.     15,     0,    16,    17,     0,   171,    18,   171,   171,     0,
  1696.      0,     0,    20,     0,     0,     0,    22,     0,     0,     0,
  1697.      0,     0,     0,     0,     0,    25,     0,    26,    27,     0,
  1698.      0,     0,     0,     0,     0,     0,     0,  1019,  1019,  1019,
  1699.      0,    29,     0,     0,     0,   117,     0,     0,     0,     0,
  1700.      0,    30,     0,     0,     0,     0,     0,   171,     0,    31,
  1701.      0,     0,     0,     0,    32,     0,   171,   171,     0,   171,
  1702.     48,    93,     0,     0,     0,     0,     0,   549,     0,   549,
  1703.      0,    93,    93,     0,     0,     0,     0,     0,    93,    93,
  1704.    549,    93,     0,     0,   549,   549,   549,   907,     0,     0,
  1705.      8,   116,    10,    11,     0,     0,  1347,     0,    12,     0,
  1706.      0,     0,     0,     0,     0,     0,     0,     0,     0,   203,
  1707.    842,   842,   993,    15,     0,    16,    17,     0,     0,    18,
  1708.      0,     0,     0,     0,     0,     0,     0,     0,     0,    22,
  1709.      0,   963,   964,   796,   798,     0,     0,   968,    25,     0,
  1710.    109,   110,     0,     0,     0,     0,     0,     0,     0,     0,
  1711.      0,     0,     0,   993,     0,     0,     0,     0,     0,   796,
  1712.    798,    93,     0,    93,    93,     7,     8,   116,    10,    11,
  1713.      0,     0,   645,    93,    12,    93,    93,    93,     0,     0,
  1714.     93,    93,    93,   173,     0,     0,     0,     0,     0,    15,
  1715.      0,    16,    17,     0,     0,    18,     0,     0,     0,     0,
  1716.      0,    20,     0,     0,     0,    22,     0,     0,     0,     0,
  1717.      0,     0,     0,     0,    25,     0,    26,    27,     0,     0,
  1718.      0,     0,     0,     0,   784,   784,     0,   784,     0,     0,
  1719.    399,   963,   964,   968,     0,     0,   171,   171,   907,     0,
  1720.    400,     0,     0,     0,     0,     0,     0,     0,    31,     0,
  1721.      0,     0,     0,   401,    93,     0,     0,   646,     0,     0,
  1722.    842,   842,   993,   993,   993,     0,   842,     0,     0,   433,
  1723.     93,     7,     8,   116,    10,    11,     0,     0,     0,   907,
  1724.     12,     0,     0,     0,     0,     0,     0,     0,   993,   993,
  1725.    993,     0,     0,     0,     0,    15,     0,    16,    17,     0,
  1726.      0,    18,  -468,     0,     0,     0,  1037,    20,    93,   171,
  1727.      0,    22,   434,     0,     0,     0,     8,   174,    10,   175,
  1728.     25,     0,    26,    27,    12,     0,   435,     0,   436,     0,
  1729.      0,     0,     0,     0,     0,     0,    29,     0,     0,    15,
  1730.      0,    16,    17,     0,     0,    18,    30,     0,     0,    93,
  1731.      0,    93,    93,     0,    31,    22,     0,     0,     0,    32,
  1732.    842,   842,   842,     0,    25,     0,   109,   110,     0,     0,
  1733.      0,     0,     0,   219,  -468,     0,     0,    93,     0,     0,
  1734.      0,     0,     0,    93,     0,     0,   171,   171,   171,   171,
  1735.    907,     0,   171,     0,   173,    93,   173,     0,     0,    93,
  1736.      0,     0,    93,     0,     0,     0,     0,    93,     0,     0,
  1737.      0,     0,     0,     0,   907,   907,   907,  1102,     0,  1103,
  1738.   1104,   116,    10,   260,   261,   262,     0,   263,    12,  1105,
  1739.      0,  1106,  1107,  1108,  1109,  1110,  1111,  1112,  1113,  1114,
  1740.   1115,    13,    14,    15,   264,    16,    17,   265,     0,    18,
  1741.      0,   266,   267,     0,   268,    20,   269,   270,     0,    22,
  1742.      0,     0,     0,   271,   272,   273,   274,   275,    25,     0,
  1743.   1116,    27,   631,     0,  1117,   276,     0,     0,     0,   403,
  1744.      0,   277,     0,    93,   278,     0,   171,   171,   171,     0,
  1745.      0,     0,   279,   280,   281,     0,     0,     0,     0,     0,
  1746.    282,   283,   284,     0,     0,     0,     0,   285,     0,  1118,
  1747.     93,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1748.    171,     0,   171,   286,     0,     0,     0,     0,     0,     0,
  1749.      0,     0,     0,   403,   403,   403,     0,     0,     0,     0,
  1750.      0,     0,   433,     0,     7,     8,   116,    10,    11,     0,
  1751.      0,     0,     0,    12,     0,     0,     0,     0,     0,     0,
  1752.      0,     0,     0,     0,     0,     0,   173,     0,    15,     0,
  1753.     16,    17,     0,     0,    18,  -467,     0,     0,     0,    93,
  1754.     20,     0,     0,     0,    22,   434,     0,     0,    93,    93,
  1755.      0,    93,    93,    25,     0,    26,    27,     0,     0,   435,
  1756.      0,   436,     0,     0,     0,   907,     0,     0,     0,    29,
  1757.      0,     0,  1248,     0,     0,     0,     0,     0,     0,    30,
  1758.      0,     0,     0,     0,     0,     0,     0,    31,     0,     0,
  1759.      0,     0,    32,     0,     0,     0,     0,     0,     0,     0,
  1760.      0,    93,     0,     0,     0,     0,     0,  -467,     0,     0,
  1761.    203,     0,     0,     0,     0,     0,     0,     0,     0,   907,
  1762.    907,   907,  1249,   497,   498,   499,   500,   501,   502,   503,
  1763.    504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
  1764.    514,   515,   516,   517,   518,     0,     0,     0,     0,     0,
  1765.      0,     0,   171,  1210,     0,  1103,  1104,   116,    10,   260,
  1766.    261,   262,     0,   263,    12,  1105,     0,  1106,  1107,  1108,
  1767.   1109,  1110,  1111,  1112,  1113,  1114,  1115,    13,    14,    15,
  1768.    264,    16,    17,   265,     0,    18,     0,   266,   267,     0,
  1769.    268,    20,   269,   270,     0,    22,     0,     0,     0,   271,
  1770.    272,   273,   274,   275,    25,     0,  1116,    27,   631,     0,
  1771.   1117,   276,     0,     0,     0,     0,    93,   277,     0,     0,
  1772.    278,     0,     0,     0,    93,    93,    93,     0,   279,   280,
  1773.    281,     0,     0,     0,     0,     0,   282,   283,   284,     0,
  1774.      0,     0,     0,   285,   482,  1118,     7,     8,   116,    10,
  1775.    260,   261,   262,   645,   263,    12,     0,     0,  1211,   286,
  1776.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1777.     15,   264,    16,    17,   265,     0,    18,     0,   266,   267,
  1778.      0,   268,    20,   269,   270,     0,    22,     0,   541,     0,
  1779.    271,   272,   273,   274,   275,    25,     0,    26,    27,  -263,
  1780.      0,     0,   276,     0,    93,     0,    93,     0,   277,     0,
  1781.      0,   812,     0,     0,     0,     0,     0,    93,     0,   279,
  1782.    280,   813,     0,     0,     0,     0,     0,   282,   283,   284,
  1783.      0,   544,     0,     0,   814,   546,     0,   482,   646,     7,
  1784.      8,   116,    10,   260,   261,   262,   645,   263,    12,     0,
  1785.    286,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1786.      0,     0,     0,    15,   264,    16,    17,   265,     0,    18,
  1787.      0,   266,   267,     0,   268,    20,   269,   270,     0,    22,
  1788.      0,   541,     0,   271,   272,   273,   274,   275,    25,     0,
  1789.     26,    27,  -263,     0,     0,   276,     0,     0,     0,     0,
  1790.      0,   277,     0,     0,  1016,     0,     0,     0,     0,     0,
  1791.      0,     0,   279,   280,  1017,     0,     0,     0,     0,     0,
  1792.    282,   283,   284,    93,   544,     0,     0,  1018,   546,     0,
  1793.      0,   646,     0,     0,     0,     0,     0,     0,     0,     0,
  1794.      0,     0,   644,   286,     7,     8,   116,    10,   260,   261,
  1795.    262,   645,   263,    12,     0,     0,     0,     0,     0,     0,
  1796.      0,    93,    93,     0,    93,     0,     0,     0,    15,   264,
  1797.     16,    17,   265,     0,    18,     0,   266,   267,     0,   268,
  1798.     20,   269,   270,     0,    22,     0,     0,     0,   271,   272,
  1799.    273,   274,   275,    25,     0,    26,    27,     0,     0,     0,
  1800.    276,     0,     0,     0,     0,     0,   277,     0,     0,   278,
  1801.      0,     0,     0,     0,     0,     0,     0,   279,   280,   281,
  1802.      0,     0,     0,     0,     0,   282,   283,   284,     0,     0,
  1803.      0,     0,   285,     0,     0,     0,   646,     0,     0,     0,
  1804.      0,     0,     0,     0,     0,     0,  -702,   748,   286,     7,
  1805.      8,   116,    10,   260,   261,   262,     0,   263,    12,     0,
  1806.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1807.      0,     0,     0,    15,   264,    16,    17,   265,     0,    18,
  1808.      0,   266,   267,     0,   268,    20,   269,   270,     0,    22,
  1809.      0,     0,     0,   271,   272,   273,   274,   275,    25,     0,
  1810.     26,    27,  1287,     0,  -692,   276,     0,   224,     0,     0,
  1811.      8,   277,    10,    11,   278,     0,     0,     0,    12,     0,
  1812.      0,     0,   279,   280,   281,     0,     0,     0,     0,     0,
  1813.    282,   283,   284,    15,     0,    16,     0,   285,     0,    18,
  1814.      0,   225,   226,     0,     0,     0,     0,     0,     0,    22,
  1815.      0,   227,     0,   286,     0,     0,     0,     0,    25,     0,
  1816.    109,   110,     0,   228,     0,     0,     0,   229,   230,   231,
  1817.    232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
  1818.    242,   243,   244,   245,   246,   247,   248,   249,     0,     0,
  1819.    250,   251,   252,     0,   635,   253,   737,   738,   254,    10,
  1820.    465,   261,   262,     0,   263,    12,     0,     0,     0,     0,
  1821.      0,     0,     0,   255,     0,     0,     0,     0,     0,     0,
  1822.     15,   264,    16,     0,   265,     0,    18,     0,   266,   267,
  1823.      0,   268,    20,   269,   270,     0,    22,     0,     0,     0,
  1824.    271,   272,   273,   274,   275,    25,     0,   739,   740,   636,
  1825.      0,     0,   276,     0,     0,     0,     0,     0,   277,     0,
  1826.      0,   278,     0,     0,     0,     0,     0,     0,     0,   279,
  1827.    280,   281,     0,     0,     0,     0,     0,   282,   283,   284,
  1828.      0,     0,     0,     0,   285,   741,   635,     0,   737,   738,
  1829.      0,    10,   465,   261,   262,     0,   263,    12,     0,   872,
  1830.    286,     0,     0,     0,  1061,     0,     0,     0,     0,     0,
  1831.      0,     0,    15,   264,    16,     0,   265,     0,    18,     0,
  1832.    266,   267,     0,   268,    20,   269,   270,     0,    22,     0,
  1833.      0,     0,   271,   272,   273,   274,   275,    25,     0,   739,
  1834.    740,   636,     0,     0,   276,     0,     0,     0,     0,     0,
  1835.    277,     0,     0,   278,     0,     0,     0,     0,     0,     0,
  1836.      0,   279,   280,   281,     0,     0,     0,     0,     0,   282,
  1837.    283,   284,   635,     0,   737,   738,   285,    10,   465,   261,
  1838.    262,     0,   263,    12,     0,     0,     0,     0,     0,     0,
  1839.   1061,  -427,   286,     0,     0,     0,     0,     0,    15,   264,
  1840.     16,     0,   265,     0,    18,     0,   266,   267,     0,   268,
  1841.     20,   269,   270,     0,    22,     0,     0,     0,   271,   272,
  1842.    273,   274,   275,    25,     0,   739,   740,   636,     0,     0,
  1843.    276,     0,     0,     0,     0,     0,   277,     0,     0,   278,
  1844.      0,     0,     0,     0,     0,     0,     0,   279,   280,   281,
  1845.      0,     0,     0,     0,     0,   282,   283,   284,   635,     0,
  1846.    737,   738,   285,    10,   465,   261,   262,     0,   263,    12,
  1847.      0,     0,     0,     0,     0,     0,     0,  1134,   286,     0,
  1848.      0,     0,     0,     0,    15,   264,    16,     0,   265,     0,
  1849.     18,     0,   266,   267,     0,   268,    20,   269,   270,     0,
  1850.     22,     0,     0,     0,   271,   272,   273,   274,   275,    25,
  1851.      0,   739,   740,   636,     0,     0,   276,     0,     0,     0,
  1852.      0,     0,   277,     0,     0,   278,     0,     0,     0,     0,
  1853.      0,     0,     0,   279,   280,   281,     0,     0,     0,     0,
  1854.      0,   282,   283,   284,     0,     0,     0,     0,   285,   741,
  1855.    482,     0,     7,     8,     0,    10,   260,   261,   262,     0,
  1856.    263,    12,     0,     0,   286,     0,     0,     0,     0,     0,
  1857.      0,     0,     0,     0,     0,     0,    15,   264,    16,     0,
  1858.    265,     0,    18,     0,   266,   267,     0,   268,    20,   269,
  1859.    270,     0,    22,     0,     0,     0,   271,   272,   273,   274,
  1860.    275,    25,     0,    26,    27,  -263,     0,     0,   276,     0,
  1861.      0,     0,     0,     0,   277,     0,     0,   483,     0,     0,
  1862.      0,     0,     0,     0,     0,   279,   280,   484,     0,     0,
  1863.      0,     0,     0,   282,   283,   284,   635,     0,     7,     8,
  1864.    485,    10,   465,   261,   262,     0,   263,    12,     0,     0,
  1865.      0,     0,     0,     0,     0,     0,   286,     0,     0,     0,
  1866.      0,     0,    15,   264,    16,     0,   265,     0,    18,     0,
  1867.    266,   267,     0,   268,    20,   269,   270,     0,    22,     0,
  1868.      0,     0,   271,   272,   273,   274,   275,    25,     0,    26,
  1869.     27,   636,     0,     0,   276,     0,     0,     0,     0,     0,
  1870.    277,     0,     0,   278,     0,     0,     0,     0,     0,     0,
  1871.      0,   279,   280,   281,     0,     0,     0,     0,     0,   282,
  1872.    283,   284,   748,     0,     7,     8,   285,    10,   465,   261,
  1873.    262,     0,   263,    12,     0,     0,     0,     0,     0,     0,
  1874.      0,     0,   286,     0,     0,     0,     0,     0,    15,   264,
  1875.     16,     0,   265,     0,    18,     0,   266,   267,     0,   268,
  1876.     20,   269,   270,     0,    22,     0,     0,     0,   271,   272,
  1877.    273,   274,   275,    25,     0,    26,    27,     0,     0,     0,
  1878.    276,  -692,     0,     0,     0,     0,   277,     0,     0,   278,
  1879.      0,     0,     0,     0,     0,     0,     0,   279,   280,   281,
  1880.      0,     0,     0,     0,     0,   282,   283,   284,   482,     0,
  1881.      7,     8,   285,    10,   260,   261,   262,     0,   263,    12,
  1882.      0,     0,     0,     0,     0,     0,     0,     0,   286,     0,
  1883.      0,     0,     0,     0,    15,   264,    16,     0,   265,     0,
  1884.     18,     0,   266,   267,     0,   268,    20,   269,   270,     0,
  1885.     22,     0,     0,     0,   271,   272,   273,   274,   275,    25,
  1886.      0,    26,    27,  -263,     0,     0,   276,     0,     0,     0,
  1887.      0,     0,   277,     0,     0,  1261,     0,     0,     0,     0,
  1888.      0,     0,     0,   279,   280,  1262,     0,     0,     0,     0,
  1889.      0,   282,   283,   284,  1354,     0,     7,     8,  1263,    10,
  1890.    260,   261,   262,     0,   263,    12,     0,     0,     0,     0,
  1891.      0,     0,     0,     0,   286,     0,     0,     0,     0,     0,
  1892.     15,   264,    16,     0,   265,     0,    18,     0,   266,   267,
  1893.      0,   268,    20,   269,   270,     0,    22,     0,     0,     0,
  1894.    271,   272,   273,   274,   275,    25,     0,    26,    27,     0,
  1895.      0,  -165,   276,     0,     0,     0,     0,     0,   277,     0,
  1896.      0,   278,     0,     0,     0,     0,     0,     0,     0,   279,
  1897.    280,   281,     0,     0,     0,     0,     0,   282,   283,   284,
  1898.    748,     0,     7,     8,   285,    10,   465,   261,   262,     0,
  1899.    263,    12,     0,     0,     0,     0,     0,     0,     0,     0,
  1900.    286,     0,     0,     0,     0,     0,    15,   264,    16,     0,
  1901.    265,     0,    18,     0,   266,   267,     0,   268,    20,   269,
  1902.    270,     0,    22,     0,     0,     0,   271,   272,   273,   274,
  1903.    275,    25,     0,    26,    27,     0,     0,     0,   276,     0,
  1904.      0,     0,     0,     0,   277,     0,     0,   278,     0,     0,
  1905.      0,     0,     0,     0,     0,   279,   280,   281,     0,     0,
  1906.      0,     0,     0,   282,   283,   284,   824,     0,     7,     8,
  1907.    285,    10,   465,   261,   262,     0,   263,    12,     0,     0,
  1908.      0,     0,     0,     0,  -692,     0,   286,     0,     0,     0,
  1909.      0,     0,    15,   264,    16,     0,   265,     0,    18,     0,
  1910.    266,   267,     0,   268,    20,   269,   270,     0,    22,     0,
  1911.      0,     0,   271,   272,   273,   274,   275,    25,     0,    26,
  1912.     27,     0,     0,     0,   276,     0,     0,     0,     0,     0,
  1913.    277,     0,     0,   278,     0,     0,     0,     0,     0,     0,
  1914.      0,   279,   280,   281,     0,     0,     0,     0,     0,   282,
  1915.    283,   284,   826,     0,     7,     8,   285,    10,   465,   261,
  1916.    262,     0,   263,    12,     0,     0,     0,     0,     0,     0,
  1917.      0,     0,   286,     0,     0,     0,     0,     0,    15,   264,
  1918.     16,     0,   265,     0,    18,     0,   266,   267,     0,   268,
  1919.     20,   269,   270,     0,    22,     0,     0,     0,   271,   272,
  1920.    273,   274,   275,    25,     0,    26,    27,     0,     0,     0,
  1921.    276,     0,     0,     0,     0,     0,   277,     0,     0,   278,
  1922.      0,     0,     0,     0,     0,     0,     0,   279,   280,   281,
  1923.      0,     0,     0,     0,     0,   282,   283,   284,     0,     0,
  1924.      7,     8,   285,    10,   465,   261,   262,     0,   263,    12,
  1925.      0,     0,     0,     0,     0,     0,     0,     0,   286,     0,
  1926.      0,     0,     0,     0,    15,   264,    16,     0,   265,     0,
  1927.     18,     0,   266,   267,     0,   268,    20,   269,   270,     0,
  1928.     22,     0,     0,     0,   271,   272,   273,   274,   275,    25,
  1929.      0,    26,    27,     0,     0,     0,   276,     0,     0,     0,
  1930.      0,     0,   277,     0,     0,   278,     0,     0,     0,     0,
  1931.      0,     0,     0,   279,   280,   281,     0,     0,     0,     0,
  1932.      0,   282,   283,   284,     0,     0,     0,     0,   285,     0,
  1933.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  1934.      0,     0,     0,     0,   286,   787,  1103,  1104,   116,    10,
  1935.    260,   261,   262,     0,   263,    12,  1105,     0,  1106,  1107,
  1936.   1108,  1109,  1110,  1111,  1112,  1113,  1114,  1115,    13,    14,
  1937.     15,   264,    16,    17,   265,     0,    18,     0,   266,   267,
  1938.      0,   268,    20,   269,   270,     0,    22,     0,     0,     0,
  1939.    271,   272,   273,   274,   275,    25,     0,  1116,    27,   631,
  1940.      0,  1117,   276,     0,     0,     0,     0,     0,   277,     0,
  1941.      0,   278,     0,     0,     0,     0,     0,     0,     0,   279,
  1942.    280,   281,     0,     0,     0,     0,     0,   282,   283,   284,
  1943.      0,     0,     0,     0,   285,     0,  1118,     0,     0,     0,
  1944.      0,     0,     0,     0,     0,     0,     0,     0,     0,  1215,
  1945.    286,  1103,  1104,   116,    10,   260,   261,   262,     0,   263,
  1946.     12,  1105,     0,  1106,  1107,  1108,  1109,  1110,  1111,  1112,
  1947.   1113,  1114,  1115,    13,    14,    15,   264,    16,    17,   265,
  1948.      0,    18,     0,   266,   267,     0,   268,    20,   269,   270,
  1949.      0,    22,     0,     0,     0,   271,   272,   273,   274,   275,
  1950.     25,     0,  1116,    27,   631,     0,  1117,   276,     0,     0,
  1951.      0,     0,     0,   277,     0,     0,   278,     0,     0,     0,
  1952.      0,     0,     0,     0,   279,   280,   281,     0,     0,     0,
  1953.      0,     0,   282,   283,   284,     0,     0,     0,     0,   285,
  1954.      0,  1118,     0,     0,  1103,  1104,   116,    10,   260,   261,
  1955.    262,     0,   263,    12,  1105,   286,  1106,  1107,  1108,  1109,
  1956.   1110,  1111,  1112,  1113,  1114,  1115,    13,    14,    15,   264,
  1957.     16,    17,   265,     0,    18,     0,   266,   267,     0,   268,
  1958.     20,   269,   270,     0,    22,     0,     0,     0,   271,   272,
  1959.    273,   274,   275,    25,     0,  1116,    27,  1331,     0,  1117,
  1960.    276,     0,     0,     0,     0,     0,   277,     0,     0,   278,
  1961.      0,     0,     0,     0,     0,     0,     0,   279,   280,   281,
  1962.      0,     0,     0,     0,     0,   282,   283,   284,     0,     0,
  1963.      0,     0,   285,     0,  1118,     0,     0,  1103,  1104,   116,
  1964.     10,   260,   261,   262,     0,   263,    12,  1105,   286,  1106,
  1965.   1107,  1108,  1109,  1110,  1111,  1112,  1113,  1114,  1115,    13,
  1966.     14,    15,   264,    16,    17,   265,     0,    18,     0,   266,
  1967.    267,     0,   268,    20,   269,   270,     0,    22,     0,     0,
  1968.      0,   271,   272,   273,   274,   275,    25,     0,  1116,    27,
  1969.      0,     0,  1117,   276,     0,     0,     0,     0,     0,   277,
  1970.      0,     0,   278,     0,     0,     0,     0,     0,     0,     0,
  1971.    279,   280,   281,     0,     0,     0,     0,     0,   282,   283,
  1972.    284,     0,     0,     0,     0,   285,     0,  1118,     7,     8,
  1973.    116,    10,   260,   261,   262,   645,   263,    12,     0,     0,
  1974.      0,   286,     0,     0,     0,     0,     0,     0,     0,     0,
  1975.      0,     0,    15,   264,    16,    17,   265,     0,    18,     0,
  1976.    266,   267,     0,   268,    20,   269,   270,     0,    22,     0,
  1977.    541,     0,   271,   272,   273,   274,   275,    25,     0,    26,
  1978.     27,     0,     0,     0,   276,     0,     0,     0,     0,     0,
  1979.    277,     0,     0,   812,     0,     0,     0,     0,     0,     0,
  1980.      0,   279,   280,   813,     0,     0,     0,     0,     0,   282,
  1981.    283,   284,     0,   544,     0,     0,   814,   546,     0,     0,
  1982.    646,     7,     8,   116,    10,   260,   261,   262,   645,   263,
  1983.     12,     0,   286,     0,     0,     0,     0,     0,     0,     0,
  1984.      0,     0,     0,     0,     0,    15,   264,    16,    17,   265,
  1985.      0,    18,     0,   266,   267,     0,   268,    20,   269,   270,
  1986.      0,    22,     0,   541,     0,   271,   272,   273,   274,   275,
  1987.     25,     0,    26,    27,     0,     0,     0,   276,     0,     0,
  1988.      0,     0,     0,   277,     0,     0,  1016,     0,     0,     0,
  1989.      0,     0,     0,     0,   279,   280,  1017,     0,     0,     0,
  1990.      0,     0,   282,   283,   284,     0,   544,     0,     0,  1018,
  1991.    546,     7,     8,   646,    10,   260,   261,   262,     0,   263,
  1992.     12,     0,     0,     0,     0,   286,     0,     0,     0,     0,
  1993.      0,     0,     0,     0,     0,    15,   264,    16,     0,   265,
  1994.      0,    18,     0,   266,   267,     0,   268,    20,   269,   270,
  1995.      0,    22,     0,   541,     0,   271,   272,   273,   274,   275,
  1996.     25,     0,    26,    27,     0,     0,     0,     0,     0,     0,
  1997.      0,     0,     0,   277,     0,     0,   812,     0,     0,     0,
  1998.      0,     0,     0,     0,   279,   280,   813,     0,     0,     0,
  1999.      0,     0,   282,   283,   284,     0,   544,     0,     0,   814,
  2000.    546,     7,     8,     0,    10,   260,   261,   262,     0,   263,
  2001.     12,     0,     0,     0,     0,   286,     0,     0,     0,     0,
  2002.      0,     0,     0,     0,     0,    15,   264,    16,     0,   265,
  2003.      0,    18,     0,   266,   267,     0,   268,    20,   269,   270,
  2004.      0,    22,     0,   541,     0,   271,   272,   273,   274,   275,
  2005.     25,     0,    26,    27,     0,     0,     0,     0,     0,     0,
  2006.      0,     0,     0,   277,     0,     0,  1016,     0,     0,     0,
  2007.      0,     0,     0,     0,   279,   280,  1017,     0,     0,     0,
  2008.      0,     0,   282,   283,   284,     0,   544,     0,     0,  1018,
  2009.    546,     7,     8,     0,    10,   260,   261,   262,     0,   263,
  2010.     12,     0,     0,     0,     0,   286,     0,     0,     0,     0,
  2011.      0,     0,     0,     0,     0,    15,   264,    16,     0,   265,
  2012.      0,    18,     0,   266,   267,     0,   268,    20,   269,   270,
  2013.      0,    22,     0,     0,     0,   271,   272,   273,   274,   275,
  2014.     25,     0,    26,    27,     0,     0,     0,   276,     0,     0,
  2015.      0,     0,     0,   277,     0,     0,   278,     0,     0,     0,
  2016.      0,   343,     0,     0,   279,   280,   281,     0,     0,     0,
  2017.      0,     0,   282,   283,   284,     0,     0,     7,     8,   285,
  2018.     10,   465,   261,   262,     0,   263,    12,     0,     0,     0,
  2019.      0,     0,     0,     0,     0,   286,     0,     0,     0,     0,
  2020.      0,    15,   264,    16,     0,   265,     0,    18,     0,   266,
  2021.    267,     0,   268,    20,   269,   270,     0,    22,     0,     0,
  2022.      0,   271,   272,   273,   274,   275,    25,     0,    26,    27,
  2023.      0,     0,  1192,   276,     0,     0,     0,     0,     0,   277,
  2024.      0,     0,   278,     0,     0,     0,     0,     0,     0,     0,
  2025.    279,   280,   281,     0,     0,     0,     0,     0,   282,   283,
  2026.    284,     0,     0,     7,     8,   285,    10,   260,   261,   262,
  2027.      0,   263,    12,     0,     0,     0,     0,     0,     0,     0,
  2028.      0,   286,     0,     0,     0,     0,     0,    15,   264,    16,
  2029.      0,   265,     0,    18,     0,   266,   267,     0,   268,    20,
  2030.    269,   270,     0,    22,     0,     0,     0,   271,   272,   273,
  2031.    274,   275,    25,     0,    26,    27,     0,     0,     0,   276,
  2032.      0,     0,     0,     0,     0,   277,     0,     0,   278,     0,
  2033.      0,     0,     0,     0,     0,     0,   279,   280,   281,     0,
  2034.      0,     0,     0,     0,   282,   283,   284,     0,     0,     7,
  2035.      8,   285,    10,   465,   261,   262,     0,   263,    12,     0,
  2036.      0,     0,     0,     0,     0,     0,     0,   286,     0,     0,
  2037.      0,     0,     0,    15,   264,    16,     0,   265,     0,    18,
  2038.      0,   266,   267,     0,   268,    20,   269,   270,     0,    22,
  2039.      0,     0,     0,   271,   272,   273,   274,   275,    25,     0,
  2040.     26,    27,     0,     0,     0,   276,     0,     0,     0,     0,
  2041.      0,   277,     0,     0,   278,     0,     0,     0,     0,     0,
  2042.      0,     0,   279,   280,   281,     0,     0,     0,     0,     0,
  2043.    282,   283,   284,     0,     0,     7,     8,   285,    10,   465,
  2044.    261,   262,     0,   263,    12,     0,     0,     0,     0,     0,
  2045.      0,     0,     0,   286,     0,     0,     0,     0,     0,    15,
  2046.    264,    16,     0,   265,     0,    18,     0,   266,   267,     0,
  2047.    268,    20,   269,   270,     0,    22,     0,     0,     0,   271,
  2048.    272,   273,   274,   275,    25,     0,    26,    27,   494,     0,
  2049.      0,     0,     0,     0,     0,     0,     0,   277,     0,     0,
  2050.    278,     0,     0,     0,     0,     0,     0,     0,   279,   280,
  2051.    281,     0,     0,     0,     0,     0,   282,   283,   284,     0,
  2052.      0,     7,     8,   495,    10,   465,   261,   262,     0,   263,
  2053.     12,     0,     0,     0,     0,     0,     0,     0,     0,   286,
  2054.      0,     0,     0,     0,     0,    15,   264,    16,     0,   265,
  2055.      0,    18,     0,   266,   267,     0,   268,    20,   269,   270,
  2056.      0,    22,     0,     0,     0,   271,   272,   273,   274,   275,
  2057.     25,     0,    26,    27,     0,     0,     0,     0,     0,     0,
  2058.      0,     0,     0,   277,     0,     0,   278,     0,     0,     0,
  2059.      0,     0,     0,     0,   279,   280,   281,     0,     0,     0,
  2060.      0,     0,   282,   283,   284,     0,     0,     0,     0,   285,
  2061.    531,     7,     8,     0,    10,   465,   261,   262,     0,   263,
  2062.     12,     0,     0,     0,     0,   286,     0,     0,     0,     0,
  2063.      0,     0,     0,     0,     0,    15,   264,    16,     0,   265,
  2064.      0,    18,     0,   266,   267,     0,   268,    20,   269,   270,
  2065.      0,    22,     0,     0,     0,   271,   272,   273,   274,   275,
  2066.     25,     0,    26,    27,     0,     0,     0,   276,     0,     0,
  2067.      0,     0,     0,   277,     0,     0,   483,     0,     0,     0,
  2068.      0,     0,     0,     0,   279,   280,   484,     0,     0,     0,
  2069.      0,     0,   282,   283,   284,     0,     0,   983,     8,   485,
  2070.     10,   465,   261,   262,     0,   263,    12,     0,     0,     0,
  2071.      0,     0,     0,     0,     0,   286,     0,     0,     0,     0,
  2072.      0,    15,   264,    16,     0,   265,     0,    18,     0,   266,
  2073.    267,     0,   268,    20,   269,   270,     0,    22,     0,     0,
  2074.      0,   271,   272,   273,   274,   275,    25,     0,    26,    27,
  2075.      0,     0,     0,   276,     0,     0,     0,     0,     0,   277,
  2076.      0,     0,   278,     0,     0,     0,     0,     0,     0,     0,
  2077.    279,   280,   281,     0,     0,     0,     0,     0,   282,   283,
  2078.    284,     0,     0,     7,     8,   285,    10,   465,   261,   262,
  2079.      0,   263,    12,     0,     0,     0,     0,     0,     0,     0,
  2080.      0,   286,     0,     0,     0,     0,     0,    15,   264,    16,
  2081.      0,   265,     0,    18,     0,   266,   267,     0,   268,    20,
  2082.    269,   270,     0,    22,     0,     0,     0,   271,   272,   273,
  2083.    274,   275,    25,     0,    26,    27,     0,     0,     0,   276,
  2084.      0,     0,     0,     0,     0,   277,     0,     0,  1261,     0,
  2085.      0,     0,     0,     0,     0,     0,   279,   280,  1262,     0,
  2086.      0,     0,     0,     0,   282,   283,   284,     0,     0,     7,
  2087.      8,  1263,    10,   465,   261,   262,     0,   263,    12,     0,
  2088.      0,     0,     0,     0,     0,     0,     0,   286,     0,     0,
  2089.      0,     0,     0,    15,   264,    16,     0,   265,     0,    18,
  2090.      0,   266,   267,     0,   268,    20,   269,   270,     0,    22,
  2091.      0,     0,     0,   271,   272,   273,   274,   275,    25,     0,
  2092.     26,    27,     0,     0,     0,     0,     0,     0,     0,     0,
  2093.      0,   277,     0,     0,   278,     0,     0,     0,     0,     0,
  2094.      0,     0,   279,   280,   281,     0,     0,     0,     0,     0,
  2095.    282,   283,   284,     0,     0,     7,     8,   466,    10,   465,
  2096.    261,   262,     0,   263,    12,     0,     0,     0,     0,     0,
  2097.      0,     0,     0,   286,     0,     0,     0,     0,     0,    15,
  2098.    264,    16,     0,   265,     0,    18,     0,   266,   267,     0,
  2099.    268,    20,   269,   270,     0,    22,     0,     0,     0,   271,
  2100.    272,   273,   274,   275,    25,     0,    26,    27,     0,     0,
  2101.      0,     0,     0,     0,     0,     0,     0,   277,     0,     0,
  2102.    278,     0,     0,     0,     0,     0,     0,     0,   279,   280,
  2103.    281,     0,     0,     0,     0,     0,   282,   283,   284,     0,
  2104.      0,     7,     8,   469,    10,   465,   261,   262,     0,   263,
  2105.     12,     0,     0,     0,     0,     0,     0,     0,     0,   286,
  2106.      0,     0,     0,     0,     0,    15,   264,    16,     0,   265,
  2107.      0,    18,     0,   266,   267,     0,   268,    20,   269,   270,
  2108.      0,    22,     0,     0,     0,   271,   272,   273,   274,   275,
  2109.     25,     0,    26,    27,     0,     0,     0,     0,     0,     0,
  2110.      0,     0,     0,   277,     0,     0,   278,     0,     0,     0,
  2111.      0,     0,     0,     0,   279,   280,   281,     0,     0,     0,
  2112.      0,     0,   282,   283,   284,     0,     0,     7,     8,   285,
  2113.     10,   465,   261,   262,     0,   263,    12,     0,     0,     0,
  2114.      0,     0,     0,     0,     0,   286,     0,     0,     0,     0,
  2115.      0,    15,   264,    16,     0,   265,     0,    18,     0,   266,
  2116.    267,     0,   268,    20,   269,   270,     0,    22,     0,     0,
  2117.      0,   271,   272,   273,   274,   275,    25,     0,    26,    27,
  2118.      0,     0,     0,     0,     0,     0,     0,     0,     0,   277,
  2119.      0,     0,   483,     0,     0,     0,     0,     0,     0,     0,
  2120.    279,   280,   484,     0,     0,     0,     0,     0,   282,   283,
  2121.    284,     0,     0,     7,     8,   485,    10,   260,   261,   262,
  2122.      0,   263,    12,     0,     0,     0,     0,     0,     0,     0,
  2123.      0,   286,     0,     0,     0,     0,     0,    15,   264,    16,
  2124.      0,   265,     0,    18,     0,   266,   267,     0,   268,    20,
  2125.    269,   270,     0,    22,     0,     0,     0,   271,   272,   273,
  2126.    274,   275,    25,     0,    26,    27,     0,     0,     0,     0,
  2127.      0,     0,     0,     0,     0,   277,     0,     0,  1261,     0,
  2128.      0,     0,     0,     0,     0,     0,   279,   280,  1262,     0,
  2129.      0,     0,     0,     0,   282,   283,   284,     0,     0,     0,
  2130.      6,  1263,     7,     8,     9,    10,    11,     0,     0,     0,
  2131.      0,    12,     0,     0,     0,     0,     0,   286,     0,     0,
  2132.      0,     0,     0,     0,    13,    14,    15,     0,    16,    17,
  2133.      0,     0,    18,     0,     0,     0,    19,     0,    20,     0,
  2134.      0,    21,    22,    23,     0,    24,     0,     0,     0,     0,
  2135.      0,    25,     0,    26,    27,     0,     0,    28,     0,     0,
  2136.      6,     0,     7,     8,     9,    10,    11,    29,     0,     0,
  2137.      0,    12,     0,     0,     0,     0,     0,    30,     0,     0,
  2138.      0,     0,     0,     0,     0,    31,    15,     0,    16,    17,
  2139.     32,     0,    18,     0,     0,    33,    34,     0,    20,     0,
  2140.      0,     0,    22,     0,     0,   362,     0,     0,     0,     0,
  2141.      0,    25,     0,    26,    27,     0,     0,    28,     0,     0,
  2142.      0,     0,     7,     8,   116,    10,    11,    29,     0,   645,
  2143.      0,    12,     0,     0,     0,     0,     0,    30,     0,     0,
  2144.      0,     0,     0,     0,     0,    31,    15,     0,    16,    17,
  2145.     32,     0,    18,     0,     0,    33,     0,     0,    20,     0,
  2146.      0,     0,    22,     0,   541,     0,   685,     8,   174,    10,
  2147.    175,    25,     0,    26,    27,    12,     0,     0,     0,     0,
  2148.      0,     0,     0,     0,     0,     0,     0,   990,     0,     0,
  2149.     15,     0,    16,    17,     0,     0,    18,   991,     0,     0,
  2150.      0,     0,    20,     0,     0,    31,    22,   544,     0,     0,
  2151.    992,   546,     0,     0,   646,    25,     0,    26,    27,     0,
  2152.      0,     0,     0,   688,     0,     0,     7,     8,   116,    10,
  2153.     11,    29,     0,   887,     0,    12,     0,     0,     0,     0,
  2154.      0,    30,     0,     0,     0,     0,     0,     0,     0,    31,
  2155.     15,     0,    16,    17,    32,     0,    18,     0,     0,     0,
  2156.      0,     0,    20,     0,     0,     0,    22,     0,     0,     0,
  2157.      7,     8,   174,    10,   175,    25,     0,    26,    27,    12,
  2158.      0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
  2159.      0,    29,     0,     0,    15,     0,    16,    17,     0,     0,
  2160.     18,    30,     0,     0,     0,     0,    20,     0,     0,    31,
  2161.     22,     0,     0,     0,    32,     0,     0,     0,     0,    25,
  2162.      0,    26,    27,     0,     0,  1204,     0,     0,     0,     0,
  2163.      7,     8,   116,    10,    11,    29,     0,     0,     0,    12,
  2164.      0,     0,     0,     0,     0,    30,     0,     0,     0,     0,
  2165.      0,     0,     0,    31,    15,     0,    16,    17,    32,     0,
  2166.     18,     0,     0,     0,     0,     0,    20,     0,     0,     0,
  2167.     22,     0,     0,     0,     7,     8,   174,    10,   175,    25,
  2168.      0,    26,    27,    12,     0,     0,     0,     0,     0,     0,
  2169.      0,     0,     0,     0,     0,    29,     0,     0,    15,     0,
  2170.     16,    17,     0,     0,    18,    30,     0,     0,     0,     0,
  2171.     20,     0,     0,    31,    22,     0,     0,     0,    32,     0,
  2172.      0,     0,     0,    25,     0,    26,    27,     0,     0,     0,
  2173.      0,     0,    17,     0,     0,     0,     0,     0,     0,    29,
  2174.      0,     0,     0,     0,     0,     0,     0,     0,     0,    30,
  2175.      0,     0,     0,     0,     0,     0,     0,    31,     0,     0,
  2176.      0,     0,    32,   497,   498,   499,   500,   501,   502,   503,
  2177.    504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
  2178.    514,   515,   516,   517,   518,     8,   116,    10,    11,     0,
  2179.      0,     0,     0,    12,     0,     0,     0,     0,     0,     0,
  2180.      0,     0,     0,     0,     0,     0,     0,     0,    15,     0,
  2181.     16,    17,     0,     0,    18,     0,     0,     0,     0,     0,
  2182.      0,     0,     0,     0,   592,     0,     0,     0,     0,     0,
  2183.      0,     0,     0,    25,     0,   109,   110,   497,   498,   499,
  2184.    500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
  2185.    510,   511,   512,   513,   514,   515,   516,   517,   518,   497,
  2186.    498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
  2187.    508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
  2188.    518,   574,     0,     0,  1059,   497,   498,   499,   500,   501,
  2189.    502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
  2190.    512,   513,   514,   515,   516,   517,   518,  1234,   497,   498,
  2191.    499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
  2192.    509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
  2193.   1320,   497,   498,   499,   500,   501,   502,   503,   504,   505,
  2194.    506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
  2195.    516,   517,   518,   497,   498,   499,   500,   501,   502,   503,
  2196.    504,   505,   506,   507,   508,     0,   510,   511,   512,   513,
  2197.    514,   515,   516,   517,   518,   501,   502,   503,   504,   505,
  2198.    506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
  2199.    516,   517,   518
  2200. };
  2201.  
  2202. static const short yycheck[] = {     4,
  2203.    140,    60,   442,   309,   338,     4,   338,   177,     4,    71,
  2204.      4,   309,   207,    57,   409,    50,   631,     4,   338,    24,
  2205.    131,   132,    79,   263,   264,    80,   303,    24,    24,   216,
  2206.     24,   326,   432,  1243,    39,    29,    30,    24,   157,    12,
  2207.     97,    54,   212,    39,   177,    39,   856,    52,  1246,    22,
  2208.      4,   291,    39,   186,   112,   393,   689,   115,     9,    49,
  2209.    776,   206,  1125,    68,  1066,   114,   115,     9,    34,  1132,
  2210.     24,     9,  1267,    32,    57,    80,  1282,    34,     3,     4,
  2211.     85,    86,    45,   118,     4,    39,    80,   257,   150,    86,
  2212.     86,    35,    86,    98,    99,    45,     0,    58,    60,    86,
  2213.     81,    82,  1312,   165,   605,     1,   338,     7,    52,    60,
  2214.     72,   146,   185,   186,   119,     0,  1311,   122,    46,   181,
  2215.     45,  1287,    58,   106,    10,     4,    80,    52,    91,    54,
  2216.     55,  1337,    86,   303,    54,    55,   180,   131,   132,   144,
  2217.    106,    91,   147,  1338,   188,   106,   136,   106,   144,   106,
  2218.    144,   546,     3,     4,   105,   105,   213,   144,    78,    59,
  2219.     56,   393,  1164,   105,   177,  1331,    91,   105,   162,   163,
  2220.    106,    57,   185,   186,    60,    54,    55,   810,  1376,   169,
  2221.     45,    58,  1392,     6,     7,   385,   996,  1250,   375,    12,
  2222.    144,   468,   311,   393,    57,   340,    57,    62,    10,   212,
  2223.    407,    57,    60,    54,    55,   210,    58,    57,   415,    95,
  2224.     33,    58,    73,    10,   210,   379,   210,    32,    57,   105,
  2225.     43,     4,    45,   210,   384,    85,    91,    78,   628,   106,
  2226.    946,     3,   419,  1296,    12,    72,    60,    56,    98,    99,
  2227.     58,   296,   105,    21,   257,    57,  1285,   105,    60,   105,
  2228.     62,   300,   309,   258,   106,   105,   210,   563,     4,   106,
  2229.     57,     7,   122,    60,   464,     5,   105,    60,    91,    93,
  2230.    328,    54,    55,    57,    58,   310,   334,  1340,    97,    52,
  2231.    285,   414,    60,    95,    75,   334,  1325,    57,   399,   400,
  2232.    303,   296,   587,  1332,    34,    78,    57,    58,    95,   304,
  2233.     58,    23,   296,    73,    95,   367,    52,    58,    54,    55,
  2234.     25,    26,   105,   545,    45,    30,   131,   132,   133,   653,
  2235.    552,   653,    68,   114,   524,   489,   526,   527,    45,    52,
  2236.   1369,    54,    78,   338,    56,   126,  1375,    59,    60,    52,
  2237.    413,   414,   296,    58,   338,    62,    92,    62,    99,   164,
  2238.    423,   689,   130,  1069,    57,    58,  1395,   362,   558,    72,
  2239.     91,     3,     4,   425,    57,   362,   362,     4,   362,     4,
  2240.      7,    93,   649,   446,    91,   362,    57,    58,   422,    52,
  2241.     73,   172,    45,   445,   338,   458,    91,    60,   393,    23,
  2242.     91,   106,    45,    57,    98,    99,   119,    39,    62,   393,
  2243.    413,   414,     4,    91,   439,   399,   400,    91,   362,    73,
  2244.    423,    23,    54,    55,   205,    52,   811,    54,    55,    54,
  2245.     55,   653,    56,    45,   147,   285,    60,   205,    91,   616,
  2246.     60,    68,   223,   446,    52,   440,    78,   442,    91,   393,
  2247.     62,    78,    72,   448,    86,   458,   442,     4,   442,  1122,
  2248.     56,  1124,    54,    55,   177,   442,    62,   689,    45,    93,
  2249.     30,   466,   185,   186,   469,    60,   630,   472,    45,    91,
  2250.     92,     1,   810,   528,    23,    56,    78,   672,   338,   674,
  2251.    485,    25,    26,   678,   671,    45,   491,   106,   442,    45,
  2252.    495,    56,    45,    23,  1109,    25,    26,    54,    55,   277,
  2253.     30,   835,   902,   835,    91,    92,    45,    56,    45,     4,
  2254.     59,    60,   818,    91,    91,   835,   105,   308,   705,   105,
  2255.    818,    78,   527,   528,    57,    58,    56,    57,    58,    59,
  2256.     60,    91,    62,   393,   528,    91,    92,   707,    91,    32,
  2257.    545,    92,   601,    45,    93,   323,   105,   552,   542,   543,
  2258.   1051,   545,    91,    92,    91,   346,    45,    52,   552,    54,
  2259.     55,   956,   597,    93,   599,   600,   105,   105,  1183,  1184,
  2260.    710,     3,     4,    68,   528,    45,   816,   106,   810,   779,
  2261.      9,   285,   814,    78,   399,   400,   401,   600,   448,    91,
  2262.     92,   545,   792,   598,   794,   668,    45,   602,   552,    45,
  2263.   1000,    59,    91,   835,    45,    58,   466,    39,   840,   469,
  2264.   1050,     3,   472,    32,   649,     4,    58,    59,   778,   592,
  2265.     52,    91,    54,    55,  1239,   485,     3,     4,   690,  1029,
  2266.    830,   491,    99,   695,   696,   495,   649,   699,    92,   132,
  2267.    133,    92,    91,    92,   108,    91,     3,     4,   653,   881,
  2268.     91,    92,  1153,  1154,    86,   668,   105,    60,    56,   653,
  2269.     58,   861,    60,    52,   105,    54,    55,   527,   712,   108,
  2270.    461,   164,    72,    52,   951,    52,    91,    54,    55,    56,
  2271.     91,    60,    39,     9,   689,    72,   390,     3,     4,    72,
  2272.    413,   414,     4,    72,   707,   689,    72,    54,    55,   653,
  2273.    423,  1316,   106,   867,   899,   900,   901,     4,   105,     6,
  2274.      7,    57,   131,   132,   133,    12,   494,   440,    57,    58,
  2275.   1221,   726,   727,   728,   729,   912,   913,   450,   915,    86,
  2276.     27,   891,    29,    45,     4,   689,    33,   105,    54,    55,
  2277.     52,   105,    54,    55,   105,   164,    43,     3,   539,    58,
  2278.     78,    79,    80,    81,    82,    52,    68,    54,    55,    56,
  2279.    992,   818,   466,    52,   555,   469,    78,    52,   472,   105,
  2280.    775,    60,  1273,  1274,   779,    60,    88,   937,   938,    91,
  2281.     92,   485,    52,    72,    54,    55,  1018,    72,     3,     4,
  2282.    108,   495,   285,   653,    91,   499,    57,    58,    68,   804,
  2283.    106,  1302,  1002,   106,  1004,   810,  1006,     7,    78,   814,
  2284.    105,    56,   108,    58,   592,    60,   810,    91,   812,   813,
  2285.    814,   525,    92,   601,    39,   952,   953,   531,   955,   689,
  2286.    835,   108,   837,    58,    59,   840,   108,     3,     4,    54,
  2287.     55,   835,   105,   905,   838,   839,   840,  1124,  1035,     3,
  2288.      4,     5,     6,     7,  1014,    56,   810,    58,   636,    60,
  2289.    814,   105,  1022,    78,    57,    58,   726,   727,   728,   729,
  2290.    105,    86,     3,     4,   689,   598,   881,   600,    56,   990,
  2291.    991,   835,   105,     3,     4,  1085,   840,   881,    54,    55,
  2292.     56,    52,   897,     6,  1054,   715,   716,   717,   108,  1059,
  2293.     54,    55,     3,     4,   627,  1016,  1017,   400,   401,    25,
  2294.     26,   916,    91,   918,    30,   775,    45,    62,    57,    39,
  2295.    916,    52,   916,    54,    55,    45,   649,   881,    91,   916,
  2296.      6,     7,    52,   106,    54,    55,    12,    58,    39,   662,
  2297.     60,    57,    58,    52,   804,   668,    62,   670,    68,   278,
  2298.    810,    60,   281,    54,    55,   284,    62,    33,    78,    62,
  2299.    289,   105,   916,    72,  1151,  1152,    86,    43,   297,    58,
  2300.     58,    91,    58,   466,    58,   835,   469,    78,  1138,  1139,
  2301.    399,   400,   401,  1045,  1046,    86,    58,   992,   105,    60,
  2302.    995,   484,   485,  1327,   104,  1327,   990,   991,   992,   995,
  2303.    105,   995,   495,  1163,    62,   105,  1011,   105,   995,    62,
  2304.      3,     4,  1011,  1018,   108,  1011,  1293,  1011,     3,     4,
  2305.     57,  1185,  1016,  1017,  1018,   840,    76,    77,    78,    79,
  2306.     80,    81,    82,  1197,    91,  1222,    60,   897,   992,     3,
  2307.      4,   995,    57,     1,    57,  1050,    39,    57,    60,    23,
  2308.    828,    25,    26,    62,  1050,    60,  1050,  1011,   918,   552,
  2309.   1220,    54,    55,  1050,  1018,    23,   881,    25,    26,    54,
  2310.     55,   105,    30,  1260,  1234,    39,   105,   105,   105,   783,
  2311.    105,    60,    56,   105,   105,  1147,    60,  1122,   105,  1124,
  2312.     54,    55,    60,    86,   105,  1327,  1050,   105,    56,    57,
  2313.     58,    59,    60,  1267,    62,   108,   106,     3,     4,   105,
  2314.    814,  1124,    92,   108,    86,  1255,    45,   908,  1123,    93,
  2315.   1125,   105,    86,  1293,   105,   108,  1125,  1132,   851,  1125,
  2316.    108,  1125,   105,  1132,   105,    93,  1132,   106,  1132,    35,
  2317.     36,   106,   471,    39,  1206,   105,   105,  1311,    57,     4,
  2318.   1261,  1262,  1339,   105,   483,   484,    52,     4,    54,    55,
  2319.    938,     4,     5,    62,    62,     3,     4,     5,     6,     7,
  2320.     62,  1125,   895,    73,  1338,   990,   991,   992,  1132,    73,
  2321.     73,   106,    29,   906,   975,  1349,    29,    42,    73,   105,
  2322.    105,    34,     6,   897,   917,    33,   689,    52,    23,    54,
  2323.     55,  1016,  1017,  1018,   108,    52,   108,    54,    55,    52,
  2324.    105,    54,    55,    32,   105,   105,    54,    55,    56,   106,
  2325.     62,   105,   105,   105,  1384,   105,   105,   720,    60,    60,
  2326.   1008,    56,   108,    58,    45,    60,  1014,    62,  1243,    45,
  2327.    105,  1246,  1247,   105,  1243,  1250,   105,  1243,    60,  1243,
  2328.   1246,  1250,  1246,  1247,  1250,    60,  1250,  1319,  1263,  1294,
  2329.     58,    58,   100,   101,   102,     7,    58,  1261,  1262,    14,
  2330.    689,   105,   108,    91,    91,    91,    91,  1282,    84,    85,
  2331.   1293,   105,    91,    89,    90,    91,    92,    94,  1282,  1243,
  2332.     91,  1296,  1246,  1247,    58,   627,  1250,  1296,    58,    15,
  2333.   1296,    91,  1296,    58,    58,   105,   105,  1312,    91,   105,
  2334.   1033,  1034,   105,  1312,  1018,     9,  1312,   105,  1312,   105,
  2335.    813,   814,  1327,    58,  1047,  1048,    58,    57,  1282,    91,
  2336.    662,   105,  1337,  1327,   105,  1340,   105,  1115,   670,    58,
  2337.     58,  1340,  1296,  1337,  1340,    62,  1340,   840,   105,     4,
  2338.     78,     9,    58,     5,     6,     7,   105,    12,  1312,     9,
  2339.     12,    58,     0,  1067,     0,     0,   364,    22,    23,    24,
  2340.      2,     4,   328,  1327,    29,    30,   835,    32,    30,   144,
  2341.    629,    33,   122,  1337,    39,   144,  1340,  1392,   881,  1000,
  2342.   1164,    43,  1207,  1392,   491,    50,  1392,    52,  1392,  1177,
  2343.   1123,  1124,  1242,  1263,  1392,    60,   828,  1123,  1246,   636,
  2344.   1114,   139,    39,    68,   823,    39,  1029,     1,   902,     3,
  2345.      4,   840,     6,  1146,    79,    80,   849,  1150,     5,     6,
  2346.      7,    86,   160,   995,   916,    12,   440,   914,  1392,   571,
  2347.    821,   528,    97,   169,   300,   173,  1261,  1262,  1263,    12,
  2348.   1125,  1012,  1361,    30,   867,    39,    33,   112,   787,   653,
  2349.    115,  1363,   881,   118,   119,  1299,    43,  1327,    52,   124,
  2350.     54,    55,   127,   128,   918,    -1,   131,   132,   133,    -1,
  2351.     -1,    -1,    -1,   812,   813,    -1,    -1,    -1,    -1,   144,
  2352.   1194,   146,   147,    -1,    -1,    -1,    -1,    -1,   991,   992,
  2353.   1223,  1224,    86,  1226,  1227,    -1,    -1,   162,   163,   164,
  2354.     74,    75,    76,    77,    78,    79,    80,    81,    82,   851,
  2355.     -1,    -1,    -1,    -1,  1017,  1018,  1230,  1231,  1232,  1233,
  2356.     -1,     3,     4,    -1,    -1,   190,    -1,    -1,    -1,    -1,
  2357.     -1,    10,  1246,  1247,    -1,    -1,    -1,  1270,    -1,    -1,
  2358.     -1,    -1,    -1,    -1,    -1,   210,    25,    26,   213,  1263,
  2359.     -1,    30,    -1,   895,    -1,    -1,   221,    39,    -1,     3,
  2360.      4,   990,   991,   992,   906,    -1,    45,    -1,  1282,    -1,
  2361.     52,    -1,    54,    55,    -1,   917,    58,    -1,    57,    58,
  2362.     59,    60,    -1,    62,    -1,    -1,    68,  1016,  1017,  1018,
  2363.     -1,    -1,    -1,   258,   259,    39,    78,    -1,    -1,    -1,
  2364.     -1,    45,     7,    -1,    86,    10,    -1,    -1,    52,    91,
  2365.     54,    55,    91,    92,    -1,    -1,    95,    -1,    -1,   958,
  2366.     -1,  1335,    -1,  1337,    68,  1358,   105,    -1,    -1,    -1,
  2367.     -1,   296,    -1,    -1,    78,   300,    -1,   302,   303,   304,
  2368.     45,    -1,    86,    -1,    88,   310,  1360,    91,    92,    -1,
  2369.     -1,    -1,    57,    -1,    -1,    60,    -1,    62,    -1,    -1,
  2370.     -1,    -1,  1376,   328,    -1,   403,    -1,    -1,    73,   334,
  2371.     -1,    -1,   410,   338,     3,     4,    -1,  1016,  1017,    -1,
  2372.     -1,    -1,    -1,     4,    -1,   350,    91,    92,   353,    -1,
  2373.     95,  1033,  1034,   358,    -1,    -1,    -1,   362,    -1,    -1,
  2374.    105,    -1,    -1,    24,  1207,  1047,  1048,    -1,    29,    30,
  2375.     39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    -1,
  2376.     -1,   459,   460,    52,   462,    54,    55,    -1,    -1,     1,
  2377.    395,    52,   397,    -1,   399,   400,   401,    -1,    -1,    68,
  2378.     -1,    -1,   407,    -1,    -1,    -1,    -1,   412,    -1,    78,
  2379.    415,    23,    -1,    25,    26,    -1,    -1,    86,    30,  1262,
  2380.   1263,    -1,    91,    -1,    -1,    86,    -1,   432,    -1,   434,
  2381.     -1,    -1,   385,    -1,   439,   440,    -1,   442,  1207,    -1,
  2382.    393,    -1,    -1,   448,    56,    57,    58,    59,    60,     4,
  2383.     62,     6,     7,    -1,    -1,    -1,    -1,    12,    -1,    -1,
  2384.     -1,    -1,    -1,   124,  1146,    -1,    -1,   128,  1150,    -1,
  2385.    548,   549,    27,    -1,    29,   553,    -1,    -1,    33,    -1,
  2386.     -1,    93,    -1,   144,    -1,    -1,   147,    -1,    43,    -1,
  2387.     -1,    -1,  1261,  1262,  1263,    -1,    -1,    52,    -1,    54,
  2388.     55,   162,   163,    -1,    -1,    -1,    -1,     4,     5,     6,
  2389.      7,   464,    -1,    10,    -1,    12,    -1,    -1,    -1,    -1,
  2390.     -1,    -1,    -1,   528,    -1,   530,    -1,    -1,    -1,    -1,
  2391.     27,    -1,    29,    30,    -1,   540,    33,   542,   543,    -1,
  2392.    545,  1223,  1224,    -1,  1226,  1227,    43,   552,    -1,   210,
  2393.     -1,    -1,    -1,    -1,    -1,    52,    -1,    54,    55,    -1,
  2394.    221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2395.     -1,   524,    -1,   526,   527,     1,    -1,     3,     4,     5,
  2396.      6,     7,  1261,  1262,     3,     4,    12,   592,  1270,    -1,
  2397.     -1,    -1,   597,   598,   599,   600,   601,   602,    95,   552,
  2398.     -1,    27,    -1,    29,    30,   558,    -1,    33,    34,   687,
  2399.    162,   163,   164,    39,    -1,    -1,    -1,    43,    44,    -1,
  2400.     39,    -1,    -1,    -1,    -1,    -1,    52,    -1,    54,    55,
  2401.     -1,    -1,    58,    52,    60,    54,    55,    -1,    -1,    -1,
  2402.     -1,    60,    68,    -1,   649,    -1,    -1,    -1,   653,    68,
  2403.     -1,    -1,    78,   658,   659,    -1,   661,    -1,    -1,    78,
  2404.     86,    -1,    -1,    -1,    -1,    91,     4,    86,     6,     7,
  2405.     -1,    -1,    91,    -1,    12,    -1,  1358,     3,     4,    -1,
  2406.    106,     7,    -1,    -1,   689,    -1,    -1,    -1,    -1,   350,
  2407.     -1,    -1,   353,    -1,    -1,    33,    -1,   358,    -1,    -1,
  2408.     -1,   362,   707,   781,   782,    43,   784,    45,    -1,    -1,
  2409.    715,   716,   717,    39,    52,    -1,    54,    55,    -1,    45,
  2410.     -1,   726,   727,   728,   729,    -1,    52,    -1,    54,    55,
  2411.     68,   809,    -1,    -1,   395,    -1,   397,    -1,    -1,    -1,
  2412.     78,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2413.     88,   412,    78,    91,    92,    -1,    -1,    -1,    -1,    -1,
  2414.     86,    -1,    88,    -1,   842,    91,    92,   720,    -1,    -1,
  2415.    775,    -1,    -1,    -1,    -1,    -1,     4,    -1,   439,   440,
  2416.     -1,   442,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,
  2417.    795,    -1,   797,    -1,    22,    23,    24,    -1,    -1,   804,
  2418.     -1,    29,    30,   808,    32,   810,    -1,   812,   813,   814,
  2419.     -1,    39,    -1,   818,    -1,    -1,    -1,    -1,    -1,    -1,
  2420.     -1,    -1,    50,    -1,    52,    -1,   779,    -1,    -1,    -1,
  2421.    835,    -1,   837,   838,   839,   840,    -1,    -1,    -1,   792,
  2422.     68,   794,    -1,   395,    -1,   397,    -1,   399,   400,   401,
  2423.     -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    86,    -1,
  2424.    412,    68,    69,    70,    71,    72,    73,    74,    75,    76,
  2425.     77,    78,    79,    80,    81,    82,   881,   830,     3,     4,
  2426.     -1,    -1,     7,    -1,   112,    -1,    -1,   439,   966,    -1,
  2427.    118,   119,    -1,    -1,    -1,    -1,   124,   902,    -1,    -1,
  2428.    128,    -1,    -1,   131,   132,   133,   911,    -1,   861,   914,
  2429.     -1,   916,    -1,   918,    39,   993,   144,    -1,   146,   147,
  2430.     45,    -1,    -1,    -1,    -1,    -1,    -1,    52,   881,    54,
  2431.     55,    -1,    -1,    -1,   162,   163,   164,   598,    -1,    -1,
  2432.     -1,    -1,    -1,    68,    -1,    -1,    -1,   952,   953,    -1,
  2433.    955,    -1,    -1,    78,    -1,     4,    -1,    -1,     7,    -1,
  2434.   1038,    86,   190,    88,    -1,    -1,    91,    92,    69,    70,
  2435.     71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
  2436.     81,    82,   210,   988,   989,   990,   991,   992,    -1,   994,
  2437.    995,    -1,   653,   221,    -1,    -1,    45,   658,   659,    -1,
  2438.    661,    -1,    -1,    52,  1082,    54,    55,    -1,    -1,    -1,
  2439.     -1,  1016,  1017,  1018,     3,     4,     5,     6,     7,    68,
  2440.     -1,    -1,    -1,    12,  1029,    -1,    -1,    -1,    -1,    78,
  2441.    258,   259,    -1,    -1,    -1,    -1,    -1,    -1,    27,    88,
  2442.     29,    30,    91,    92,    33,  1050,    -1,    -1,    -1,  1002,
  2443.     39,  1004,    -1,  1006,    43,    -1,    45,    -1,    -1,    -1,
  2444.     -1,    -1,    -1,    52,    -1,    54,    55,    -1,   296,    -1,
  2445.     -1,    -1,   300,    -1,   302,   303,   304,    -1,    -1,    68,
  2446.     -1,   309,   310,  1088,  1089,  1090,    -1,    -1,    -1,    78,
  2447.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,
  2448.    328,    -1,    91,    92,    -1,    -1,   658,   659,    -1,   661,
  2449.    338,     3,     4,     5,     6,     7,    -1,  1122,  1123,  1124,
  2450.     12,    -1,   350,    -1,    -1,   353,    -1,    -1,    -1,    -1,
  2451.    358,    -1,  1085,    -1,   362,    -1,    -1,   689,    30,    -1,
  2452.     -1,    33,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,
  2453.     -1,    43,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
  2454.     52,    -1,    54,    55,    -1,    -1,    -1,   395,    -1,   397,
  2455.     -1,   399,   400,   401,    -1,    -1,    68,   838,   839,   407,
  2456.      4,    -1,     6,     7,   412,    -1,    78,   415,    12,    -1,
  2457.     -1,    -1,    -1,    -1,    86,    -1,    88,     3,     4,    91,
  2458.     92,     7,  1207,    27,   432,    29,   434,    -1,    85,    33,
  2459.     -1,   439,   440,     4,   442,     6,    -1,    -1,    -1,    43,
  2460.    448,    12,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,
  2461.     54,    55,    -1,    39,    -1,    -1,    27,    -1,    29,    -1,
  2462.     -1,    -1,    33,    -1,    -1,   122,    52,    -1,    54,    55,
  2463.    911,    -1,    43,   914,  1207,   916,  1261,  1262,  1263,    -1,
  2464.     -1,    52,    68,    54,    55,     1,    -1,     3,     4,     5,
  2465.      6,     7,    78,    -1,     3,     4,    12,    -1,     7,    -1,
  2466.     86,    -1,    -1,    -1,    -1,    91,   838,   839,   840,  1294,
  2467.     -1,    27,    -1,    29,    30,    -1,    -1,    33,    -1,    -1,
  2468.    528,    -1,   530,    39,    -1,    -1,    -1,    43,    -1,    -1,
  2469.     39,    -1,    -1,    -1,   542,   543,    52,   545,    54,    55,
  2470.     -1,    -1,  1327,    52,   552,    54,    55,   988,   989,   881,
  2471.      3,     4,    68,   994,   995,   563,    -1,    -1,    -1,    68,
  2472.     -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    78,
  2473.     86,    -1,    -1,    -1,    -1,    91,    -1,    86,    -1,   911,
  2474.     -1,    -1,    91,    -1,   592,    -1,    39,    -1,    -1,   597,
  2475.    598,   599,   600,    -1,   602,    -1,    -1,    -1,    -1,    52,
  2476.     -1,    54,    55,    -1,    -1,    -1,    -1,    60,    -1,  1050,
  2477.     -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,   276,
  2478.    628,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
  2479.     -1,    -1,    -1,    86,    -1,    -1,    -1,    -1,    91,    -1,
  2480.     -1,   649,    -1,    -1,    -1,   653,    -1,  1088,  1089,  1090,
  2481.    658,   659,    -1,   661,    -1,    -1,   988,   989,   990,   991,
  2482.    992,    -1,   994,    -1,     3,     4,     5,     6,     7,    -1,
  2483.     -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  2484.     -1,   689,  1123,    -1,  1016,  1017,  1018,    -1,    -1,     3,
  2485.      4,    30,    -1,     7,    33,    -1,    -1,    -1,    -1,   707,
  2486.     39,    -1,    -1,    -1,    43,    -1,    45,   715,   716,   717,
  2487.     -1,    -1,    -1,    52,    -1,    54,    55,    -1,   726,   727,
  2488.    728,   729,    -1,    -1,    -1,    39,    -1,   384,   385,    68,
  2489.     -1,    45,    -1,     3,     4,    -1,   393,     7,    52,    78,
  2490.     54,    55,    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,
  2491.     -1,    -1,    91,    92,    68,    -1,  1088,  1089,  1090,    -1,
  2492.     -1,    -1,    -1,    -1,    78,    -1,    -1,   775,    -1,    39,
  2493.     -1,    -1,    86,    -1,    88,    45,    -1,    91,    92,   436,
  2494.     -1,    -1,    52,    -1,    54,    55,    -1,   795,    -1,   797,
  2495.     -1,    -1,    -1,    -1,    -1,    -1,   804,    -1,    68,    -1,
  2496.    808,    -1,   810,    -1,   812,   813,   814,   464,    78,    -1,
  2497.    818,    -1,    -1,    -1,    -1,    -1,    86,    -1,    88,    -1,
  2498.     -1,    91,    92,    -1,    -1,    -1,    -1,   835,    -1,   837,
  2499.    838,   839,   840,    -1,   491,     4,    -1,   494,     7,    -1,
  2500.    497,   498,    -1,   500,   501,   502,   503,   504,   505,   506,
  2501.    507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
  2502.    517,   518,    -1,    -1,    -1,    -1,    -1,   524,    -1,   526,
  2503.    527,    -1,    -1,   881,    -1,  1207,    45,    -1,    -1,    -1,
  2504.     -1,    -1,    -1,    52,    -1,    54,    55,    -1,     3,     4,
  2505.      5,     6,     7,    -1,   902,   552,    -1,    12,    -1,    68,
  2506.     -1,   558,    -1,   911,    -1,    -1,   914,    -1,   916,    78,
  2507.    918,    -1,    27,    -1,    29,    30,   573,   574,    33,    88,
  2508.     -1,    -1,    91,    92,    39,    -1,    -1,    -1,    43,  1261,
  2509.   1262,  1263,    -1,    -1,    -1,    -1,    -1,    52,    -1,    54,
  2510.     55,    -1,    -1,    58,   952,   953,    -1,   955,    -1,     4,
  2511.      5,     6,     7,    68,    -1,    10,    -1,    12,    -1,    -1,
  2512.     -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
  2513.     -1,    86,    27,    -1,    29,    30,    91,    -1,    33,   636,
  2514.    988,   989,   990,   991,   992,    -1,   994,   995,    43,    -1,
  2515.     45,    -1,  1000,    -1,    -1,    -1,    -1,    52,    -1,    54,
  2516.     55,    -1,     3,     4,    -1,    -1,     7,    -1,  1016,  1017,
  2517.   1018,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
  2518.     -1,  1029,    -1,    78,     4,    -1,    -1,    -1,    -1,    -1,
  2519.     -1,   688,    -1,    88,    -1,    -1,    91,    92,    39,    -1,
  2520.     95,    -1,  1050,    -1,    24,     4,    -1,    -1,     7,    29,
  2521.     30,    52,    32,    54,    55,    -1,    -1,    -1,    -1,    39,
  2522.     -1,    -1,    -1,   720,   302,   303,   304,    68,    -1,    -1,
  2523.     50,    -1,    52,    -1,     3,     4,    -1,    78,     7,    -1,
  2524.   1088,  1089,  1090,    -1,   741,    86,    45,    -1,    -1,    -1,
  2525.     91,    -1,    -1,    52,    -1,    54,    55,    -1,    -1,    -1,
  2526.     -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,    68,
  2527.     39,    -1,    -1,    -1,  1122,  1123,  1124,    -1,    -1,    78,
  2528.     -1,   778,   779,    52,    -1,    54,    55,    -1,    -1,    88,
  2529.     -1,    -1,    91,    92,    -1,   792,    -1,   794,   118,    68,
  2530.     -1,    -1,    -1,    -1,   124,    -1,    -1,    -1,   128,    78,
  2531.      4,   131,   132,   133,     3,     4,    -1,    86,     7,    -1,
  2532.     -1,    -1,    91,   820,   144,    -1,   146,   147,    -1,    -1,
  2533.     24,    -1,    -1,   830,    -1,    29,    30,    -1,    32,    -1,
  2534.     -1,    -1,   162,   163,   164,    39,    -1,    -1,    -1,    -1,
  2535.     39,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,  1207,
  2536.     -1,    -1,    -1,    52,   861,    54,    55,    -1,    -1,    -1,
  2537.    190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,
  2538.     -1,    75,    -1,    -1,   881,    -1,    -1,    -1,    -1,    78,
  2539.    210,    -1,    86,    -1,   891,    -1,    -1,    86,    -1,    -1,
  2540.     -1,   221,    91,    -1,    -1,    -1,   903,   904,    -1,    -1,
  2541.     -1,     3,     4,  1261,  1262,  1263,    -1,    -1,   112,    -1,
  2542.    114,   115,    -1,    -1,   118,    -1,    -1,    -1,    -1,    -1,
  2543.    124,    -1,   126,    -1,   128,    -1,    -1,   131,   132,   133,
  2544.    937,   938,    -1,    -1,   941,    -1,  1294,    39,    -1,    -1,
  2545.    144,    -1,   146,   147,    -1,    -1,    -1,    -1,    -1,    -1,
  2546.     52,    -1,    54,    55,   542,   543,    58,   545,   162,   163,
  2547.    164,    -1,    -1,    -1,   552,    -1,    68,    -1,   172,  1327,
  2548.     -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,   309,
  2549.    310,    -1,    -1,    -1,    86,    -1,   190,    -1,    -1,    91,
  2550.     -1,     3,     4,    -1,    -1,  1002,    -1,  1004,    -1,  1006,
  2551.     -1,    -1,    -1,    -1,    -1,    -1,   210,  1014,    -1,   597,
  2552.     -1,   599,   600,    -1,   602,  1022,    -1,   221,    -1,    -1,
  2553.    350,    -1,    -1,   353,    -1,    -1,    -1,    39,   358,    -1,
  2554.     -1,    -1,   362,    -1,  1041,    -1,    -1,    -1,    -1,    -1,
  2555.     52,    -1,    54,    55,    -1,    -1,    -1,  1054,    -1,    -1,
  2556.     -1,    -1,  1059,    -1,  1061,    -1,    68,    -1,    -1,    -1,
  2557.     -1,   649,    -1,    -1,    -1,   395,    78,   397,    -1,   399,
  2558.    400,   401,    -1,    -1,    86,    -1,    -1,   407,  1085,    91,
  2559.     -1,   285,   412,    -1,    -1,   415,     3,     4,     5,     6,
  2560.      7,    -1,    -1,    -1,    -1,    12,   300,    -1,    -1,    -1,
  2561.     -1,    -1,    -1,  1110,   308,    -1,   310,    -1,    -1,   439,
  2562.    440,    -1,   442,    30,    -1,    -1,    33,    -1,    -1,   707,
  2563.     -1,    -1,    39,    -1,   328,    -1,    43,    -1,    45,    -1,
  2564.    334,  1138,  1139,    -1,    -1,    52,    -1,    54,    55,    -1,
  2565.     -1,  1148,  1149,    -1,    -1,    -1,   350,    -1,    -1,   353,
  2566.     -1,    68,    -1,    -1,   358,    -1,  1163,    -1,   362,    -1,
  2567.     -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
  2568.     -1,    -1,    -1,    -1,    91,    67,    68,    69,    70,    71,
  2569.     72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
  2570.     82,   395,    -1,   397,    -1,   399,   400,   401,    -1,    -1,
  2571.   1207,    -1,    -1,   407,    -1,    -1,    -1,   795,   412,   797,
  2572.    540,   415,    -1,  1220,    -1,    -1,    -1,    -1,    -1,    -1,
  2573.    808,    -1,    -1,    -1,   812,   813,   814,  1234,    -1,    -1,
  2574.     -1,    -1,    -1,    -1,    -1,   439,   440,    -1,   442,    -1,
  2575.     -1,  1248,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2576.    838,   839,   840,     4,    -1,     6,     7,    -1,    -1,    -1,
  2577.     -1,    12,   466,    -1,    -1,   469,    -1,   597,   598,   599,
  2578.    600,    -1,    -1,    -1,    -1,    -1,    27,    -1,    29,   483,
  2579.    484,   485,    33,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2580.     -1,   495,    43,   881,    45,    -1,    -1,    -1,   628,    -1,
  2581.     -1,    52,    -1,    54,    55,    -1,    -1,    -1,    -1,     3,
  2582.      4,    -1,    -1,     7,    -1,    -1,    -1,    68,    -1,   649,
  2583.     -1,    -1,    -1,   653,    -1,    -1,    -1,    78,   658,   659,
  2584.     -1,   661,    -1,    -1,    32,   539,    -1,    88,    -1,    -1,
  2585.     91,    92,    -1,    -1,    -1,    39,    -1,    -1,   552,    -1,
  2586.     -1,    -1,    50,    -1,    -1,    -1,    -1,    -1,    52,   689,
  2587.     54,    55,    71,    72,    73,    74,    75,    76,    77,    78,
  2588.     79,    80,    81,    82,    68,     3,     4,  1384,    -1,     7,
  2589.     -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
  2590.     -1,    -1,    86,   597,   598,   599,   600,    91,    -1,    -1,
  2591.    988,   989,   990,   991,   992,    -1,   994,    -1,    -1,    -1,
  2592.     -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2593.    118,    -1,    -1,    -1,    52,    -1,    54,    55,  1016,  1017,
  2594.   1018,    -1,    -1,   131,   132,   133,    -1,    -1,    -1,    -1,
  2595.     68,    -1,    -1,    -1,    -1,   649,    -1,    -1,   146,   653,
  2596.     78,    -1,    -1,    -1,   658,   659,    -1,   661,    86,    -1,
  2597.     -1,    -1,    -1,    91,   162,   163,   164,    -1,    -1,    -1,
  2598.     -1,    -1,    -1,    -1,    -1,   302,   303,   304,    50,    -1,
  2599.     -1,    -1,    -1,    -1,    -1,   689,    -1,    -1,   818,    -1,
  2600.     -1,    -1,   190,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2601.   1088,  1089,  1090,    75,    -1,    -1,    -1,    -1,   838,   839,
  2602.    840,    -1,    -1,    -1,    -1,    -1,   720,    -1,    -1,    -1,
  2603.     -1,    -1,    -1,    95,    -1,    -1,     1,    -1,     3,     4,
  2604.      5,     6,     7,    -1,    -1,    -1,    -1,    12,    -1,    -1,
  2605.     -1,    -1,    -1,    -1,    -1,    -1,   118,    -1,    -1,    -1,
  2606.     -1,   881,    27,    -1,    29,    30,    -1,    -1,    33,    34,
  2607.     -1,   259,    -1,    -1,    39,    -1,    -1,    -1,    43,    44,
  2608.     -1,    -1,    -1,    -1,   146,    -1,    -1,    52,    -1,    54,
  2609.     55,   911,    -1,    58,   914,    60,   916,    -1,     3,     4,
  2610.    162,   163,   164,    68,    -1,    -1,    -1,    -1,    -1,    -1,
  2611.    172,    -1,    -1,    78,   302,   303,   304,    -1,   812,   813,
  2612.    814,    86,   310,    -1,    -1,    -1,    91,    -1,   190,    -1,
  2613.     -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
  2614.     -1,   106,    -1,    -1,   838,   839,   840,    52,    -1,    54,
  2615.     55,    -1,    -1,    -1,     4,    -1,     6,     7,    -1,    -1,
  2616.     -1,   223,    12,    68,    -1,    -1,    -1,    -1,   988,   989,
  2617.    990,   991,   992,    78,   994,   995,    -1,    -1,    -1,    -1,
  2618.   1000,    86,    -1,    33,    -1,    -1,    91,   881,    -1,    -1,
  2619.     -1,    -1,    -1,    43,    -1,    45,  1016,  1017,  1018,    -1,
  2620.     -1,    -1,    52,    -1,    54,    55,    -1,   395,    -1,   397,
  2621.     -1,   399,   400,   401,   908,    -1,    -1,   911,    68,   407,
  2622.    914,    -1,   916,    -1,   412,   542,   543,   415,    78,    -1,
  2623.   1050,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    88,    -1,
  2624.     -1,    91,    92,    -1,    -1,    -1,   308,    -1,   310,    -1,
  2625.     -1,   439,    70,    71,    72,    73,    74,    75,    76,    77,
  2626.     78,    79,    80,    81,    82,    -1,    -1,    -1,  1088,  1089,
  2627.   1090,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2628.    597,   975,   599,   600,    -1,   602,    -1,    -1,    -1,    -1,
  2629.     -1,    -1,    -1,    -1,   988,   989,   990,   991,   992,    -1,
  2630.    994,   995,  1122,  1123,  1124,    -1,    -1,    -1,    -1,    -1,
  2631.      3,     4,    -1,    -1,     7,    -1,    -1,    -1,    -1,    -1,
  2632.     -1,    -1,  1016,  1017,  1018,    -1,    -1,    -1,    -1,    -1,
  2633.     -1,    -1,   649,   395,    -1,   397,    -1,   399,   400,   401,
  2634.     -1,    -1,   530,    -1,    -1,   407,    39,    -1,    -1,    -1,
  2635.    412,    -1,    -1,   415,   542,   543,  1050,   545,    -1,    52,
  2636.     -1,    54,    55,    -1,   552,    -1,    -1,    -1,    -1,    -1,
  2637.     -1,    -1,    -1,    -1,    -1,    68,     4,   439,     6,     7,
  2638.     -1,    -1,    -1,    -1,    12,    78,    -1,  1207,    -1,    -1,
  2639.    707,    -1,    -1,    86,  1088,  1089,  1090,    -1,    91,    27,
  2640.     -1,    29,    -1,    -1,    -1,    33,    -1,    -1,    -1,   597,
  2641.     -1,   599,   600,    -1,   602,    43,    -1,    -1,    -1,    -1,
  2642.     -1,    -1,    -1,    -1,    52,    -1,    54,    55,  1122,  1123,
  2643.   1124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2644.     -1,  1261,  1262,  1263,    66,    67,    68,    69,    70,    71,
  2645.     72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
  2646.     82,   649,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,
  2647.    658,   659,    -1,   661,  1294,    -1,    -1,    -1,   795,    -1,
  2648.    797,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2649.     -1,   808,    -1,   555,    -1,   812,   813,    -1,    -1,    -1,
  2650.     -1,   689,    -1,    -1,    -1,    -1,     3,     4,     5,     6,
  2651.      7,    -1,    -1,  1207,    -1,    12,    -1,    -1,    -1,   707,
  2652.     -1,   838,   839,    -1,    -1,    -1,    -1,   715,   716,   717,
  2653.     27,    -1,    29,    30,    -1,   597,    33,   599,   600,    -1,
  2654.     -1,    -1,    39,    -1,    -1,    -1,    43,    -1,    -1,    -1,
  2655.     -1,    -1,    -1,    -1,    -1,    52,    -1,    54,    55,    -1,
  2656.     -1,    -1,    -1,    -1,    -1,    -1,    -1,  1261,  1262,  1263,
  2657.     -1,    68,    -1,    -1,    -1,    72,    -1,    -1,    -1,    -1,
  2658.     -1,    78,    -1,    -1,    -1,    -1,    -1,   649,    -1,    86,
  2659.     -1,    -1,    -1,    -1,    91,    -1,   658,   659,    -1,   661,
  2660.   1294,    12,    -1,    -1,    -1,    -1,    -1,   795,    -1,   797,
  2661.     -1,    22,    23,    -1,    -1,    -1,    -1,    -1,    29,    30,
  2662.    808,    32,    -1,    -1,   812,   813,   814,   689,    -1,    -1,
  2663.      4,     5,     6,     7,    -1,    -1,    10,    -1,    12,    -1,
  2664.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    60,
  2665.    838,   839,   840,    27,    -1,    29,    30,    -1,    -1,    33,
  2666.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    43,
  2667.     -1,   988,   989,   990,   991,    -1,    -1,   994,    52,    -1,
  2668.     54,    55,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2669.     -1,    -1,    -1,   881,    -1,    -1,    -1,    -1,    -1,  1016,
  2670.   1017,   112,    -1,   114,   115,     3,     4,     5,     6,     7,
  2671.     -1,    -1,    10,   124,    12,   126,   127,   128,    -1,    -1,
  2672.    131,   132,   133,   911,    -1,    -1,    -1,    -1,    -1,    27,
  2673.     -1,    29,    30,    -1,    -1,    33,    -1,    -1,    -1,    -1,
  2674.     -1,    39,    -1,    -1,    -1,    43,    -1,    -1,    -1,    -1,
  2675.     -1,    -1,    -1,    -1,    52,    -1,    54,    55,    -1,    -1,
  2676.     -1,    -1,    -1,    -1,   952,   953,    -1,   955,    -1,    -1,
  2677.     68,  1088,  1089,  1090,    -1,    -1,   838,   839,   840,    -1,
  2678.     78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,
  2679.     -1,    -1,    -1,    91,   205,    -1,    -1,    95,    -1,    -1,
  2680.    988,   989,   990,   991,   992,    -1,   994,    -1,    -1,     1,
  2681.    221,     3,     4,     5,     6,     7,    -1,    -1,    -1,   881,
  2682.     12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1016,  1017,
  2683.   1018,    -1,    -1,    -1,    -1,    27,    -1,    29,    30,    -1,
  2684.     -1,    33,    34,    -1,    -1,    -1,   908,    39,   259,   911,
  2685.     -1,    43,    44,    -1,    -1,    -1,     4,     5,     6,     7,
  2686.     52,    -1,    54,    55,    12,    -1,    58,    -1,    60,    -1,
  2687.     -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    27,
  2688.     -1,    29,    30,    -1,    -1,    33,    78,    -1,    -1,   300,
  2689.     -1,   302,   303,    -1,    86,    43,    -1,    -1,    -1,    91,
  2690.   1088,  1089,  1090,    -1,    52,    -1,    54,    55,    -1,    -1,
  2691.     -1,    -1,    -1,   975,   106,    -1,    -1,   328,    -1,    -1,
  2692.     -1,    -1,    -1,   334,    -1,    -1,   988,   989,   990,   991,
  2693.    992,    -1,   994,    -1,  1122,   346,  1124,    -1,    -1,   350,
  2694.     -1,    -1,   353,    -1,    -1,    -1,    -1,   358,    -1,    -1,
  2695.     -1,    -1,    -1,    -1,  1016,  1017,  1018,     1,    -1,     3,
  2696.      4,     5,     6,     7,     8,     9,    -1,    11,    12,    13,
  2697.     -1,    15,    16,    17,    18,    19,    20,    21,    22,    23,
  2698.     24,    25,    26,    27,    28,    29,    30,    31,    -1,    33,
  2699.     -1,    35,    36,    -1,    38,    39,    40,    41,    -1,    43,
  2700.     -1,    -1,    -1,    47,    48,    49,    50,    51,    52,    -1,
  2701.     54,    55,    56,    -1,    58,    59,    -1,    -1,    -1,  1207,
  2702.     -1,    65,    -1,   434,    68,    -1,  1088,  1089,  1090,    -1,
  2703.     -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
  2704.     84,    85,    86,    -1,    -1,    -1,    -1,    91,    -1,    93,
  2705.    461,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2706.   1122,    -1,  1124,   107,    -1,    -1,    -1,    -1,    -1,    -1,
  2707.     -1,    -1,    -1,  1261,  1262,  1263,    -1,    -1,    -1,    -1,
  2708.     -1,    -1,     1,    -1,     3,     4,     5,     6,     7,    -1,
  2709.     -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  2710.     -1,    -1,    -1,    -1,    -1,    -1,  1294,    -1,    27,    -1,
  2711.     29,    30,    -1,    -1,    33,    34,    -1,    -1,    -1,   530,
  2712.     39,    -1,    -1,    -1,    43,    44,    -1,    -1,   539,   540,
  2713.     -1,   542,   543,    52,    -1,    54,    55,    -1,    -1,    58,
  2714.     -1,    60,    -1,    -1,    -1,  1207,    -1,    -1,    -1,    68,
  2715.     -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    78,
  2716.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,
  2717.     -1,    -1,    91,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2718.     -1,   592,    -1,    -1,    -1,    -1,    -1,   106,    -1,    -1,
  2719.    601,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1261,
  2720.   1262,  1263,    60,    61,    62,    63,    64,    65,    66,    67,
  2721.     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
  2722.     78,    79,    80,    81,    82,    -1,    -1,    -1,    -1,    -1,
  2723.     -1,    -1,  1294,     1,    -1,     3,     4,     5,     6,     7,
  2724.      8,     9,    -1,    11,    12,    13,    -1,    15,    16,    17,
  2725.     18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
  2726.     28,    29,    30,    31,    -1,    33,    -1,    35,    36,    -1,
  2727.     38,    39,    40,    41,    -1,    43,    -1,    -1,    -1,    47,
  2728.     48,    49,    50,    51,    52,    -1,    54,    55,    56,    -1,
  2729.     58,    59,    -1,    -1,    -1,    -1,   707,    65,    -1,    -1,
  2730.     68,    -1,    -1,    -1,   715,   716,   717,    -1,    76,    77,
  2731.     78,    -1,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,
  2732.     -1,    -1,    -1,    91,     1,    93,     3,     4,     5,     6,
  2733.      7,     8,     9,    10,    11,    12,    -1,    -1,   106,   107,
  2734.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2735.     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    36,
  2736.     -1,    38,    39,    40,    41,    -1,    43,    -1,    45,    -1,
  2737.     47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
  2738.     -1,    -1,    59,    -1,   795,    -1,   797,    -1,    65,    -1,
  2739.     -1,    68,    -1,    -1,    -1,    -1,    -1,   808,    -1,    76,
  2740.     77,    78,    -1,    -1,    -1,    -1,    -1,    84,    85,    86,
  2741.     -1,    88,    -1,    -1,    91,    92,    -1,     1,    95,     3,
  2742.      4,     5,     6,     7,     8,     9,    10,    11,    12,    -1,
  2743.    107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2744.     -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
  2745.     -1,    35,    36,    -1,    38,    39,    40,    41,    -1,    43,
  2746.     -1,    45,    -1,    47,    48,    49,    50,    51,    52,    -1,
  2747.     54,    55,    56,    -1,    -1,    59,    -1,    -1,    -1,    -1,
  2748.     -1,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
  2749.     -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
  2750.     84,    85,    86,   914,    88,    -1,    -1,    91,    92,    -1,
  2751.     -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2752.     -1,    -1,     1,   107,     3,     4,     5,     6,     7,     8,
  2753.      9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  2754.     -1,   952,   953,    -1,   955,    -1,    -1,    -1,    27,    28,
  2755.     29,    30,    31,    -1,    33,    -1,    35,    36,    -1,    38,
  2756.     39,    40,    41,    -1,    43,    -1,    -1,    -1,    47,    48,
  2757.     49,    50,    51,    52,    -1,    54,    55,    -1,    -1,    -1,
  2758.     59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,
  2759.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,
  2760.     -1,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,    -1,
  2761.     -1,    -1,    91,    -1,    -1,    -1,    95,    -1,    -1,    -1,
  2762.     -1,    -1,    -1,    -1,    -1,    -1,   105,     1,   107,     3,
  2763.      4,     5,     6,     7,     8,     9,    -1,    11,    12,    -1,
  2764.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2765.     -1,    -1,    -1,    27,    28,    29,    30,    31,    -1,    33,
  2766.     -1,    35,    36,    -1,    38,    39,    40,    41,    -1,    43,
  2767.     -1,    -1,    -1,    47,    48,    49,    50,    51,    52,    -1,
  2768.     54,    55,    56,    -1,    58,    59,    -1,     1,    -1,    -1,
  2769.      4,    65,     6,     7,    68,    -1,    -1,    -1,    12,    -1,
  2770.     -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
  2771.     84,    85,    86,    27,    -1,    29,    -1,    91,    -1,    33,
  2772.     -1,    35,    36,    -1,    -1,    -1,    -1,    -1,    -1,    43,
  2773.     -1,    45,    -1,   107,    -1,    -1,    -1,    -1,    52,    -1,
  2774.     54,    55,    -1,    57,    -1,    -1,    -1,    61,    62,    63,
  2775.     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
  2776.     74,    75,    76,    77,    78,    79,    80,    81,    -1,    -1,
  2777.     84,    85,    86,    -1,     1,    89,     3,     4,    92,     6,
  2778.      7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,
  2779.     -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,    -1,
  2780.     27,    28,    29,    -1,    31,    -1,    33,    -1,    35,    36,
  2781.     -1,    38,    39,    40,    41,    -1,    43,    -1,    -1,    -1,
  2782.     47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
  2783.     -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,
  2784.     -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
  2785.     77,    78,    -1,    -1,    -1,    -1,    -1,    84,    85,    86,
  2786.     -1,    -1,    -1,    -1,    91,    92,     1,    -1,     3,     4,
  2787.     -1,     6,     7,     8,     9,    -1,    11,    12,    -1,   106,
  2788.    107,    -1,    -1,    -1,    19,    -1,    -1,    -1,    -1,    -1,
  2789.     -1,    -1,    27,    28,    29,    -1,    31,    -1,    33,    -1,
  2790.     35,    36,    -1,    38,    39,    40,    41,    -1,    43,    -1,
  2791.     -1,    -1,    47,    48,    49,    50,    51,    52,    -1,    54,
  2792.     55,    56,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,
  2793.     65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
  2794.     -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,
  2795.     85,    86,     1,    -1,     3,     4,    91,     6,     7,     8,
  2796.      9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  2797.     19,   106,   107,    -1,    -1,    -1,    -1,    -1,    27,    28,
  2798.     29,    -1,    31,    -1,    33,    -1,    35,    36,    -1,    38,
  2799.     39,    40,    41,    -1,    43,    -1,    -1,    -1,    47,    48,
  2800.     49,    50,    51,    52,    -1,    54,    55,    56,    -1,    -1,
  2801.     59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,
  2802.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,
  2803.     -1,    -1,    -1,    -1,    -1,    84,    85,    86,     1,    -1,
  2804.      3,     4,    91,     6,     7,     8,     9,    -1,    11,    12,
  2805.     -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,   107,    -1,
  2806.     -1,    -1,    -1,    -1,    27,    28,    29,    -1,    31,    -1,
  2807.     33,    -1,    35,    36,    -1,    38,    39,    40,    41,    -1,
  2808.     43,    -1,    -1,    -1,    47,    48,    49,    50,    51,    52,
  2809.     -1,    54,    55,    56,    -1,    -1,    59,    -1,    -1,    -1,
  2810.     -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,
  2811.     -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,
  2812.     -1,    84,    85,    86,    -1,    -1,    -1,    -1,    91,    92,
  2813.      1,    -1,     3,     4,    -1,     6,     7,     8,     9,    -1,
  2814.     11,    12,    -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,
  2815.     -1,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    -1,
  2816.     31,    -1,    33,    -1,    35,    36,    -1,    38,    39,    40,
  2817.     41,    -1,    43,    -1,    -1,    -1,    47,    48,    49,    50,
  2818.     51,    52,    -1,    54,    55,    56,    -1,    -1,    59,    -1,
  2819.     -1,    -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,
  2820.     -1,    -1,    -1,    -1,    -1,    76,    77,    78,    -1,    -1,
  2821.     -1,    -1,    -1,    84,    85,    86,     1,    -1,     3,     4,
  2822.     91,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
  2823.     -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,
  2824.     -1,    -1,    27,    28,    29,    -1,    31,    -1,    33,    -1,
  2825.     35,    36,    -1,    38,    39,    40,    41,    -1,    43,    -1,
  2826.     -1,    -1,    47,    48,    49,    50,    51,    52,    -1,    54,
  2827.     55,    56,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,
  2828.     65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
  2829.     -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,
  2830.     85,    86,     1,    -1,     3,     4,    91,     6,     7,     8,
  2831.      9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  2832.     -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,    27,    28,
  2833.     29,    -1,    31,    -1,    33,    -1,    35,    36,    -1,    38,
  2834.     39,    40,    41,    -1,    43,    -1,    -1,    -1,    47,    48,
  2835.     49,    50,    51,    52,    -1,    54,    55,    -1,    -1,    -1,
  2836.     59,    60,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,
  2837.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,
  2838.     -1,    -1,    -1,    -1,    -1,    84,    85,    86,     1,    -1,
  2839.      3,     4,    91,     6,     7,     8,     9,    -1,    11,    12,
  2840.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,
  2841.     -1,    -1,    -1,    -1,    27,    28,    29,    -1,    31,    -1,
  2842.     33,    -1,    35,    36,    -1,    38,    39,    40,    41,    -1,
  2843.     43,    -1,    -1,    -1,    47,    48,    49,    50,    51,    52,
  2844.     -1,    54,    55,    56,    -1,    -1,    59,    -1,    -1,    -1,
  2845.     -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,
  2846.     -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,
  2847.     -1,    84,    85,    86,     1,    -1,     3,     4,    91,     6,
  2848.      7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,
  2849.     -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,
  2850.     27,    28,    29,    -1,    31,    -1,    33,    -1,    35,    36,
  2851.     -1,    38,    39,    40,    41,    -1,    43,    -1,    -1,    -1,
  2852.     47,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
  2853.     -1,    58,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,
  2854.     -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
  2855.     77,    78,    -1,    -1,    -1,    -1,    -1,    84,    85,    86,
  2856.      1,    -1,     3,     4,    91,     6,     7,     8,     9,    -1,
  2857.     11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2858.    107,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,    -1,
  2859.     31,    -1,    33,    -1,    35,    36,    -1,    38,    39,    40,
  2860.     41,    -1,    43,    -1,    -1,    -1,    47,    48,    49,    50,
  2861.     51,    52,    -1,    54,    55,    -1,    -1,    -1,    59,    -1,
  2862.     -1,    -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,
  2863.     -1,    -1,    -1,    -1,    -1,    76,    77,    78,    -1,    -1,
  2864.     -1,    -1,    -1,    84,    85,    86,     1,    -1,     3,     4,
  2865.     91,     6,     7,     8,     9,    -1,    11,    12,    -1,    -1,
  2866.     -1,    -1,    -1,    -1,   105,    -1,   107,    -1,    -1,    -1,
  2867.     -1,    -1,    27,    28,    29,    -1,    31,    -1,    33,    -1,
  2868.     35,    36,    -1,    38,    39,    40,    41,    -1,    43,    -1,
  2869.     -1,    -1,    47,    48,    49,    50,    51,    52,    -1,    54,
  2870.     55,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,
  2871.     65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
  2872.     -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,
  2873.     85,    86,     1,    -1,     3,     4,    91,     6,     7,     8,
  2874.      9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  2875.     -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,    27,    28,
  2876.     29,    -1,    31,    -1,    33,    -1,    35,    36,    -1,    38,
  2877.     39,    40,    41,    -1,    43,    -1,    -1,    -1,    47,    48,
  2878.     49,    50,    51,    52,    -1,    54,    55,    -1,    -1,    -1,
  2879.     59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,
  2880.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,
  2881.     -1,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,    -1,
  2882.      3,     4,    91,     6,     7,     8,     9,    -1,    11,    12,
  2883.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,
  2884.     -1,    -1,    -1,    -1,    27,    28,    29,    -1,    31,    -1,
  2885.     33,    -1,    35,    36,    -1,    38,    39,    40,    41,    -1,
  2886.     43,    -1,    -1,    -1,    47,    48,    49,    50,    51,    52,
  2887.     -1,    54,    55,    -1,    -1,    -1,    59,    -1,    -1,    -1,
  2888.     -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,
  2889.     -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,
  2890.     -1,    84,    85,    86,    -1,    -1,    -1,    -1,    91,    -1,
  2891.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2892.     -1,    -1,    -1,    -1,   107,   108,     3,     4,     5,     6,
  2893.      7,     8,     9,    -1,    11,    12,    13,    -1,    15,    16,
  2894.     17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
  2895.     27,    28,    29,    30,    31,    -1,    33,    -1,    35,    36,
  2896.     -1,    38,    39,    40,    41,    -1,    43,    -1,    -1,    -1,
  2897.     47,    48,    49,    50,    51,    52,    -1,    54,    55,    56,
  2898.     -1,    58,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,
  2899.     -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,
  2900.     77,    78,    -1,    -1,    -1,    -1,    -1,    84,    85,    86,
  2901.     -1,    -1,    -1,    -1,    91,    -1,    93,    -1,    -1,    -1,
  2902.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   106,
  2903.    107,     3,     4,     5,     6,     7,     8,     9,    -1,    11,
  2904.     12,    13,    -1,    15,    16,    17,    18,    19,    20,    21,
  2905.     22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
  2906.     -1,    33,    -1,    35,    36,    -1,    38,    39,    40,    41,
  2907.     -1,    43,    -1,    -1,    -1,    47,    48,    49,    50,    51,
  2908.     52,    -1,    54,    55,    56,    -1,    58,    59,    -1,    -1,
  2909.     -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,
  2910.     -1,    -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
  2911.     -1,    -1,    84,    85,    86,    -1,    -1,    -1,    -1,    91,
  2912.     -1,    93,    -1,    -1,     3,     4,     5,     6,     7,     8,
  2913.      9,    -1,    11,    12,    13,   107,    15,    16,    17,    18,
  2914.     19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
  2915.     29,    30,    31,    -1,    33,    -1,    35,    36,    -1,    38,
  2916.     39,    40,    41,    -1,    43,    -1,    -1,    -1,    47,    48,
  2917.     49,    50,    51,    52,    -1,    54,    55,    56,    -1,    58,
  2918.     59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,
  2919.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,
  2920.     -1,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,    -1,
  2921.     -1,    -1,    91,    -1,    93,    -1,    -1,     3,     4,     5,
  2922.      6,     7,     8,     9,    -1,    11,    12,    13,   107,    15,
  2923.     16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
  2924.     26,    27,    28,    29,    30,    31,    -1,    33,    -1,    35,
  2925.     36,    -1,    38,    39,    40,    41,    -1,    43,    -1,    -1,
  2926.     -1,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
  2927.     -1,    -1,    58,    59,    -1,    -1,    -1,    -1,    -1,    65,
  2928.     -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2929.     76,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,    85,
  2930.     86,    -1,    -1,    -1,    -1,    91,    -1,    93,     3,     4,
  2931.      5,     6,     7,     8,     9,    10,    11,    12,    -1,    -1,
  2932.     -1,   107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2933.     -1,    -1,    27,    28,    29,    30,    31,    -1,    33,    -1,
  2934.     35,    36,    -1,    38,    39,    40,    41,    -1,    43,    -1,
  2935.     45,    -1,    47,    48,    49,    50,    51,    52,    -1,    54,
  2936.     55,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,
  2937.     65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
  2938.     -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,
  2939.     85,    86,    -1,    88,    -1,    -1,    91,    92,    -1,    -1,
  2940.     95,     3,     4,     5,     6,     7,     8,     9,    10,    11,
  2941.     12,    -1,   107,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2942.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    30,    31,
  2943.     -1,    33,    -1,    35,    36,    -1,    38,    39,    40,    41,
  2944.     -1,    43,    -1,    45,    -1,    47,    48,    49,    50,    51,
  2945.     52,    -1,    54,    55,    -1,    -1,    -1,    59,    -1,    -1,
  2946.     -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,
  2947.     -1,    -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
  2948.     -1,    -1,    84,    85,    86,    -1,    88,    -1,    -1,    91,
  2949.     92,     3,     4,    95,     6,     7,     8,     9,    -1,    11,
  2950.     12,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,
  2951.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    -1,    31,
  2952.     -1,    33,    -1,    35,    36,    -1,    38,    39,    40,    41,
  2953.     -1,    43,    -1,    45,    -1,    47,    48,    49,    50,    51,
  2954.     52,    -1,    54,    55,    -1,    -1,    -1,    -1,    -1,    -1,
  2955.     -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,
  2956.     -1,    -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
  2957.     -1,    -1,    84,    85,    86,    -1,    88,    -1,    -1,    91,
  2958.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2959.     12,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,
  2960.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    -1,    31,
  2961.     -1,    33,    -1,    35,    36,    -1,    38,    39,    40,    41,
  2962.     -1,    43,    -1,    45,    -1,    47,    48,    49,    50,    51,
  2963.     52,    -1,    54,    55,    -1,    -1,    -1,    -1,    -1,    -1,
  2964.     -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,
  2965.     -1,    -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
  2966.     -1,    -1,    84,    85,    86,    -1,    88,    -1,    -1,    91,
  2967.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  2968.     12,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,
  2969.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    -1,    31,
  2970.     -1,    33,    -1,    35,    36,    -1,    38,    39,    40,    41,
  2971.     -1,    43,    -1,    -1,    -1,    47,    48,    49,    50,    51,
  2972.     52,    -1,    54,    55,    -1,    -1,    -1,    59,    -1,    -1,
  2973.     -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,
  2974.     -1,    73,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
  2975.     -1,    -1,    84,    85,    86,    -1,    -1,     3,     4,    91,
  2976.      6,     7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,
  2977.     -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,
  2978.     -1,    27,    28,    29,    -1,    31,    -1,    33,    -1,    35,
  2979.     36,    -1,    38,    39,    40,    41,    -1,    43,    -1,    -1,
  2980.     -1,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
  2981.     -1,    -1,    58,    59,    -1,    -1,    -1,    -1,    -1,    65,
  2982.     -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2983.     76,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,    85,
  2984.     86,    -1,    -1,     3,     4,    91,     6,     7,     8,     9,
  2985.     -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  2986.     -1,   107,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  2987.     -1,    31,    -1,    33,    -1,    35,    36,    -1,    38,    39,
  2988.     40,    41,    -1,    43,    -1,    -1,    -1,    47,    48,    49,
  2989.     50,    51,    52,    -1,    54,    55,    -1,    -1,    -1,    59,
  2990.     -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,    -1,
  2991.     -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,    -1,
  2992.     -1,    -1,    -1,    -1,    84,    85,    86,    -1,    -1,     3,
  2993.      4,    91,     6,     7,     8,     9,    -1,    11,    12,    -1,
  2994.     -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,
  2995.     -1,    -1,    -1,    27,    28,    29,    -1,    31,    -1,    33,
  2996.     -1,    35,    36,    -1,    38,    39,    40,    41,    -1,    43,
  2997.     -1,    -1,    -1,    47,    48,    49,    50,    51,    52,    -1,
  2998.     54,    55,    -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,
  2999.     -1,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
  3000.     -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
  3001.     84,    85,    86,    -1,    -1,     3,     4,    91,     6,     7,
  3002.      8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,
  3003.     -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,    27,
  3004.     28,    29,    -1,    31,    -1,    33,    -1,    35,    36,    -1,
  3005.     38,    39,    40,    41,    -1,    43,    -1,    -1,    -1,    47,
  3006.     48,    49,    50,    51,    52,    -1,    54,    55,    56,    -1,
  3007.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
  3008.     68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
  3009.     78,    -1,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,
  3010.     -1,     3,     4,    91,     6,     7,     8,     9,    -1,    11,
  3011.     12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
  3012.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    -1,    31,
  3013.     -1,    33,    -1,    35,    36,    -1,    38,    39,    40,    41,
  3014.     -1,    43,    -1,    -1,    -1,    47,    48,    49,    50,    51,
  3015.     52,    -1,    54,    55,    -1,    -1,    -1,    -1,    -1,    -1,
  3016.     -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,
  3017.     -1,    -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
  3018.     -1,    -1,    84,    85,    86,    -1,    -1,    -1,    -1,    91,
  3019.     92,     3,     4,    -1,     6,     7,     8,     9,    -1,    11,
  3020.     12,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,
  3021.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    -1,    31,
  3022.     -1,    33,    -1,    35,    36,    -1,    38,    39,    40,    41,
  3023.     -1,    43,    -1,    -1,    -1,    47,    48,    49,    50,    51,
  3024.     52,    -1,    54,    55,    -1,    -1,    -1,    59,    -1,    -1,
  3025.     -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,
  3026.     -1,    -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
  3027.     -1,    -1,    84,    85,    86,    -1,    -1,     3,     4,    91,
  3028.      6,     7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,
  3029.     -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,
  3030.     -1,    27,    28,    29,    -1,    31,    -1,    33,    -1,    35,
  3031.     36,    -1,    38,    39,    40,    41,    -1,    43,    -1,    -1,
  3032.     -1,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
  3033.     -1,    -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    65,
  3034.     -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3035.     76,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,    85,
  3036.     86,    -1,    -1,     3,     4,    91,     6,     7,     8,     9,
  3037.     -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3038.     -1,   107,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  3039.     -1,    31,    -1,    33,    -1,    35,    36,    -1,    38,    39,
  3040.     40,    41,    -1,    43,    -1,    -1,    -1,    47,    48,    49,
  3041.     50,    51,    52,    -1,    54,    55,    -1,    -1,    -1,    59,
  3042.     -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,    -1,
  3043.     -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,    -1,
  3044.     -1,    -1,    -1,    -1,    84,    85,    86,    -1,    -1,     3,
  3045.      4,    91,     6,     7,     8,     9,    -1,    11,    12,    -1,
  3046.     -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,
  3047.     -1,    -1,    -1,    27,    28,    29,    -1,    31,    -1,    33,
  3048.     -1,    35,    36,    -1,    38,    39,    40,    41,    -1,    43,
  3049.     -1,    -1,    -1,    47,    48,    49,    50,    51,    52,    -1,
  3050.     54,    55,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3051.     -1,    65,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
  3052.     -1,    -1,    76,    77,    78,    -1,    -1,    -1,    -1,    -1,
  3053.     84,    85,    86,    -1,    -1,     3,     4,    91,     6,     7,
  3054.      8,     9,    -1,    11,    12,    -1,    -1,    -1,    -1,    -1,
  3055.     -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,    -1,    27,
  3056.     28,    29,    -1,    31,    -1,    33,    -1,    35,    36,    -1,
  3057.     38,    39,    40,    41,    -1,    43,    -1,    -1,    -1,    47,
  3058.     48,    49,    50,    51,    52,    -1,    54,    55,    -1,    -1,
  3059.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
  3060.     68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    76,    77,
  3061.     78,    -1,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,
  3062.     -1,     3,     4,    91,     6,     7,     8,     9,    -1,    11,
  3063.     12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   107,
  3064.     -1,    -1,    -1,    -1,    -1,    27,    28,    29,    -1,    31,
  3065.     -1,    33,    -1,    35,    36,    -1,    38,    39,    40,    41,
  3066.     -1,    43,    -1,    -1,    -1,    47,    48,    49,    50,    51,
  3067.     52,    -1,    54,    55,    -1,    -1,    -1,    -1,    -1,    -1,
  3068.     -1,    -1,    -1,    65,    -1,    -1,    68,    -1,    -1,    -1,
  3069.     -1,    -1,    -1,    -1,    76,    77,    78,    -1,    -1,    -1,
  3070.     -1,    -1,    84,    85,    86,    -1,    -1,     3,     4,    91,
  3071.      6,     7,     8,     9,    -1,    11,    12,    -1,    -1,    -1,
  3072.     -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,    -1,    -1,
  3073.     -1,    27,    28,    29,    -1,    31,    -1,    33,    -1,    35,
  3074.     36,    -1,    38,    39,    40,    41,    -1,    43,    -1,    -1,
  3075.     -1,    47,    48,    49,    50,    51,    52,    -1,    54,    55,
  3076.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    65,
  3077.     -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3078.     76,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,    85,
  3079.     86,    -1,    -1,     3,     4,    91,     6,     7,     8,     9,
  3080.     -1,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3081.     -1,   107,    -1,    -1,    -1,    -1,    -1,    27,    28,    29,
  3082.     -1,    31,    -1,    33,    -1,    35,    36,    -1,    38,    39,
  3083.     40,    41,    -1,    43,    -1,    -1,    -1,    47,    48,    49,
  3084.     50,    51,    52,    -1,    54,    55,    -1,    -1,    -1,    -1,
  3085.     -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    68,    -1,
  3086.     -1,    -1,    -1,    -1,    -1,    -1,    76,    77,    78,    -1,
  3087.     -1,    -1,    -1,    -1,    84,    85,    86,    -1,    -1,    -1,
  3088.      1,    91,     3,     4,     5,     6,     7,    -1,    -1,    -1,
  3089.     -1,    12,    -1,    -1,    -1,    -1,    -1,   107,    -1,    -1,
  3090.     -1,    -1,    -1,    -1,    25,    26,    27,    -1,    29,    30,
  3091.     -1,    -1,    33,    -1,    -1,    -1,    37,    -1,    39,    -1,
  3092.     -1,    42,    43,    44,    -1,    46,    -1,    -1,    -1,    -1,
  3093.     -1,    52,    -1,    54,    55,    -1,    -1,    58,    -1,    -1,
  3094.      1,    -1,     3,     4,     5,     6,     7,    68,    -1,    -1,
  3095.     -1,    12,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
  3096.     -1,    -1,    -1,    -1,    -1,    86,    27,    -1,    29,    30,
  3097.     91,    -1,    33,    -1,    -1,    96,    97,    -1,    39,    -1,
  3098.     -1,    -1,    43,    -1,    -1,    46,    -1,    -1,    -1,    -1,
  3099.     -1,    52,    -1,    54,    55,    -1,    -1,    58,    -1,    -1,
  3100.     -1,    -1,     3,     4,     5,     6,     7,    68,    -1,    10,
  3101.     -1,    12,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
  3102.     -1,    -1,    -1,    -1,    -1,    86,    27,    -1,    29,    30,
  3103.     91,    -1,    33,    -1,    -1,    96,    -1,    -1,    39,    -1,
  3104.     -1,    -1,    43,    -1,    45,    -1,     3,     4,     5,     6,
  3105.      7,    52,    -1,    54,    55,    12,    -1,    -1,    -1,    -1,
  3106.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,
  3107.     27,    -1,    29,    30,    -1,    -1,    33,    78,    -1,    -1,
  3108.     -1,    -1,    39,    -1,    -1,    86,    43,    88,    -1,    -1,
  3109.     91,    92,    -1,    -1,    95,    52,    -1,    54,    55,    -1,
  3110.     -1,    -1,    -1,    60,    -1,    -1,     3,     4,     5,     6,
  3111.      7,    68,    -1,    10,    -1,    12,    -1,    -1,    -1,    -1,
  3112.     -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,
  3113.     27,    -1,    29,    30,    91,    -1,    33,    -1,    -1,    -1,
  3114.     -1,    -1,    39,    -1,    -1,    -1,    43,    -1,    -1,    -1,
  3115.      3,     4,     5,     6,     7,    52,    -1,    54,    55,    12,
  3116.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
  3117.     -1,    68,    -1,    -1,    27,    -1,    29,    30,    -1,    -1,
  3118.     33,    78,    -1,    -1,    -1,    -1,    39,    -1,    -1,    86,
  3119.     43,    -1,    -1,    -1,    91,    -1,    -1,    -1,    -1,    52,
  3120.     -1,    54,    55,    -1,    -1,    58,    -1,    -1,    -1,    -1,
  3121.      3,     4,     5,     6,     7,    68,    -1,    -1,    -1,    12,
  3122.     -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
  3123.     -1,    -1,    -1,    86,    27,    -1,    29,    30,    91,    -1,
  3124.     33,    -1,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,
  3125.     43,    -1,    -1,    -1,     3,     4,     5,     6,     7,    52,
  3126.     -1,    54,    55,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  3127.     -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    27,    -1,
  3128.     29,    30,    -1,    -1,    33,    78,    -1,    -1,    -1,    -1,
  3129.     39,    -1,    -1,    86,    43,    -1,    -1,    -1,    91,    -1,
  3130.     -1,    -1,    -1,    52,    -1,    54,    55,    -1,    -1,    -1,
  3131.     -1,    -1,    30,    -1,    -1,    -1,    -1,    -1,    -1,    68,
  3132.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
  3133.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    86,    -1,    -1,
  3134.     -1,    -1,    91,    61,    62,    63,    64,    65,    66,    67,
  3135.     68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
  3136.     78,    79,    80,    81,    82,     4,     5,     6,     7,    -1,
  3137.     -1,    -1,    -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,
  3138.     -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    27,    -1,
  3139.     29,    30,    -1,    -1,    33,    -1,    -1,    -1,    -1,    -1,
  3140.     -1,    -1,    -1,    -1,    43,    -1,    -1,    -1,    -1,    -1,
  3141.     -1,    -1,    -1,    52,    -1,    54,    55,    61,    62,    63,
  3142.     64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
  3143.     74,    75,    76,    77,    78,    79,    80,    81,    82,    61,
  3144.     62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
  3145.     72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
  3146.     82,    57,    -1,    -1,   108,    61,    62,    63,    64,    65,
  3147.     66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
  3148.     76,    77,    78,    79,    80,    81,    82,    60,    61,    62,
  3149.     63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
  3150.     73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
  3151.     60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
  3152.     70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
  3153.     80,    81,    82,    61,    62,    63,    64,    65,    66,    67,
  3154.     68,    69,    70,    71,    72,    -1,    74,    75,    76,    77,
  3155.     78,    79,    80,    81,    82,    65,    66,    67,    68,    69,
  3156.     70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
  3157.     80,    81,    82
  3158. };
  3159. /* -*-C-*-  Note some compilers choke on comments on `#line' lines.  */
  3160. #line 3 "/usr/local/lib/bison.simple"
  3161.  
  3162. /* Skeleton output parser for bison,
  3163.    Copyright (C) 1984, 1989, 1990 Bob Corbett and Richard Stallman
  3164.  
  3165.    This program is free software; you can redistribute it and/or modify
  3166.    it under the terms of the GNU General Public License as published by
  3167.    the Free Software Foundation; either version 1, or (at your option)
  3168.    any later version.
  3169.  
  3170.    This program is distributed in the hope that it will be useful,
  3171.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  3172.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  3173.    GNU General Public License for more details.
  3174.  
  3175.    You should have received a copy of the GNU General Public License
  3176.    along with this program; if not, write to the Free Software
  3177.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
  3178.  
  3179.  
  3180. #ifndef alloca
  3181. #ifdef __GNUC__
  3182. #define alloca __builtin_alloca
  3183. #else /* not GNU C.  */
  3184. #if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
  3185. #include <alloca.h>
  3186. #else /* not sparc */
  3187. #if defined (MSDOS) && !defined (__TURBOC__)
  3188. #include <malloc.h>
  3189. #else /* not MSDOS, or __TURBOC__ */
  3190. #if defined(_AIX)
  3191. #include <malloc.h>
  3192.  #pragma alloca
  3193. #else /* not MSDOS, __TURBOC__, or _AIX */
  3194. #ifdef __hpux
  3195. #ifdef __cplusplus
  3196. extern "C" {
  3197. void *alloca (unsigned int);
  3198. };
  3199. #else /* not __cplusplus */
  3200. void *alloca ();
  3201. #endif /* not __cplusplus */
  3202. #endif /* __hpux */
  3203. #endif /* not _AIX */
  3204. #endif /* not MSDOS, or __TURBOC__ */
  3205. #endif /* not sparc.  */
  3206. #endif /* not GNU C.  */
  3207. #endif /* alloca not defined.  */
  3208.  
  3209. /* This is the parser code that is written into each bison parser
  3210.   when the %semantic_parser declaration is not specified in the grammar.
  3211.   It was written by Richard Stallman by simplifying the hairy parser
  3212.   used when %semantic_parser is specified.  */
  3213.  
  3214. /* Note: there must be only one dollar sign in this file.
  3215.    It is replaced by the list of actions, each action
  3216.    as one case of the switch.  */
  3217.  
  3218. #define yyerrok        (yyerrstatus = 0)
  3219. #define yyclearin    (yychar = YYEMPTY)
  3220. #define YYEMPTY        -2
  3221. #define YYEOF        0
  3222. #define YYACCEPT    return(0)
  3223. #define YYABORT     return(1)
  3224. #define YYERROR        goto yyerrlab1
  3225. /* Like YYERROR except do call yyerror.
  3226.    This remains here temporarily to ease the
  3227.    transition to the new meaning of YYERROR, for GCC.
  3228.    Once GCC version 2 has supplanted version 1, this can go.  */
  3229. #define YYFAIL        goto yyerrlab
  3230. #define YYRECOVERING()  (!!yyerrstatus)
  3231. #define YYBACKUP(token, value) \
  3232. do                                \
  3233.   if (yychar == YYEMPTY && yylen == 1)                \
  3234.     { yychar = (token), yylval = (value);            \
  3235.       yychar1 = YYTRANSLATE (yychar);                \
  3236.       YYPOPSTACK;                        \
  3237.       goto yybackup;                        \
  3238.     }                                \
  3239.   else                                \
  3240.     { yyerror ("syntax error: cannot back up"); YYERROR; }    \
  3241. while (0)
  3242.  
  3243. #define YYTERROR    1
  3244. #define YYERRCODE    256
  3245.  
  3246. #ifndef YYPURE
  3247. #define YYLEX        yylex()
  3248. #endif
  3249.  
  3250. #ifdef YYPURE
  3251. #ifdef YYLSP_NEEDED
  3252. #define YYLEX        yylex(&yylval, &yylloc)
  3253. #else
  3254. #define YYLEX        yylex(&yylval)
  3255. #endif
  3256. #endif
  3257.  
  3258. /* If nonreentrant, generate the variables here */
  3259.  
  3260. #ifndef YYPURE
  3261.  
  3262. int    yychar;            /*  the lookahead symbol        */
  3263. YYSTYPE    yylval;            /*  the semantic value of the        */
  3264.                 /*  lookahead symbol            */
  3265.  
  3266. #ifdef YYLSP_NEEDED
  3267. YYLTYPE yylloc;            /*  location data for the lookahead    */
  3268.                 /*  symbol                */
  3269. #endif
  3270.  
  3271. int yynerrs;            /*  number of parse errors so far       */
  3272. #endif  /* not YYPURE */
  3273.  
  3274. #if YYDEBUG != 0
  3275. int yydebug;            /*  nonzero means print parse trace    */
  3276. /* Since this is uninitialized, it does not stop multiple parsers
  3277.    from coexisting.  */
  3278. #endif
  3279.  
  3280. /*  YYINITDEPTH indicates the initial size of the parser's stacks    */
  3281.  
  3282. #ifndef    YYINITDEPTH
  3283. #define YYINITDEPTH 200
  3284. #endif
  3285.  
  3286. /*  YYMAXDEPTH is the maximum size the stacks can grow to
  3287.     (effective only if the built-in stack extension method is used).  */
  3288.  
  3289. #if YYMAXDEPTH == 0
  3290. #undef YYMAXDEPTH
  3291. #endif
  3292.  
  3293. #ifndef YYMAXDEPTH
  3294. #define YYMAXDEPTH 10000
  3295. #endif
  3296.  
  3297. /* Prevent warning if -Wstrict-prototypes.  */
  3298. #ifdef __GNUC__
  3299. int yyparse (void);
  3300. #endif
  3301.  
  3302. #if __GNUC__ > 1        /* GNU C and GNU C++ define this.  */
  3303. #define __yy_bcopy(FROM,TO,COUNT)    __builtin_memcpy(TO,FROM,COUNT)
  3304. #else                /* not GNU C or C++ */
  3305. #ifndef __cplusplus
  3306.  
  3307. /* This is the most reliable way to avoid incompatibilities
  3308.    in available built-in functions on various systems.  */
  3309. static void
  3310. __yy_bcopy (from, to, count)
  3311.      char *from;
  3312.      char *to;
  3313.      int count;
  3314. {
  3315.   register char *f = from;
  3316.   register char *t = to;
  3317.   register int i = count;
  3318.  
  3319.   while (i-- > 0)
  3320.     *t++ = *f++;
  3321. }
  3322.  
  3323. #else /* __cplusplus */
  3324.  
  3325. /* This is the most reliable way to avoid incompatibilities
  3326.    in available built-in functions on various systems.  */
  3327. static void
  3328. __yy_bcopy (char *from, char *to, int count)
  3329. {
  3330.   register char *f = from;
  3331.   register char *t = to;
  3332.   register int i = count;
  3333.  
  3334.   while (i-- > 0)
  3335.     *t++ = *f++;
  3336. }
  3337.  
  3338. #endif
  3339. #endif
  3340.  
  3341. #line 184 "/usr/local/lib/bison.simple"
  3342.  
  3343. /* The user can define YYPARSE_PARAM as the name of an argument to be passed
  3344.    into yyparse.  The argument should have type void *.
  3345.    It should actually point to an object.
  3346.    Grammar actions can access the variable by casting it
  3347.    to the proper pointer type.  */
  3348.  
  3349. #ifdef YYPARSE_PARAM
  3350. #define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
  3351. #else
  3352. #define YYPARSE_PARAM
  3353. #define YYPARSE_PARAM_DECL
  3354. #endif
  3355.  
  3356. int
  3357. yyparse(YYPARSE_PARAM)
  3358.      YYPARSE_PARAM_DECL
  3359. {
  3360.   register int yystate;
  3361.   register int yyn;
  3362.   register short *yyssp;
  3363.   register YYSTYPE *yyvsp;
  3364.   int yyerrstatus;    /*  number of tokens to shift before error messages enabled */
  3365.   int yychar1 = 0;        /*  lookahead token as an internal (translated) token number */
  3366.  
  3367.   short    yyssa[YYINITDEPTH];    /*  the state stack            */
  3368.   YYSTYPE yyvsa[YYINITDEPTH];    /*  the semantic value stack        */
  3369.  
  3370.   short *yyss = yyssa;        /*  refer to the stacks thru separate pointers */
  3371.   YYSTYPE *yyvs = yyvsa;    /*  to allow yyoverflow to reallocate them elsewhere */
  3372.  
  3373. #ifdef YYLSP_NEEDED
  3374.   YYLTYPE yylsa[YYINITDEPTH];    /*  the location stack            */
  3375.   YYLTYPE *yyls = yylsa;
  3376.   YYLTYPE *yylsp;
  3377.  
  3378. #define YYPOPSTACK   (yyvsp--, yyssp--, yylsp--)
  3379. #else
  3380. #define YYPOPSTACK   (yyvsp--, yyssp--)
  3381. #endif
  3382.  
  3383.   int yystacksize = YYINITDEPTH;
  3384.  
  3385. #ifdef YYPURE
  3386.   int yychar;
  3387.   YYSTYPE yylval;
  3388.   int yynerrs;
  3389. #ifdef YYLSP_NEEDED
  3390.   YYLTYPE yylloc;
  3391. #endif
  3392. #endif
  3393.  
  3394.   YYSTYPE yyval;        /*  the variable used to return        */
  3395.                 /*  semantic values from the action    */
  3396.                 /*  routines                */
  3397.  
  3398.   int yylen;
  3399.  
  3400. #if YYDEBUG != 0
  3401.   if (yydebug)
  3402.     fprintf(stderr, "Starting parse\n");
  3403. #endif
  3404.  
  3405.   yystate = 0;
  3406.   yyerrstatus = 0;
  3407.   yynerrs = 0;
  3408.   yychar = YYEMPTY;        /* Cause a token to be read.  */
  3409.  
  3410.   /* Initialize stack pointers.
  3411.      Waste one element of value and location stack
  3412.      so that they stay on the same level as the state stack.
  3413.      The wasted elements are never initialized.  */
  3414.  
  3415.   yyssp = yyss - 1;
  3416.   yyvsp = yyvs;
  3417. #ifdef YYLSP_NEEDED
  3418.   yylsp = yyls;
  3419. #endif
  3420.  
  3421. /* Push a new state, which is found in  yystate  .  */
  3422. /* In all cases, when you get here, the value and location stacks
  3423.    have just been pushed. so pushing a state here evens the stacks.  */
  3424. yynewstate:
  3425.  
  3426.   *++yyssp = yystate;
  3427.  
  3428.   if (yyssp >= yyss + yystacksize - 1)
  3429.     {
  3430.       /* Give user a chance to reallocate the stack */
  3431.       /* Use copies of these so that the &'s don't force the real ones into memory. */
  3432.       YYSTYPE *yyvs1 = yyvs;
  3433.       short *yyss1 = yyss;
  3434. #ifdef YYLSP_NEEDED
  3435.       YYLTYPE *yyls1 = yyls;
  3436. #endif
  3437.  
  3438.       /* Get the current used size of the three stacks, in elements.  */
  3439.       int size = yyssp - yyss + 1;
  3440.  
  3441. #ifdef yyoverflow
  3442.       /* Each stack pointer address is followed by the size of
  3443.      the data in use in that stack, in bytes.  */
  3444. #ifdef YYLSP_NEEDED
  3445.       /* This used to be a conditional around just the two extra args,
  3446.      but that might be undefined if yyoverflow is a macro.  */
  3447.       yyoverflow("parser stack overflow",
  3448.          &yyss1, size * sizeof (*yyssp),
  3449.          &yyvs1, size * sizeof (*yyvsp),
  3450.          &yyls1, size * sizeof (*yylsp),
  3451.          &yystacksize);
  3452. #else
  3453.       yyoverflow("parser stack overflow",
  3454.          &yyss1, size * sizeof (*yyssp),
  3455.          &yyvs1, size * sizeof (*yyvsp),
  3456.          &yystacksize);
  3457. #endif
  3458.  
  3459.       yyss = yyss1; yyvs = yyvs1;
  3460. #ifdef YYLSP_NEEDED
  3461.       yyls = yyls1;
  3462. #endif
  3463. #else /* no yyoverflow */
  3464.       /* Extend the stack our own way.  */
  3465.       if (yystacksize >= YYMAXDEPTH)
  3466.     {
  3467.       yyerror("parser stack overflow");
  3468.       return 2;
  3469.     }
  3470.       yystacksize *= 2;
  3471.       if (yystacksize > YYMAXDEPTH)
  3472.     yystacksize = YYMAXDEPTH;
  3473.       yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
  3474.       __yy_bcopy ((char *)yyss1, (char *)yyss, size * sizeof (*yyssp));
  3475.       yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
  3476.       __yy_bcopy ((char *)yyvs1, (char *)yyvs, size * sizeof (*yyvsp));
  3477. #ifdef YYLSP_NEEDED
  3478.       yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
  3479.       __yy_bcopy ((char *)yyls1, (char *)yyls, size * sizeof (*yylsp));
  3480. #endif
  3481. #endif /* no yyoverflow */
  3482.  
  3483.       yyssp = yyss + size - 1;
  3484.       yyvsp = yyvs + size - 1;
  3485. #ifdef YYLSP_NEEDED
  3486.       yylsp = yyls + size - 1;
  3487. #endif
  3488.  
  3489. #if YYDEBUG != 0
  3490.       if (yydebug)
  3491.     fprintf(stderr, "Stack size increased to %d\n", yystacksize);
  3492. #endif
  3493.  
  3494.       if (yyssp >= yyss + yystacksize - 1)
  3495.     YYABORT;
  3496.     }
  3497.  
  3498. #if YYDEBUG != 0
  3499.   if (yydebug)
  3500.     fprintf(stderr, "Entering state %d\n", yystate);
  3501. #endif
  3502.  
  3503.   goto yybackup;
  3504.  yybackup:
  3505.  
  3506. /* Do appropriate processing given the current state.  */
  3507. /* Read a lookahead token if we need one and don't already have one.  */
  3508. /* yyresume: */
  3509.  
  3510.   /* First try to decide what to do without reference to lookahead token.  */
  3511.  
  3512.   yyn = yypact[yystate];
  3513.   if (yyn == YYFLAG)
  3514.     goto yydefault;
  3515.  
  3516.   /* Not known => get a lookahead token if don't already have one.  */
  3517.  
  3518.   /* yychar is either YYEMPTY or YYEOF
  3519.      or a valid token in external form.  */
  3520.  
  3521.   if (yychar == YYEMPTY)
  3522.     {
  3523. #if YYDEBUG != 0
  3524.       if (yydebug)
  3525.     fprintf(stderr, "Reading a token: ");
  3526. #endif
  3527.       yychar = YYLEX;
  3528.     }
  3529.  
  3530.   /* Convert token to internal form (in yychar1) for indexing tables with */
  3531.  
  3532.   if (yychar <= 0)        /* This means end of input. */
  3533.     {
  3534.       yychar1 = 0;
  3535.       yychar = YYEOF;        /* Don't call YYLEX any more */
  3536.  
  3537. #if YYDEBUG != 0
  3538.       if (yydebug)
  3539.     fprintf(stderr, "Now at end of input.\n");
  3540. #endif
  3541.     }
  3542.   else
  3543.     {
  3544.       yychar1 = YYTRANSLATE(yychar);
  3545.  
  3546. #if YYDEBUG != 0
  3547.       if (yydebug)
  3548.     {
  3549.       fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
  3550.       /* Give the individual parser a way to print the precise meaning
  3551.          of a token, for further debugging info.  */
  3552. #ifdef YYPRINT
  3553.       YYPRINT (stderr, yychar, yylval);
  3554. #endif
  3555.       fprintf (stderr, ")\n");
  3556.     }
  3557. #endif
  3558.     }
  3559.  
  3560.   yyn += yychar1;
  3561.   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
  3562.     goto yydefault;
  3563.  
  3564.   yyn = yytable[yyn];
  3565.  
  3566.   /* yyn is what to do for this token type in this state.
  3567.      Negative => reduce, -yyn is rule number.
  3568.      Positive => shift, yyn is new state.
  3569.        New state is final state => don't bother to shift,
  3570.        just return success.
  3571.      0, or most negative number => error.  */
  3572.  
  3573.   if (yyn < 0)
  3574.     {
  3575.       if (yyn == YYFLAG)
  3576.     goto yyerrlab;
  3577.       yyn = -yyn;
  3578.       goto yyreduce;
  3579.     }
  3580.   else if (yyn == 0)
  3581.     goto yyerrlab;
  3582.  
  3583.   if (yyn == YYFINAL)
  3584.     YYACCEPT;
  3585.  
  3586.   /* Shift the lookahead token.  */
  3587.  
  3588. #if YYDEBUG != 0
  3589.   if (yydebug)
  3590.     fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
  3591. #endif
  3592.  
  3593.   /* Discard the token being shifted unless it is eof.  */
  3594.   if (yychar != YYEOF)
  3595.     yychar = YYEMPTY;
  3596.  
  3597.   *++yyvsp = yylval;
  3598. #ifdef YYLSP_NEEDED
  3599.   *++yylsp = yylloc;
  3600. #endif
  3601.  
  3602.   /* count tokens shifted since error; after three, turn off error status.  */
  3603.   if (yyerrstatus) yyerrstatus--;
  3604.  
  3605.   yystate = yyn;
  3606.   goto yynewstate;
  3607.  
  3608. /* Do the default action for the current state.  */
  3609. yydefault:
  3610.  
  3611.   yyn = yydefact[yystate];
  3612.   if (yyn == 0)
  3613.     goto yyerrlab;
  3614.  
  3615. /* Do a reduction.  yyn is the number of a rule to reduce with.  */
  3616. yyreduce:
  3617.   yylen = yyr2[yyn];
  3618.   if (yylen > 0)
  3619.     yyval = yyvsp[1-yylen]; /* implement default value of the action */
  3620.  
  3621. #if YYDEBUG != 0
  3622.   if (yydebug)
  3623.     {
  3624.       int i;
  3625.  
  3626.       fprintf (stderr, "Reducing via rule %d (line %d), ",
  3627.            yyn, yyrline[yyn]);
  3628.  
  3629.       /* Print the symbols being reduced, and their result.  */
  3630.       for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
  3631.     fprintf (stderr, "%s ", yytname[yyrhs[i]]);
  3632.       fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
  3633.     }
  3634. #endif
  3635.  
  3636.  
  3637.   switch (yyn) {
  3638.  
  3639. case 2:
  3640. #line 301 "parse.y"
  3641. {
  3642.           /* In case there were missing closebraces,
  3643.              get us back to the global binding level.  */
  3644.           while (! global_bindings_p ())
  3645.             poplevel (0, 0, 0);
  3646.           finish_file ();
  3647.         ;
  3648.     break;}
  3649. case 3:
  3650. #line 315 "parse.y"
  3651. { yyval.ttype = NULL_TREE; ;
  3652.     break;}
  3653. case 4:
  3654. #line 316 "parse.y"
  3655. { yyval.ttype = NULL_TREE; ;
  3656.     break;}
  3657. case 5:
  3658. #line 318 "parse.y"
  3659. { yyval.ttype = NULL_TREE; ;
  3660.     break;}
  3661. case 8:
  3662. #line 327 "parse.y"
  3663. { have_extern_spec = 1;
  3664.           used_extern_spec = 0;
  3665.           yyval.ttype = NULL_TREE; ;
  3666.     break;}
  3667. case 9:
  3668. #line 332 "parse.y"
  3669. { have_extern_spec = 0; ;
  3670.     break;}
  3671. case 12:
  3672. #line 341 "parse.y"
  3673. { if (pending_lang_change) do_pending_lang_change(); ;
  3674.     break;}
  3675. case 13:
  3676. #line 343 "parse.y"
  3677. { if (! toplevel_bindings_p () && ! pseudo_global_level_p())
  3678.           pop_everything (); ;
  3679.     break;}
  3680. case 14:
  3681. #line 349 "parse.y"
  3682. { if (pending_inlines) do_pending_inlines (); ;
  3683.     break;}
  3684. case 15:
  3685. #line 351 "parse.y"
  3686. { if (pending_inlines) do_pending_inlines (); ;
  3687.     break;}
  3688. case 16:
  3689. #line 353 "parse.y"
  3690. { if (pending_inlines) do_pending_inlines (); ;
  3691.     break;}
  3692. case 18:
  3693. #line 356 "parse.y"
  3694. { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
  3695.           assemble_asm (yyvsp[-2].ttype); ;
  3696.     break;}
  3697. case 19:
  3698. #line 359 "parse.y"
  3699. { pop_lang_context (); ;
  3700.     break;}
  3701. case 20:
  3702. #line 361 "parse.y"
  3703. { if (pending_inlines) do_pending_inlines ();
  3704.           pop_lang_context (); ;
  3705.     break;}
  3706. case 21:
  3707. #line 364 "parse.y"
  3708. { if (pending_inlines) do_pending_inlines ();
  3709.           pop_lang_context (); ;
  3710.     break;}
  3711. case 22:
  3712. #line 367 "parse.y"
  3713. { push_namespace (yyvsp[-1].ttype); ;
  3714.     break;}
  3715. case 23:
  3716. #line 369 "parse.y"
  3717. { pop_namespace (); ;
  3718.     break;}
  3719. case 24:
  3720. #line 371 "parse.y"
  3721. { push_namespace (NULL_TREE); ;
  3722.     break;}
  3723. case 25:
  3724. #line 373 "parse.y"
  3725. { pop_namespace (); ;
  3726.     break;}
  3727. case 26:
  3728. #line 375 "parse.y"
  3729. { do_namespace_alias (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
  3730.     break;}
  3731. case 27:
  3732. #line 377 "parse.y"
  3733. { do_toplevel_using_decl (yyvsp[-1].ttype); ;
  3734.     break;}
  3735. case 28:
  3736. #line 379 "parse.y"
  3737. { do_using_directive (yyvsp[-1].ttype); ;
  3738.     break;}
  3739. case 29:
  3740. #line 384 "parse.y"
  3741. { yyval.ttype = yyvsp[0].ttype; ;
  3742.     break;}
  3743. case 30:
  3744. #line 386 "parse.y"
  3745. { yyval.ttype = yyvsp[0].ttype; ;
  3746.     break;}
  3747. case 31:
  3748. #line 388 "parse.y"
  3749. { yyval.ttype = yyvsp[0].ttype; ;
  3750.     break;}
  3751. case 34:
  3752. #line 395 "parse.y"
  3753. { yyval.ttype = yyvsp[0].ttype; ;
  3754.     break;}
  3755. case 35:
  3756. #line 397 "parse.y"
  3757. { yyval.ttype = yyvsp[0].ttype; ;
  3758.     break;}
  3759. case 36:
  3760. #line 402 "parse.y"
  3761. { push_lang_context (yyvsp[0].ttype); ;
  3762.     break;}
  3763. case 37:
  3764. #line 404 "parse.y"
  3765. { if (current_lang_name != yyvsp[0].ttype)
  3766.             cp_error ("use of linkage spec `%D' is different from previous spec `%D'", yyvsp[0].ttype, current_lang_name);
  3767.           pop_lang_context (); push_lang_context (yyvsp[0].ttype); ;
  3768.     break;}
  3769. case 38:
  3770. #line 411 "parse.y"
  3771. { begin_template_parm_list (); ;
  3772.     break;}
  3773. case 39:
  3774. #line 413 "parse.y"
  3775. { yyval.ttype = end_template_parm_list (yyvsp[-1].ttype); ;
  3776.     break;}
  3777. case 40:
  3778. #line 418 "parse.y"
  3779. { yyval.ttype = process_template_parm (NULL_TREE, yyvsp[0].ttype); ;
  3780.     break;}
  3781. case 41:
  3782. #line 420 "parse.y"
  3783. { yyval.ttype = process_template_parm (yyvsp[-2].ttype, yyvsp[0].ttype); ;
  3784.     break;}
  3785. case 42:
  3786. #line 425 "parse.y"
  3787.           yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE);
  3788.          ttpa:
  3789.           if (TREE_PURPOSE (yyval.ttype) == signature_type_node)
  3790.             sorry ("signature as template type parameter");
  3791.           else if (TREE_PURPOSE (yyval.ttype) != class_type_node)
  3792.             pedwarn ("template type parameters must use the keyword `class'");
  3793.         ;
  3794.     break;}
  3795. case 43:
  3796. #line 434 "parse.y"
  3797. { yyval.ttype = build_tree_list (yyvsp[-1].ttype, yyvsp[0].ttype); goto ttpa; ;
  3798.     break;}
  3799. case 44:
  3800. #line 436 "parse.y"
  3801. { yyval.ttype = build_tree_list (class_type_node, NULL_TREE); ;
  3802.     break;}
  3803. case 45:
  3804. #line 438 "parse.y"
  3805. { yyval.ttype = build_tree_list (class_type_node, yyvsp[0].ttype); ;
  3806.     break;}
  3807. case 46:
  3808. #line 450 "parse.y"
  3809. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  3810.     break;}
  3811. case 47:
  3812. #line 452 "parse.y"
  3813. { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
  3814.     break;}
  3815. case 49:
  3816. #line 458 "parse.y"
  3817. { warning ("use of `overload' is an anachronism"); ;
  3818.     break;}
  3819. case 50:
  3820. #line 462 "parse.y"
  3821. { declare_overloaded (yyvsp[0].ttype); ;
  3822.     break;}
  3823. case 51:
  3824. #line 464 "parse.y"
  3825. { declare_overloaded (yyvsp[0].ttype); ;
  3826.     break;}
  3827. case 52:
  3828. #line 471 "parse.y"
  3829. { yychar = '{'; goto template1; ;
  3830.     break;}
  3831. case 54:
  3832. #line 474 "parse.y"
  3833. { yychar = '{'; goto template1; ;
  3834.     break;}
  3835. case 56:
  3836. #line 477 "parse.y"
  3837. { yychar = ':'; goto template1; ;
  3838.     break;}
  3839. case 58:
  3840. #line 480 "parse.y"
  3841. {
  3842.           yychar = ':';
  3843.         template1:
  3844.           if (current_aggr == signature_type_node)
  3845.             sorry ("template type defining a signature");
  3846.           /* Maybe pedantic warning for union?
  3847.              How about an enum? :-)  */
  3848.           end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 1);
  3849.           reinit_parse_for_template (yychar, yyvsp[-2].ttype, yyvsp[-1].ttype);
  3850.           yychar = YYEMPTY;
  3851.         ;
  3852.     break;}
  3853. case 60:
  3854. #line 493 "parse.y"
  3855. {
  3856.           end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 0);
  3857.           /* declare $2 as template name with $1 parm list */
  3858.         ;
  3859.     break;}
  3860. case 61:
  3861. #line 498 "parse.y"
  3862. {
  3863.           end_template_decl (yyvsp[-2].ttype, yyvsp[-1].ttype, current_aggr, 0);
  3864.           /* declare $2 as template name with $1 parm list */
  3865.         ;
  3866.     break;}
  3867. case 62:
  3868. #line 505 "parse.y"
  3869. {
  3870.           tree d;
  3871.           int momentary;
  3872.           int def = (yyvsp[0].itype != ';');
  3873.           momentary = suspend_momentary ();
  3874.           d = start_decl (yyvsp[-4].ttype, /*current_declspecs*/NULL_TREE, 0,
  3875.                   yyvsp[-3].ttype);
  3876.           cplus_decl_attributes (d, yyvsp[-1].ttype, /*prefix_attributes*/NULL_TREE);
  3877.           cp_finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0, 0);
  3878.           end_template_decl (yyvsp[-5].ttype, d, 0, def);
  3879.           if (def)
  3880.             reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-5].ttype, d);
  3881.           resume_momentary (momentary);
  3882.         ;
  3883.     break;}
  3884. case 63:
  3885. #line 522 "parse.y"
  3886. {
  3887.           tree d, specs, attrs;
  3888.           int momentary;
  3889.           int def = (yyvsp[0].itype != ';');
  3890.           split_specs_attrs (yyvsp[-5].ttype, &specs, &attrs);
  3891.           momentary = suspend_momentary ();
  3892.           d = start_decl (yyvsp[-4].ttype, specs, 0, yyvsp[-3].ttype);
  3893.           cplus_decl_attributes (d, yyvsp[-1].ttype, attrs);
  3894.           cp_finish_decl (d, NULL_TREE, yyvsp[-2].ttype, 0, 0);
  3895.           end_template_decl (yyvsp[-6].ttype, d, 0, def);
  3896.           if (def)
  3897.             {
  3898.               reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-6].ttype, d);
  3899.               yychar = YYEMPTY;
  3900.             }
  3901.           note_list_got_semicolon (yyvsp[-5].ttype);
  3902.           resume_momentary (momentary);
  3903.         ;
  3904.     break;}
  3905. case 64:
  3906. #line 541 "parse.y"
  3907. {
  3908.           tree d, specs, attrs;
  3909.           int def = (yyvsp[0].itype != ';');
  3910.           split_specs_attrs (yyvsp[-2].ttype, &specs, &attrs);
  3911.           d = start_decl (yyvsp[-1].ttype, specs, 0, NULL_TREE);
  3912.           cplus_decl_attributes (d, NULL_TREE, attrs);
  3913.           cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
  3914.           end_template_decl (yyvsp[-3].ttype, d, 0, def);
  3915.           if (def)
  3916.             reinit_parse_for_template ((int) yyvsp[0].itype, yyvsp[-3].ttype, d);
  3917.         ;
  3918.     break;}
  3919. case 65:
  3920. #line 553 "parse.y"
  3921. { end_template_decl (yyvsp[-2].ttype, 0, 0, 0); ;
  3922.     break;}
  3923. case 66:
  3924. #line 554 "parse.y"
  3925. { end_template_decl (yyvsp[-2].ttype, 0, 0, 0); ;
  3926.     break;}
  3927. case 67:
  3928. #line 557 "parse.y"
  3929. { yyval.itype = '{'; ;
  3930.     break;}
  3931. case 68:
  3932. #line 558 "parse.y"
  3933. { yyval.itype = ':'; ;
  3934.     break;}
  3935. case 69:
  3936. #line 559 "parse.y"
  3937. { yyval.itype = ';'; ;
  3938.     break;}
  3939. case 70:
  3940. #line 560 "parse.y"
  3941. { yyval.itype = '='; ;
  3942.     break;}
  3943. case 71:
  3944. #line 561 "parse.y"
  3945. { yyval.itype = RETURN; ;
  3946.     break;}
  3947. case 72:
  3948. #line 566 "parse.y"
  3949. {;
  3950.     break;}
  3951. case 73:
  3952. #line 568 "parse.y"
  3953. {;
  3954.     break;}
  3955. case 74:
  3956. #line 571 "parse.y"
  3957. { tree d, specs, attrs;
  3958.           split_specs_attrs (yyvsp[-2].ttype, &specs, &attrs);
  3959.           d = start_decl (yyvsp[-1].ttype, specs, 0, NULL_TREE);
  3960.           cplus_decl_attributes (d, NULL_TREE, attrs);
  3961.           cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
  3962.         ;
  3963.     break;}
  3964. case 75:
  3965. #line 578 "parse.y"
  3966. {
  3967.           note_list_got_semicolon (yyval.ttype);
  3968.         ;
  3969.     break;}
  3970. case 76:
  3971. #line 583 "parse.y"
  3972. { tree d, specs, attrs;
  3973.           split_specs_attrs (yyvsp[-2].ttype, &specs, &attrs);
  3974.           d = start_decl (yyvsp[-1].ttype, specs, 0, NULL_TREE);
  3975.           cplus_decl_attributes (d, NULL_TREE, attrs);
  3976.           cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
  3977.           note_list_got_semicolon (yyval.ttype);
  3978.         ;
  3979.     break;}
  3980. case 77:
  3981. #line 591 "parse.y"
  3982. { pedwarn ("empty declaration"); ;
  3983.     break;}
  3984. case 79:
  3985. #line 594 "parse.y"
  3986. {
  3987.         tree t, attrs;
  3988.         split_specs_attrs (yyvsp[-1].ttype, &t, &attrs);
  3989.         shadow_tag (t);
  3990.         if (TREE_CODE (t) == TREE_LIST
  3991.         && TREE_PURPOSE (t) == NULL_TREE)
  3992.           {
  3993.         t = TREE_VALUE (t);
  3994.         if (IS_AGGR_TYPE (t)
  3995.             && IDENTIFIER_TEMPLATE (TYPE_IDENTIFIER (t)))
  3996.           {
  3997.             if (CLASSTYPE_USE_TEMPLATE (t) == 0)
  3998.               SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (t);
  3999.             else if (CLASSTYPE_TEMPLATE_INSTANTIATION (t))
  4000.               error ("override declaration for already-expanded template");
  4001.           }
  4002.           }
  4003.         note_list_got_semicolon (yyval.ttype);
  4004.       ;
  4005.     break;}
  4006. case 83:
  4007. #line 620 "parse.y"
  4008. { yyval.itype = 0; ;
  4009.     break;}
  4010. case 84:
  4011. #line 622 "parse.y"
  4012. { yyval.itype = 1; ;
  4013.     break;}
  4014. case 90:
  4015. #line 638 "parse.y"
  4016. {
  4017.           finish_function (lineno, (int)yyvsp[-1].itype, 0);
  4018.           if (yyval.ttype) process_next_inline (yyval.ttype);
  4019.         ;
  4020.     break;}
  4021. case 91:
  4022. #line 643 "parse.y"
  4023. {
  4024.           if (yyval.ttype) process_next_inline (yyval.ttype);
  4025.         ;
  4026.     break;}
  4027. case 93:
  4028. #line 648 "parse.y"
  4029. {;
  4030.     break;}
  4031. case 94:
  4032. #line 650 "parse.y"
  4033. {;
  4034.     break;}
  4035. case 95:
  4036. #line 652 "parse.y"
  4037. {;
  4038.     break;}
  4039. case 96:
  4040. #line 657 "parse.y"
  4041. { tree specs, attrs;
  4042.           split_specs_attrs (yyvsp[-2].ttype, &specs, &attrs);
  4043.           if (! start_function (specs, yyvsp[-1].ttype, yyvsp[0].ttype, attrs, 0))
  4044.             YYERROR1;
  4045.           reinit_parse_for_function ();
  4046.           yyval.ttype = NULL_TREE; ;
  4047.     break;}
  4048. case 97:
  4049. #line 664 "parse.y"
  4050. { tree specs = strip_attrs (yyvsp[-2].ttype);
  4051.           if (! start_function (specs, yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, 0))
  4052.             YYERROR1;
  4053.           reinit_parse_for_function ();
  4054.           yyval.ttype = NULL_TREE; ;
  4055.     break;}
  4056. case 98:
  4057. #line 670 "parse.y"
  4058. { if (! start_function (NULL_TREE, yyval.ttype, yyvsp[0].ttype, NULL_TREE, 0))
  4059.             YYERROR1;
  4060.           reinit_parse_for_function ();
  4061.           yyval.ttype = NULL_TREE; ;
  4062.     break;}
  4063. case 99:
  4064. #line 675 "parse.y"
  4065. { start_function (NULL_TREE, TREE_VALUE (yyval.ttype),
  4066.                   NULL_TREE, NULL_TREE, 1);
  4067.           reinit_parse_for_function (); ;
  4068.     break;}
  4069. case 100:
  4070. #line 684 "parse.y"
  4071. { tree specs = strip_attrs (yyvsp[-5].ttype);
  4072.           yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (specs), yyvsp[-3].ttype, yyvsp[-1].ttype);
  4073.           yyval.ttype = start_method (TREE_CHAIN (specs), yyval.ttype, yyvsp[0].ttype);
  4074.          rest_of_mdef:
  4075.           if (! yyval.ttype)
  4076.             YYERROR1;
  4077.           if (yychar == YYEMPTY)
  4078.             yychar = YYLEX;
  4079.           reinit_parse_for_method (yychar, yyval.ttype); ;
  4080.     break;}
  4081. case 101:
  4082. #line 694 "parse.y"
  4083. { tree specs = strip_attrs (yyvsp[-3].ttype);
  4084.           yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (specs),
  4085.                      empty_parms (), yyvsp[-1].ttype);
  4086.           yyval.ttype = start_method (TREE_CHAIN (specs), yyval.ttype, yyvsp[0].ttype);
  4087.           goto rest_of_mdef;
  4088.         ;
  4089.     break;}
  4090. case 102:
  4091. #line 701 "parse.y"
  4092. { tree specs = strip_attrs (yyvsp[-2].ttype);
  4093.           yyval.ttype = start_method (specs, yyvsp[-1].ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
  4094.     break;}
  4095. case 103:
  4096. #line 704 "parse.y"
  4097. { tree specs = strip_attrs (yyvsp[-2].ttype);
  4098.           yyval.ttype = start_method (specs, yyvsp[-1].ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
  4099.     break;}
  4100. case 104:
  4101. #line 707 "parse.y"
  4102. { yyval.ttype = start_method (NULL_TREE, yyval.ttype, yyvsp[0].ttype); goto rest_of_mdef; ;
  4103.     break;}
  4104. case 105:
  4105. #line 711 "parse.y"
  4106. {
  4107.           if (! current_function_parms_stored)
  4108.             store_parm_decls ();
  4109.           yyval.ttype = yyvsp[0].ttype;
  4110.         ;
  4111.     break;}
  4112. case 106:
  4113. #line 719 "parse.y"
  4114. { store_return_init (yyval.ttype, yyvsp[0].ttype); ;
  4115.     break;}
  4116. case 107:
  4117. #line 721 "parse.y"
  4118. { store_return_init (yyval.ttype, yyvsp[-1].ttype); ;
  4119.     break;}
  4120. case 108:
  4121. #line 723 "parse.y"
  4122. { store_return_init (yyval.ttype, NULL_TREE); ;
  4123.     break;}
  4124. case 109:
  4125. #line 728 "parse.y"
  4126. {
  4127.           if (yyvsp[0].itype == 0)
  4128.             error ("no base initializers given following ':'");
  4129.           setup_vtbl_ptr ();
  4130.           /* Always keep the BLOCK node associated with the outermost
  4131.              pair of curley braces of a function.  These are needed
  4132.              for correct operation of dwarfout.c.  */
  4133.           keep_next_level ();
  4134.         ;
  4135.     break;}
  4136. case 110:
  4137. #line 741 "parse.y"
  4138. {
  4139.           if (! current_function_parms_stored)
  4140.             store_parm_decls ();
  4141.  
  4142.           if (DECL_CONSTRUCTOR_P (current_function_decl))
  4143.             {
  4144.               /* Make a contour for the initializer list.  */
  4145.               pushlevel (0);
  4146.               clear_last_expr ();
  4147.               expand_start_bindings (0);
  4148.             }
  4149.           else if (current_class_type == NULL_TREE)
  4150.             error ("base initializers not allowed for non-member functions");
  4151.           else if (! DECL_CONSTRUCTOR_P (current_function_decl))
  4152.             error ("only constructors take base initializers");
  4153.         ;
  4154.     break;}
  4155. case 111:
  4156. #line 761 "parse.y"
  4157. { yyval.itype = 0; ;
  4158.     break;}
  4159. case 112:
  4160. #line 763 "parse.y"
  4161. { yyval.itype = 1; ;
  4162.     break;}
  4163. case 115:
  4164. #line 769 "parse.y"
  4165. {
  4166.           if (current_class_name && !flag_traditional)
  4167.             pedwarn ("anachronistic old style base class initializer");
  4168.           expand_member_init (C_C_D, NULL_TREE, yyvsp[-1].ttype);
  4169.         ;
  4170.     break;}
  4171. case 116:
  4172. #line 775 "parse.y"
  4173. {
  4174.           if (current_class_name && !flag_traditional)
  4175.             pedwarn ("anachronistic old style base class initializer");
  4176.           expand_member_init (C_C_D, NULL_TREE, void_type_node);
  4177.         ;
  4178.     break;}
  4179. case 117:
  4180. #line 781 "parse.y"
  4181. { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
  4182.     break;}
  4183. case 118:
  4184. #line 783 "parse.y"
  4185. { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
  4186.     break;}
  4187. case 119:
  4188. #line 785 "parse.y"
  4189. { expand_member_init (C_C_D, yyval.ttype, yyvsp[-1].ttype); ;
  4190.     break;}
  4191. case 120:
  4192. #line 787 "parse.y"
  4193. { expand_member_init (C_C_D, yyval.ttype, void_type_node); ;
  4194.     break;}
  4195. case 121:
  4196. #line 790 "parse.y"
  4197. {
  4198.           do_member_init (OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
  4199.         ;
  4200.     break;}
  4201. case 122:
  4202. #line 794 "parse.y"
  4203. {
  4204.           do_member_init (OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), void_type_node);
  4205.         ;
  4206.     break;}
  4207. case 133:
  4208. #line 820 "parse.y"
  4209. { do_type_instantiation (yyvsp[0].ttype ? yyvsp[0].ttype : yyvsp[-1].ttype, NULL_TREE); ;
  4210.     break;}
  4211. case 134:
  4212. #line 822 "parse.y"
  4213. { tree specs = strip_attrs (yyvsp[-1].ttype);
  4214.           do_function_instantiation (specs, yyvsp[0].ttype, NULL_TREE); ;
  4215.     break;}
  4216. case 135:
  4217. #line 825 "parse.y"
  4218. { do_function_instantiation (NULL_TREE, yyvsp[0].ttype, NULL_TREE); ;
  4219.     break;}
  4220. case 136:
  4221. #line 827 "parse.y"
  4222. { do_type_instantiation (yyvsp[0].ttype ? yyvsp[0].ttype : yyvsp[-1].ttype, yyvsp[-3].ttype); ;
  4223.     break;}
  4224. case 137:
  4225. #line 829 "parse.y"
  4226. { tree specs = strip_attrs (yyvsp[-1].ttype);
  4227.           do_function_instantiation (specs, yyvsp[0].ttype, yyvsp[-3].ttype); ;
  4228.     break;}
  4229. case 138:
  4230. #line 832 "parse.y"
  4231. { do_function_instantiation (NULL_TREE, yyvsp[0].ttype, yyvsp[-2].ttype); ;
  4232.     break;}
  4233. case 139:
  4234. #line 837 "parse.y"
  4235. { if (yyvsp[0].ttype) yyval.ttype = yyvsp[0].ttype; ;
  4236.     break;}
  4237. case 140:
  4238. #line 842 "parse.y"
  4239. { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
  4240.     break;}
  4241. case 141:
  4242. #line 844 "parse.y"
  4243. { yyval.ttype = lookup_template_class (yyval.ttype, NULL_TREE, NULL_TREE); ;
  4244.     break;}
  4245. case 142:
  4246. #line 846 "parse.y"
  4247. { yyval.ttype = lookup_template_class (yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
  4248.     break;}
  4249. case 143:
  4250. #line 851 "parse.y"
  4251. { yyval.ttype = instantiate_class_template (yyvsp[0].ttype, 1); ;
  4252.     break;}
  4253. case 144:
  4254. #line 856 "parse.y"
  4255. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  4256.     break;}
  4257. case 145:
  4258. #line 858 "parse.y"
  4259. { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  4260.     break;}
  4261. case 146:
  4262. #line 863 "parse.y"
  4263. { yyval.ttype = groktypename (yyval.ttype); ;
  4264.     break;}
  4265. case 148:
  4266. #line 869 "parse.y"
  4267. {
  4268.           tree t, decl, tmpl;
  4269.  
  4270.           tmpl = TREE_PURPOSE (IDENTIFIER_TEMPLATE (yyvsp[-1].ttype));
  4271.           t = xref_tag (DECL_TEMPLATE_INFO (tmpl)->aggr, yyvsp[-1].ttype, yyvsp[0].ttype, 0);
  4272.           set_current_level_tags_transparency (1);
  4273.           my_friendly_assert (TREE_CODE (t) == RECORD_TYPE
  4274.                       || TREE_CODE (t) == UNION_TYPE, 257);
  4275.           yyval.ttype = t;
  4276.  
  4277.           /* Now, put a copy of the decl in global scope, to avoid
  4278.              recursive expansion.  */
  4279.           decl = IDENTIFIER_LOCAL_VALUE (yyvsp[-1].ttype);
  4280.           if (!decl)
  4281.             decl = IDENTIFIER_CLASS_VALUE (yyvsp[-1].ttype);
  4282.           /* Now, put a copy of the decl in global scope, to avoid
  4283.              recursive expansion.  */
  4284.                   if (decl)
  4285.                     {
  4286.               /* Need to copy it to clear the chain pointer,
  4287.              and need to get it into permanent storage.  */
  4288.                       my_friendly_assert (TREE_CODE (decl) == TYPE_DECL, 258);
  4289.               push_obstacks (&permanent_obstack, &permanent_obstack);
  4290.                       decl = copy_node (decl);
  4291.               if (DECL_LANG_SPECIFIC (decl))
  4292.             copy_lang_decl (decl);
  4293.               pop_obstacks ();
  4294.               pushdecl_top_level (decl);
  4295.             }
  4296.           /* Kludge; see instantiate_class_template.  */
  4297.           TYPE_BEING_DEFINED (t) = 0;
  4298.         ;
  4299.     break;}
  4300. case 149:
  4301. #line 902 "parse.y"
  4302. {
  4303.           tree t = finish_struct (yyvsp[-3].ttype, yyvsp[-1].ttype, 0);
  4304.  
  4305.           pop_obstacks ();
  4306.           end_template_instantiation (yyvsp[-5].ttype);
  4307.  
  4308.           repo_template_used (t);
  4309.  
  4310.                   /* Now go after the methods & class data.  */
  4311.                   instantiate_member_templates (yyvsp[-5].ttype);
  4312.  
  4313.           pop_tinst_level();
  4314.  
  4315.           CLASSTYPE_GOT_SEMICOLON (t) = 1;
  4316.         ;
  4317.     break;}
  4318. case 150:
  4319. #line 921 "parse.y"
  4320. { yyval.ttype = NULL_TREE; ;
  4321.     break;}
  4322. case 151:
  4323. #line 923 "parse.y"
  4324. { yyval.ttype = yyvsp[0].ttype; ;
  4325.     break;}
  4326. case 152:
  4327. #line 928 "parse.y"
  4328. { yyval.ttype = NULL_TREE; /* never used from here... */;
  4329.     break;}
  4330. case 153:
  4331. #line 930 "parse.y"
  4332. { yyval.ttype = yyvsp[-1].ttype; /*???*/ ;
  4333.     break;}
  4334. case 154:
  4335. #line 934 "parse.y"
  4336. { yyval.code = NEGATE_EXPR; ;
  4337.     break;}
  4338. case 155:
  4339. #line 936 "parse.y"
  4340. { yyval.code = CONVERT_EXPR; ;
  4341.     break;}
  4342. case 156:
  4343. #line 938 "parse.y"
  4344. { yyval.code = PREINCREMENT_EXPR; ;
  4345.     break;}
  4346. case 157:
  4347. #line 940 "parse.y"
  4348. { yyval.code = PREDECREMENT_EXPR; ;
  4349.     break;}
  4350. case 158:
  4351. #line 942 "parse.y"
  4352. { yyval.code = TRUTH_NOT_EXPR; ;
  4353.     break;}
  4354. case 159:
  4355. #line 946 "parse.y"
  4356. { yyval.ttype = build_x_compound_expr (yyval.ttype); ;
  4357.     break;}
  4358. case 161:
  4359. #line 952 "parse.y"
  4360. { error ("ANSI C++ forbids an empty condition for `%s'",
  4361.              cond_stmt_keyword);
  4362.           yyval.ttype = integer_zero_node; ;
  4363.     break;}
  4364. case 162:
  4365. #line 956 "parse.y"
  4366. { yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
  4367.     break;}
  4368. case 163:
  4369. #line 961 "parse.y"
  4370. { error ("ANSI C++ forbids an empty condition for `%s'",
  4371.              cond_stmt_keyword);
  4372.           yyval.ttype = integer_zero_node; ;
  4373.     break;}
  4374. case 164:
  4375. #line 965 "parse.y"
  4376. { yyval.ttype = condition_conversion (yyvsp[-1].ttype); ;
  4377.     break;}
  4378. case 165:
  4379. #line 970 "parse.y"
  4380. { yyval.ttype = NULL_TREE; ;
  4381.     break;}
  4382. case 166:
  4383. #line 972 "parse.y"
  4384. { yyval.ttype = condition_conversion (yyval.ttype); ;
  4385.     break;}
  4386. case 167:
  4387. #line 974 "parse.y"
  4388. { yyval.ttype = NULL_TREE; ;
  4389.     break;}
  4390. case 168:
  4391. #line 979 "parse.y"
  4392. { {
  4393.           tree d;
  4394.           for (d = getdecls (); d; d = TREE_CHAIN (d))
  4395.             if (TREE_CODE (d) == TYPE_DECL) {
  4396.               tree s = TREE_TYPE (d);
  4397.               if (TREE_CODE (s) == RECORD_TYPE)
  4398.             cp_error ("definition of class `%T' in condition", s);
  4399.               else if (TREE_CODE (s) == ENUMERAL_TYPE)
  4400.             cp_error ("definition of enum `%T' in condition", s);
  4401.             }
  4402.           }
  4403.           current_declspecs = yyvsp[-5].ttype;
  4404.           yyvsp[0].itype = suspend_momentary ();
  4405.           yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  4406.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype,
  4407.                      /*prefix_attributes*/ NULL_TREE);
  4408.         ;
  4409.     break;}
  4410. case 169:
  4411. #line 997 "parse.y"
  4412.           cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].ttype, 0, LOOKUP_ONLYCONVERTING);
  4413.           resume_momentary (yyvsp[-2].itype);
  4414.           yyval.ttype = yyvsp[-1].ttype; 
  4415.           if (TREE_CODE (TREE_TYPE (yyval.ttype)) == ARRAY_TYPE)
  4416.             cp_error ("definition of array `%#D' in condition", yyval.ttype); 
  4417.         ;
  4418.     break;}
  4419. case 175:
  4420. #line 1016 "parse.y"
  4421. { finish_stmt (); ;
  4422.     break;}
  4423. case 177:
  4424. #line 1023 "parse.y"
  4425. { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, 
  4426.                           build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  4427.     break;}
  4428. case 178:
  4429. #line 1026 "parse.y"
  4430. { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, 
  4431.                           build_tree_list (NULL_TREE, error_mark_node)); ;
  4432.     break;}
  4433. case 179:
  4434. #line 1029 "parse.y"
  4435. { chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  4436.     break;}
  4437. case 180:
  4438. #line 1031 "parse.y"
  4439. { chainon (yyval.ttype, build_tree_list (NULL_TREE, error_mark_node)); ;
  4440.     break;}
  4441. case 181:
  4442. #line 1036 "parse.y"
  4443. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  4444.     break;}
  4445. case 183:
  4446. #line 1042 "parse.y"
  4447. {
  4448. #if 0
  4449.           if (TREE_CODE (yyval.ttype) == TYPE_EXPR)
  4450.             yyval.ttype = build_component_type_expr (C_C_D, yyval.ttype, NULL_TREE, 1);
  4451. #endif
  4452.         ;
  4453.     break;}
  4454. case 184:
  4455. #line 1050 "parse.y"
  4456. { yyvsp[0].itype = pedantic;
  4457.           pedantic = 0; ;
  4458.     break;}
  4459. case 185:
  4460. #line 1053 "parse.y"
  4461. { yyval.ttype = yyvsp[0].ttype;
  4462.           pedantic = yyvsp[-2].itype; ;
  4463.     break;}
  4464. case 186:
  4465. #line 1056 "parse.y"
  4466. { yyval.ttype = build_x_indirect_ref (yyvsp[0].ttype, "unary *"); ;
  4467.     break;}
  4468. case 187:
  4469. #line 1058 "parse.y"
  4470. { yyval.ttype = build_x_unary_op (ADDR_EXPR, yyvsp[0].ttype); ;
  4471.     break;}
  4472. case 188:
  4473. #line 1060 "parse.y"
  4474. { yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, yyvsp[0].ttype); ;
  4475.     break;}
  4476. case 189:
  4477. #line 1062 "parse.y"
  4478. { yyval.ttype = build_x_unary_op (yyvsp[-1].code, yyvsp[0].ttype);
  4479.           if (yyvsp[-1].code == NEGATE_EXPR && TREE_CODE (yyvsp[0].ttype) == INTEGER_CST)
  4480.             TREE_NEGATED_INT (yyval.ttype) = 1;
  4481.           overflow_warning (yyval.ttype);
  4482.         ;
  4483.     break;}
  4484. case 190:
  4485. #line 1069 "parse.y"
  4486. { tree label = lookup_label (yyvsp[0].ttype);
  4487.           if (label == NULL_TREE)
  4488.             yyval.ttype = null_pointer_node;
  4489.           else
  4490.             {
  4491.               TREE_USED (label) = 1;
  4492.               yyval.ttype = build1 (ADDR_EXPR, ptr_type_node, label);
  4493.               TREE_CONSTANT (yyval.ttype) = 1;
  4494.             }
  4495.         ;
  4496.     break;}
  4497. case 191:
  4498. #line 1080 "parse.y"
  4499. { if (TREE_CODE (yyvsp[0].ttype) == COMPONENT_REF
  4500.               && DECL_BIT_FIELD (TREE_OPERAND (yyvsp[0].ttype, 1)))
  4501.             error ("sizeof applied to a bit-field");
  4502.           /* ANSI says arrays and functions are converted inside comma.
  4503.              But we can't really convert them in build_compound_expr
  4504.              because that would break commas in lvalues.
  4505.              So do the conversion here if operand was a comma.  */
  4506.           if (TREE_CODE (yyvsp[0].ttype) == COMPOUND_EXPR
  4507.               && (TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == ARRAY_TYPE
  4508.               || TREE_CODE (TREE_TYPE (yyvsp[0].ttype)) == FUNCTION_TYPE))
  4509.             yyvsp[0].ttype = default_conversion (yyvsp[0].ttype);
  4510.           else if (TREE_CODE (yyvsp[0].ttype) == TREE_LIST)
  4511.                 {
  4512.               tree t = TREE_VALUE (yyvsp[0].ttype);
  4513.               if (t != NULL_TREE
  4514.               && ((TREE_TYPE (t)
  4515.                   && TREE_CODE (TREE_TYPE (t)) == FUNCTION_TYPE)
  4516.                   || is_overloaded_fn (t)))
  4517.             pedwarn ("ANSI C++ forbids taking the sizeof a function type");
  4518.             }
  4519.           yyval.ttype = c_sizeof (TREE_TYPE (yyvsp[0].ttype)); ;
  4520.     break;}
  4521. case 192:
  4522. #line 1102 "parse.y"
  4523. { yyval.ttype = c_sizeof (groktypename (yyvsp[-1].ttype)); ;
  4524.     break;}
  4525. case 193:
  4526. #line 1104 "parse.y"
  4527. { yyval.ttype = grok_alignof (yyvsp[0].ttype); ;
  4528.     break;}
  4529. case 194:
  4530. #line 1106 "parse.y"
  4531. { yyval.ttype = c_alignof (groktypename (yyvsp[-1].ttype)); ;
  4532.     break;}
  4533. case 195:
  4534. #line 1111 "parse.y"
  4535. { yyval.ttype = build_new (NULL_TREE, yyvsp[0].ttype, NULL_TREE, yyvsp[-1].itype); ;
  4536.     break;}
  4537. case 196:
  4538. #line 1113 "parse.y"
  4539. { yyval.ttype = build_new (NULL_TREE, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-2].itype); ;
  4540.     break;}
  4541. case 197:
  4542. #line 1115 "parse.y"
  4543. { yyval.ttype = build_new (yyvsp[-1].ttype, yyvsp[0].ttype, NULL_TREE, yyvsp[-2].itype); ;
  4544.     break;}
  4545. case 198:
  4546. #line 1117 "parse.y"
  4547. { yyval.ttype = build_new (yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-3].itype); ;
  4548.     break;}
  4549. case 199:
  4550. #line 1119 "parse.y"
  4551. { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-1].ttype),
  4552.                   NULL_TREE, yyvsp[-3].itype); ;
  4553.     break;}
  4554. case 200:
  4555. #line 1122 "parse.y"
  4556. { yyval.ttype = build_new (NULL_TREE, groktypename(yyvsp[-2].ttype), yyvsp[0].ttype, yyvsp[-4].itype); ;
  4557.     break;}
  4558. case 201:
  4559. #line 1124 "parse.y"
  4560. { yyval.ttype = build_new (yyvsp[-3].ttype, groktypename(yyvsp[-1].ttype), NULL_TREE, yyvsp[-4].itype); ;
  4561.     break;}
  4562. case 202:
  4563. #line 1126 "parse.y"
  4564. { yyval.ttype = build_new (yyvsp[-4].ttype, groktypename(yyvsp[-2].ttype), yyvsp[0].ttype, yyvsp[-5].itype); ;
  4565.     break;}
  4566. case 203:
  4567. #line 1129 "parse.y"
  4568. { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 0, yyvsp[-1].itype); ;
  4569.     break;}
  4570. case 204:
  4571. #line 1131 "parse.y"
  4572. { yyval.ttype = delete_sanity (yyvsp[0].ttype, NULL_TREE, 1, yyvsp[-3].itype);
  4573.           if (yychar == YYEMPTY)
  4574.             yychar = YYLEX; ;
  4575.     break;}
  4576. case 205:
  4577. #line 1135 "parse.y"
  4578. { yyval.ttype = delete_sanity (yyvsp[0].ttype, yyvsp[-2].ttype, 2, yyvsp[-4].itype);
  4579.           if (yychar == YYEMPTY)
  4580.             yychar = YYLEX; ;
  4581.     break;}
  4582. case 206:
  4583. #line 1142 "parse.y"
  4584. { yyval.ttype = yyvsp[-1].ttype; ;
  4585.     break;}
  4586. case 207:
  4587. #line 1144 "parse.y"
  4588. {
  4589.           yyval.ttype = yyvsp[-1].ttype; 
  4590.           pedwarn ("old style placement syntax, use () instead");
  4591.         ;
  4592.     break;}
  4593. case 208:
  4594. #line 1152 "parse.y"
  4595. { yyval.ttype = yyvsp[-1].ttype; ;
  4596.     break;}
  4597. case 209:
  4598. #line 1154 "parse.y"
  4599. { yyval.ttype = NULL_TREE; ;
  4600.     break;}
  4601. case 210:
  4602. #line 1156 "parse.y"
  4603. {
  4604.           cp_error ("`%T' is not a valid expression", yyvsp[-1].ttype);
  4605.           yyval.ttype = error_mark_node;
  4606.         ;
  4607.     break;}
  4608. case 211:
  4609. #line 1164 "parse.y"
  4610. {
  4611.           if (pedantic)
  4612.             pedwarn ("ANSI C++ forbids initialization of new expression with `='");
  4613.           yyval.ttype = yyvsp[0].ttype;
  4614.         ;
  4615.     break;}
  4616. case 212:
  4617. #line 1174 "parse.y"
  4618. { yyvsp[-1].ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, void_list_node);
  4619.           TREE_PARMLIST (yyvsp[-1].ttype) = 1;
  4620.           yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-1].ttype, 
  4621.                      NULL_TREE); ;
  4622.     break;}
  4623. case 213:
  4624. #line 1179 "parse.y"
  4625. { yyvsp[-1].ttype = tree_cons (NULL_TREE, yyvsp[-1].ttype, void_list_node);
  4626.           TREE_PARMLIST (yyvsp[-1].ttype) = 1;
  4627.           yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-1].ttype, NULL_TREE); ;
  4628.     break;}
  4629. case 215:
  4630. #line 1187 "parse.y"
  4631. { yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, yyvsp[0].ttype); ;
  4632.     break;}
  4633. case 216:
  4634. #line 1189 "parse.y"
  4635.           tree init = build_nt (CONSTRUCTOR, NULL_TREE,
  4636.                     nreverse (yyvsp[-2].ttype)); 
  4637.           if (pedantic)
  4638.             pedwarn ("ANSI C++ forbids constructor-expressions");
  4639.           /* Indicate that this was a GNU C constructor expression.  */
  4640.           TREE_HAS_CONSTRUCTOR (init) = 1;
  4641.  
  4642.           yyval.ttype = reparse_absdcl_as_casts (yyval.ttype, init);
  4643.         ;
  4644.     break;}
  4645. case 218:
  4646. #line 1205 "parse.y"
  4647. { yyval.ttype = build_x_binary_op (MEMBER_REF, yyval.ttype, yyvsp[0].ttype); ;
  4648.     break;}
  4649. case 219:
  4650. #line 1207 "parse.y"
  4651. { yyval.ttype = build_m_component_ref (yyval.ttype, yyvsp[0].ttype); ;
  4652.     break;}
  4653. case 220:
  4654. #line 1209 "parse.y"
  4655. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4656.     break;}
  4657. case 221:
  4658. #line 1211 "parse.y"
  4659. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4660.     break;}
  4661. case 222:
  4662. #line 1213 "parse.y"
  4663. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4664.     break;}
  4665. case 223:
  4666. #line 1215 "parse.y"
  4667. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4668.     break;}
  4669. case 224:
  4670. #line 1217 "parse.y"
  4671. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4672.     break;}
  4673. case 225:
  4674. #line 1219 "parse.y"
  4675. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4676.     break;}
  4677. case 226:
  4678. #line 1221 "parse.y"
  4679. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4680.     break;}
  4681. case 227:
  4682. #line 1223 "parse.y"
  4683. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4684.     break;}
  4685. case 228:
  4686. #line 1225 "parse.y"
  4687. { yyval.ttype = build_x_binary_op (LT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
  4688.     break;}
  4689. case 229:
  4690. #line 1227 "parse.y"
  4691. { yyval.ttype = build_x_binary_op (GT_EXPR, yyval.ttype, yyvsp[0].ttype); ;
  4692.     break;}
  4693. case 230:
  4694. #line 1229 "parse.y"
  4695. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4696.     break;}
  4697. case 231:
  4698. #line 1231 "parse.y"
  4699. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4700.     break;}
  4701. case 232:
  4702. #line 1233 "parse.y"
  4703. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4704.     break;}
  4705. case 233:
  4706. #line 1235 "parse.y"
  4707. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4708.     break;}
  4709. case 234:
  4710. #line 1237 "parse.y"
  4711. { yyval.ttype = build_x_binary_op (yyvsp[-1].code, yyval.ttype, yyvsp[0].ttype); ;
  4712.     break;}
  4713. case 235:
  4714. #line 1239 "parse.y"
  4715. { yyval.ttype = build_x_binary_op (TRUTH_ANDIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
  4716.     break;}
  4717. case 236:
  4718. #line 1241 "parse.y"
  4719. { yyval.ttype = build_x_binary_op (TRUTH_ORIF_EXPR, yyval.ttype, yyvsp[0].ttype); ;
  4720.     break;}
  4721. case 237:
  4722. #line 1243 "parse.y"
  4723. { yyval.ttype = build_x_conditional_expr (yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  4724.     break;}
  4725. case 238:
  4726. #line 1245 "parse.y"
  4727. { yyval.ttype = build_modify_expr (yyval.ttype, NOP_EXPR, yyvsp[0].ttype);
  4728.                   C_SET_EXP_ORIGINAL_CODE (yyval.ttype, MODIFY_EXPR); ;
  4729.     break;}
  4730. case 239:
  4731. #line 1248 "parse.y"
  4732. { register tree rval;
  4733.           if ((rval = build_opfncall (MODIFY_EXPR, LOOKUP_NORMAL, yyval.ttype, yyvsp[0].ttype,
  4734.                          make_node (yyvsp[-1].code))))
  4735.             yyval.ttype = rval;
  4736.           else
  4737.             yyval.ttype = build_modify_expr (yyval.ttype, yyvsp[-1].code, yyvsp[0].ttype); ;
  4738.     break;}
  4739. case 240:
  4740. #line 1255 "parse.y"
  4741. { yyval.ttype = build_throw (NULL_TREE); ;
  4742.     break;}
  4743. case 241:
  4744. #line 1257 "parse.y"
  4745. { yyval.ttype = build_throw (yyvsp[0].ttype); ;
  4746.     break;}
  4747. case 242:
  4748. #line 1275 "parse.y"
  4749. { yyval.ttype = build_parse_node (BIT_NOT_EXPR, yyvsp[0].ttype); ;
  4750.     break;}
  4751. case 250:
  4752. #line 1290 "parse.y"
  4753. { yyval.ttype = build_parse_node (INDIRECT_REF, yyvsp[0].ttype); ;
  4754.     break;}
  4755. case 251:
  4756. #line 1292 "parse.y"
  4757. { yyval.ttype = build_parse_node (ADDR_EXPR, yyvsp[0].ttype); ;
  4758.     break;}
  4759. case 252:
  4760. #line 1294 "parse.y"
  4761. { yyval.ttype = yyvsp[-1].ttype; ;
  4762.     break;}
  4763. case 255:
  4764. #line 1301 "parse.y"
  4765. { yyval.ttype = finish_decl_parsing (yyvsp[-1].ttype); ;
  4766.     break;}
  4767. case 256:
  4768. #line 1306 "parse.y"
  4769. {
  4770.           if (TREE_CODE (yyval.ttype) == BIT_NOT_EXPR)
  4771.             yyval.ttype = build_x_unary_op (BIT_NOT_EXPR, TREE_OPERAND (yyval.ttype, 0));
  4772.           else if (IDENTIFIER_OPNAME_P (yyval.ttype))
  4773.             {
  4774.               tree op = yyval.ttype;
  4775.               yyval.ttype = lookup_name (op, 0);
  4776.               if (yyval.ttype == NULL_TREE)
  4777.             {
  4778.               if (op != ansi_opname[ERROR_MARK])
  4779.                 error ("operator %s not defined",
  4780.                    operator_name_string (op));
  4781.               yyval.ttype = error_mark_node;
  4782.             }
  4783.             }
  4784.           else
  4785.             yyval.ttype = do_identifier (yyval.ttype);
  4786.         ;
  4787.     break;}
  4788. case 259:
  4789. #line 1327 "parse.y"
  4790. { yyval.ttype = combine_strings (yyval.ttype); ;
  4791.     break;}
  4792. case 260:
  4793. #line 1329 "parse.y"
  4794. { char class;
  4795.           yyval.ttype = yyvsp[-1].ttype;
  4796.           class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
  4797.           if (class == 'e' || class == '1'
  4798.               || class == '2' || class == '<')
  4799.                     /* This inhibits warnings in truthvalue_conversion. */
  4800.             C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
  4801.     break;}
  4802. case 261:
  4803. #line 1337 "parse.y"
  4804. { char class;
  4805.           yyval.ttype = reparse_decl_as_expr (NULL_TREE, yyvsp[-1].ttype);
  4806.           class = TREE_CODE_CLASS (TREE_CODE (yyval.ttype));
  4807.           if (class == 'e' || class == '1'
  4808.               || class == '2' || class == '<')
  4809.                     /* This inhibits warnings in truthvalue_conversion. */
  4810.             C_SET_EXP_ORIGINAL_CODE (yyval.ttype, ERROR_MARK); ;
  4811.     break;}
  4812. case 262:
  4813. #line 1345 "parse.y"
  4814. { yyval.ttype = error_mark_node; ;
  4815.     break;}
  4816. case 263:
  4817. #line 1347 "parse.y"
  4818. { if (current_function_decl == 0)
  4819.             {
  4820.               error ("braced-group within expression allowed only inside a function");
  4821.               YYERROR;
  4822.             }
  4823.           keep_next_level ();
  4824.           yyval.ttype = expand_start_stmt_expr (); ;
  4825.     break;}
  4826. case 264:
  4827. #line 1355 "parse.y"
  4828. { tree rtl_exp;
  4829.           if (pedantic)
  4830.             pedwarn ("ANSI C++ forbids braced-groups within expressions");
  4831.           rtl_exp = expand_end_stmt_expr (yyvsp[-2].ttype);
  4832.           /* The statements have side effects, so the group does.  */
  4833.           TREE_SIDE_EFFECTS (rtl_exp) = 1;
  4834.  
  4835.           if (TREE_CODE (yyvsp[-1].ttype) == BLOCK)
  4836.             {
  4837.               /* Make a BIND_EXPR for the BLOCK already made.  */
  4838.               yyval.ttype = build (BIND_EXPR, TREE_TYPE (rtl_exp),
  4839.                   NULL_TREE, rtl_exp, yyvsp[-1].ttype);
  4840.               /* Remove the block from the tree at this point.
  4841.              It gets put back at the proper place
  4842.              when the BIND_EXPR is expanded.  */
  4843.               delete_block (yyvsp[-1].ttype);
  4844.             }
  4845.           else
  4846.             yyval.ttype = yyvsp[-1].ttype;
  4847.         ;
  4848.     break;}
  4849. case 265:
  4850. #line 1376 "parse.y"
  4851. { /* [eichin:19911016.1902EST] */
  4852.                   yyval.ttype = build_x_function_call (yyvsp[-3].ttype, yyvsp[-1].ttype, current_class_decl); 
  4853.                   /* here we instantiate_class_template as needed... */
  4854.                   do_pending_templates ();
  4855.                 ;
  4856.     break;}
  4857. case 266:
  4858. #line 1380 "parse.y"
  4859. {
  4860.                   if (TREE_CODE (yyvsp[-1].ttype) == CALL_EXPR
  4861.                       && TREE_TYPE (yyvsp[-1].ttype) != void_type_node)
  4862.                 yyval.ttype = require_complete_type (yyvsp[-1].ttype);
  4863.                   else
  4864.                     yyval.ttype = yyvsp[-1].ttype;
  4865.                 ;
  4866.     break;}
  4867. case 267:
  4868. #line 1388 "parse.y"
  4869. {
  4870.           yyval.ttype = build_x_function_call (yyval.ttype, NULL_TREE, current_class_decl);
  4871.           if (TREE_CODE (yyval.ttype) == CALL_EXPR
  4872.               && TREE_TYPE (yyval.ttype) != void_type_node)
  4873.             yyval.ttype = require_complete_type (yyval.ttype);
  4874.                 ;
  4875.     break;}
  4876. case 268:
  4877. #line 1395 "parse.y"
  4878. { yyval.ttype = grok_array_decl (yyval.ttype, yyvsp[-1].ttype); ;
  4879.     break;}
  4880. case 269:
  4881. #line 1397 "parse.y"
  4882. { /* If we get an OFFSET_REF, turn it into what it really
  4883.              means (e.g., a COMPONENT_REF).  This way if we've got,
  4884.              say, a reference to a static member that's being operated
  4885.              on, we don't end up trying to find a member operator for
  4886.              the class it's in.  */
  4887.           if (TREE_CODE (yyval.ttype) == OFFSET_REF)
  4888.             yyval.ttype = resolve_offset_ref (yyval.ttype);
  4889.           yyval.ttype = build_x_unary_op (POSTINCREMENT_EXPR, yyval.ttype); ;
  4890.     break;}
  4891. case 270:
  4892. #line 1406 "parse.y"
  4893. { if (TREE_CODE (yyval.ttype) == OFFSET_REF)
  4894.             yyval.ttype = resolve_offset_ref (yyval.ttype);
  4895.           yyval.ttype = build_x_unary_op (POSTDECREMENT_EXPR, yyval.ttype); ;
  4896.     break;}
  4897. case 271:
  4898. #line 1411 "parse.y"
  4899. { if (current_class_decl)
  4900.             {
  4901. #ifdef WARNING_ABOUT_CCD
  4902.               TREE_USED (current_class_decl) = 1;
  4903. #endif
  4904.               yyval.ttype = current_class_decl;
  4905.             }
  4906.           else if (current_function_decl
  4907.                && DECL_STATIC_FUNCTION_P (current_function_decl))
  4908.             {
  4909.               error ("`this' is unavailable for static member functions");
  4910.               yyval.ttype = error_mark_node;
  4911.             }
  4912.           else
  4913.             {
  4914.               if (current_function_decl)
  4915.             error ("invalid use of `this' in non-member function");
  4916.               else
  4917.             error ("invalid use of `this' at top level");
  4918.               yyval.ttype = error_mark_node;
  4919.             }
  4920.         ;
  4921.     break;}
  4922. case 272:
  4923. #line 1434 "parse.y"
  4924. {
  4925.           tree type;
  4926.           tree id = yyval.ttype;
  4927.  
  4928.           /* This is a C cast in C++'s `functional' notation.  */
  4929.           if (yyvsp[-1].ttype == error_mark_node)
  4930.             {
  4931.               yyval.ttype = error_mark_node;
  4932.               break;
  4933.             }
  4934. #if 0
  4935.           if (yyvsp[-1].ttype == NULL_TREE)
  4936.             {
  4937.               error ("cannot cast null list to type `%s'",
  4938.                      IDENTIFIER_POINTER (TYPE_NAME (id)));
  4939.               yyval.ttype = error_mark_node;
  4940.               break;
  4941.             }
  4942. #endif
  4943. #if 0
  4944.           /* type is not set! (mrs) */
  4945.           if (type == error_mark_node)
  4946.             yyval.ttype = error_mark_node;
  4947.           else
  4948. #endif
  4949.             {
  4950.               if (id == ridpointers[(int) RID_CONST])
  4951.                 type = build_type_variant (integer_type_node, 1, 0);
  4952.               else if (id == ridpointers[(int) RID_VOLATILE])
  4953.                 type = build_type_variant (integer_type_node, 0, 1);
  4954. #if 0
  4955.               /* should not be able to get here (mrs) */
  4956.               else if (id == ridpointers[(int) RID_FRIEND])
  4957.                 {
  4958.                   error ("cannot cast expression to `friend' type");
  4959.                   yyval.ttype = error_mark_node;
  4960.                   break;
  4961.                 }
  4962. #endif
  4963.               else my_friendly_abort (79);
  4964.               yyval.ttype = build_c_cast (type, build_compound_expr (yyvsp[-1].ttype), 1);
  4965.             }
  4966.         ;
  4967.     break;}
  4968. case 274:
  4969. #line 1479 "parse.y"
  4970. { dont_allow_type_definitions = "inside dynamic_cast"; ;
  4971.     break;}
  4972. case 275:
  4973. #line 1481 "parse.y"
  4974. { dont_allow_type_definitions = 0; ;
  4975.     break;}
  4976. case 276:
  4977. #line 1483 "parse.y"
  4978. { tree type = groktypename (yyvsp[-5].ttype);
  4979.           yyval.ttype = build_dynamic_cast (type, yyvsp[-1].ttype); ;
  4980.     break;}
  4981. case 277:
  4982. #line 1486 "parse.y"
  4983. { dont_allow_type_definitions = "inside static_cast"; ;
  4984.     break;}
  4985. case 278:
  4986. #line 1488 "parse.y"
  4987. { dont_allow_type_definitions = 0; ;
  4988.     break;}
  4989. case 279:
  4990. #line 1490 "parse.y"
  4991. { tree type = groktypename (yyvsp[-5].ttype);
  4992.           yyval.ttype = build_static_cast (type, yyvsp[-1].ttype); ;
  4993.     break;}
  4994. case 280:
  4995. #line 1493 "parse.y"
  4996. { dont_allow_type_definitions = "inside reinterpret_cast"; ;
  4997.     break;}
  4998. case 281:
  4999. #line 1495 "parse.y"
  5000. { dont_allow_type_definitions = 0; ;
  5001.     break;}
  5002. case 282:
  5003. #line 1497 "parse.y"
  5004. { tree type = groktypename (yyvsp[-5].ttype);
  5005.           yyval.ttype = build_reinterpret_cast (type, yyvsp[-1].ttype); ;
  5006.     break;}
  5007. case 283:
  5008. #line 1500 "parse.y"
  5009. { dont_allow_type_definitions = "inside const_cast"; ;
  5010.     break;}
  5011. case 284:
  5012. #line 1502 "parse.y"
  5013. { dont_allow_type_definitions = 0; ;
  5014.     break;}
  5015. case 285:
  5016. #line 1504 "parse.y"
  5017. { tree type = groktypename (yyvsp[-5].ttype);
  5018.           yyval.ttype = build_const_cast (type, yyvsp[-1].ttype); ;
  5019.     break;}
  5020. case 286:
  5021. #line 1507 "parse.y"
  5022. { yyval.ttype = build_typeid (yyvsp[-1].ttype); ;
  5023.     break;}
  5024. case 287:
  5025. #line 1509 "parse.y"
  5026. { tree type = groktypename (yyvsp[-1].ttype);
  5027.           yyval.ttype = get_typeid (TYPE_MAIN_VARIANT (type)); ;
  5028.     break;}
  5029. case 288:
  5030. #line 1512 "parse.y"
  5031. {
  5032.         do_scoped_id:
  5033.           yyval.ttype = IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype);
  5034.           if (yychar == YYEMPTY)
  5035.             yychar = YYLEX;
  5036.           if (! yyval.ttype)
  5037.             {
  5038.               if (yychar == '(' || yychar == LEFT_RIGHT)
  5039.             yyval.ttype = implicitly_declare (yyvsp[0].ttype);
  5040.               else
  5041.             {
  5042.               if (IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) != error_mark_node)
  5043.                 error ("undeclared variable `%s' (first use here)",
  5044.                    IDENTIFIER_POINTER (yyvsp[0].ttype));
  5045.               yyval.ttype = error_mark_node;
  5046.               /* Prevent repeated error messages.  */
  5047.               IDENTIFIER_GLOBAL_VALUE (yyvsp[0].ttype) = error_mark_node;
  5048.             }
  5049.             }
  5050.           else
  5051.             {
  5052.               if (TREE_CODE (yyval.ttype) == ADDR_EXPR)
  5053.             assemble_external (TREE_OPERAND (yyval.ttype, 0));
  5054.               else
  5055.             assemble_external (yyval.ttype);
  5056.               TREE_USED (yyval.ttype) = 1;
  5057.             }
  5058.           if (TREE_CODE (yyval.ttype) == CONST_DECL)
  5059.             {
  5060.               /* XXX CHS - should we set TREE_USED of the constant? */
  5061.               yyval.ttype = DECL_INITIAL (yyval.ttype);
  5062.               /* This is to prevent an enum whose value is 0
  5063.              from being considered a null pointer constant.  */
  5064.               yyval.ttype = build1 (NOP_EXPR, TREE_TYPE (yyval.ttype), yyval.ttype);
  5065.               TREE_CONSTANT (yyval.ttype) = 1;
  5066.             }
  5067.  
  5068.         ;
  5069.     break;}
  5070. case 289:
  5071. #line 1551 "parse.y"
  5072. {
  5073.           got_scope = NULL_TREE;
  5074.           if (TREE_CODE (yyvsp[0].ttype) == IDENTIFIER_NODE)
  5075.             goto do_scoped_id;
  5076.           yyval.ttype = yyvsp[0].ttype;
  5077.         ;
  5078.     break;}
  5079. case 290:
  5080. #line 1558 "parse.y"
  5081. { yyval.ttype = build_offset_ref (OP0 (yyval.ttype), OP1 (yyval.ttype)); ;
  5082.     break;}
  5083. case 291:
  5084. #line 1560 "parse.y"
  5085. { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), yyvsp[-1].ttype); ;
  5086.     break;}
  5087. case 292:
  5088. #line 1562 "parse.y"
  5089. { yyval.ttype = build_member_call (OP0 (yyval.ttype), OP1 (yyval.ttype), NULL_TREE); ;
  5090.     break;}
  5091. case 293:
  5092. #line 1564 "parse.y"
  5093. { got_object = NULL_TREE;
  5094.           yyval.ttype = build_component_ref (yyval.ttype, yyvsp[0].ttype, NULL_TREE, 1); ;
  5095.     break;}
  5096. case 294:
  5097. #line 1567 "parse.y"
  5098. { got_object = NULL_TREE;
  5099.           yyval.ttype = build_object_ref (yyval.ttype, OP0 (yyvsp[0].ttype), OP1 (yyvsp[0].ttype)); ;
  5100.     break;}
  5101. case 295:
  5102. #line 1570 "parse.y"
  5103. {
  5104.           got_object = NULL_TREE;
  5105. #if 0
  5106.           /* This is a future direction of this code, but because
  5107.              build_x_function_call cannot always undo what is done
  5108.              in build_component_ref entirely yet, we cannot do this. */
  5109.           yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-3].ttype, NULL_TREE, 1), yyvsp[-1].ttype, yyval.ttype);
  5110.           if (TREE_CODE (yyval.ttype) == CALL_EXPR
  5111.               && TREE_TYPE (yyval.ttype) != void_type_node)
  5112.             yyval.ttype = require_complete_type (yyval.ttype);
  5113. #else
  5114.           yyval.ttype = build_method_call (yyval.ttype, yyvsp[-3].ttype, yyvsp[-1].ttype, NULL_TREE,
  5115.                       (LOOKUP_NORMAL|LOOKUP_AGGR));
  5116. #endif
  5117.         ;
  5118.     break;}
  5119. case 296:
  5120. #line 1586 "parse.y"
  5121. {
  5122.           got_object = NULL_TREE;
  5123. #if 0
  5124.           /* This is a future direction of this code, but because
  5125.              build_x_function_call cannot always undo what is done
  5126.              in build_component_ref entirely yet, we cannot do this. */
  5127.           yyval.ttype = build_x_function_call (build_component_ref (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, 1), NULL_TREE, yyval.ttype);
  5128.           if (TREE_CODE (yyval.ttype) == CALL_EXPR
  5129.               && TREE_TYPE (yyval.ttype) != void_type_node)
  5130.             yyval.ttype = require_complete_type (yyval.ttype);
  5131. #else
  5132.           yyval.ttype = build_method_call (yyval.ttype, yyvsp[-1].ttype, NULL_TREE, NULL_TREE,
  5133.                       (LOOKUP_NORMAL|LOOKUP_AGGR));
  5134. #endif
  5135.         ;
  5136.     break;}
  5137. case 297:
  5138. #line 1602 "parse.y"
  5139. {
  5140.           got_object = NULL_TREE;
  5141.           if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-3].ttype))))
  5142.             {
  5143.               warning ("signature name in scope resolution ignored");
  5144.               yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype, NULL_TREE,
  5145.                           (LOOKUP_NORMAL|LOOKUP_AGGR));
  5146.             }
  5147.           else
  5148.             yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-3].ttype), OP1 (yyvsp[-3].ttype), yyvsp[-1].ttype);
  5149.         ;
  5150.     break;}
  5151. case 298:
  5152. #line 1614 "parse.y"
  5153. {
  5154.           got_object = NULL_TREE;
  5155.           if (IS_SIGNATURE (IDENTIFIER_TYPE_VALUE (OP0 (yyvsp[-1].ttype))))
  5156.             {
  5157.               warning ("signature name in scope resolution ignored");
  5158.               yyval.ttype = build_method_call (yyval.ttype, OP1 (yyvsp[-1].ttype), NULL_TREE, NULL_TREE,
  5159.                           (LOOKUP_NORMAL|LOOKUP_AGGR));
  5160.             }
  5161.           else
  5162.             yyval.ttype = build_scoped_method_call (yyval.ttype, OP0 (yyvsp[-1].ttype), OP1 (yyvsp[-1].ttype), NULL_TREE);
  5163.         ;
  5164.     break;}
  5165. case 299:
  5166. #line 1627 "parse.y"
  5167. {
  5168.           got_object = NULL_TREE;
  5169.           if (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)
  5170.               && (TREE_CODE (TREE_TYPE (yyvsp[-3].ttype)) 
  5171.               != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-1].ttype)))))
  5172.             cp_error ("`%E' is not of type `%T'", yyvsp[-3].ttype, yyvsp[-1].ttype);
  5173.           yyval.ttype = convert (void_type_node, yyvsp[-3].ttype);
  5174.         ;
  5175.     break;}
  5176. case 300:
  5177. #line 1636 "parse.y"
  5178. {
  5179.           got_object = NULL_TREE;
  5180.           if (yyvsp[-4].ttype != yyvsp[-1].ttype)
  5181.             cp_error ("destructor specifier `%T::~%T()' must have matching names", yyvsp[-4].ttype, yyvsp[-1].ttype);
  5182.           if (TREE_CODE (TREE_TYPE (yyvsp[-5].ttype))
  5183.               != TREE_CODE (TREE_TYPE (IDENTIFIER_GLOBAL_VALUE (yyvsp[-4].ttype))))
  5184.             cp_error ("`%E' is not of type `%T'", yyvsp[-5].ttype, yyvsp[-4].ttype);
  5185.           yyval.ttype = convert (void_type_node, yyvsp[-5].ttype);
  5186.         ;
  5187.     break;}
  5188. case 301:
  5189. #line 1646 "parse.y"
  5190. {
  5191.           got_object = NULL_TREE;
  5192.           yyval.ttype = error_mark_node;
  5193.         ;
  5194.     break;}
  5195. case 302:
  5196. #line 1691 "parse.y"
  5197. { yyval.itype = 0; ;
  5198.     break;}
  5199. case 303:
  5200. #line 1693 "parse.y"
  5201. { got_scope = NULL_TREE; yyval.itype = 1; ;
  5202.     break;}
  5203. case 304:
  5204. #line 1697 "parse.y"
  5205. { yyval.itype = 0; ;
  5206.     break;}
  5207. case 305:
  5208. #line 1699 "parse.y"
  5209. { got_scope = NULL_TREE; yyval.itype = 1; ;
  5210.     break;}
  5211. case 306:
  5212. #line 1704 "parse.y"
  5213. { yyval.ttype = boolean_true_node; ;
  5214.     break;}
  5215. case 307:
  5216. #line 1706 "parse.y"
  5217. { yyval.ttype = boolean_false_node; ;
  5218.     break;}
  5219. case 309:
  5220. #line 1713 "parse.y"
  5221. { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  5222.     break;}
  5223. case 310:
  5224. #line 1718 "parse.y"
  5225. {
  5226.           if (! current_function_parms_stored)
  5227.             store_parm_decls ();
  5228.           setup_vtbl_ptr ();
  5229.           /* Always keep the BLOCK node associated with the outermost
  5230.              pair of curley braces of a function.  These are needed
  5231.              for correct operation of dwarfout.c.  */
  5232.           keep_next_level ();
  5233.         ;
  5234.     break;}
  5235. case 311:
  5236. #line 1730 "parse.y"
  5237. { got_object = TREE_TYPE (yyval.ttype); ;
  5238.     break;}
  5239. case 312:
  5240. #line 1732 "parse.y"
  5241. {
  5242.           yyval.ttype = build_x_arrow (yyval.ttype); 
  5243.           got_object = TREE_TYPE (yyval.ttype);
  5244.         ;
  5245.     break;}
  5246. case 313:
  5247. #line 1741 "parse.y"
  5248. { tree d = get_decl_list (yyvsp[-2].ttype);
  5249.           int yes = suspend_momentary ();
  5250.           d = start_decl (yyvsp[-1].ttype, d, 0, NULL_TREE);
  5251.           cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
  5252.           resume_momentary (yes);
  5253.           if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
  5254.             note_got_semicolon (yyvsp[-2].ttype);
  5255.         ;
  5256.     break;}
  5257. case 314:
  5258. #line 1750 "parse.y"
  5259. { tree d, specs, attrs;
  5260.           int yes;
  5261.           split_specs_attrs (yyvsp[-2].ttype, &specs, &attrs);
  5262.           yes = suspend_momentary ();
  5263.           d = start_decl (yyvsp[-1].ttype, specs, 0, NULL_TREE);
  5264.           cplus_decl_attributes (d, NULL_TREE, attrs);
  5265.           cp_finish_decl (d, NULL_TREE, NULL_TREE, 0, 0);
  5266.           resume_momentary (yes);
  5267.           note_list_got_semicolon (yyvsp[-2].ttype);
  5268.         ;
  5269.     break;}
  5270. case 315:
  5271. #line 1761 "parse.y"
  5272. {
  5273.           resume_momentary (yyvsp[-1].itype);
  5274.           if (IS_AGGR_TYPE_CODE (TREE_CODE (yyvsp[-2].ttype)))
  5275.             note_got_semicolon (yyvsp[-2].ttype);
  5276.         ;
  5277.     break;}
  5278. case 316:
  5279. #line 1767 "parse.y"
  5280. {
  5281.           resume_momentary (yyvsp[-1].itype);
  5282.           note_list_got_semicolon (yyvsp[-2].ttype);
  5283.         ;
  5284.     break;}
  5285. case 317:
  5286. #line 1772 "parse.y"
  5287. { resume_momentary (yyvsp[-1].itype); ;
  5288.     break;}
  5289. case 318:
  5290. #line 1774 "parse.y"
  5291. {
  5292.           shadow_tag (yyvsp[-1].ttype);
  5293.           note_list_got_semicolon (yyvsp[-1].ttype);
  5294.         ;
  5295.     break;}
  5296. case 319:
  5297. #line 1779 "parse.y"
  5298. { warning ("empty declaration"); ;
  5299.     break;}
  5300. case 322:
  5301. #line 1793 "parse.y"
  5302. { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, empty_parms (),
  5303.                      NULL_TREE); ;
  5304.     break;}
  5305. case 323:
  5306. #line 1796 "parse.y"
  5307. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), 
  5308.                      NULL_TREE); ;
  5309.     break;}
  5310. case 324:
  5311. #line 1803 "parse.y"
  5312. { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  5313.     break;}
  5314. case 325:
  5315. #line 1805 "parse.y"
  5316. { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  5317.     break;}
  5318. case 326:
  5319. #line 1807 "parse.y"
  5320. { yyval.ttype = build_decl_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
  5321.     break;}
  5322. case 327:
  5323. #line 1809 "parse.y"
  5324. { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  5325.     break;}
  5326. case 328:
  5327. #line 1811 "parse.y"
  5328. { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  5329.     break;}
  5330. case 331:
  5331. #line 1826 "parse.y"
  5332. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5333.     break;}
  5334. case 332:
  5335. #line 1828 "parse.y"
  5336. { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
  5337.     break;}
  5338. case 333:
  5339. #line 1830 "parse.y"
  5340. { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, chainon (yyvsp[-1].ttype, yyvsp[0].ttype)); ;
  5341.     break;}
  5342. case 334:
  5343. #line 1832 "parse.y"
  5344. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  5345.     break;}
  5346. case 335:
  5347. #line 1834 "parse.y"
  5348. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  5349.     break;}
  5350. case 336:
  5351. #line 1836 "parse.y"
  5352. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-2].ttype, 
  5353.                        chainon (yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype))); ;
  5354.     break;}
  5355. case 337:
  5356. #line 1842 "parse.y"
  5357. { if (extra_warnings)
  5358.             warning ("`%s' is not at beginning of declaration",
  5359.                  IDENTIFIER_POINTER (yyval.ttype));
  5360.           yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  5361.     break;}
  5362. case 338:
  5363. #line 1847 "parse.y"
  5364. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5365.     break;}
  5366. case 339:
  5367. #line 1849 "parse.y"
  5368. { if (extra_warnings)
  5369.             warning ("`%s' is not at beginning of declaration",
  5370.                  IDENTIFIER_POINTER (yyvsp[0].ttype));
  5371.           yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5372.     break;}
  5373. case 340:
  5374. #line 1854 "parse.y"
  5375. { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
  5376.     break;}
  5377. case 341:
  5378. #line 1856 "parse.y"
  5379. { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
  5380.     break;}
  5381. case 342:
  5382. #line 1866 "parse.y"
  5383. { TREE_STATIC (yyval.ttype) = 1; ;
  5384.     break;}
  5385. case 343:
  5386. #line 1868 "parse.y"
  5387. { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
  5388.     break;}
  5389. case 344:
  5390. #line 1870 "parse.y"
  5391. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
  5392.           TREE_STATIC (yyval.ttype) = 1; ;
  5393.     break;}
  5394. case 345:
  5395. #line 1873 "parse.y"
  5396. { if (extra_warnings && TREE_STATIC (yyval.ttype))
  5397.             warning ("`%s' is not at beginning of declaration",
  5398.                  IDENTIFIER_POINTER (yyvsp[0].ttype));
  5399.           yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype);
  5400.           TREE_STATIC (yyval.ttype) = TREE_STATIC (yyvsp[-1].ttype); ;
  5401.     break;}
  5402. case 346:
  5403. #line 1879 "parse.y"
  5404. { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, yyvsp[-1].ttype); ;
  5405.     break;}
  5406. case 347:
  5407. #line 1881 "parse.y"
  5408. { yyval.ttype = decl_tree_cons (yyvsp[0].ttype, NULL_TREE, NULL_TREE); ;
  5409.     break;}
  5410. case 348:
  5411. #line 1892 "parse.y"
  5412. { yyval.ttype = get_decl_list (yyval.ttype); ;
  5413.     break;}
  5414. case 349:
  5415. #line 1894 "parse.y"
  5416. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5417.     break;}
  5418. case 350:
  5419. #line 1896 "parse.y"
  5420. { yyval.ttype = decl_tree_cons (NULL_TREE, yyval.ttype, yyvsp[0].ttype); ;
  5421.     break;}
  5422. case 351:
  5423. #line 1898 "parse.y"
  5424. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[-1].ttype, chainon (yyvsp[0].ttype, yyval.ttype)); ;
  5425.     break;}
  5426. case 352:
  5427. #line 1903 "parse.y"
  5428. { yyval.ttype = build_decl_list (NULL_TREE, yyval.ttype); ;
  5429.     break;}
  5430. case 353:
  5431. #line 1905 "parse.y"
  5432. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5433.     break;}
  5434. case 357:
  5435. #line 1916 "parse.y"
  5436. { yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
  5437.           if (pedantic && !in_system_header)
  5438.             pedwarn ("ANSI C++ forbids `typeof'"); ;
  5439.     break;}
  5440. case 358:
  5441. #line 1920 "parse.y"
  5442. { yyval.ttype = groktypename (yyvsp[-1].ttype);
  5443.           if (pedantic && !in_system_header)
  5444.             pedwarn ("ANSI C++ forbids `typeof'"); ;
  5445.     break;}
  5446. case 359:
  5447. #line 1924 "parse.y"
  5448. { tree type = TREE_TYPE (yyvsp[-1].ttype);
  5449.  
  5450.           if (IS_AGGR_TYPE (type))
  5451.             {
  5452.               sorry ("sigof type specifier");
  5453.               yyval.ttype = type;
  5454.             }
  5455.           else
  5456.             {
  5457.               error ("`sigof' applied to non-aggregate expression");
  5458.               yyval.ttype = error_mark_node;
  5459.             }
  5460.         ;
  5461.     break;}
  5462. case 360:
  5463. #line 1938 "parse.y"
  5464. { tree type = groktypename (yyvsp[-1].ttype);
  5465.  
  5466.           if (IS_AGGR_TYPE (type))
  5467.             {
  5468.               sorry ("sigof type specifier");
  5469.               yyval.ttype = type;
  5470.             }
  5471.           else
  5472.             {
  5473.               error("`sigof' applied to non-aggregate type");
  5474.               yyval.ttype = error_mark_node;
  5475.             }
  5476.         ;
  5477.     break;}
  5478. case 370:
  5479. #line 1977 "parse.y"
  5480. { yyval.ttype = NULL_TREE; ;
  5481.     break;}
  5482. case 371:
  5483. #line 1979 "parse.y"
  5484. { if (TREE_CHAIN (yyvsp[-1].ttype)) yyvsp[-1].ttype = combine_strings (yyvsp[-1].ttype); yyval.ttype = yyvsp[-1].ttype; ;
  5485.     break;}
  5486. case 372:
  5487. #line 1984 "parse.y"
  5488. { split_specs_attrs (yyvsp[-5].ttype, ¤t_declspecs,
  5489.                      &prefix_attributes);
  5490.           if (TREE_CODE (current_declspecs) != TREE_LIST)
  5491.             current_declspecs = get_decl_list (current_declspecs);
  5492.           if (have_extern_spec && !used_extern_spec)
  5493.             {
  5494.               current_declspecs = decl_tree_cons
  5495.             (NULL_TREE, get_identifier ("extern"), 
  5496.              current_declspecs);
  5497.               used_extern_spec = 1;
  5498.             }
  5499.           yyvsp[0].itype = suspend_momentary ();
  5500.           yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  5501.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
  5502.     break;}
  5503. case 373:
  5504. #line 2000 "parse.y"
  5505. { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0, LOOKUP_ONLYCONVERTING);
  5506.           yyval.itype = yyvsp[-2].itype; ;
  5507.     break;}
  5508. case 374:
  5509. #line 2003 "parse.y"
  5510. { tree d;
  5511.           split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
  5512.                      &prefix_attributes);
  5513.           if (TREE_CODE (current_declspecs) != TREE_LIST)
  5514.             current_declspecs = get_decl_list (current_declspecs);
  5515.           if (have_extern_spec && !used_extern_spec)
  5516.             {
  5517.               current_declspecs = decl_tree_cons
  5518.             (NULL_TREE, get_identifier ("extern"), 
  5519.              current_declspecs);
  5520.               used_extern_spec = 1;
  5521.             }
  5522.           yyval.itype = suspend_momentary ();
  5523.           d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  5524.           cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
  5525.           cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0, 0); ;
  5526.     break;}
  5527. case 375:
  5528. #line 2023 "parse.y"
  5529. { yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  5530.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
  5531.     break;}
  5532. case 376:
  5533. #line 2027 "parse.y"
  5534. { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0, LOOKUP_ONLYCONVERTING); ;
  5535.     break;}
  5536. case 377:
  5537. #line 2029 "parse.y"
  5538. { yyval.ttype = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  5539.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes);
  5540.           cp_finish_decl (yyval.ttype, NULL_TREE, yyvsp[-1].ttype, 0, 0); ;
  5541.     break;}
  5542. case 378:
  5543. #line 2036 "parse.y"
  5544. { split_specs_attrs (yyvsp[-5].ttype, ¤t_declspecs,
  5545.                      &prefix_attributes);
  5546.           yyvsp[0].itype = suspend_momentary ();
  5547.           yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  5548.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
  5549.     break;}
  5550. case 379:
  5551. #line 2043 "parse.y"
  5552. { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0, LOOKUP_ONLYCONVERTING);
  5553.           yyval.itype = yyvsp[-2].itype; ;
  5554.     break;}
  5555. case 380:
  5556. #line 2046 "parse.y"
  5557. { tree d;
  5558.           split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
  5559.                      &prefix_attributes);
  5560.           yyval.itype = suspend_momentary ();
  5561.           d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  5562.           cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
  5563.           cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0, 0); ;
  5564.     break;}
  5565. case 381:
  5566. #line 2057 "parse.y"
  5567. { current_declspecs = NULL_TREE;
  5568.           prefix_attributes = NULL_TREE;
  5569.           yyvsp[0].itype = suspend_momentary ();
  5570.           yyval.ttype = start_decl (yyvsp[-4].ttype, current_declspecs, 1, yyvsp[-3].ttype);
  5571.           cplus_decl_attributes (yyval.ttype, yyvsp[-1].ttype, prefix_attributes); ;
  5572.     break;}
  5573. case 382:
  5574. #line 2064 "parse.y"
  5575. { cp_finish_decl (yyvsp[-1].ttype, yyvsp[0].ttype, yyvsp[-4].ttype, 0, LOOKUP_ONLYCONVERTING);
  5576.           yyval.itype = yyvsp[-2].itype; ;
  5577.     break;}
  5578. case 383:
  5579. #line 2067 "parse.y"
  5580. { tree d;
  5581.           current_declspecs = NULL_TREE;
  5582.           prefix_attributes = NULL_TREE;
  5583.           yyval.itype = suspend_momentary ();
  5584.           d = start_decl (yyvsp[-3].ttype, current_declspecs, 0, yyvsp[-2].ttype);
  5585.           cplus_decl_attributes (d, yyvsp[0].ttype, prefix_attributes);
  5586.           cp_finish_decl (d, NULL_TREE, yyvsp[-1].ttype, 0, 0); ;
  5587.     break;}
  5588. case 384:
  5589. #line 2080 "parse.y"
  5590. { yyval.ttype = NULL_TREE; ;
  5591.     break;}
  5592. case 385:
  5593. #line 2082 "parse.y"
  5594. { yyval.ttype = yyvsp[0].ttype; ;
  5595.     break;}
  5596. case 386:
  5597. #line 2087 "parse.y"
  5598. { yyval.ttype = yyvsp[0].ttype; ;
  5599.     break;}
  5600. case 387:
  5601. #line 2089 "parse.y"
  5602. { yyval.ttype = chainon (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  5603.     break;}
  5604. case 388:
  5605. #line 2094 "parse.y"
  5606. { yyval.ttype = yyvsp[-2].ttype; ;
  5607.     break;}
  5608. case 389:
  5609. #line 2099 "parse.y"
  5610. { yyval.ttype = yyvsp[0].ttype; ;
  5611.     break;}
  5612. case 390:
  5613. #line 2101 "parse.y"
  5614. { yyval.ttype = chainon (yyvsp[-2].ttype, yyvsp[0].ttype); ;
  5615.     break;}
  5616. case 391:
  5617. #line 2106 "parse.y"
  5618. { yyval.ttype = NULL_TREE; ;
  5619.     break;}
  5620. case 392:
  5621. #line 2108 "parse.y"
  5622. { yyval.ttype = build_tree_list (yyvsp[0].ttype, NULL_TREE); ;
  5623.     break;}
  5624. case 393:
  5625. #line 2110 "parse.y"
  5626. { yyval.ttype = build_tree_list (yyvsp[-3].ttype, build_tree_list (NULL_TREE, yyvsp[-1].ttype)); ;
  5627.     break;}
  5628. case 394:
  5629. #line 2112 "parse.y"
  5630. { yyval.ttype = build_tree_list (yyvsp[-5].ttype, tree_cons (NULL_TREE, yyvsp[-3].ttype, yyvsp[-1].ttype)); ;
  5631.     break;}
  5632. case 395:
  5633. #line 2114 "parse.y"
  5634. { yyval.ttype = build_tree_list (yyvsp[-3].ttype, yyvsp[-1].ttype); ;
  5635.     break;}
  5636. case 400:
  5637. #line 2130 "parse.y"
  5638. { yyval.ttype = build_tree_list (NULL_TREE, yyvsp[0].ttype); ;
  5639.     break;}
  5640. case 401:
  5641. #line 2132 "parse.y"
  5642. { yyval.ttype = chainon (yyvsp[-2].ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  5643.     break;}
  5644. case 402:
  5645. #line 2137 "parse.y"
  5646. { yyval.ttype = NULL_TREE; ;
  5647.     break;}
  5648. case 403:
  5649. #line 2139 "parse.y"
  5650. { yyval.ttype = yyvsp[0].ttype; ;
  5651.     break;}
  5652. case 405:
  5653. #line 2144 "parse.y"
  5654. { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, NULL_TREE);
  5655.           TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  5656.     break;}
  5657. case 406:
  5658. #line 2147 "parse.y"
  5659. { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-1].ttype));
  5660.           TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  5661.     break;}
  5662. case 407:
  5663. #line 2150 "parse.y"
  5664. { yyval.ttype = build_nt (CONSTRUCTOR, NULL_TREE, nreverse (yyvsp[-2].ttype));
  5665.           TREE_HAS_CONSTRUCTOR (yyval.ttype) = 1; ;
  5666.     break;}
  5667. case 408:
  5668. #line 2153 "parse.y"
  5669. { yyval.ttype = NULL_TREE; ;
  5670.     break;}
  5671. case 409:
  5672. #line 2160 "parse.y"
  5673. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  5674.     break;}
  5675. case 410:
  5676. #line 2162 "parse.y"
  5677. { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  5678.     break;}
  5679. case 411:
  5680. #line 2165 "parse.y"
  5681. { yyval.ttype = build_tree_list (yyvsp[-2].ttype, yyvsp[0].ttype); ;
  5682.     break;}
  5683. case 412:
  5684. #line 2167 "parse.y"
  5685. { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
  5686.     break;}
  5687. case 413:
  5688. #line 2169 "parse.y"
  5689. { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  5690.     break;}
  5691. case 414:
  5692. #line 2171 "parse.y"
  5693. { yyval.ttype = tree_cons (yyvsp[-2].ttype, yyvsp[0].ttype, yyval.ttype); ;
  5694.     break;}
  5695. case 415:
  5696. #line 2176 "parse.y"
  5697. { yyvsp[0].itype = suspend_momentary ();
  5698.           yyval.ttype = start_enum (yyvsp[-1].ttype); ;
  5699.     break;}
  5700. case 416:
  5701. #line 2179 "parse.y"
  5702. { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
  5703.           resume_momentary ((int) yyvsp[-4].itype);
  5704.           check_for_missing_semicolon (yyvsp[-3].ttype); ;
  5705.     break;}
  5706. case 417:
  5707. #line 2183 "parse.y"
  5708. { yyval.ttype = finish_enum (start_enum (yyvsp[-2].ttype), NULL_TREE);
  5709.           check_for_missing_semicolon (yyval.ttype); ;
  5710.     break;}
  5711. case 418:
  5712. #line 2186 "parse.y"
  5713. { yyvsp[0].itype = suspend_momentary ();
  5714.           yyval.ttype = start_enum (make_anon_name ()); ;
  5715.     break;}
  5716. case 419:
  5717. #line 2189 "parse.y"
  5718. { yyval.ttype = finish_enum (yyvsp[-3].ttype, yyvsp[-2].ttype);
  5719.           resume_momentary ((int) yyvsp[-5].itype);
  5720.           check_for_missing_semicolon (yyvsp[-3].ttype); ;
  5721.     break;}
  5722. case 420:
  5723. #line 2193 "parse.y"
  5724. { yyval.ttype = finish_enum (start_enum (make_anon_name()), NULL_TREE);
  5725.           check_for_missing_semicolon (yyval.ttype); ;
  5726.     break;}
  5727. case 421:
  5728. #line 2196 "parse.y"
  5729. { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1); ;
  5730.     break;}
  5731. case 422:
  5732. #line 2198 "parse.y"
  5733. { yyval.ttype = xref_tag (enum_type_node, yyvsp[0].ttype, NULL_TREE, 1); ;
  5734.     break;}
  5735. case 423:
  5736. #line 2200 "parse.y"
  5737. { yyval.ttype = yyvsp[0].ttype; ;
  5738.     break;}
  5739. case 424:
  5740. #line 2203 "parse.y"
  5741. {
  5742.           int semi;
  5743.           tree id;
  5744.  
  5745. #if 0
  5746.           /* Need to rework class nesting in the
  5747.              presence of nested classes, etc.  */
  5748.           shadow_tag (CLASSTYPE_AS_LIST (yyval.ttype)); */
  5749. #endif
  5750.           if (yychar == YYEMPTY)
  5751.             yychar = YYLEX;
  5752.           semi = yychar == ';';
  5753.           /* finish_struct nukes this anyway; if
  5754.              finish_exception does too, then it can go. */
  5755.           if (semi)
  5756.             note_got_semicolon (yyval.ttype);
  5757.  
  5758.           if (TREE_CODE (yyval.ttype) == ENUMERAL_TYPE)
  5759.             /* $$ = $1 from default rule.  */;
  5760.           else
  5761.             {
  5762.               yyval.ttype = finish_struct (yyval.ttype, yyvsp[-1].ttype, semi);
  5763.               if (semi) note_got_semicolon (yyval.ttype);
  5764.             }
  5765.  
  5766.           pop_obstacks ();
  5767.  
  5768.           id = TYPE_IDENTIFIER (yyval.ttype);
  5769.           if (id && IDENTIFIER_TEMPLATE (id))
  5770.             {
  5771.               tree decl;
  5772.  
  5773.               /* I don't know if the copying of this TYPE_DECL is
  5774.                * really needed.  However, it's such a small per-
  5775.                * formance penalty that the extra safety is a bargain.
  5776.                * - niklas@appli.se
  5777.                */
  5778.               push_obstacks (&permanent_obstack, &permanent_obstack);
  5779.               decl = copy_node (lookup_name (id, 0));
  5780.               if (DECL_LANG_SPECIFIC (decl))
  5781.             copy_lang_decl (decl);
  5782.               pop_obstacks ();
  5783.               undo_template_name_overload (id, 0);
  5784.               pushdecl_top_level (decl);
  5785.             }
  5786.           if (! semi)
  5787.             check_for_missing_semicolon (yyval.ttype); ;
  5788.     break;}
  5789. case 425:
  5790. #line 2251 "parse.y"
  5791. {
  5792.           /* struct B: public A; is not accepted by the WP grammar.  */
  5793.           if (TYPE_BINFO_BASETYPES (yyval.ttype) && !TYPE_SIZE (yyval.ttype)
  5794.               && ! TYPE_BEING_DEFINED (yyval.ttype))
  5795.             cp_error ("base clause without member specification for `%#T'",
  5796.                   yyval.ttype);
  5797.         ;
  5798.     break;}
  5799. case 429:
  5800. #line 2268 "parse.y"
  5801. { if (pedantic) pedwarn ("comma at end of enumerator list"); ;
  5802.     break;}
  5803. case 431:
  5804. #line 2273 "parse.y"
  5805. { error ("storage class specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  5806.     break;}
  5807. case 432:
  5808. #line 2275 "parse.y"
  5809. { error ("type specifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  5810.     break;}
  5811. case 433:
  5812. #line 2277 "parse.y"
  5813. { error ("type qualifier `%s' not allowed after struct or class", IDENTIFIER_POINTER (yyvsp[0].ttype)); ;
  5814.     break;}
  5815. case 434:
  5816. #line 2279 "parse.y"
  5817. { error ("no body nor ';' separates two class, struct or union declarations"); ;
  5818.     break;}
  5819. case 435:
  5820. #line 2284 "parse.y"
  5821.           yyungetc (';', 1); current_aggr = yyval.ttype; yyval.ttype = yyvsp[-1].ttype; 
  5822.           if (yyvsp[-3].ttype == ridpointers[(int) RID_TEMPLATE])
  5823.             instantiate_class_template (yyval.ttype, 2);
  5824.         ;
  5825.     break;}
  5826. case 436:
  5827. #line 2293 "parse.y"
  5828. { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  5829.     break;}
  5830. case 438:
  5831. #line 2299 "parse.y"
  5832. { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  5833.     break;}
  5834. case 439:
  5835. #line 2301 "parse.y"
  5836. { yyungetc ('{', 1);
  5837.         aggr2:
  5838.           current_aggr = yyval.ttype;
  5839.           yyval.ttype = yyvsp[-1].ttype;
  5840.           overload_template_name (yyval.ttype, 0); ;
  5841.     break;}
  5842. case 440:
  5843. #line 2307 "parse.y"
  5844. { yyungetc (':', 1); goto aggr2; ;
  5845.     break;}
  5846. case 441:
  5847. #line 2312 "parse.y"
  5848. { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  5849.     break;}
  5850. case 442:
  5851. #line 2314 "parse.y"
  5852. { current_aggr = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  5853.     break;}
  5854. case 443:
  5855. #line 2318 "parse.y"
  5856. { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 0); ;
  5857.     break;}
  5858. case 444:
  5859. #line 2323 "parse.y"
  5860. { yyval.ttype = xref_tag (current_aggr, yyvsp[0].ttype, NULL_TREE, 1); ;
  5861.     break;}
  5862. case 445:
  5863. #line 2326 "parse.y"
  5864.           yyval.ttype = yyvsp[-1].ttype;
  5865.           if (yyvsp[0].ttype)
  5866.                     xref_basetypes (current_aggr, yyvsp[-2].ttype, yyvsp[-1].ttype, yyvsp[0].ttype); 
  5867.         ;
  5868.     break;}
  5869. case 446:
  5870. #line 2332 "parse.y"
  5871.           yyval.ttype = TREE_TYPE (yyvsp[-1].ttype);
  5872.           if (yyvsp[0].ttype)
  5873.             xref_basetypes (current_aggr, yyvsp[-1].ttype, TREE_TYPE (yyvsp[-1].ttype), yyvsp[0].ttype); 
  5874.         ;
  5875.     break;}
  5876. case 447:
  5877. #line 2340 "parse.y"
  5878. { yyval.ttype = xref_tag (yyval.ttype, make_anon_name (), NULL_TREE, 0);
  5879.           yyungetc ('{', 1); ;
  5880.     break;}
  5881. case 450:
  5882. #line 2348 "parse.y"
  5883. { yyval.ttype = NULL_TREE; ;
  5884.     break;}
  5885. case 451:
  5886. #line 2350 "parse.y"
  5887. { yyungetc(':', 1); yyval.ttype = NULL_TREE; ;
  5888.     break;}
  5889. case 452:
  5890. #line 2352 "parse.y"
  5891. { yyval.ttype = yyvsp[0].ttype; ;
  5892.     break;}
  5893. case 454:
  5894. #line 2358 "parse.y"
  5895. { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  5896.     break;}
  5897. case 455:
  5898. #line 2363 "parse.y"
  5899. {
  5900.           tree type;
  5901.           type = IDENTIFIER_TYPE_VALUE (yyval.ttype);
  5902.           if (! is_aggr_typedef (yyval.ttype, 1))
  5903.             yyval.ttype = NULL_TREE;
  5904.           else if (current_aggr == signature_type_node
  5905.                && (! type) && (! IS_SIGNATURE (type)))
  5906.             {
  5907.               error ("class name not allowed as base signature");
  5908.               yyval.ttype = NULL_TREE;
  5909.             }
  5910.           else if (current_aggr == signature_type_node)
  5911.             {
  5912.               sorry ("signature inheritance, base type `%s' ignored",
  5913.                  IDENTIFIER_POINTER (yyval.ttype));
  5914.               yyval.ttype = build_tree_list ((tree)access_public, yyval.ttype);
  5915.             }
  5916.           else if (type && IS_SIGNATURE (type))
  5917.             {
  5918.               error ("signature name not allowed as base class");
  5919.               yyval.ttype = NULL_TREE;
  5920.             }
  5921.           else
  5922.             yyval.ttype = build_tree_list ((tree)access_default, yyval.ttype);
  5923.         ;
  5924.     break;}
  5925. case 456:
  5926. #line 2389 "parse.y"
  5927. {
  5928.           tree type;
  5929.           type = IDENTIFIER_TYPE_VALUE (yyvsp[0].ttype);
  5930.           if (current_aggr == signature_type_node)
  5931.             error ("access and source specifiers not allowed in signature");
  5932.           if (! is_aggr_typedef (yyvsp[0].ttype, 1))
  5933.             yyval.ttype = NULL_TREE;
  5934.           else if (current_aggr == signature_type_node
  5935.                && (! type) && (! IS_SIGNATURE (type)))
  5936.             {
  5937.               error ("class name not allowed as base signature");
  5938.               yyval.ttype = NULL_TREE;
  5939.             }
  5940.           else if (current_aggr == signature_type_node)
  5941.             {
  5942.               sorry ("signature inheritance, base type `%s' ignored",
  5943.                  IDENTIFIER_POINTER (yyval.ttype));
  5944.               yyval.ttype = build_tree_list ((tree)access_public, yyvsp[0].ttype);
  5945.             }
  5946.           else if (type && IS_SIGNATURE (type))
  5947.             {
  5948.               error ("signature name not allowed as base class");
  5949.               yyval.ttype = NULL_TREE;
  5950.             }
  5951.           else
  5952.             yyval.ttype = build_tree_list ((tree) yyval.ttype, yyvsp[0].ttype);
  5953.         ;
  5954.     break;}
  5955. case 458:
  5956. #line 2421 "parse.y"
  5957. {
  5958.           if (current_aggr == signature_type_node)
  5959.             {
  5960.               if (IS_AGGR_TYPE (TREE_TYPE (yyvsp[-1].ttype)))
  5961.             {
  5962.               sorry ("`sigof' as base signature specifier");
  5963.               /* need to return some dummy signature identifier */
  5964.               yyval.ttype = yyvsp[-1].ttype;
  5965.             }
  5966.               else
  5967.             {
  5968.               error ("`sigof' applied to non-aggregate expression");
  5969.               yyval.ttype = error_mark_node;
  5970.             }
  5971.             }
  5972.           else
  5973.             {
  5974.               error ("`sigof' in struct or class declaration");
  5975.               yyval.ttype = error_mark_node;
  5976.             }
  5977.         ;
  5978.     break;}
  5979. case 459:
  5980. #line 2443 "parse.y"
  5981. {
  5982.           if (current_aggr == signature_type_node)
  5983.             {
  5984.               if (IS_AGGR_TYPE (groktypename (yyvsp[-1].ttype)))
  5985.             {
  5986.               sorry ("`sigof' as base signature specifier");
  5987.               /* need to return some dummy signature identifier */
  5988.               yyval.ttype = yyvsp[-1].ttype;
  5989.             }
  5990.               else
  5991.             {
  5992.               error ("`sigof' applied to non-aggregate expression");
  5993.               yyval.ttype = error_mark_node;
  5994.             }
  5995.             }
  5996.           else
  5997.             {
  5998.               error ("`sigof' in struct or class declaration");
  5999.               yyval.ttype = error_mark_node;
  6000.             }
  6001.         ;
  6002.     break;}
  6003. case 461:
  6004. #line 2469 "parse.y"
  6005. { if (yyval.ttype != ridpointers[(int)RID_VIRTUAL])
  6006.             sorry ("non-virtual access");
  6007.           yyval.itype = access_default_virtual; ;
  6008.     break;}
  6009. case 462:
  6010. #line 2473 "parse.y"
  6011. { int err = 0;
  6012.           if (yyvsp[-1].itype == access_protected)
  6013.             {
  6014.               warning ("`protected' access not implemented");
  6015.               yyvsp[-1].itype = access_public;
  6016.               err++;
  6017.             }
  6018.           else if (yyvsp[-1].itype == access_public)
  6019.             {
  6020.               if (yyvsp[-2].itype == access_private)
  6021.             {
  6022.             mixed:
  6023.               error ("base class cannot be public and private");
  6024.             }
  6025.               else if (yyvsp[-2].itype == access_default_virtual)
  6026.             yyval.itype = access_public_virtual;
  6027.             }
  6028.           else /* $2 == access_private */
  6029.             {
  6030.               if (yyvsp[-2].itype == access_public)
  6031.             goto mixed;
  6032.               else if (yyvsp[-2].itype == access_default_virtual)
  6033.             yyval.itype = access_private_virtual;
  6034.             }
  6035.         ;
  6036.     break;}
  6037. case 463:
  6038. #line 2499 "parse.y"
  6039. { if (yyvsp[-1].ttype != ridpointers[(int)RID_VIRTUAL])
  6040.             sorry ("non-virtual access");
  6041.           if (yyval.itype == access_public)
  6042.             yyval.itype = access_public_virtual;
  6043.           else if (yyval.itype == access_private)
  6044.             yyval.itype = access_private_virtual; ;
  6045.     break;}
  6046. case 464:
  6047. #line 2508 "parse.y"
  6048. { tree t = yyvsp[-1].ttype;
  6049.           push_obstacks_nochange ();
  6050.           end_temporary_allocation ();
  6051.  
  6052.           if (! IS_AGGR_TYPE (t))
  6053.             {
  6054.               t = yyvsp[-1].ttype = make_lang_type (RECORD_TYPE);
  6055.               TYPE_NAME (t) = get_identifier ("erroneous type");
  6056.             }
  6057.           if (TYPE_SIZE (t))
  6058.             duplicate_tag_error (t);
  6059.                   if (TYPE_SIZE (t) || TYPE_BEING_DEFINED (t))
  6060.                     {
  6061.                       t = make_lang_type (TREE_CODE (t));
  6062.                       pushtag (TYPE_IDENTIFIER (yyvsp[-1].ttype), t, 0);
  6063.                       yyvsp[-1].ttype = t;
  6064.                     }
  6065.           pushclass (t, 0);
  6066.           TYPE_BEING_DEFINED (t) = 1;
  6067.           /* Reset the interface data, at the earliest possible
  6068.              moment, as it might have been set via a class foo;
  6069.              before.  */
  6070.           /* Don't change signatures.  */
  6071.           if (! IS_SIGNATURE (t))
  6072.             {
  6073.               extern tree pending_vtables;
  6074.               int needs_writing;
  6075.               tree name = TYPE_IDENTIFIER (t);
  6076.  
  6077.               if (! ANON_AGGRNAME_P (name))
  6078.             {
  6079.               CLASSTYPE_INTERFACE_ONLY (t) = interface_only;
  6080.               SET_CLASSTYPE_INTERFACE_UNKNOWN_X
  6081.                 (t, interface_unknown);
  6082.             }
  6083.  
  6084.               /* Record how to set the access of this class's
  6085.              virtual functions.  If write_virtuals == 2 or 3, then
  6086.              inline virtuals are ``extern inline''.  */
  6087.               switch (write_virtuals)
  6088.             {
  6089.             case 0:
  6090.             case 1:
  6091.               needs_writing = 1;
  6092.               break;
  6093.             case 2:
  6094.               needs_writing = !! value_member (name, pending_vtables);
  6095.               break;
  6096.             case 3:
  6097.               needs_writing = ! CLASSTYPE_INTERFACE_ONLY (t)
  6098.                 && CLASSTYPE_INTERFACE_KNOWN (t);
  6099.               break;
  6100.             default:
  6101.               needs_writing = 0;
  6102.             }
  6103.               CLASSTYPE_VTABLE_NEEDS_WRITING (t) = needs_writing;
  6104.             }
  6105. #if 0
  6106.           t = TYPE_IDENTIFIER (yyvsp[-1].ttype);
  6107.           if (t && IDENTIFIER_TEMPLATE (t))
  6108.             overload_template_name (t, 1);
  6109. #endif
  6110.         ;
  6111.     break;}
  6112. case 465:
  6113. #line 2575 "parse.y"
  6114. { yyval.ttype = NULL_TREE; ;
  6115.     break;}
  6116. case 466:
  6117. #line 2577 "parse.y"
  6118. {
  6119.           if (current_aggr == signature_type_node)
  6120.             yyval.ttype = build_tree_list ((tree) access_public, yyval.ttype);
  6121.           else
  6122.             yyval.ttype = build_tree_list ((tree) access_default, yyval.ttype);
  6123.         ;
  6124.     break;}
  6125. case 467:
  6126. #line 2584 "parse.y"
  6127. {
  6128.           tree visspec = (tree) yyvsp[-2].itype;
  6129.  
  6130.           if (current_aggr == signature_type_node)
  6131.             {
  6132.               error ("access specifier not allowed in signature");
  6133.               visspec = (tree) access_public;
  6134.             }
  6135.           yyval.ttype = chainon (yyval.ttype, build_tree_list (visspec, yyvsp[0].ttype));
  6136.         ;
  6137.     break;}
  6138. case 468:
  6139. #line 2595 "parse.y"
  6140. {
  6141.           if (current_aggr == signature_type_node)
  6142.             error ("access specifier not allowed in signature");
  6143.         ;
  6144.     break;}
  6145. case 469:
  6146. #line 2605 "parse.y"
  6147. { if (yyval.ttype == void_type_node) yyval.ttype = NULL_TREE; 
  6148.         ;
  6149.     break;}
  6150. case 470:
  6151. #line 2608 "parse.y"
  6152. { /* In pushdecl, we created a reverse list of names
  6153.              in this binding level.  Make sure that the chain
  6154.              of what we're trying to add isn't the item itself
  6155.              (which can happen with what pushdecl's doing).  */
  6156.           if (yyvsp[0].ttype != NULL_TREE && yyvsp[0].ttype != void_type_node)
  6157.             {
  6158.               if (TREE_CHAIN (yyvsp[0].ttype) != yyval.ttype)
  6159.             yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  6160.               else
  6161.             yyval.ttype = yyvsp[0].ttype;
  6162.             }
  6163.         ;
  6164.     break;}
  6165. case 471:
  6166. #line 2624 "parse.y"
  6167. { ;
  6168.     break;}
  6169. case 472:
  6170. #line 2626 "parse.y"
  6171. { error ("missing ';' before right brace");
  6172.           yyungetc ('}', 0); ;
  6173.     break;}
  6174. case 473:
  6175. #line 2631 "parse.y"
  6176. { yyval.ttype = finish_method (yyval.ttype); ;
  6177.     break;}
  6178. case 474:
  6179. #line 2633 "parse.y"
  6180. { yyval.ttype = finish_method (yyval.ttype); ;
  6181.     break;}
  6182. case 475:
  6183. #line 2635 "parse.y"
  6184. { yyval.ttype = finish_method (yyval.ttype); ;
  6185.     break;}
  6186. case 476:
  6187. #line 2637 "parse.y"
  6188. { yyval.ttype = finish_method (yyval.ttype); ;
  6189.     break;}
  6190. case 477:
  6191. #line 2639 "parse.y"
  6192. { yyval.ttype = NULL_TREE; ;
  6193.     break;}
  6194. case 478:
  6195. #line 2647 "parse.y"
  6196. { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6197.     break;}
  6198. case 479:
  6199. #line 2649 "parse.y"
  6200. { yyval.ttype = grok_x_components (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6201.     break;}
  6202. case 480:
  6203. #line 2651 "parse.y"
  6204. { yyval.ttype = grokfield (yyval.ttype, NULL_TREE, yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype,
  6205.                   build_tree_list (yyvsp[-1].ttype, NULL_TREE)); ;
  6206.     break;}
  6207. case 481:
  6208. #line 2654 "parse.y"
  6209. { yyval.ttype = grokbitfield (NULL_TREE, NULL_TREE, yyvsp[0].ttype); ;
  6210.     break;}
  6211. case 482:
  6212. #line 2656 "parse.y"
  6213. { yyval.ttype = NULL_TREE; ;
  6214.     break;}
  6215. case 483:
  6216. #line 2667 "parse.y"
  6217. { tree specs, attrs;
  6218.           split_specs_attrs (yyvsp[-8].ttype, &specs, &attrs);
  6219.           yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (specs),
  6220.                      yyvsp[-6].ttype, yyvsp[-4].ttype);
  6221.           yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (specs), yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype,
  6222.                   build_tree_list (yyvsp[-1].ttype, attrs)); ;
  6223.     break;}
  6224. case 484:
  6225. #line 2674 "parse.y"
  6226. { tree specs, attrs;
  6227.           split_specs_attrs (yyvsp[-6].ttype, &specs, &attrs);
  6228.           yyval.ttype = build_parse_node (CALL_EXPR, TREE_VALUE (specs),
  6229.                      empty_parms (), yyvsp[-4].ttype);
  6230.           yyval.ttype = grokfield (yyval.ttype, TREE_CHAIN (specs), yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype,
  6231.                   build_tree_list (yyvsp[-1].ttype, attrs)); ;
  6232.     break;}
  6233. case 485:
  6234. #line 2681 "parse.y"
  6235. { yyval.ttype = do_class_using_decl (yyvsp[0].ttype); ;
  6236.     break;}
  6237. case 486:
  6238. #line 2688 "parse.y"
  6239. { yyval.ttype = NULL_TREE; ;
  6240.     break;}
  6241. case 488:
  6242. #line 2691 "parse.y"
  6243. {
  6244.           /* In this context, void_type_node encodes
  6245.              friends.  They have been recorded elsewhere.  */
  6246.           if (yyval.ttype == void_type_node)
  6247.             yyval.ttype = yyvsp[0].ttype;
  6248.           else
  6249.             yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  6250.         ;
  6251.     break;}
  6252. case 489:
  6253. #line 2703 "parse.y"
  6254. { yyval.ttype = NULL_TREE; ;
  6255.     break;}
  6256. case 491:
  6257. #line 2706 "parse.y"
  6258. {
  6259.           /* In this context, void_type_node encodes
  6260.              friends.  They have been recorded elsewhere.  */
  6261.           if (yyval.ttype == void_type_node)
  6262.             yyval.ttype = yyvsp[0].ttype;
  6263.           else
  6264.             yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype);
  6265.         ;
  6266.     break;}
  6267. case 496:
  6268. #line 2728 "parse.y"
  6269. { split_specs_attrs (yyvsp[-5].ttype, ¤t_declspecs,
  6270.                      &prefix_attributes);
  6271.           yyvsp[-5].ttype = current_declspecs;
  6272.           yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype,
  6273.                   build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
  6274.     break;}
  6275. case 497:
  6276. #line 2734 "parse.y"
  6277. { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
  6278.                      &prefix_attributes);
  6279.           yyvsp[-4].ttype = current_declspecs;
  6280.           yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  6281.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
  6282.     break;}
  6283. case 498:
  6284. #line 2743 "parse.y"
  6285. { split_specs_attrs (yyvsp[-5].ttype, ¤t_declspecs,
  6286.                      &prefix_attributes);
  6287.           yyvsp[-5].ttype = current_declspecs;
  6288.           yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype,
  6289.                   build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
  6290.     break;}
  6291. case 499:
  6292. #line 2749 "parse.y"
  6293. { split_specs_attrs (yyvsp[-4].ttype, ¤t_declspecs,
  6294.                      &prefix_attributes);
  6295.           yyvsp[-4].ttype = current_declspecs;
  6296.           yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  6297.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
  6298.     break;}
  6299. case 500:
  6300. #line 2755 "parse.y"
  6301. { split_specs_attrs (yyvsp[-3].ttype, ¤t_declspecs,
  6302.                      &prefix_attributes);
  6303.           yyvsp[-3].ttype = current_declspecs;
  6304.           yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
  6305.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
  6306.     break;}
  6307. case 501:
  6308. #line 2764 "parse.y"
  6309. { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype,
  6310.                   build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
  6311.     break;}
  6312. case 502:
  6313. #line 2767 "parse.y"
  6314. { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  6315.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
  6316.     break;}
  6317. case 503:
  6318. #line 2773 "parse.y"
  6319. { yyval.ttype = grokfield (yyval.ttype, current_declspecs, yyvsp[-3].ttype, yyvsp[0].ttype, yyvsp[-2].ttype,
  6320.                   build_tree_list (yyvsp[-1].ttype, prefix_attributes)); ;
  6321.     break;}
  6322. case 504:
  6323. #line 2776 "parse.y"
  6324. { yyval.ttype = grokbitfield (yyval.ttype, current_declspecs, yyvsp[-1].ttype);
  6325.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
  6326.     break;}
  6327. case 505:
  6328. #line 2779 "parse.y"
  6329. { yyval.ttype = grokbitfield (NULL_TREE, current_declspecs, yyvsp[-1].ttype);
  6330.           cplus_decl_attributes (yyval.ttype, yyvsp[0].ttype, prefix_attributes); ;
  6331.     break;}
  6332. case 507:
  6333. #line 2790 "parse.y"
  6334. { TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype; yyval.ttype = yyvsp[0].ttype; ;
  6335.     break;}
  6336. case 508:
  6337. #line 2795 "parse.y"
  6338. { yyval.ttype = build_enumerator (yyval.ttype, NULL_TREE); ;
  6339.     break;}
  6340. case 509:
  6341. #line 2797 "parse.y"
  6342. { yyval.ttype = build_enumerator (yyval.ttype, yyvsp[0].ttype); ;
  6343.     break;}
  6344. case 510:
  6345. #line 2803 "parse.y"
  6346. { yyval.ttype = build_decl_list (yyval.ttype, yyvsp[0].ttype); ;
  6347.     break;}
  6348. case 511:
  6349. #line 2805 "parse.y"
  6350. { yyval.ttype = build_decl_list (yyval.ttype, NULL_TREE); ;
  6351.     break;}
  6352. case 512:
  6353. #line 2809 "parse.y"
  6354. {
  6355.           if (pedantic)
  6356.             pedwarn ("ANSI C++ forbids array dimensions with parenthesized type in new");
  6357.           yyval.ttype = build_parse_node (ARRAY_REF, TREE_VALUE (yyvsp[-4].ttype), yyvsp[-1].ttype);
  6358.           yyval.ttype = build_decl_list (TREE_PURPOSE (yyvsp[-4].ttype), yyval.ttype);
  6359.         ;
  6360.     break;}
  6361. case 513:
  6362. #line 2819 "parse.y"
  6363. { yyval.ttype = NULL_TREE; ;
  6364.     break;}
  6365. case 514:
  6366. #line 2821 "parse.y"
  6367. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  6368.     break;}
  6369. case 515:
  6370. #line 2826 "parse.y"
  6371. { yyval.ttype = IDENTIFIER_AS_LIST (yyval.ttype); ;
  6372.     break;}
  6373. case 516:
  6374. #line 2828 "parse.y"
  6375. { yyval.ttype = decl_tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  6376.     break;}
  6377. case 517:
  6378. #line 2835 "parse.y"
  6379. { yyval.itype = suspend_momentary (); ;
  6380.     break;}
  6381. case 518:
  6382. #line 2840 "parse.y"
  6383. { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = yyvsp[0].ttype; ;
  6384.     break;}
  6385. case 519:
  6386. #line 2846 "parse.y"
  6387. { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
  6388.     break;}
  6389. case 520:
  6390. #line 2848 "parse.y"
  6391. { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = yyvsp[-1].ttype; ;
  6392.     break;}
  6393. case 521:
  6394. #line 2850 "parse.y"
  6395. { resume_momentary ((int) yyvsp[-1].itype); yyval.ttype = empty_parms (); ;
  6396.     break;}
  6397. case 522:
  6398. #line 2852 "parse.y"
  6399. { resume_momentary ((int) yyvsp[-3].itype); yyval.ttype = NULL_TREE; ;
  6400.     break;}
  6401. case 523:
  6402. #line 2859 "parse.y"
  6403. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6404.     break;}
  6405. case 524:
  6406. #line 2861 "parse.y"
  6407. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6408.     break;}
  6409. case 525:
  6410. #line 2863 "parse.y"
  6411. { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6412.     break;}
  6413. case 526:
  6414. #line 2865 "parse.y"
  6415. { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6416.     break;}
  6417. case 527:
  6418. #line 2867 "parse.y"
  6419. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6420.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6421.         ;
  6422.     break;}
  6423. case 529:
  6424. #line 2875 "parse.y"
  6425. {
  6426.           /* Remember that this name has been used in the class
  6427.              definition, as per [class.scope0] */
  6428.           if (current_class_type
  6429.               && TYPE_BEING_DEFINED (current_class_type)
  6430.               && ! IDENTIFIER_CLASS_VALUE (yyval.ttype))
  6431.             {
  6432.               tree t = lookup_name (yyval.ttype, -2);
  6433.               if (t)
  6434.             pushdecl_class_level (t);
  6435.             }
  6436.         ;
  6437.     break;}
  6438. case 531:
  6439. #line 2892 "parse.y"
  6440. { yyval.ttype = yyvsp[0].ttype; ;
  6441.     break;}
  6442. case 532:
  6443. #line 2897 "parse.y"
  6444. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6445.     break;}
  6446. case 533:
  6447. #line 2899 "parse.y"
  6448. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  6449.     break;}
  6450. case 534:
  6451. #line 2901 "parse.y"
  6452. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  6453.     break;}
  6454. case 535:
  6455. #line 2903 "parse.y"
  6456. { yyval.ttype = yyvsp[-1].ttype; ;
  6457.     break;}
  6458. case 536:
  6459. #line 2905 "parse.y"
  6460. { push_nested_class (TREE_TYPE (yyval.ttype), 3);
  6461.           yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype);
  6462.           TREE_COMPLEXITY (yyval.ttype) = current_class_depth; ;
  6463.     break;}
  6464. case 538:
  6465. #line 2916 "parse.y"
  6466. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6467.     break;}
  6468. case 539:
  6469. #line 2918 "parse.y"
  6470. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6471.     break;}
  6472. case 540:
  6473. #line 2920 "parse.y"
  6474. { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6475.     break;}
  6476. case 541:
  6477. #line 2922 "parse.y"
  6478. { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6479.     break;}
  6480. case 542:
  6481. #line 2924 "parse.y"
  6482. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6483.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6484.         ;
  6485.     break;}
  6486. case 544:
  6487. #line 2932 "parse.y"
  6488. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6489.     break;}
  6490. case 545:
  6491. #line 2934 "parse.y"
  6492. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6493.     break;}
  6494. case 546:
  6495. #line 2936 "parse.y"
  6496. { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6497.     break;}
  6498. case 547:
  6499. #line 2938 "parse.y"
  6500. { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6501.     break;}
  6502. case 548:
  6503. #line 2940 "parse.y"
  6504. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6505.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6506.         ;
  6507.     break;}
  6508. case 550:
  6509. #line 2948 "parse.y"
  6510. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6511.     break;}
  6512. case 551:
  6513. #line 2950 "parse.y"
  6514. { yyval.ttype = yyvsp[-1].ttype; ;
  6515.     break;}
  6516. case 552:
  6517. #line 2952 "parse.y"
  6518. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  6519.     break;}
  6520. case 553:
  6521. #line 2954 "parse.y"
  6522. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  6523.     break;}
  6524. case 554:
  6525. #line 2956 "parse.y"
  6526. { if (TREE_TYPE (OP0 (yyval.ttype)) != current_class_type)
  6527.             {
  6528.               push_nested_class (TREE_TYPE (OP0 (yyval.ttype)), 3);
  6529.               TREE_COMPLEXITY (yyval.ttype) = current_class_depth;
  6530.             }
  6531.         ;
  6532.     break;}
  6533. case 555:
  6534. #line 2966 "parse.y"
  6535. { got_scope = NULL_TREE;
  6536.           yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
  6537.     break;}
  6538. case 556:
  6539. #line 2972 "parse.y"
  6540. { got_scope = NULL_TREE;
  6541.           yyval.ttype = build_parse_node (SCOPE_REF, yyval.ttype, yyvsp[0].ttype); ;
  6542.     break;}
  6543. case 558:
  6544. #line 2979 "parse.y"
  6545. { yyval.ttype = yyvsp[0].ttype; ;
  6546.     break;}
  6547. case 559:
  6548. #line 2984 "parse.y"
  6549. { yyval.ttype = build_functional_cast (yyval.ttype, yyvsp[-1].ttype); ;
  6550.     break;}
  6551. case 560:
  6552. #line 2986 "parse.y"
  6553. { yyval.ttype = reparse_decl_as_expr (yyval.ttype, yyvsp[-1].ttype); ;
  6554.     break;}
  6555. case 561:
  6556. #line 2988 "parse.y"
  6557. { yyval.ttype = reparse_absdcl_as_expr (yyval.ttype, yyvsp[0].ttype); ;
  6558.     break;}
  6559. case 565:
  6560. #line 2999 "parse.y"
  6561. { yyval.ttype = yyvsp[0].ttype; ;
  6562.     break;}
  6563. case 566:
  6564. #line 3006 "parse.y"
  6565. { got_scope = TREE_TYPE (yyval.ttype); ;
  6566.     break;}
  6567. case 567:
  6568. #line 3008 "parse.y"
  6569. { got_scope = yyval.ttype; ;
  6570.     break;}
  6571. case 568:
  6572. #line 3010 "parse.y"
  6573. { got_scope = TREE_TYPE (yyval.ttype); ;
  6574.     break;}
  6575. case 570:
  6576. #line 3026 "parse.y"
  6577. { yyval.ttype = yyvsp[0].ttype; ;
  6578.     break;}
  6579. case 572:
  6580. #line 3032 "parse.y"
  6581. { yyval.ttype = yyvsp[0].ttype; ;
  6582.     break;}
  6583. case 573:
  6584. #line 3037 "parse.y"
  6585. { got_scope = NULL_TREE; ;
  6586.     break;}
  6587. case 574:
  6588. #line 3039 "parse.y"
  6589. { yyval.ttype = yyvsp[-1].ttype; got_scope = NULL_TREE; ;
  6590.     break;}
  6591. case 575:
  6592. #line 3046 "parse.y"
  6593. { got_scope = void_type_node; ;
  6594.     break;}
  6595. case 576:
  6596. #line 3052 "parse.y"
  6597. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6598.     break;}
  6599. case 577:
  6600. #line 3054 "parse.y"
  6601. { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
  6602.     break;}
  6603. case 578:
  6604. #line 3056 "parse.y"
  6605. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6606.     break;}
  6607. case 579:
  6608. #line 3058 "parse.y"
  6609. { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
  6610.     break;}
  6611. case 580:
  6612. #line 3060 "parse.y"
  6613. { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
  6614.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
  6615.         ;
  6616.     break;}
  6617. case 581:
  6618. #line 3064 "parse.y"
  6619. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6620.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6621.         ;
  6622.     break;}
  6623. case 583:
  6624. #line 3073 "parse.y"
  6625. { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
  6626.     break;}
  6627. case 584:
  6628. #line 3075 "parse.y"
  6629. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  6630.     break;}
  6631. case 585:
  6632. #line 3081 "parse.y"
  6633. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6634.     break;}
  6635. case 586:
  6636. #line 3083 "parse.y"
  6637. { yyval.ttype = make_pointer_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6638.     break;}
  6639. case 587:
  6640. #line 3085 "parse.y"
  6641. { yyval.ttype = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE); ;
  6642.     break;}
  6643. case 588:
  6644. #line 3087 "parse.y"
  6645. { yyval.ttype = make_pointer_declarator (NULL_TREE, NULL_TREE); ;
  6646.     break;}
  6647. case 589:
  6648. #line 3089 "parse.y"
  6649. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  6650.     break;}
  6651. case 590:
  6652. #line 3091 "parse.y"
  6653. { yyval.ttype = make_reference_declarator (NULL_TREE, yyvsp[0].ttype); ;
  6654.     break;}
  6655. case 591:
  6656. #line 3093 "parse.y"
  6657. { yyval.ttype = make_reference_declarator (yyvsp[0].ttype, NULL_TREE); ;
  6658.     break;}
  6659. case 592:
  6660. #line 3095 "parse.y"
  6661. { yyval.ttype = make_reference_declarator (NULL_TREE, NULL_TREE); ;
  6662.     break;}
  6663. case 593:
  6664. #line 3097 "parse.y"
  6665. { tree arg = make_pointer_declarator (yyvsp[0].ttype, NULL_TREE);
  6666.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-1].ttype, arg);
  6667.         ;
  6668.     break;}
  6669. case 594:
  6670. #line 3101 "parse.y"
  6671. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  6672.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  6673.         ;
  6674.     break;}
  6675. case 596:
  6676. #line 3110 "parse.y"
  6677. { yyval.ttype = yyvsp[-1].ttype; ;
  6678.     break;}
  6679. case 598:
  6680. #line 3114 "parse.y"
  6681. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  6682.     break;}
  6683. case 599:
  6684. #line 3116 "parse.y"
  6685. { yyval.ttype = build_parse_node (CALL_EXPR, yyval.ttype, empty_parms (), yyvsp[0].ttype); ;
  6686.     break;}
  6687. case 600:
  6688. #line 3118 "parse.y"
  6689. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, yyvsp[-1].ttype); ;
  6690.     break;}
  6691. case 601:
  6692. #line 3120 "parse.y"
  6693. { yyval.ttype = build_parse_node (ARRAY_REF, yyval.ttype, NULL_TREE); ;
  6694.     break;}
  6695. case 602:
  6696. #line 3122 "parse.y"
  6697. { yyval.ttype = build_parse_node (CALL_EXPR, NULL_TREE, yyvsp[-2].ttype, yyvsp[0].ttype); ;
  6698.     break;}
  6699. case 603:
  6700. #line 3124 "parse.y"
  6701. { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
  6702.     break;}
  6703. case 604:
  6704. #line 3126 "parse.y"
  6705. { TREE_OPERAND (yyval.ttype, 2) = yyvsp[0].ttype; ;
  6706.     break;}
  6707. case 605:
  6708. #line 3128 "parse.y"
  6709. { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, yyvsp[-1].ttype); ;
  6710.     break;}
  6711. case 606:
  6712. #line 3130 "parse.y"
  6713. { yyval.ttype = build_parse_node (ARRAY_REF, NULL_TREE, NULL_TREE); ;
  6714.     break;}
  6715. case 612:
  6716. #line 3152 "parse.y"
  6717. { emit_line_note (input_filename, lineno);
  6718.           pushlevel (0);
  6719.           clear_last_expr ();
  6720.           push_momentary ();
  6721.           expand_start_bindings (0); ;
  6722.     break;}
  6723. case 613:
  6724. #line 3160 "parse.y"
  6725. { expand_end_bindings (getdecls (), kept_level_p (), 1);
  6726.           yyval.ttype = poplevel (kept_level_p (), 1, 0);
  6727.           pop_momentary (); ;
  6728.     break;}
  6729. case 615:
  6730. #line 3170 "parse.y"
  6731. { if (pedantic)
  6732.             pedwarn ("ANSI C++ forbids label declarations"); ;
  6733.     break;}
  6734. case 618:
  6735. #line 3181 "parse.y"
  6736. { tree link;
  6737.           for (link = yyvsp[-1].ttype; link; link = TREE_CHAIN (link))
  6738.             {
  6739.               tree label = shadow_label (TREE_VALUE (link));
  6740.               C_DECLARED_LABEL_FLAG (label) = 1;
  6741.               declare_nonlocal_label (label);
  6742.             }
  6743.         ;
  6744.     break;}
  6745. case 619:
  6746. #line 3195 "parse.y"
  6747. {;
  6748.     break;}
  6749. case 621:
  6750. #line 3200 "parse.y"
  6751. { yyval.ttype = yyvsp[0].ttype; ;
  6752.     break;}
  6753. case 622:
  6754. #line 3205 "parse.y"
  6755. { cond_stmt_keyword = "if"; ;
  6756.     break;}
  6757. case 623:
  6758. #line 3207 "parse.y"
  6759. { emit_line_note (input_filename, lineno);
  6760.           expand_start_cond (yyvsp[0].ttype, 0); ;
  6761.     break;}
  6762. case 625:
  6763. #line 3214 "parse.y"
  6764. { finish_stmt (); ;
  6765.     break;}
  6766. case 626:
  6767. #line 3216 "parse.y"
  6768. { yyval.ttype = yyvsp[0].ttype; ;
  6769.     break;}
  6770. case 627:
  6771. #line 3221 "parse.y"
  6772. { finish_stmt (); ;
  6773.     break;}
  6774. case 629:
  6775. #line 3227 "parse.y"
  6776. { finish_stmt (); ;
  6777.     break;}
  6778. case 630:
  6779. #line 3229 "parse.y"
  6780. {
  6781.           tree expr = yyvsp[-1].ttype;
  6782.           emit_line_note (input_filename, lineno);
  6783.           /* Do default conversion if safe and possibly important,
  6784.              in case within ({...}).  */
  6785.           if ((TREE_CODE (TREE_TYPE (expr)) == ARRAY_TYPE
  6786.                && lvalue_p (expr))
  6787.               || TREE_CODE (TREE_TYPE (expr)) == FUNCTION_TYPE)
  6788.             expr = default_conversion (expr);
  6789.           cplus_expand_expr_stmt (expr);
  6790.           clear_momentary ();
  6791.           finish_stmt (); ;
  6792.     break;}
  6793. case 631:
  6794. #line 3242 "parse.y"
  6795. { expand_start_else (); ;
  6796.     break;}
  6797. case 632:
  6798. #line 3244 "parse.y"
  6799. { expand_end_cond (); ;
  6800.     break;}
  6801. case 633:
  6802. #line 3246 "parse.y"
  6803. { finish_stmt (); ;
  6804.     break;}
  6805. case 634:
  6806. #line 3248 "parse.y"
  6807. { expand_end_cond ();
  6808.           expand_end_bindings (getdecls (), kept_level_p (), 1);
  6809.           poplevel (kept_level_p (), 1, 0);
  6810.           pop_momentary ();
  6811.           finish_stmt (); ;
  6812.     break;}
  6813. case 635:
  6814. #line 3254 "parse.y"
  6815. { emit_nop ();
  6816.           emit_line_note (input_filename, lineno);
  6817.           expand_start_loop (1);
  6818.           cond_stmt_keyword = "while"; ;
  6819.     break;}
  6820. case 636:
  6821. #line 3259 "parse.y"
  6822. { expand_exit_loop_if_false (0, yyvsp[0].ttype); ;
  6823.     break;}
  6824. case 637:
  6825. #line 3261 "parse.y"
  6826. { expand_end_loop ();
  6827.           finish_stmt (); ;
  6828.     break;}
  6829. case 638:
  6830. #line 3264 "parse.y"
  6831. { emit_nop ();
  6832.           emit_line_note (input_filename, lineno);
  6833.           expand_start_loop_continue_elsewhere (1); ;
  6834.     break;}
  6835. case 639:
  6836. #line 3268 "parse.y"
  6837. { expand_loop_continue_here ();
  6838.           cond_stmt_keyword = "do"; ;
  6839.     break;}
  6840. case 640:
  6841. #line 3271 "parse.y"
  6842. { emit_line_note (input_filename, lineno);
  6843.           expand_exit_loop_if_false (0, yyvsp[-1].ttype);
  6844.           expand_end_loop ();
  6845.           clear_momentary ();
  6846.           finish_stmt (); ;
  6847.     break;}
  6848. case 641:
  6849. #line 3277 "parse.y"
  6850. { emit_line_note (input_filename, lineno);
  6851.           if (flag_new_for_scope > 0)
  6852.             {
  6853.               /* Conditionalize .pushlevel */
  6854.               pushlevel (0);
  6855.               note_level_for_for ();
  6856.               clear_last_expr ();
  6857.               push_momentary ();
  6858.               expand_start_bindings (0);
  6859.             }
  6860.         ;
  6861.     break;}
  6862. case 642:
  6863. #line 3289 "parse.y"
  6864. { emit_nop ();
  6865.           emit_line_note (input_filename, lineno);
  6866.           expand_start_loop_continue_elsewhere (1); ;
  6867.     break;}
  6868. case 643:
  6869. #line 3293 "parse.y"
  6870. { emit_line_note (input_filename, lineno);
  6871.           if (yyvsp[-1].ttype) expand_exit_loop_if_false (0, yyvsp[-1].ttype); ;
  6872.     break;}
  6873. case 644:
  6874. #line 3298 "parse.y"
  6875. { push_momentary (); ;
  6876.     break;}
  6877. case 645:
  6878. #line 3300 "parse.y"
  6879. { emit_line_note (input_filename, lineno);
  6880.           expand_loop_continue_here ();
  6881.           if (yyvsp[-4].ttype) cplus_expand_expr_stmt (yyvsp[-4].ttype);
  6882.           pop_momentary ();
  6883.           expand_end_loop ();
  6884.           if (flag_new_for_scope > 0)
  6885.             {
  6886.               expand_end_bindings (getdecls (), kept_level_p (), 1);
  6887.               poplevel (kept_level_p (), 1, 0);
  6888.               pop_momentary ();
  6889.             }
  6890.           finish_stmt (); ;
  6891.     break;}
  6892. case 646:
  6893. #line 3313 "parse.y"
  6894. { emit_line_note (input_filename, lineno);
  6895.           c_expand_start_case (yyvsp[-1].ttype);
  6896.           push_switch ();
  6897.           /* Don't let the tree nodes for $4 be discarded by
  6898.              clear_momentary during the parsing of the next stmt.  */
  6899.           push_momentary (); ;
  6900.     break;}
  6901. case 647:
  6902. #line 3320 "parse.y"
  6903. { expand_end_case (yyvsp[-3].ttype);
  6904.           pop_momentary ();
  6905.           pop_switch (); ;
  6906.     break;}
  6907. case 648:
  6908. #line 3324 "parse.y"
  6909. { finish_stmt (); ;
  6910.     break;}
  6911. case 649:
  6912. #line 3326 "parse.y"
  6913. { register tree value = check_cp_case_value (yyvsp[-1].ttype);
  6914.           register tree label
  6915.             = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
  6916.  
  6917.           if (value != error_mark_node)
  6918.             {
  6919.               tree duplicate;
  6920.               int success = pushcase (value, convert_and_check,
  6921.                           label, &duplicate);
  6922.               if (success == 1)
  6923.             cp_error ("case label `%E' not within a switch statement", yyvsp[-1].ttype);
  6924.               else if (success == 2)
  6925.             {
  6926.               cp_error ("duplicate case value `%E'", yyvsp[-1].ttype);
  6927.               cp_error_at ("previously used here", duplicate);
  6928.             }
  6929.               else if (success == 3)
  6930.             warning ("case value out of range");
  6931.               else if (success == 5)
  6932.             cp_error ("case label `%E' within scope of cleanup or variable array", yyvsp[-1].ttype);
  6933.             }
  6934.           define_case_label (label);
  6935.         ;
  6936.     break;}
  6937. case 651:
  6938. #line 3351 "parse.y"
  6939. { register tree value1 = check_cp_case_value (yyvsp[-3].ttype);
  6940.           register tree value2 = check_cp_case_value (yyvsp[-1].ttype);
  6941.           register tree label
  6942.             = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
  6943.  
  6944.           if (pedantic)
  6945.             pedwarn ("ANSI C++ forbids range expressions in switch statement");
  6946.           if (value1 != error_mark_node
  6947.               && value2 != error_mark_node)
  6948.             {
  6949.               tree duplicate;
  6950.               int success = pushcase_range (value1, value2,
  6951.                             convert_and_check, label,
  6952.                             &duplicate);
  6953.               if (success == 1)
  6954.             error ("case label not within a switch statement");
  6955.               else if (success == 2)
  6956.             {
  6957.               error ("duplicate (or overlapping) case value");
  6958.               error_with_decl (duplicate, "this is the first entry overlapping that value");
  6959.             }
  6960.               else if (success == 3)
  6961.             warning ("case value out of range");
  6962.               else if (success == 4)
  6963.             warning ("empty range specified");
  6964.               else if (success == 5)
  6965.             error ("case label within scope of cleanup or variable array");
  6966.             }
  6967.           define_case_label (label);
  6968.         ;
  6969.     break;}
  6970. case 653:
  6971. #line 3383 "parse.y"
  6972. {
  6973.           tree duplicate;
  6974.           register tree label
  6975.             = build_decl (LABEL_DECL, NULL_TREE, NULL_TREE);
  6976.           int success = pushcase (NULL_TREE, 0, label, &duplicate);
  6977.           if (success == 1)
  6978.             error ("default label not within a switch statement");
  6979.           else if (success == 2)
  6980.             {
  6981.               error ("multiple default labels in one switch");
  6982.               error_with_decl (duplicate, "this is the first default label");
  6983.             }
  6984.           define_case_label (NULL_TREE);
  6985.         ;
  6986.     break;}
  6987. case 655:
  6988. #line 3399 "parse.y"
  6989. { emit_line_note (input_filename, lineno);
  6990.           if ( ! expand_exit_something ())
  6991.             error ("break statement not within loop or switch"); ;
  6992.     break;}
  6993. case 656:
  6994. #line 3403 "parse.y"
  6995. { emit_line_note (input_filename, lineno);
  6996.           if (! expand_continue_loop (0))
  6997.             error ("continue statement not within a loop"); ;
  6998.     break;}
  6999. case 657:
  7000. #line 3407 "parse.y"
  7001. { emit_line_note (input_filename, lineno);
  7002.           c_expand_return (NULL_TREE); ;
  7003.     break;}
  7004. case 658:
  7005. #line 3410 "parse.y"
  7006. { emit_line_note (input_filename, lineno);
  7007.           c_expand_return (yyvsp[-1].ttype);
  7008.           finish_stmt ();
  7009.         ;
  7010.     break;}
  7011. case 659:
  7012. #line 3415 "parse.y"
  7013. { if (TREE_CHAIN (yyvsp[-2].ttype)) yyvsp[-2].ttype = combine_strings (yyvsp[-2].ttype);
  7014.           emit_line_note (input_filename, lineno);
  7015.           expand_asm (yyvsp[-2].ttype);
  7016.           finish_stmt ();
  7017.         ;
  7018.     break;}
  7019. case 660:
  7020. #line 3422 "parse.y"
  7021. { if (TREE_CHAIN (yyvsp[-4].ttype)) yyvsp[-4].ttype = combine_strings (yyvsp[-4].ttype);
  7022.           emit_line_note (input_filename, lineno);
  7023.           c_expand_asm_operands (yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE, NULL_TREE,
  7024.                      yyvsp[-6].ttype == ridpointers[(int)RID_VOLATILE],
  7025.                      input_filename, lineno);
  7026.           finish_stmt ();
  7027.         ;
  7028.     break;}
  7029. case 661:
  7030. #line 3431 "parse.y"
  7031. { if (TREE_CHAIN (yyvsp[-6].ttype)) yyvsp[-6].ttype = combine_strings (yyvsp[-6].ttype);
  7032.           emit_line_note (input_filename, lineno);
  7033.           c_expand_asm_operands (yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype, NULL_TREE,
  7034.                      yyvsp[-8].ttype == ridpointers[(int)RID_VOLATILE],
  7035.                      input_filename, lineno);
  7036.           finish_stmt ();
  7037.         ;
  7038.     break;}
  7039. case 662:
  7040. #line 3441 "parse.y"
  7041. { if (TREE_CHAIN (yyvsp[-8].ttype)) yyvsp[-8].ttype = combine_strings (yyvsp[-8].ttype);
  7042.           emit_line_note (input_filename, lineno);
  7043.           c_expand_asm_operands (yyvsp[-8].ttype, yyvsp[-6].ttype, yyvsp[-4].ttype, yyvsp[-2].ttype,
  7044.                      yyvsp[-10].ttype == ridpointers[(int)RID_VOLATILE],
  7045.                      input_filename, lineno);
  7046.           finish_stmt ();
  7047.         ;
  7048.     break;}
  7049. case 663:
  7050. #line 3449 "parse.y"
  7051. { emit_line_note (input_filename, lineno);
  7052.           expand_computed_goto (yyvsp[-1].ttype); ;
  7053.     break;}
  7054. case 664:
  7055. #line 3452 "parse.y"
  7056. { tree decl;
  7057.           emit_line_note (input_filename, lineno);
  7058.           decl = lookup_label (yyvsp[-1].ttype);
  7059.           TREE_USED (decl) = 1;
  7060.           expand_goto (decl); ;
  7061.     break;}
  7062. case 665:
  7063. #line 3458 "parse.y"
  7064. { finish_stmt (); ;
  7065.     break;}
  7066. case 666:
  7067. #line 3460 "parse.y"
  7068. { error ("label must be followed by statement");
  7069.           yyungetc ('}', 0);
  7070.           finish_stmt (); ;
  7071.     break;}
  7072. case 667:
  7073. #line 3464 "parse.y"
  7074. { finish_stmt (); ;
  7075.     break;}
  7076. case 669:
  7077. #line 3470 "parse.y"
  7078. {
  7079.           if (! current_function_parms_stored)
  7080.             store_parm_decls ();
  7081.           expand_start_early_try_stmts ();
  7082.         ;
  7083.     break;}
  7084. case 670:
  7085. #line 3476 "parse.y"
  7086. { expand_end_try_stmts ();
  7087.           expand_start_all_catch (); ;
  7088.     break;}
  7089. case 671:
  7090. #line 3479 "parse.y"
  7091. {
  7092.           expand_end_all_catch ();
  7093.           finish_function (lineno, (int)yyvsp[-3].itype, 0);
  7094.         ;
  7095.     break;}
  7096. case 672:
  7097. #line 3487 "parse.y"
  7098. { expand_start_try_stmts (); ;
  7099.     break;}
  7100. case 673:
  7101. #line 3489 "parse.y"
  7102. { expand_end_try_stmts ();
  7103.           expand_start_all_catch (); ;
  7104.     break;}
  7105. case 674:
  7106. #line 3492 "parse.y"
  7107. { expand_end_all_catch (); ;
  7108.     break;}
  7109. case 676:
  7110. #line 3498 "parse.y"
  7111. { dont_allow_type_definitions = "inside exception declarations"; ;
  7112.     break;}
  7113. case 677:
  7114. #line 3500 "parse.y"
  7115. { dont_allow_type_definitions = 0; ;
  7116.     break;}
  7117. case 678:
  7118. #line 3502 "parse.y"
  7119. { expand_end_catch_block (); ;
  7120.     break;}
  7121. case 682:
  7122. #line 3513 "parse.y"
  7123. { expand_start_catch_block (NULL_TREE, NULL_TREE); ;
  7124.     break;}
  7125. case 683:
  7126. #line 3525 "parse.y"
  7127. { expand_start_catch_block (TREE_PURPOSE (yyvsp[-1].ttype),
  7128.                         TREE_VALUE (yyvsp[-1].ttype)); ;
  7129.     break;}
  7130. case 684:
  7131. #line 3531 "parse.y"
  7132. { tree label;
  7133.         do_label:
  7134.           label = define_label (input_filename, lineno, yyvsp[-1].ttype);
  7135.           if (label)
  7136.             expand_label (label);
  7137.         ;
  7138.     break;}
  7139. case 685:
  7140. #line 3538 "parse.y"
  7141. { goto do_label; ;
  7142.     break;}
  7143. case 686:
  7144. #line 3540 "parse.y"
  7145. { goto do_label; ;
  7146.     break;}
  7147. case 687:
  7148. #line 3545 "parse.y"
  7149. { if (yyvsp[-1].ttype) cplus_expand_expr_stmt (yyvsp[-1].ttype); ;
  7150.     break;}
  7151. case 690:
  7152. #line 3554 "parse.y"
  7153. { emit_line_note (input_filename, lineno);
  7154.           yyval.ttype = NULL_TREE; ;
  7155.     break;}
  7156. case 691:
  7157. #line 3557 "parse.y"
  7158. { emit_line_note (input_filename, lineno); ;
  7159.     break;}
  7160. case 692:
  7161. #line 3562 "parse.y"
  7162. { yyval.ttype = NULL_TREE; ;
  7163.     break;}
  7164. case 694:
  7165. #line 3565 "parse.y"
  7166. { yyval.ttype = NULL_TREE; ;
  7167.     break;}
  7168. case 695:
  7169. #line 3571 "parse.y"
  7170. { yyval.ttype = NULL_TREE; ;
  7171.     break;}
  7172. case 698:
  7173. #line 3578 "parse.y"
  7174. { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  7175.     break;}
  7176. case 699:
  7177. #line 3583 "parse.y"
  7178. { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[-1].ttype); ;
  7179.     break;}
  7180. case 700:
  7181. #line 3588 "parse.y"
  7182. { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, NULL_TREE); ;
  7183.     break;}
  7184. case 701:
  7185. #line 3590 "parse.y"
  7186. { yyval.ttype = tree_cons (NULL_TREE, yyvsp[0].ttype, yyval.ttype); ;
  7187.     break;}
  7188. case 702:
  7189. #line 3600 "parse.y"
  7190. {
  7191.           if (strict_prototype)
  7192.             yyval.ttype = void_list_node;
  7193.           else
  7194.             yyval.ttype = NULL_TREE;
  7195.         ;
  7196.     break;}
  7197. case 704:
  7198. #line 3608 "parse.y"
  7199. { yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
  7200.           TREE_PARMLIST (yyval.ttype) = 1; ;
  7201.     break;}
  7202. case 705:
  7203. #line 3616 "parse.y"
  7204. {
  7205.           yyval.ttype = chainon (yyval.ttype, void_list_node);
  7206.           TREE_PARMLIST (yyval.ttype) = 1;
  7207.         ;
  7208.     break;}
  7209. case 706:
  7210. #line 3621 "parse.y"
  7211. {
  7212.           TREE_PARMLIST (yyval.ttype) = 1;
  7213.         ;
  7214.     break;}
  7215. case 707:
  7216. #line 3626 "parse.y"
  7217. {
  7218.           TREE_PARMLIST (yyval.ttype) = 1;
  7219.         ;
  7220.     break;}
  7221. case 708:
  7222. #line 3630 "parse.y"
  7223. {
  7224.           yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); 
  7225.           TREE_PARMLIST (yyval.ttype) = 1;
  7226.         ;
  7227.     break;}
  7228. case 709:
  7229. #line 3635 "parse.y"
  7230. {
  7231.           /* ARM $8.2.5 has this as a boxed-off comment.  */
  7232.           if (pedantic)
  7233.             warning ("use of `...' without a first argument is non-portable");
  7234.           yyval.ttype = NULL_TREE;
  7235.         ;
  7236.     break;}
  7237. case 710:
  7238. #line 3642 "parse.y"
  7239. {
  7240.           TREE_PARMLIST (yyval.ttype) = 1;
  7241.         ;
  7242.     break;}
  7243. case 711:
  7244. #line 3646 "parse.y"
  7245. {
  7246.           TREE_PARMLIST (yyval.ttype) = 1;
  7247.         ;
  7248.     break;}
  7249. case 712:
  7250. #line 3650 "parse.y"
  7251. {
  7252.           yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype);
  7253.           TREE_PARMLIST (yyval.ttype) = 1;
  7254.         ;
  7255.     break;}
  7256. case 713:
  7257. #line 3655 "parse.y"
  7258. {
  7259.           /* This helps us recover from really nasty
  7260.              parse errors, for example, a missing right
  7261.              parenthesis.  */
  7262.           yyerror ("possibly missing ')'");
  7263.           yyval.ttype = chainon (yyval.ttype, void_list_node);
  7264.           TREE_PARMLIST (yyval.ttype) = 1;
  7265.           yyungetc (':', 0);
  7266.           yychar = ')';
  7267.         ;
  7268.     break;}
  7269. case 714:
  7270. #line 3666 "parse.y"
  7271. {
  7272.           /* This helps us recover from really nasty
  7273.              parse errors, for example, a missing right
  7274.              parenthesis.  */
  7275.           yyerror ("possibly missing ')'");
  7276.           yyval.ttype = tree_cons (NULL_TREE, yyval.ttype, void_list_node);
  7277.           TREE_PARMLIST (yyval.ttype) = 1;
  7278.           yyungetc (':', 0);
  7279.           yychar = ')';
  7280.         ;
  7281.     break;}
  7282. case 715:
  7283. #line 3681 "parse.y"
  7284. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  7285.     break;}
  7286. case 716:
  7287. #line 3683 "parse.y"
  7288. { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
  7289.     break;}
  7290. case 717:
  7291. #line 3685 "parse.y"
  7292. { yyval.ttype = chainon (yyval.ttype, yyvsp[0].ttype); ;
  7293.     break;}
  7294. case 718:
  7295. #line 3687 "parse.y"
  7296. { yyval.ttype = chainon (yyval.ttype, build_tree_list (NULL_TREE, yyvsp[0].ttype)); ;
  7297.     break;}
  7298. case 719:
  7299. #line 3689 "parse.y"
  7300. { yyval.ttype = chainon (yyval.ttype, build_tree_list (yyvsp[0].ttype, yyvsp[-2].ttype)); ;
  7301.     break;}
  7302. case 721:
  7303. #line 3695 "parse.y"
  7304. { yyval.ttype = build_tree_list (NULL_TREE, yyval.ttype); ;
  7305.     break;}
  7306. case 722:
  7307. #line 3720 "parse.y"
  7308. { tree specs = strip_attrs (yyvsp[-1].ttype);
  7309.           yyval.ttype = build_tree_list (specs, yyvsp[0].ttype); ;
  7310.     break;}
  7311. case 723:
  7312. #line 3723 "parse.y"
  7313. { yyval.ttype = build_tree_list (yyval.ttype, yyvsp[0].ttype); ;
  7314.     break;}
  7315. case 724:
  7316. #line 3725 "parse.y"
  7317. { yyval.ttype = build_tree_list (get_decl_list (yyval.ttype), yyvsp[0].ttype); ;
  7318.     break;}
  7319. case 725:
  7320. #line 3727 "parse.y"
  7321. { tree specs = strip_attrs (yyvsp[-1].ttype);
  7322.           yyval.ttype = build_tree_list (specs, yyvsp[0].ttype); ;
  7323.     break;}
  7324. case 726:
  7325. #line 3730 "parse.y"
  7326. { tree specs = strip_attrs (yyvsp[0].ttype);
  7327.           yyval.ttype = build_tree_list (specs, NULL_TREE); ;
  7328.     break;}
  7329. case 727:
  7330. #line 3733 "parse.y"
  7331. { tree specs = strip_attrs (yyvsp[-1].ttype);
  7332.           yyval.ttype = build_tree_list (specs, yyvsp[0].ttype); ;
  7333.     break;}
  7334. case 728:
  7335. #line 3739 "parse.y"
  7336. { yyval.ttype = build_tree_list (yyvsp[0].ttype, yyval.ttype); ;
  7337.     break;}
  7338. case 731:
  7339. #line 3748 "parse.y"
  7340. { see_typename (); ;
  7341.     break;}
  7342. case 732:
  7343. #line 3771 "parse.y"
  7344. {
  7345.           error ("type specifier omitted for parameter");
  7346.           yyval.ttype = build_tree_list (integer_type_node, NULL_TREE);
  7347.         ;
  7348.     break;}
  7349. case 733:
  7350. #line 3776 "parse.y"
  7351. {
  7352.           error ("type specifier omitted for parameter");
  7353.           yyval.ttype = build_tree_list (integer_type_node, yyval.ttype);
  7354.         ;
  7355.     break;}
  7356. case 734:
  7357. #line 3784 "parse.y"
  7358. { yyval.ttype = NULL_TREE; ;
  7359.     break;}
  7360. case 735:
  7361. #line 3786 "parse.y"
  7362. { yyval.ttype = yyvsp[-1].ttype; ;
  7363.     break;}
  7364. case 736:
  7365. #line 3788 "parse.y"
  7366. { yyval.ttype = build_decl_list (NULL_TREE, NULL_TREE); ;
  7367.     break;}
  7368. case 737:
  7369. #line 3793 "parse.y"
  7370. { yyval.ttype = build_decl_list (NULL_TREE, groktypename(yyval.ttype)); ;
  7371.     break;}
  7372. case 739:
  7373. #line 3799 "parse.y"
  7374. {
  7375.           TREE_CHAIN (yyvsp[0].ttype) = yyval.ttype;
  7376.           yyval.ttype = yyvsp[0].ttype;
  7377.         ;
  7378.     break;}
  7379. case 740:
  7380. #line 3807 "parse.y"
  7381. { yyval.ttype = NULL_TREE; ;
  7382.     break;}
  7383. case 741:
  7384. #line 3809 "parse.y"
  7385. { yyval.ttype = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  7386.     break;}
  7387. case 742:
  7388. #line 3811 "parse.y"
  7389. { yyval.ttype = make_reference_declarator (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  7390.     break;}
  7391. case 743:
  7392. #line 3813 "parse.y"
  7393. { tree arg = make_pointer_declarator (yyvsp[-1].ttype, yyvsp[0].ttype);
  7394.           yyval.ttype = build_parse_node (SCOPE_REF, yyvsp[-2].ttype, arg);
  7395.         ;
  7396.     break;}
  7397. case 744:
  7398. #line 3819 "parse.y"
  7399. { got_scope = NULL_TREE; ;
  7400.     break;}
  7401. case 745:
  7402. #line 3824 "parse.y"
  7403. { yyval.ttype = ansi_opname[MULT_EXPR]; ;
  7404.     break;}
  7405. case 746:
  7406. #line 3826 "parse.y"
  7407. { yyval.ttype = ansi_opname[TRUNC_DIV_EXPR]; ;
  7408.     break;}
  7409. case 747:
  7410. #line 3828 "parse.y"
  7411. { yyval.ttype = ansi_opname[TRUNC_MOD_EXPR]; ;
  7412.     break;}
  7413. case 748:
  7414. #line 3830 "parse.y"
  7415. { yyval.ttype = ansi_opname[PLUS_EXPR]; ;
  7416.     break;}
  7417. case 749:
  7418. #line 3832 "parse.y"
  7419. { yyval.ttype = ansi_opname[MINUS_EXPR]; ;
  7420.     break;}
  7421. case 750:
  7422. #line 3834 "parse.y"
  7423. { yyval.ttype = ansi_opname[BIT_AND_EXPR]; ;
  7424.     break;}
  7425. case 751:
  7426. #line 3836 "parse.y"
  7427. { yyval.ttype = ansi_opname[BIT_IOR_EXPR]; ;
  7428.     break;}
  7429. case 752:
  7430. #line 3838 "parse.y"
  7431. { yyval.ttype = ansi_opname[BIT_XOR_EXPR]; ;
  7432.     break;}
  7433. case 753:
  7434. #line 3840 "parse.y"
  7435. { yyval.ttype = ansi_opname[BIT_NOT_EXPR]; ;
  7436.     break;}
  7437. case 754:
  7438. #line 3842 "parse.y"
  7439. { yyval.ttype = ansi_opname[COMPOUND_EXPR]; ;
  7440.     break;}
  7441. case 755:
  7442. #line 3844 "parse.y"
  7443. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7444.     break;}
  7445. case 756:
  7446. #line 3846 "parse.y"
  7447. { yyval.ttype = ansi_opname[LT_EXPR]; ;
  7448.     break;}
  7449. case 757:
  7450. #line 3848 "parse.y"
  7451. { yyval.ttype = ansi_opname[GT_EXPR]; ;
  7452.     break;}
  7453. case 758:
  7454. #line 3850 "parse.y"
  7455. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7456.     break;}
  7457. case 759:
  7458. #line 3852 "parse.y"
  7459. { yyval.ttype = ansi_assopname[yyvsp[0].code]; ;
  7460.     break;}
  7461. case 760:
  7462. #line 3854 "parse.y"
  7463. { yyval.ttype = ansi_opname [MODIFY_EXPR]; ;
  7464.     break;}
  7465. case 761:
  7466. #line 3856 "parse.y"
  7467. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7468.     break;}
  7469. case 762:
  7470. #line 3858 "parse.y"
  7471. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7472.     break;}
  7473. case 763:
  7474. #line 3860 "parse.y"
  7475. { yyval.ttype = ansi_opname[POSTINCREMENT_EXPR]; ;
  7476.     break;}
  7477. case 764:
  7478. #line 3862 "parse.y"
  7479. { yyval.ttype = ansi_opname[PREDECREMENT_EXPR]; ;
  7480.     break;}
  7481. case 765:
  7482. #line 3864 "parse.y"
  7483. { yyval.ttype = ansi_opname[TRUTH_ANDIF_EXPR]; ;
  7484.     break;}
  7485. case 766:
  7486. #line 3866 "parse.y"
  7487. { yyval.ttype = ansi_opname[TRUTH_ORIF_EXPR]; ;
  7488.     break;}
  7489. case 767:
  7490. #line 3868 "parse.y"
  7491. { yyval.ttype = ansi_opname[TRUTH_NOT_EXPR]; ;
  7492.     break;}
  7493. case 768:
  7494. #line 3870 "parse.y"
  7495. { yyval.ttype = ansi_opname[COND_EXPR]; ;
  7496.     break;}
  7497. case 769:
  7498. #line 3872 "parse.y"
  7499. { yyval.ttype = ansi_opname[yyvsp[0].code]; ;
  7500.     break;}
  7501. case 770:
  7502. #line 3874 "parse.y"
  7503. { yyval.ttype = ansi_opname[COMPONENT_REF]; ;
  7504.     break;}
  7505. case 771:
  7506. #line 3876 "parse.y"
  7507. { yyval.ttype = ansi_opname[MEMBER_REF]; ;
  7508.     break;}
  7509. case 772:
  7510. #line 3878 "parse.y"
  7511. { yyval.ttype = ansi_opname[CALL_EXPR]; ;
  7512.     break;}
  7513. case 773:
  7514. #line 3880 "parse.y"
  7515. { yyval.ttype = ansi_opname[ARRAY_REF]; ;
  7516.     break;}
  7517. case 774:
  7518. #line 3882 "parse.y"
  7519. { yyval.ttype = ansi_opname[NEW_EXPR]; ;
  7520.     break;}
  7521. case 775:
  7522. #line 3884 "parse.y"
  7523. { yyval.ttype = ansi_opname[DELETE_EXPR]; ;
  7524.     break;}
  7525. case 776:
  7526. #line 3886 "parse.y"
  7527. { yyval.ttype = ansi_opname[VEC_NEW_EXPR]; ;
  7528.     break;}
  7529. case 777:
  7530. #line 3888 "parse.y"
  7531. { yyval.ttype = ansi_opname[VEC_DELETE_EXPR]; ;
  7532.     break;}
  7533. case 778:
  7534. #line 3891 "parse.y"
  7535. { yyval.ttype = grokoptypename (yyvsp[-1].ttype, yyvsp[0].ttype); ;
  7536.     break;}
  7537. case 779:
  7538. #line 3893 "parse.y"
  7539. { yyval.ttype = ansi_opname[ERROR_MARK]; ;
  7540.     break;}
  7541. }
  7542.    /* the action file gets copied in in place of this dollarsign */
  7543. #line 480 "/usr/local/lib/bison.simple"
  7544.  
  7545.   yyvsp -= yylen;
  7546.   yyssp -= yylen;
  7547. #ifdef YYLSP_NEEDED
  7548.   yylsp -= yylen;
  7549. #endif
  7550.  
  7551. #if YYDEBUG != 0
  7552.   if (yydebug)
  7553.     {
  7554.       short *ssp1 = yyss - 1;
  7555.       fprintf (stderr, "state stack now");
  7556.       while (ssp1 != yyssp)
  7557.     fprintf (stderr, " %d", *++ssp1);
  7558.       fprintf (stderr, "\n");
  7559.     }
  7560. #endif
  7561.  
  7562.   *++yyvsp = yyval;
  7563.  
  7564. #ifdef YYLSP_NEEDED
  7565.   yylsp++;
  7566.   if (yylen == 0)
  7567.     {
  7568.       yylsp->first_line = yylloc.first_line;
  7569.       yylsp->first_column = yylloc.first_column;
  7570.       yylsp->last_line = (yylsp-1)->last_line;
  7571.       yylsp->last_column = (yylsp-1)->last_column;
  7572.       yylsp->text = 0;
  7573.     }
  7574.   else
  7575.     {
  7576.       yylsp->last_line = (yylsp+yylen-1)->last_line;
  7577.       yylsp->last_column = (yylsp+yylen-1)->last_column;
  7578.     }
  7579. #endif
  7580.  
  7581.   /* Now "shift" the result of the reduction.
  7582.      Determine what state that goes to,
  7583.      based on the state we popped back to
  7584.      and the rule number reduced by.  */
  7585.  
  7586.   yyn = yyr1[yyn];
  7587.  
  7588.   yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
  7589.   if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
  7590.     yystate = yytable[yystate];
  7591.   else
  7592.     yystate = yydefgoto[yyn - YYNTBASE];
  7593.  
  7594.   goto yynewstate;
  7595.  
  7596. yyerrlab:   /* here on detecting error */
  7597.  
  7598.   if (! yyerrstatus)
  7599.     /* If not already recovering from an error, report this error.  */
  7600.     {
  7601.       ++yynerrs;
  7602.  
  7603. #ifdef YYERROR_VERBOSE
  7604.       yyn = yypact[yystate];
  7605.  
  7606.       if (yyn > YYFLAG && yyn < YYLAST)
  7607.     {
  7608.       int size = 0;
  7609.       char *msg;
  7610.       int x, count;
  7611.  
  7612.       count = 0;
  7613.       /* Start X at -yyn if nec to avoid negative indexes in yycheck.  */
  7614.       for (x = (yyn < 0 ? -yyn : 0);
  7615.            x < (sizeof(yytname) / sizeof(char *)); x++)
  7616.         if (yycheck[x + yyn] == x)
  7617.           size += strlen(yytname[x]) + 15, count++;
  7618.       msg = (char *) malloc(size + 15);
  7619.       if (msg != 0)
  7620.         {
  7621.           strcpy(msg, "parse error");
  7622.  
  7623.           if (count < 5)
  7624.         {
  7625.           count = 0;
  7626.           for (x = (yyn < 0 ? -yyn : 0);
  7627.                x < (sizeof(yytname) / sizeof(char *)); x++)
  7628.             if (yycheck[x + yyn] == x)
  7629.               {
  7630.             strcat(msg, count == 0 ? ", expecting `" : " or `");
  7631.             strcat(msg, yytname[x]);
  7632.             strcat(msg, "'");
  7633.             count++;
  7634.               }
  7635.         }
  7636.           yyerror(msg);
  7637.           free(msg);
  7638.         }
  7639.       else
  7640.         yyerror ("parse error; also virtual memory exceeded");
  7641.     }
  7642.       else
  7643. #endif /* YYERROR_VERBOSE */
  7644.     yyerror("parse error");
  7645.     }
  7646.  
  7647.   goto yyerrlab1;
  7648. yyerrlab1:   /* here on error raised explicitly by an action */
  7649.  
  7650.   if (yyerrstatus == 3)
  7651.     {
  7652.       /* if just tried and failed to reuse lookahead token after an error, discard it.  */
  7653.  
  7654.       /* return failure if at end of input */
  7655.       if (yychar == YYEOF)
  7656.     YYABORT;
  7657.  
  7658. #if YYDEBUG != 0
  7659.       if (yydebug)
  7660.     fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
  7661. #endif
  7662.  
  7663.       yychar = YYEMPTY;
  7664.     }
  7665.  
  7666.   /* Else will try to reuse lookahead token
  7667.      after shifting the error token.  */
  7668.  
  7669.   yyerrstatus = 3;        /* Each real token shifted decrements this */
  7670.  
  7671.   goto yyerrhandle;
  7672.  
  7673. yyerrdefault:  /* current state does not do anything special for the error token. */
  7674.  
  7675. #if 0
  7676.   /* This is wrong; only states that explicitly want error tokens
  7677.      should shift them.  */
  7678.   yyn = yydefact[yystate];  /* If its default is to accept any token, ok.  Otherwise pop it.*/
  7679.   if (yyn) goto yydefault;
  7680. #endif
  7681.  
  7682. yyerrpop:   /* pop the current state because it cannot handle the error token */
  7683.  
  7684.   if (yyssp == yyss) YYABORT;
  7685.   yyvsp--;
  7686.   yystate = *--yyssp;
  7687. #ifdef YYLSP_NEEDED
  7688.   yylsp--;
  7689. #endif
  7690.  
  7691. #if YYDEBUG != 0
  7692.   if (yydebug)
  7693.     {
  7694.       short *ssp1 = yyss - 1;
  7695.       fprintf (stderr, "Error: state stack now");
  7696.       while (ssp1 != yyssp)
  7697.     fprintf (stderr, " %d", *++ssp1);
  7698.       fprintf (stderr, "\n");
  7699.     }
  7700. #endif
  7701.  
  7702. yyerrhandle:
  7703.  
  7704.   yyn = yypact[yystate];
  7705.   if (yyn == YYFLAG)
  7706.     goto yyerrdefault;
  7707.  
  7708.   yyn += YYTERROR;
  7709.   if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
  7710.     goto yyerrdefault;
  7711.  
  7712.   yyn = yytable[yyn];
  7713.   if (yyn < 0)
  7714.     {
  7715.       if (yyn == YYFLAG)
  7716.     goto yyerrpop;
  7717.       yyn = -yyn;
  7718.       goto yyreduce;
  7719.     }
  7720.   else if (yyn == 0)
  7721.     goto yyerrpop;
  7722.  
  7723.   if (yyn == YYFINAL)
  7724.     YYACCEPT;
  7725.  
  7726. #if YYDEBUG != 0
  7727.   if (yydebug)
  7728.     fprintf(stderr, "Shifting error token, ");
  7729. #endif
  7730.  
  7731.   *++yyvsp = yylval;
  7732. #ifdef YYLSP_NEEDED
  7733.   *++yylsp = yylloc;
  7734. #endif
  7735.  
  7736.   yystate = yyn;
  7737.   goto yynewstate;
  7738. }
  7739. #line 3896 "parse.y"
  7740.  
  7741.  
  7742. #ifdef SPEW_DEBUG
  7743. const char *
  7744. debug_yytranslate (value)
  7745.     int value;
  7746. {
  7747.   return yytname[YYTRANSLATE (value)];
  7748. }
  7749.  
  7750. #endif
  7751.