This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Distinguish C- and perly- literals - PERLY_AMPERSAND
[perl5.git] / perly.tab
1 /* -*- buffer-read-only: t -*-
2    !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
3    This file is built by regen_perly.pl from perly.y.
4    Any changes made here will be lost!
5  */
6
7 #define YYFINAL  16
8 /* YYLAST -- Last index in YYTABLE.  */
9 #define YYLAST   3374
10
11 /* YYNTOKENS -- Number of terminals.  */
12 #define YYNTOKENS  112
13 /* YYNNTS -- Number of nonterminals.  */
14 #define YYNNTS  97
15 /* YYNRULES -- Number of rules.  */
16 #define YYNRULES  295
17 /* YYNSTATES -- Number of states.  */
18 #define YYNSTATES  573
19
20 #define YYUNDEFTOK  2
21 #define YYMAXUTOK   352
22
23
24 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
25    as returned by yylex, with out-of-bounds checking.  */
26 #define YYTRANSLATE(YYX)                                                \
27   (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
28
29 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
30    as returned by yylex.  */
31 static const yytype_int8 yytranslate[] =
32 {
33        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
34        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
35        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
36        2,     2,     2,    96,     2,     2,   109,    13,     2,     2,
37      108,   107,   110,    11,    81,    10,     2,   111,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,    84,     2,
39        2,     2,     2,    83,    12,     2,     2,     2,     2,     2,
40        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
41        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
42        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
43        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
44        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
45        2,     2,     2,     2,     2,     2,    97,     2,     2,     2,
46        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
47        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
48        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
49        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
50        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
51        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
52        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
53        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
54        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
55        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
56        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
57        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
58        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
59        5,     6,     7,     8,     9,    14,    15,    16,    17,    18,
60       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
61       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
62       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
63       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
64       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
65       69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
66       79,    80,    82,    85,    86,    87,    88,    89,    90,    91,
67       92,    93,    94,    95,    98,    99,   100,   101,   102,   103,
68      104,   105,   106
69 };
70
71 #if YYDEBUG
72   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
73 static const yytype_int16 yyrline[] =
74 {
75        0,   130,   130,   129,   141,   140,   151,   150,   164,   163,
76      177,   176,   190,   189,   200,   199,   212,   220,   228,   232,
77      240,   246,   247,   257,   258,   267,   271,   275,   282,   292,
78      294,   307,   304,   328,   323,   344,   352,   351,   360,   366,
79      372,   377,   379,   381,   388,   396,   398,   395,   415,   420,
80      427,   426,   441,   449,   455,   462,   461,   476,   480,   485,
81      493,   511,   512,   516,   520,   522,   524,   526,   528,   530,
82      532,   535,   541,   542,   547,   558,   559,   565,   571,   572,
83      577,   580,   584,   589,   593,   597,   598,   602,   608,   613,
84      618,   619,   624,   625,   630,   631,   633,   638,   640,   652,
85      653,   658,   660,   664,   684,   685,   687,   693,   758,   760,
86      766,   768,   772,   778,   779,   784,   785,   789,   793,   793,
87      861,   862,   867,   878,   879,   882,   893,   895,   897,   899,
88      903,   905,   910,   914,   918,   922,   928,   933,   939,   945,
89      947,   949,   952,   951,   962,   963,   967,   971,   974,   979,
90      984,   987,   991,   995,  1001,  1009,  1016,  1022,  1024,  1026,
91     1031,  1033,  1035,  1040,  1042,  1044,  1046,  1048,  1050,  1052,
92     1054,  1056,  1058,  1060,  1064,  1066,  1068,  1070,  1074,  1076,
93     1080,  1082,  1084,  1086,  1090,  1092,  1097,  1099,  1102,  1104,
94     1106,  1109,  1112,  1123,  1126,  1133,  1135,  1137,  1139,  1141,
95     1144,  1150,  1152,  1156,  1157,  1158,  1159,  1160,  1162,  1164,
96     1166,  1168,  1170,  1172,  1174,  1176,  1178,  1180,  1182,  1184,
97     1186,  1188,  1198,  1208,  1218,  1228,  1230,  1232,  1235,  1240,
98     1244,  1246,  1248,  1250,  1253,  1255,  1258,  1260,  1262,  1264,
99     1266,  1268,  1270,  1272,  1274,  1277,  1279,  1281,  1283,  1285,
100     1287,  1291,  1294,  1293,  1306,  1307,  1308,  1312,  1314,  1316,
101     1321,  1323,  1326,  1328,  1330,  1335,  1337,  1342,  1343,  1348,
102     1349,  1355,  1359,  1360,  1361,  1364,  1365,  1368,  1369,  1372,
103     1376,  1380,  1386,  1392,  1394,  1398,  1402,  1403,  1407,  1408,
104     1412,  1413,  1418,  1420,  1422,  1425
105 };
106 #endif
107
108 #if YYDEBUG || YYERROR_VERBOSE || 0
109 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
110    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
111 static const char *const yytname[] =
112 {
113   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
114   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "GRAMSUBSIGNATURE", "'-'",
115   "'+'", "'@'", "'%'", "PERLY_AMPERSAND", "PERLY_BRACE_OPEN",
116   "PERLY_BRACE_CLOSE", "PERLY_BRACKET_OPEN", "PERLY_BRACKET_CLOSE",
117   "PERLY_DOT", "PERLY_EQUAL_SIGN", "PERLY_SEMICOLON", "BAREWORD", "METHOD",
118   "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", "QWLIST", "FUNC0OP",
119   "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL",
120   "FORMAT", "SUB", "SIGSUB", "ANONSUB", "ANON_SIGSUB", "PACKAGE", "USE",
121   "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR",
122   "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0",
123   "FUNC1", "FUNC", "UNIOP", "LSTOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
124   "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE", "COLONATTR",
125   "FORMLBRACK", "FORMRBRACK", "SUBLEXSTART", "SUBLEXEND", "PREC_LOW",
126   "OROP", "DOROP", "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'",
127   "OROR", "DORDOR", "ANDAND", "BITOROP", "BITANDOP", "CHEQOP", "NCEQOP",
128   "CHRELOP", "NCRELOP", "SHIFTOP", "MATCHOP", "'!'", "'~'", "UMINUS",
129   "REFGEN", "POWOP", "PREINC", "PREDEC", "POSTINC", "POSTDEC", "POSTJOIN",
130   "ARROW", "')'", "'('", "'$'", "'*'", "'/'", "$accept", "grammar", "@1",
131   "@2", "@3", "@4", "@5", "@6", "@7", "block", "formblock", "remember",
132   "mblock", "mremember", "stmtseq", "formstmtseq", "fullstmt",
133   "labfullstmt", "barestmt", "$@8", "$@9", "$@10", "$@11", "$@12", "@13",
134   "$@14", "formline", "formarg", "condition", "sideff", "else", "cont",
135   "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "formname",
136   "startsub", "startanonsub", "startformsub", "subname", "proto",
137   "subattrlist", "myattrlist", "sigvarname", "sigslurpsigil",
138   "sigslurpelem", "sigdefault", "sigscalarelem", "sigelem", "siglist",
139   "siglistornull", "optsubsignature", "subsignature", "subsigguts", "$@15",
140   "optsubbody", "subbody", "optsigsubbody", "sigsubbody", "expr",
141   "listexpr", "listop", "@16", "method", "subscripted", "termbinop",
142   "termrelop", "relopchain", "termeqop", "eqopchain", "termunop",
143   "anonymous", "termdo", "term", "@17", "myattrterm", "myterm",
144   "optlistexpr", "optexpr", "optrepl", "my_scalar", "my_var",
145   "refgen_topic", "my_refgen", "amper", "scalar", "ary", "hsh", "arylen",
146   "star", "sliceme", "kvslice", "gelem", "indirob", YY_NULLPTR
147 };
148 #endif
149
150 # ifdef YYPRINT
151 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
152    (internal) symbol number NUM (which must be that of a token).  */
153 static const yytype_int16 yytoknum[] =
154 {
155        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
156       45,    43,    64,    37,   265,   266,   267,   268,   269,   270,
157      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
158      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
159      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
160      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
161      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
162      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
163      331,    44,   332,    63,    58,   333,   334,   335,   336,   337,
164      338,   339,   340,   341,   342,   343,    33,   126,   344,   345,
165      346,   347,   348,   349,   350,   351,   352,    41,    40,    36,
166       42,    47
167 };
168 # endif
169
170 #define YYPACT_NINF (-487)
171
172 #define yypact_value_is_default(Yyn) \
173   ((Yyn) == YYPACT_NINF)
174
175 #define YYTABLE_NINF (-291)
176
177 #define yytable_value_is_error(Yyn) \
178   ((Yyn) == YYTABLE_NINF)
179
180   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
181      STATE-NUM.  */
182 static const yytype_int16 yypact[] =
183 {
184      733,  -487,  -487,  -487,  -487,  -487,  -487,  -487,    33,  -487,
185     3000,    35,  1584,  1482,  -487,  -487,  -487,  -487,  3000,  3000,
186       52,    52,    52,  1990,  -487,    52,    52,  -487,  -487,    66,
187      -96,  -487,  3000,  -487,  -487,  -487,  -487,  3000,   -46,   -19,
188      -33,  2091,  1889,    52,  2091,  2192,    18,  3000,    -2,  3000,
189     3000,  3000,  3000,  3000,  3000,  3000,  2293,    52,    52,   157,
190       30,  -487,    15,  -487,     3,    10,    55,    25,  -487,  -487,
191     -487,  3176,  -487,  -487,     9,    65,   109,   123,  -487,   127,
192      242,   290,   142,  -487,  -487,  -487,  -487,  -487,  -487,    18,
193       18,   145,  -487,    71,    74,    79,    84,   171,    99,   133,
194       35,   240,   220,  -487,   287,   913,  1482,  -487,  -487,  -487,
195      665,  -487,     5,   768,   337,   337,  -487,  -487,  -487,  -487,
196     -487,  -487,  -487,  -487,    81,  3000,   213,   254,  3000,   231,
197      384,    35,   300,   262,  3176,   249,  2394,  3000,  1889,  -487,
198      384,   557,    30,  -487,   477,  3000,  -487,  -487,   384,   330,
199       26,  -487,  -487,  3000,   384,  3101,  2495,   295,  -487,  -487,
200     -487,   384,    30,   337,   337,   337,   226,   226,   341,   264,
201     -487,  -487,  3000,  3000,  3000,  3000,  3000,  3000,  2596,  -487,
202     -487,  3000,  -487,  -487,  3000,  3000,  3000,  3000,  3000,  3000,
203     3000,  3000,  3000,  3000,  3000,  3000,  3000,  3000,  3000,  3000,
204     3000,  3000,  -487,  -487,  -487,   251,  2697,  3000,  3000,  3000,
205     3000,  3000,  3000,  3000,  -487,   345,  -487,  -487,   346,  -487,
206     -487,  -487,  -487,  -487,   271,    22,  -487,  -487,   267,  -487,
207     -487,  -487,  -487,    35,  -487,  -487,  3000,  3000,  3000,  3000,
208     3000,  3000,  -487,  -487,  -487,  -487,  -487,   352,   352,  -487,
209     -487,  -487,   302,  -487,  -487,  -487,  3000,  3000,    94,  -487,
210     -487,  -487,   262,   364,  -487,  -487,  -487,   323,   315,   286,
211     3000,    30,  -487,   387,  -487,  2798,   337,   295,   176,   241,
212      338,  -487,   403,   379,  -487,  3000,   389,   328,   328,  -487,
213     3176,   167,   107,  -487,   469,   384,   413,  3268,   430,   754,
214     3176,  3130,   363,   363,  1669,  1770,   523,   413,   413,   384,
215      384,   651,   337,   337,   298,   304,   305,  3000,  3000,  -487,
216      307,  2899,    24,   308,   316,  -487,  -487,   472,   239,   117,
217      285,   132,   299,   160,   303,   870,  -487,   408,  -487,  -487,
218       45,   401,  3000,  3000,  3000,  3000,  -487,   320,  -487,  -487,
219      326,  -487,  -487,  -487,  -487,  1686,    12,  -487,  3000,  3000,
220     -487,  -487,   157,  -487,   157,  -487,  -487,  -487,  -487,  -487,
221      353,   353,     5,   331,   -50,  -487,  3000,  -487,  -487,   336,
222     -487,  -487,  -487,  -487,   514,  -487,    -1,   517,  -487,  -487,
223     -487,   172,  3000,   432,  -487,  -487,  3000,  -487,  -487,  -487,
224      319,   194,  -487,  -487,   576,  -487,  -487,  3000,  -487,   448,
225     -487,   449,  -487,   457,  -487,   470,  -487,  -487,  -487,   300,
226      262,  -487,  -487,   463,   386,   157,   390,   392,   157,   393,
227      396,  -487,  -487,  -487,  -487,   394,   490,   342,  -487,  3000,
228      405,   407,  3000,  -487,  -487,  -487,  -487,  3000,   440,  -487,
229      509,  -487,  -487,   511,  -487,  -487,    21,  -487,   225,  -487,
230     3222,   512,  -487,  -487,   424,  -487,  -487,  -487,  -487,   520,
231      262,   522,  -487,  3000,  -487,  -487,   530,   530,  3000,  3000,
232      530,  -487,   445,   431,   530,   530,  3176,   157,  -487,  -487,
233      466,  -487,  -487,  -487,  -487,   501,   566,  -487,  -487,  -487,
234     -487,   568,   530,   530,  -487,   115,   115,   483,   491,   220,
235     3000,  3000,   530,  -487,  -487,   972,  -487,  1074,  -487,  -487,
236     -487,  -487,  1176,  -487,   220,   220,  -487,   530,   489,  -487,
237     -487,   530,   530,  -487,   578,   497,   220,  -487,  -487,    32,
238     -487,  -487,  -487,  1278,  -487,  3000,   220,   220,  -487,   530,
239     -487,   586,   534,  -487,  -487,   503,  -487,  -487,  -487,   220,
240     -487,  -487,  -487,   530,  1788,  -487,  1380,   115,   504,  -487,
241     -487,   530,  -487
242 };
243
244   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
245      Performed when YYTABLE does not specify something else to do.  Zero
246      means the default is an error.  */
247 static const yytype_int16 yydefact[] =
248 {
249        0,     2,     4,     6,     8,    10,    12,    14,     0,    18,
250      267,     0,     0,     0,    21,   118,     1,    21,     0,     0,
251        0,     0,     0,     0,   254,     0,     0,   225,   252,   213,
252      247,   249,   243,    88,   256,    88,    88,   235,   245,     0,
253        0,   238,   265,     0,     0,     0,     0,     0,     0,   241,
254        0,     0,     0,     0,     0,     0,     0,     0,     0,   268,
255      129,   255,   220,   203,   165,   174,   166,   180,   204,   205,
256      206,   132,   210,     5,   226,   215,   218,   217,   219,   216,
257        0,     0,     0,    18,     7,    64,    59,    29,    89,     0,
258        0,     0,    87,     0,     0,     0,     0,     0,     0,     0,
259        0,     0,    75,     9,     0,    65,     0,    11,    26,    25,
260        0,    15,   113,     0,   186,   187,   292,   295,   294,   293,
261      281,   282,   279,   196,     0,   265,     0,     0,     0,     0,
262      244,     0,    92,    94,   236,     0,     0,   267,   267,   239,
263      240,   292,   266,   139,   293,     0,   283,   202,   201,     0,
264        0,    90,    91,   265,   211,     0,     0,   258,   262,   264,
265      263,   242,   237,   188,   189,   208,   193,   194,   214,     0,
266      280,   285,     0,     0,     0,   130,     0,     0,     0,   177,
267      176,     0,   183,   182,     0,     0,     0,     0,     0,     0,
268        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
269        0,     0,   190,   191,   192,     0,     0,     0,     0,     0,
270        0,     0,     0,     0,    21,    86,    87,    87,     0,    36,
271       18,    18,    18,    18,    18,     0,    18,    18,     0,    18,
272       18,    42,    58,     0,    54,    57,     0,     0,     0,     0,
273        0,     0,    28,    27,    22,   101,   102,    99,    99,   109,
274      108,   112,   114,   119,   195,   137,   267,     0,     0,   248,
275      142,    93,    94,    96,    18,   246,   250,     0,     0,     0,
276        0,   133,   198,     0,   229,     0,   209,     0,   215,   218,
277      217,   261,     0,    98,   257,     0,   212,   127,   128,   126,
278      131,     0,     0,   156,     0,   179,   185,   169,   162,   163,
279      160,     0,   171,   172,   170,   168,   167,   184,   181,   178,
280      175,   164,   173,   161,   287,   289,     0,     0,     0,   144,
281        0,     0,     0,   291,   136,   145,   227,     0,     0,     0,
282        0,     0,     0,     0,     0,     0,    85,     0,    31,    33,
283        0,     0,    80,     0,     0,     0,   277,     0,   278,   275,
284        0,   276,   272,   273,   274,     0,     0,    18,     0,     0,
285       76,    68,    63,    69,    82,    66,    67,    70,    71,   100,
286      104,   104,   110,     0,   269,   158,   265,    18,    95,   115,
287      200,   251,   141,   140,     0,   197,   214,     0,   259,   260,
288       97,     0,     0,     0,   149,   155,     0,   231,   232,   233,
289        0,     0,   284,   153,     0,   230,   234,   267,   228,     0,
290      147,     0,   221,     0,   222,     0,    16,    18,    30,    92,
291       94,    18,    35,     0,     0,    81,     0,     0,    83,     0,
292        0,   271,    18,    79,    84,     0,     0,    65,    50,     0,
293        0,     0,   105,   107,   103,   111,   138,     0,     0,   143,
294        0,   199,   118,     0,   116,   134,   212,   159,     0,   152,
295      207,     0,   148,   154,     0,   150,   223,   224,   146,     0,
296       94,    18,    55,   265,    77,    77,     0,     0,     0,     0,
297        0,    45,     0,     0,     0,     0,   106,   270,   253,    21,
298        0,    21,   157,   151,   135,     0,    18,   124,    34,   123,
299       21,     0,     0,     0,    20,    72,    72,     0,     0,    75,
300       80,     0,     0,    40,    41,     0,   117,     0,    23,   121,
301       32,   120,     0,    37,    75,    75,    21,     0,     0,    38,
302       39,     0,     0,    53,     0,     0,    75,   122,   125,     0,
303       56,    43,    44,     0,    73,     0,    75,    75,    46,     0,
304       49,     0,    61,    24,    19,     0,    48,    52,    77,    75,
305       17,    21,    60,     0,     0,    51,     0,    72,     0,    62,
306       74,     0,    47
307 };
308
309   /* YYPGOTO[NTERM-NUM].  */
310 static const yytype_int16 yypgoto[] =
311 {
312     -487,  -487,  -487,  -487,  -487,  -487,  -487,  -487,  -487,    43,
313     -487,    -5,  -158,  -487,   -17,  -487,   595,   516,    16,  -487,
314     -487,  -487,  -487,  -487,  -487,  -487,  -487,  -487,   221,  -341,
315     -486,  -114,  -468,  -487,   120,   282,  -303,    67,  -487,    -3,
316      218,  -487,   193,   214,  -243,   360,   410,  -487,  -487,   288,
317     -487,   284,  -487,  -487,  -487,  -487,   215,  -487,  -487,   173,
318     -487,   199,    -8,   -37,  -487,  -487,  -487,  -487,  -487,  -487,
319     -487,  -487,  -487,  -487,  -487,  -487,   100,  -487,  -487,   518,
320     -124,  -129,  -487,  -487,   318,  -487,  -487,   446,     1,   -45,
321      -42,  -487,  -487,  -487,  -487,  -487,    51
322 };
323
324   /* YYDEFGOTO[NTERM-NUM].  */
325 static const yytype_int16 yydefgoto[] =
326 {
327       -1,     8,     9,    10,    11,    12,    13,    14,    15,   102,
328      418,   379,   505,   526,   110,   539,   244,   108,   109,   419,
329      420,   341,   510,   558,   482,   500,   553,   562,   361,   104,
330      529,   234,   502,   434,   424,   363,   427,   436,   337,   219,
331      131,   215,   153,   262,   264,   284,   370,   248,   249,   443,
332      250,   251,   252,   253,   453,   454,   111,   112,   520,   451,
333      498,   380,   105,    60,    61,   376,   324,    62,    63,    64,
334       65,    66,    67,    68,    69,    70,    71,   127,    72,   157,
335      143,    73,   448,   430,   349,   350,   227,    74,    75,    76,
336       77,    78,    79,    80,    81,    82,   170
337 };
338
339   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
340      positive, shift that token.  If negative, reduce the rule whose
341      number is the opposite.  If YYTABLE_NINF, syntax error.  */
342 static const yytype_int16 yytable[] =
343 {
344      113,   255,    59,   159,    17,   142,   160,   503,   268,   269,
345       20,    21,   129,   162,   433,   124,   285,   245,   246,   377,
346      530,   119,   119,   119,    20,    21,   119,   119,   103,   274,
347      176,   175,   177,    16,    20,    21,    22,   150,   392,    83,
348      151,   137,   429,   144,   119,   152,   116,   273,   169,   158,
349       83,   117,   435,   551,    84,   440,   441,   552,   119,   119,
350      421,   447,   135,   118,   118,   118,   422,    83,   118,   118,
351     -261,   120,   121,   122,   116,   138,   125,   126,   214,   117,
352      207,   570,   208,   128,   139,   118,   118,   147,   142,   136,
353      564,   348,  -260,   145,   146,   179,   180,   155,   228,   254,
354      118,   118,   181,   172,   173,   174,   156,    57,   271,   171,
355      279,   175,   375,   280,   247,   184,   142,   206,   114,   115,
356      258,    57,   243,   178,  -286,   394,  -286,   373,   267,    59,
357       59,    57,   130,    57,   405,   410,   483,   134,  -288,   144,
358     -288,   140,  -290,   231,   148,   182,   183,   154,   282,   161,
359      412,   163,   164,   165,   166,   167,   278,   213,   172,   173,
360      174,    57,   527,   528,   287,   288,   289,   218,   291,   292,
361      294,   172,   173,   174,   260,   507,   508,   471,   414,   220,
362      353,   118,   221,   354,   172,   173,   174,   222,   393,   270,
363      457,   207,   223,   208,   172,   173,   174,   335,   327,   328,
364      329,   330,   331,   332,   333,   334,   325,   229,   535,   172,
365      173,   174,   462,   338,   339,   342,   343,   344,   345,   347,
366      374,   355,   356,   433,   358,   359,   352,   496,   362,   364,
367      362,   362,   362,   362,   172,   173,   174,   172,   173,   174,
368      224,   230,   555,   492,   172,   173,   174,  -262,    59,   172,
369      173,   174,   449,   132,   133,   276,  -286,   209,  -286,   210,
370      409,   232,   384,   314,   315,   316,   317,   387,   318,   233,
371      225,   172,   173,   174,   319,   290,   360,   391,   464,   226,
372       57,   295,   216,   217,   296,   297,   298,   299,   300,   301,
373      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
374      312,   313,   172,   173,   174,   211,   411,   212,   235,   400,
375      401,   353,  -264,   404,   354,   320,   172,   173,   174,   506,
376      413,   256,   509,   119,   415,   261,   513,   514,   257,  -291,
377     -291,  -291,   205,   263,   425,   364,   428,   428,   259,   142,
378      461,   172,   173,   174,   524,   525,   272,   437,   431,   501,
379      428,   428,   439,  -288,   536,  -288,   265,   352,   285,   321,
380      322,   323,   172,   173,   174,   118,   283,   336,   340,   544,
381      346,   286,   450,   546,   547,   357,   172,   173,   174,   369,
382      172,   173,   174,   372,   458,   236,   237,   238,   239,   378,
383      382,   559,   240,   383,   241,   533,   172,   173,   174,    59,
384      172,   173,   174,   385,   390,   567,   392,   174,   397,  -263,
385      541,   542,   469,   572,   398,   399,   472,   402,   406,   172,
386      173,   174,   550,   423,   407,   186,   187,   479,   417,    57,
387      381,   428,   556,   557,   432,   442,   142,   201,   446,   487,
388      202,   203,   204,   205,   452,   565,   186,   187,   459,   -83,
389      192,   193,   194,   195,   196,   197,   198,   199,   200,   365,
390      366,   367,   368,   201,   465,   466,   202,   203,   204,   205,
391      428,   428,   515,   467,   517,   186,   187,  -215,   199,   200,
392      172,   173,   174,   522,   201,   473,   468,   202,   203,   204,
393      205,   450,   207,   474,   208,  -215,   460,   475,  -215,   476,
394      477,   480,   425,   428,   478,   197,   198,   199,   200,   543,
395      389,   481,   484,   201,   485,   488,   202,   203,   204,   205,
396     -215,  -215,  -215,  -215,   489,   200,   491,  -215,   493,  -215,
397      201,   494,  -215,   202,   203,   204,   205,   428,   512,  -215,
398     -215,   495,   486,   497,   566,   504,   172,   173,   174,   172,
399      173,   174,  -215,   511,  -215,  -215,  -215,  -254,  -215,  -215,
400     -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,  -215,
401     -215,  -215,  -215,   516,   518,  -254,   395,  -215,  -254,   408,
402     -215,  -215,  -215,  -215,  -215,   186,   187,   519,  -215,   523,
403      531,   172,   173,   174,   172,   173,   174,   545,   532,   548,
404     -254,  -254,  -254,  -254,   549,   560,   561,  -254,   107,  -254,
405      563,   571,  -254,   195,   196,   197,   198,   199,   200,  -254,
406     -254,   455,   242,   201,   456,   426,   202,   203,   204,   205,
407      534,   568,  -254,   470,  -254,  -254,  -254,   388,  -254,  -254,
408     -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,  -254,
409     -254,  -254,  -254,   172,   173,   174,   445,  -254,   371,   444,
410     -254,  -254,  -254,  -254,  -254,   -13,    85,   490,  -254,   521,
411      499,   351,     0,   277,   438,    18,    19,    20,    21,    22,
412       83,     0,    23,   463,     0,     0,    86,    24,    25,    26,
413       27,    28,     0,    29,    30,    31,    32,    33,    34,    87,
414      106,    88,    89,    90,    35,    36,    91,    92,    93,    94,
415       95,    96,     0,   186,   187,    97,    98,    99,   100,    37,
416        0,   101,    38,    39,    40,    41,    42,     0,     0,    43,
417       44,    45,    46,    47,    48,    49,     1,     2,     3,     4,
418        5,     6,     7,     0,     0,    50,   200,     0,     0,     0,
419        0,   201,     0,     0,   202,   203,   204,   205,     0,     0,
420        0,    51,    52,     0,    53,     0,    54,    55,    -3,    85,
421        0,     0,     0,    56,    57,    58,     0,     0,    18,    19,
422       20,    21,    22,    83,     0,    23,     0,     0,     0,    86,
423       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
424       33,    34,    87,   106,    88,    89,    90,    35,    36,    91,
425       92,    93,    94,    95,    96,     0,   186,     0,    97,    98,
426       99,   100,    37,     0,   101,    38,    39,    40,    41,    42,
427        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
428        0,     0,     0,     0,     0,     0,     0,     0,    50,   200,
429        0,     0,     0,     0,   201,     0,     0,   202,   203,   204,
430      205,     0,     0,     0,    51,    52,     0,    53,     0,    54,
431       55,    85,     0,     0,     0,     0,    56,    57,    58,     0,
432       18,    19,    20,    21,    22,    83,   416,    23,     0,     0,
433        0,    86,    24,    25,    26,    27,    28,     0,    29,    30,
434       31,    32,    33,    34,    87,   106,    88,    89,    90,    35,
435       36,    91,    92,    93,    94,    95,    96,     0,     0,     0,
436       97,    98,    99,   100,    37,     0,   101,    38,    39,    40,
437       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
438       49,     0,     0,     0,     0,     0,     0,     0,     0,     0,
439       50,     0,     0,     0,     0,     0,   236,   237,   238,   239,
440        0,     0,     0,   240,     0,   241,    51,    52,     0,    53,
441        0,    54,    55,    85,     0,     0,     0,     0,    56,    57,
442       58,     0,    18,    19,    20,    21,    22,    83,   537,    23,
443      172,   173,   174,    86,    24,    25,    26,    27,    28,     0,
444       29,    30,    31,    32,    33,    34,    87,   106,    88,    89,
445       90,    35,    36,    91,    92,    93,    94,    95,    96,     0,
446        0,     0,    97,    98,    99,   100,    37,     0,   101,    38,
447       39,    40,    41,    42,     0,     0,    43,    44,    45,    46,
448       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
449        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
450        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
451        0,    53,     0,    54,    55,    85,     0,     0,     0,     0,
452       56,    57,    58,     0,    18,    19,    20,    21,    22,    83,
453      538,    23,     0,     0,     0,    86,    24,    25,    26,    27,
454       28,     0,    29,    30,    31,    32,    33,    34,    87,   106,
455       88,    89,    90,    35,    36,    91,    92,    93,    94,    95,
456       96,     0,     0,     0,    97,    98,    99,   100,    37,     0,
457      101,    38,    39,    40,    41,    42,     0,     0,    43,    44,
458       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
459        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
460        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
461       51,    52,     0,    53,     0,    54,    55,    85,     0,     0,
462        0,     0,    56,    57,    58,     0,    18,    19,    20,    21,
463       22,    83,   540,    23,     0,     0,     0,    86,    24,    25,
464       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
465       87,   106,    88,    89,    90,    35,    36,    91,    92,    93,
466       94,    95,    96,     0,     0,     0,    97,    98,    99,   100,
467       37,     0,   101,    38,    39,    40,    41,    42,     0,     0,
468       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
469        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
470        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
471        0,     0,    51,    52,     0,    53,     0,    54,    55,    85,
472        0,     0,     0,     0,    56,    57,    58,     0,    18,    19,
473       20,    21,    22,    83,   554,    23,     0,     0,     0,    86,
474       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
475       33,    34,    87,   106,    88,    89,    90,    35,    36,    91,
476       92,    93,    94,    95,    96,     0,     0,     0,    97,    98,
477       99,   100,    37,     0,   101,    38,    39,    40,    41,    42,
478        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
479        0,     0,     0,     0,     0,     0,     0,     0,    50,     0,
480        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
481        0,     0,     0,     0,    51,    52,     0,    53,     0,    54,
482       55,    85,     0,     0,     0,     0,    56,    57,    58,     0,
483       18,    19,    20,    21,    22,    83,     0,    23,     0,     0,
484        0,    86,    24,    25,    26,    27,    28,     0,    29,    30,
485       31,    32,    33,    34,    87,   106,    88,    89,    90,    35,
486       36,    91,    92,    93,    94,    95,    96,     0,     0,     0,
487       97,    98,    99,   100,    37,     0,   101,    38,    39,    40,
488       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
489       49,     0,     0,   569,     0,     0,     0,     0,     0,     0,
490       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
491        0,     0,     0,     0,     0,     0,    51,    52,     0,    53,
492        0,    54,    55,    85,     0,     0,     0,     0,    56,    57,
493       58,     0,    18,    19,    20,    21,    22,    83,     0,    23,
494        0,     0,     0,    86,    24,    25,    26,    27,    28,     0,
495       29,    30,    31,    32,    33,    34,    87,   106,    88,    89,
496       90,    35,    36,    91,    92,    93,    94,    95,    96,     0,
497        0,     0,    97,    98,    99,   100,    37,     0,   101,    38,
498       39,    40,    41,    42,     0,     0,    43,    44,    45,    46,
499       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
500        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
501        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
502        0,    53,     0,    54,    55,    85,     0,     0,     0,     0,
503       56,    57,    58,     0,    18,    19,    20,    21,    22,    83,
504        0,    23,     0,     0,     0,    86,    24,    25,    26,    27,
505       28,     0,    29,    30,    31,    32,    33,    34,    87,     0,
506       88,    89,    90,    35,    36,    91,    92,    93,    94,    95,
507       96,     0,     0,     0,    97,    98,    99,   100,    37,     0,
508      101,    38,    39,    40,    41,    42,     0,     0,    43,    44,
509       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
510        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
511        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
512       51,    52,     0,    53,     0,    54,    55,    85,     0,     0,
513        0,     0,    56,    57,    58,     0,    18,    19,    20,    21,
514       22,     0,     0,    23,     0,     0,     0,   -78,    24,    25,
515       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
516        0,     0,     0,     0,     0,    35,    36,     0,     0,     0,
517        0,   186,   187,     0,     0,     0,     0,     0,     0,     0,
518       37,     0,     0,    38,    39,    40,    41,    42,     0,     0,
519       43,    44,    45,    46,    47,    48,    49,   193,   194,   195,
520      196,   197,   198,   199,   200,     0,    50,     0,     0,   201,
521        0,     0,   202,   203,   204,   205,     0,     0,     0,     0,
522        0,     0,    51,    52,     0,    53,     0,    54,    55,    85,
523        0,     0,     0,     0,    56,    57,    58,     0,    18,    19,
524       20,    21,    22,     0,     0,    23,     0,     0,     0,     0,
525       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
526       33,    34,     0,     0,     0,     0,     0,    35,    36,     0,
527        0,     0,   186,   187,     0,     0,     0,     0,     0,     0,
528        0,     0,    37,     0,     0,    38,    39,    40,    41,    42,
529        0,     0,    43,    44,    45,    46,    47,    48,    49,   194,
530      195,   196,   197,   198,   199,   200,     0,     0,    50,     0,
531      201,     0,     0,   202,   203,   204,   205,     0,     0,     0,
532        0,     0,     0,     0,    51,    52,     0,    53,     0,    54,
533       55,     0,     0,     0,     0,   -78,    56,    57,    58,    18,
534       19,    20,    21,    22,    83,     0,    23,     0,     0,     0,
535        0,   141,    25,    26,    27,    28,   117,    29,    30,    31,
536       32,    33,    34,     0,     0,     0,     0,     0,    35,    36,
537        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
538        0,     0,     0,    37,     0,     0,    38,    39,    40,    41,
539       42,     0,     0,    43,    44,    45,    46,    47,    48,    49,
540        0,     0,     0,     0,     0,     0,     0,     0,     0,    50,
541        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
542        0,     0,     0,     0,     0,    51,    52,     0,    53,     0,
543       54,    55,     0,     0,     0,     0,     0,    56,    57,    58,
544       18,    19,    20,    21,    22,     0,     0,    23,   123,     0,
545        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
546       31,    32,    33,    34,     0,     0,     0,     0,     0,    35,
547       36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
548        0,     0,     0,     0,    37,     0,     0,    38,    39,    40,
549       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
550       49,     0,     0,     0,     0,     0,     0,     0,     0,     0,
551       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
552        0,     0,     0,     0,     0,     0,    51,    52,     0,    53,
553        0,    54,    55,     0,     0,     0,     0,     0,    56,    57,
554       58,    18,    19,    20,    21,    22,    83,     0,    23,     0,
555        0,     0,     0,    24,    25,    26,    27,    28,     0,    29,
556       30,    31,    32,    33,    34,     0,     0,     0,     0,     0,
557       35,    36,     0,     0,     0,     0,     0,     0,     0,     0,
558        0,     0,     0,     0,     0,    37,     0,     0,    38,    39,
559       40,    41,    42,     0,     0,    43,    44,    45,    46,    47,
560       48,    49,     0,     0,     0,     0,     0,     0,     0,     0,
561        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
562        0,     0,     0,     0,     0,     0,     0,    51,    52,     0,
563       53,     0,    54,    55,     0,     0,     0,     0,     0,    56,
564       57,    58,    18,    19,    20,    21,    22,     0,     0,    23,
565        0,     0,     0,   149,    24,    25,    26,    27,    28,     0,
566       29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
567        0,    35,    36,     0,     0,     0,     0,     0,     0,     0,
568        0,     0,     0,     0,     0,     0,    37,     0,     0,    38,
569       39,    40,    41,    42,     0,     0,    43,    44,    45,    46,
570       47,    48,    49,     0,     0,     0,     0,     0,     0,     0,
571        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
572        0,     0,     0,     0,     0,     0,     0,     0,    51,    52,
573        0,    53,     0,    54,    55,     0,     0,     0,     0,     0,
574       56,    57,    58,    18,    19,    20,    21,    22,     0,     0,
575       23,     0,     0,     0,     0,    24,    25,    26,    27,    28,
576        0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
577        0,     0,    35,    36,     0,     0,     0,     0,     0,     0,
578        0,     0,     0,     0,     0,     0,     0,    37,     0,     0,
579       38,    39,    40,    41,    42,     0,     0,    43,    44,    45,
580       46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
581        0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
582        0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
583       52,     0,    53,     0,    54,    55,     0,     0,     0,     0,
584      168,    56,    57,    58,    18,    19,    20,    21,    22,     0,
585        0,    23,     0,     0,     0,     0,    24,    25,    26,    27,
586       28,     0,    29,    30,    31,    32,    33,    34,     0,     0,
587        0,     0,     0,    35,    36,     0,     0,     0,     0,     0,
588        0,     0,     0,     0,     0,     0,     0,     0,    37,     0,
589        0,    38,    39,    40,    41,    42,     0,     0,    43,    44,
590       45,    46,    47,    48,    49,     0,     0,     0,     0,     0,
591        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
592        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
593       51,    52,     0,    53,     0,    54,    55,     0,     0,     0,
594        0,   266,    56,    57,    58,    18,    19,    20,    21,    22,
595        0,     0,    23,     0,     0,     0,     0,    24,    25,    26,
596       27,    28,     0,    29,    30,    31,    32,    33,    34,     0,
597        0,     0,     0,     0,    35,    36,     0,     0,     0,     0,
598        0,     0,     0,     0,     0,     0,     0,     0,     0,    37,
599        0,     0,    38,    39,    40,    41,    42,     0,     0,    43,
600       44,    45,    46,    47,    48,    49,     0,     0,     0,     0,
601        0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
602        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
603        0,    51,    52,     0,    53,     0,    54,    55,     0,     0,
604        0,     0,   281,    56,    57,    58,    18,    19,    20,    21,
605       22,     0,     0,    23,     0,     0,     0,     0,    24,    25,
606       26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
607        0,     0,     0,     0,     0,    35,    36,     0,     0,     0,
608        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
609       37,     0,     0,    38,    39,    40,    41,    42,     0,     0,
610       43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
611        0,     0,     0,     0,     0,     0,    50,     0,     0,     0,
612        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
613        0,     0,    51,    52,     0,    53,     0,    54,    55,     0,
614        0,     0,     0,   293,    56,    57,    58,    18,    19,    20,
615       21,    22,     0,     0,    23,     0,     0,     0,     0,    24,
616       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
617       34,     0,     0,     0,     0,     0,    35,    36,     0,     0,
618        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
619        0,    37,     0,     0,    38,    39,    40,    41,    42,     0,
620        0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
621        0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
622        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
623        0,     0,     0,    51,    52,     0,    53,     0,    54,    55,
624        0,     0,     0,     0,   326,    56,    57,    58,    18,    19,
625       20,    21,    22,     0,     0,    23,     0,     0,     0,     0,
626       24,    25,    26,    27,    28,     0,    29,    30,    31,    32,
627       33,    34,     0,     0,     0,     0,     0,    35,    36,     0,
628        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
629        0,     0,    37,     0,     0,    38,    39,    40,    41,    42,
630        0,     0,    43,    44,    45,    46,    47,    48,    49,     0,
631        0,     0,     0,     0,     0,     0,     0,     0,    50,     0,
632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
633        0,     0,     0,     0,    51,    52,     0,    53,     0,    54,
634       55,     0,     0,     0,     0,   386,    56,    57,    58,    18,
635       19,    20,    21,    22,     0,     0,    23,     0,     0,     0,
636        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
637       32,    33,    34,     0,     0,     0,     0,     0,    35,    36,
638        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
639        0,     0,     0,    37,     0,     0,    38,    39,    40,    41,
640       42,     0,     0,    43,    44,    45,    46,    47,    48,    49,
641        0,     0,     0,     0,     0,     0,     0,     0,     0,    50,
642        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
643        0,     0,     0,     0,     0,    51,    52,     0,    53,     0,
644       54,    55,     0,     0,     0,     0,   403,    56,    57,    58,
645       18,    19,    20,    21,    22,     0,     0,    23,     0,     0,
646        0,     0,    24,    25,    26,    27,    28,     0,    29,    30,
647       31,    32,    33,    34,     0,     0,     0,     0,     0,    35,
648       36,     0,     0,     0,     0,     0,     0,     0,     0,     0,
649        0,     0,     0,     0,    37,     0,     0,    38,    39,    40,
650       41,    42,     0,     0,    43,    44,    45,    46,    47,    48,
651       49,     0,     0,     0,     0,     0,     0,     0,     0,     0,
652       50,     0,     0,     0,     0,     0,     0,     0,     0,     0,
653        0,     0,     0,     0,     0,     0,    51,    52,     0,    53,
654        0,    54,    55,     0,     0,     0,     0,     0,    56,    57,
655       58,    18,    19,    20,    21,    22,     0,     0,    23,     0,
656        0,     0,     0,    24,    25,    26,    27,    28,     0,    29,
657       30,    31,    32,    33,    34,     0,     0,     0,     0,     0,
658       35,    36,     0,     0,     0,     0,     0,     0,     0,     0,
659        0,     0,     0,     0,     0,    37,     0,     0,    38,    39,
660       40,    41,    42,     0,     0,    43,    44,    45,    46,    47,
661       48,    49,     0,     0,     0,     0,     0,     0,     0,     0,
662        0,    50,     0,     0,     0,   185,     0,     0,     0,     0,
663        0,     0,   186,   187,     0,     0,     0,    51,    52,     0,
664       53,     0,    54,    55,     0,     0,     0,     0,     0,   275,
665       57,    58,   188,   189,   396,   190,   191,   192,   193,   194,
666      195,   196,   197,   198,   199,   200,     0,     0,     0,     0,
667      201,   185,     0,   202,   203,   204,   205,     0,   186,   187,
668        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
669        0,     0,     0,     0,     0,     0,     0,     0,   188,   189,
670        0,   190,   191,   192,   193,   194,   195,   196,   197,   198,
671      199,   200,     0,     0,     0,     0,   201,   185,     0,   202,
672      203,   204,   205,     0,   186,   187,     0,     0,     0,     0,
673        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
674        0,     0,     0,     0,     0,   189,     0,   190,   191,   192,
675      193,   194,   195,   196,   197,   198,   199,   200,     0,     0,
676        0,     0,   201,  -291,     0,   202,   203,   204,   205,     0,
677      186,   187,     0,     0,     0,     0,     0,     0,     0,     0,
678        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
679        0,     0,     0,   190,   191,   192,   193,   194,   195,   196,
680      197,   198,   199,   200,     0,     0,     0,     0,   201,     0,
681        0,   202,   203,   204,   205
682 };
683
684 static const yytype_int16 yycheck[] =
685 {
686       17,   125,    10,    48,     9,    42,    48,   475,   137,   138,
687       12,    13,   108,    50,   355,    23,    17,    12,    13,   262,
688      506,    20,    21,    22,    12,    13,    25,    26,    12,   153,
689       15,    81,    17,     0,    12,    13,    14,    45,    17,    15,
690       22,    74,   345,    42,    43,    27,    22,    21,    56,    48,
691       15,    27,   355,    21,    11,   358,   359,    25,    57,    58,
692       15,   111,   108,    20,    21,    22,    21,    15,    25,    26,
693       71,    20,    21,    22,    22,   108,    25,    26,    83,    27,
694       15,   567,    17,    17,    41,    42,    43,    44,   125,   108,
695      558,    69,    71,    42,    43,    92,    93,    99,    97,    18,
696       57,    58,    92,    77,    78,    79,   108,   109,   145,    58,
697      155,    81,    18,   155,   109,    90,   153,   108,    18,    19,
698      128,   109,   106,   108,    15,    18,    17,   256,   136,   137,
699      138,   109,    32,   109,   110,    18,   439,    37,    15,   138,
700       17,    41,    15,   100,    44,    90,    91,    47,   156,    49,
701       18,    51,    52,    53,    54,    55,   155,    15,    77,    78,
702       79,   109,    47,    48,   172,   173,   174,    22,   176,   177,
703      178,    77,    78,    79,   131,   478,   479,   420,    18,   108,
704      225,   138,   108,   225,    77,    78,    79,   108,    21,   138,
705       18,    15,   108,    17,    77,    78,    79,   214,   206,   207,
706      208,   209,   210,   211,   212,   213,   205,   108,   511,    77,
707       78,    79,    18,   216,   217,   220,   221,   222,   223,   224,
708      257,   226,   227,   564,   229,   230,   225,   470,   236,   237,
709      238,   239,   240,   241,    77,    78,    79,    77,    78,    79,
710       69,   108,   545,    18,    77,    78,    79,    71,   256,    77,
711       78,    79,   376,    35,    36,   155,    15,    15,    17,    17,
712       21,    21,   270,    12,    13,    14,    15,   275,    17,    49,
713       99,    77,    78,    79,    23,   175,   233,   285,   407,   108,
714      109,   181,    89,    90,   184,   185,   186,   187,   188,   189,
715      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
716      200,   201,    77,    78,    79,    15,    21,    17,    21,   317,
717      318,   356,    71,   321,   356,    64,    77,    78,    79,   477,
718       21,   108,   480,   322,    21,    25,   484,   485,    74,   103,
719      104,   105,   106,    71,   342,   343,   344,   345,   107,   376,
720       21,    77,    78,    79,   502,   503,    16,   355,   347,   473,
721      358,   359,   357,    15,   512,    17,   107,   356,    17,   108,
722      109,   110,    77,    78,    79,   322,    71,    22,    22,   527,
723       99,   107,   377,   531,   532,   108,    77,    78,    79,    27,
724       77,    78,    79,    81,   392,    43,    44,    45,    46,    25,
725       75,   549,    50,   107,    52,   509,    77,    78,    79,   407,
726       77,    78,    79,    16,    25,   563,    17,    79,   110,    71,
727      524,   525,   417,   571,   110,   110,   421,   110,   110,    77,
728       78,    79,   536,    22,   108,    62,    63,   432,    20,   109,
729      107,   439,   546,   547,   108,    82,   473,   100,   107,   447,
730      103,   104,   105,   106,   108,   559,    62,    63,    16,   107,
731       87,    88,    89,    90,    91,    92,    93,    94,    95,   238,
732      239,   240,   241,   100,    16,    16,   103,   104,   105,   106,
733      478,   479,   489,    16,   491,    62,    63,     0,    94,    95,
734       77,    78,    79,   500,   100,    22,    16,   103,   104,   105,
735      106,   496,    15,   107,    17,    18,   396,   107,    21,   107,
736      107,   107,   510,   511,   108,    92,    93,    94,    95,   526,
737      107,    21,   107,   100,   107,    75,   103,   104,   105,   106,
738       43,    44,    45,    46,    15,    95,    15,    50,    16,    52,
739      100,   107,    55,   103,   104,   105,   106,   545,   107,    62,
740       63,    21,   442,    21,   561,    15,    77,    78,    79,    77,
741       78,    79,    75,   108,    77,    78,    79,     0,    81,    82,
742       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
743       93,    94,    95,   107,    73,    18,   107,   100,    21,   107,
744      103,   104,   105,   106,   107,    62,    63,    21,   111,    21,
745      107,    77,    78,    79,    77,    78,    79,   108,   107,    21,
746       43,    44,    45,    46,   107,    19,    72,    50,    13,    52,
747      107,   107,    55,    90,    91,    92,    93,    94,    95,    62,
748       63,   107,   106,   100,   107,   343,   103,   104,   105,   106,
749      510,   564,    75,   419,    77,    78,    79,   277,    81,    82,
750       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
751       93,    94,    95,    77,    78,    79,   372,   100,   248,   371,
752      103,   104,   105,   106,   107,     0,     1,   452,   111,   496,
753      471,   225,    -1,   155,   356,    10,    11,    12,    13,    14,
754       15,    -1,    17,   107,    -1,    -1,    21,    22,    23,    24,
755       25,    26,    -1,    28,    29,    30,    31,    32,    33,    34,
756       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
757       45,    46,    -1,    62,    63,    50,    51,    52,    53,    54,
758       -1,    56,    57,    58,    59,    60,    61,    -1,    -1,    64,
759       65,    66,    67,    68,    69,    70,     3,     4,     5,     6,
760        7,     8,     9,    -1,    -1,    80,    95,    -1,    -1,    -1,
761       -1,   100,    -1,    -1,   103,   104,   105,   106,    -1,    -1,
762       -1,    96,    97,    -1,    99,    -1,   101,   102,     0,     1,
763       -1,    -1,    -1,   108,   109,   110,    -1,    -1,    10,    11,
764       12,    13,    14,    15,    -1,    17,    -1,    -1,    -1,    21,
765       22,    23,    24,    25,    26,    -1,    28,    29,    30,    31,
766       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
767       42,    43,    44,    45,    46,    -1,    62,    -1,    50,    51,
768       52,    53,    54,    -1,    56,    57,    58,    59,    60,    61,
769       -1,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
770       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    95,
771       -1,    -1,    -1,    -1,   100,    -1,    -1,   103,   104,   105,
772      106,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,
773      102,     1,    -1,    -1,    -1,    -1,   108,   109,   110,    -1,
774       10,    11,    12,    13,    14,    15,    16,    17,    -1,    -1,
775       -1,    21,    22,    23,    24,    25,    26,    -1,    28,    29,
776       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
777       40,    41,    42,    43,    44,    45,    46,    -1,    -1,    -1,
778       50,    51,    52,    53,    54,    -1,    56,    57,    58,    59,
779       60,    61,    -1,    -1,    64,    65,    66,    67,    68,    69,
780       70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
781       80,    -1,    -1,    -1,    -1,    -1,    43,    44,    45,    46,
782       -1,    -1,    -1,    50,    -1,    52,    96,    97,    -1,    99,
783       -1,   101,   102,     1,    -1,    -1,    -1,    -1,   108,   109,
784      110,    -1,    10,    11,    12,    13,    14,    15,    16,    17,
785       77,    78,    79,    21,    22,    23,    24,    25,    26,    -1,
786       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
787       38,    39,    40,    41,    42,    43,    44,    45,    46,    -1,
788       -1,    -1,    50,    51,    52,    53,    54,    -1,    56,    57,
789       58,    59,    60,    61,    -1,    -1,    64,    65,    66,    67,
790       68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
791       -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
793       -1,    99,    -1,   101,   102,     1,    -1,    -1,    -1,    -1,
794      108,   109,   110,    -1,    10,    11,    12,    13,    14,    15,
795       16,    17,    -1,    -1,    -1,    21,    22,    23,    24,    25,
796       26,    -1,    28,    29,    30,    31,    32,    33,    34,    35,
797       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
798       46,    -1,    -1,    -1,    50,    51,    52,    53,    54,    -1,
799       56,    57,    58,    59,    60,    61,    -1,    -1,    64,    65,
800       66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,
801       -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,
802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
803       96,    97,    -1,    99,    -1,   101,   102,     1,    -1,    -1,
804       -1,    -1,   108,   109,   110,    -1,    10,    11,    12,    13,
805       14,    15,    16,    17,    -1,    -1,    -1,    21,    22,    23,
806       24,    25,    26,    -1,    28,    29,    30,    31,    32,    33,
807       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
808       44,    45,    46,    -1,    -1,    -1,    50,    51,    52,    53,
809       54,    -1,    56,    57,    58,    59,    60,    61,    -1,    -1,
810       64,    65,    66,    67,    68,    69,    70,    -1,    -1,    -1,
811       -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,
812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
813       -1,    -1,    96,    97,    -1,    99,    -1,   101,   102,     1,
814       -1,    -1,    -1,    -1,   108,   109,   110,    -1,    10,    11,
815       12,    13,    14,    15,    16,    17,    -1,    -1,    -1,    21,
816       22,    23,    24,    25,    26,    -1,    28,    29,    30,    31,
817       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
818       42,    43,    44,    45,    46,    -1,    -1,    -1,    50,    51,
819       52,    53,    54,    -1,    56,    57,    58,    59,    60,    61,
820       -1,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,
822       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
823       -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,
824      102,     1,    -1,    -1,    -1,    -1,   108,   109,   110,    -1,
825       10,    11,    12,    13,    14,    15,    -1,    17,    -1,    -1,
826       -1,    21,    22,    23,    24,    25,    26,    -1,    28,    29,
827       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
828       40,    41,    42,    43,    44,    45,    46,    -1,    -1,    -1,
829       50,    51,    52,    53,    54,    -1,    56,    57,    58,    59,
830       60,    61,    -1,    -1,    64,    65,    66,    67,    68,    69,
831       70,    -1,    -1,    73,    -1,    -1,    -1,    -1,    -1,    -1,
832       80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
833       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,
834       -1,   101,   102,     1,    -1,    -1,    -1,    -1,   108,   109,
835      110,    -1,    10,    11,    12,    13,    14,    15,    -1,    17,
836       -1,    -1,    -1,    21,    22,    23,    24,    25,    26,    -1,
837       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
838       38,    39,    40,    41,    42,    43,    44,    45,    46,    -1,
839       -1,    -1,    50,    51,    52,    53,    54,    -1,    56,    57,
840       58,    59,    60,    61,    -1,    -1,    64,    65,    66,    67,
841       68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
842       -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
844       -1,    99,    -1,   101,   102,     1,    -1,    -1,    -1,    -1,
845      108,   109,   110,    -1,    10,    11,    12,    13,    14,    15,
846       -1,    17,    -1,    -1,    -1,    21,    22,    23,    24,    25,
847       26,    -1,    28,    29,    30,    31,    32,    33,    34,    -1,
848       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
849       46,    -1,    -1,    -1,    50,    51,    52,    53,    54,    -1,
850       56,    57,    58,    59,    60,    61,    -1,    -1,    64,    65,
851       66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,
852       -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,
853       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
854       96,    97,    -1,    99,    -1,   101,   102,     1,    -1,    -1,
855       -1,    -1,   108,   109,   110,    -1,    10,    11,    12,    13,
856       14,    -1,    -1,    17,    -1,    -1,    -1,    21,    22,    23,
857       24,    25,    26,    -1,    28,    29,    30,    31,    32,    33,
858       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,
859       -1,    62,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
860       54,    -1,    -1,    57,    58,    59,    60,    61,    -1,    -1,
861       64,    65,    66,    67,    68,    69,    70,    88,    89,    90,
862       91,    92,    93,    94,    95,    -1,    80,    -1,    -1,   100,
863       -1,    -1,   103,   104,   105,   106,    -1,    -1,    -1,    -1,
864       -1,    -1,    96,    97,    -1,    99,    -1,   101,   102,     1,
865       -1,    -1,    -1,    -1,   108,   109,   110,    -1,    10,    11,
866       12,    13,    14,    -1,    -1,    17,    -1,    -1,    -1,    -1,
867       22,    23,    24,    25,    26,    -1,    28,    29,    30,    31,
868       32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
869       -1,    -1,    62,    63,    -1,    -1,    -1,    -1,    -1,    -1,
870       -1,    -1,    54,    -1,    -1,    57,    58,    59,    60,    61,
871       -1,    -1,    64,    65,    66,    67,    68,    69,    70,    89,
872       90,    91,    92,    93,    94,    95,    -1,    -1,    80,    -1,
873      100,    -1,    -1,   103,   104,   105,   106,    -1,    -1,    -1,
874       -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,
875      102,    -1,    -1,    -1,    -1,   107,   108,   109,   110,    10,
876       11,    12,    13,    14,    15,    -1,    17,    -1,    -1,    -1,
877       -1,    22,    23,    24,    25,    26,    27,    28,    29,    30,
878       31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,
879       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
880       -1,    -1,    -1,    54,    -1,    -1,    57,    58,    59,    60,
881       61,    -1,    -1,    64,    65,    66,    67,    68,    69,    70,
882       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,
883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
884       -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,
885      101,   102,    -1,    -1,    -1,    -1,    -1,   108,   109,   110,
886       10,    11,    12,    13,    14,    -1,    -1,    17,    18,    -1,
887       -1,    -1,    22,    23,    24,    25,    26,    -1,    28,    29,
888       30,    31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,
889       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
890       -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58,    59,
891       60,    61,    -1,    -1,    64,    65,    66,    67,    68,    69,
892       70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
893       80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
894       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,
895       -1,   101,   102,    -1,    -1,    -1,    -1,    -1,   108,   109,
896      110,    10,    11,    12,    13,    14,    15,    -1,    17,    -1,
897       -1,    -1,    -1,    22,    23,    24,    25,    26,    -1,    28,
898       29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,    -1,
899       39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
900       -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58,
901       59,    60,    61,    -1,    -1,    64,    65,    66,    67,    68,
902       69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
903       -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
904       -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,
905       99,    -1,   101,   102,    -1,    -1,    -1,    -1,    -1,   108,
906      109,   110,    10,    11,    12,    13,    14,    -1,    -1,    17,
907       -1,    -1,    -1,    21,    22,    23,    24,    25,    26,    -1,
908       28,    29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,
909       -1,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
910       -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    57,
911       58,    59,    60,    61,    -1,    -1,    64,    65,    66,    67,
912       68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
913       -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
914       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,    97,
915       -1,    99,    -1,   101,   102,    -1,    -1,    -1,    -1,    -1,
916      108,   109,   110,    10,    11,    12,    13,    14,    -1,    -1,
917       17,    -1,    -1,    -1,    -1,    22,    23,    24,    25,    26,
918       -1,    28,    29,    30,    31,    32,    33,    -1,    -1,    -1,
919       -1,    -1,    39,    40,    -1,    -1,    -1,    -1,    -1,    -1,
920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,
921       57,    58,    59,    60,    61,    -1,    -1,    64,    65,    66,
922       67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,    -1,
923       -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,    -1,
924       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    96,
925       97,    -1,    99,    -1,   101,   102,    -1,    -1,    -1,    -1,
926      107,   108,   109,   110,    10,    11,    12,    13,    14,    -1,
927       -1,    17,    -1,    -1,    -1,    -1,    22,    23,    24,    25,
928       26,    -1,    28,    29,    30,    31,    32,    33,    -1,    -1,
929       -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    -1,    -1,
930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,    -1,
931       -1,    57,    58,    59,    60,    61,    -1,    -1,    64,    65,
932       66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,    -1,
933       -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,    -1,
934       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
935       96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,    -1,
936       -1,   107,   108,   109,   110,    10,    11,    12,    13,    14,
937       -1,    -1,    17,    -1,    -1,    -1,    -1,    22,    23,    24,
938       25,    26,    -1,    28,    29,    30,    31,    32,    33,    -1,
939       -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,    -1,
940       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    54,
941       -1,    -1,    57,    58,    59,    60,    61,    -1,    -1,    64,
942       65,    66,    67,    68,    69,    70,    -1,    -1,    -1,    -1,
943       -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,    -1,
944       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
945       -1,    96,    97,    -1,    99,    -1,   101,   102,    -1,    -1,
946       -1,    -1,   107,   108,   109,   110,    10,    11,    12,    13,
947       14,    -1,    -1,    17,    -1,    -1,    -1,    -1,    22,    23,
948       24,    25,    26,    -1,    28,    29,    30,    31,    32,    33,
949       -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,    -1,
950       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
951       54,    -1,    -1,    57,    58,    59,    60,    61,    -1,    -1,
952       64,    65,    66,    67,    68,    69,    70,    -1,    -1,    -1,
953       -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,    -1,
954       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
955       -1,    -1,    96,    97,    -1,    99,    -1,   101,   102,    -1,
956       -1,    -1,    -1,   107,   108,   109,   110,    10,    11,    12,
957       13,    14,    -1,    -1,    17,    -1,    -1,    -1,    -1,    22,
958       23,    24,    25,    26,    -1,    28,    29,    30,    31,    32,
959       33,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,    -1,
960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
961       -1,    54,    -1,    -1,    57,    58,    59,    60,    61,    -1,
962       -1,    64,    65,    66,    67,    68,    69,    70,    -1,    -1,
963       -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,    -1,
964       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
965       -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,   102,
966       -1,    -1,    -1,    -1,   107,   108,   109,   110,    10,    11,
967       12,    13,    14,    -1,    -1,    17,    -1,    -1,    -1,    -1,
968       22,    23,    24,    25,    26,    -1,    28,    29,    30,    31,
969       32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,    -1,
970       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
971       -1,    -1,    54,    -1,    -1,    57,    58,    59,    60,    61,
972       -1,    -1,    64,    65,    66,    67,    68,    69,    70,    -1,
973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    -1,
974       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
975       -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,   101,
976      102,    -1,    -1,    -1,    -1,   107,   108,   109,   110,    10,
977       11,    12,    13,    14,    -1,    -1,    17,    -1,    -1,    -1,
978       -1,    22,    23,    24,    25,    26,    -1,    28,    29,    30,
979       31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,
980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
981       -1,    -1,    -1,    54,    -1,    -1,    57,    58,    59,    60,
982       61,    -1,    -1,    64,    65,    66,    67,    68,    69,    70,
983       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,
984       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
985       -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,    -1,
986      101,   102,    -1,    -1,    -1,    -1,   107,   108,   109,   110,
987       10,    11,    12,    13,    14,    -1,    -1,    17,    -1,    -1,
988       -1,    -1,    22,    23,    24,    25,    26,    -1,    28,    29,
989       30,    31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,
990       40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
991       -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58,    59,
992       60,    61,    -1,    -1,    64,    65,    66,    67,    68,    69,
993       70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
994       80,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
995       -1,    -1,    -1,    -1,    -1,    -1,    96,    97,    -1,    99,
996       -1,   101,   102,    -1,    -1,    -1,    -1,    -1,   108,   109,
997      110,    10,    11,    12,    13,    14,    -1,    -1,    17,    -1,
998       -1,    -1,    -1,    22,    23,    24,    25,    26,    -1,    28,
999       29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,    -1,
1000       39,    40,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1001       -1,    -1,    -1,    -1,    -1,    54,    -1,    -1,    57,    58,
1002       59,    60,    61,    -1,    -1,    64,    65,    66,    67,    68,
1003       69,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1004       -1,    80,    -1,    -1,    -1,    55,    -1,    -1,    -1,    -1,
1005       -1,    -1,    62,    63,    -1,    -1,    -1,    96,    97,    -1,
1006       99,    -1,   101,   102,    -1,    -1,    -1,    -1,    -1,   108,
1007      109,   110,    82,    83,    84,    85,    86,    87,    88,    89,
1008       90,    91,    92,    93,    94,    95,    -1,    -1,    -1,    -1,
1009      100,    55,    -1,   103,   104,   105,   106,    -1,    62,    63,
1010       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1011       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    82,    83,
1012       -1,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1013       94,    95,    -1,    -1,    -1,    -1,   100,    55,    -1,   103,
1014      104,   105,   106,    -1,    62,    63,    -1,    -1,    -1,    -1,
1015       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1016       -1,    -1,    -1,    -1,    -1,    83,    -1,    85,    86,    87,
1017       88,    89,    90,    91,    92,    93,    94,    95,    -1,    -1,
1018       -1,    -1,   100,    55,    -1,   103,   104,   105,   106,    -1,
1019       62,    63,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1020       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1021       -1,    -1,    -1,    85,    86,    87,    88,    89,    90,    91,
1022       92,    93,    94,    95,    -1,    -1,    -1,    -1,   100,    -1,
1023       -1,   103,   104,   105,   106
1024 };
1025
1026   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1027      symbol of state STATE-NUM.  */
1028 static const yytype_uint8 yystos[] =
1029 {
1030        0,     3,     4,     5,     6,     7,     8,     9,   113,   114,
1031      115,   116,   117,   118,   119,   120,     0,   123,    10,    11,
1032       12,    13,    14,    17,    22,    23,    24,    25,    26,    28,
1033       29,    30,    31,    32,    33,    39,    40,    54,    57,    58,
1034       59,    60,    61,    64,    65,    66,    67,    68,    69,    70,
1035       80,    96,    97,    99,   101,   102,   108,   109,   110,   174,
1036      175,   176,   179,   180,   181,   182,   183,   184,   185,   186,
1037      187,   188,   190,   193,   199,   200,   201,   202,   203,   204,
1038      205,   206,   207,    15,   121,     1,    21,    34,    36,    37,
1039       38,    41,    42,    43,    44,    45,    46,    50,    51,    52,
1040       53,    56,   121,   130,   141,   174,    35,   128,   129,   130,
1041      126,   168,   169,   126,   188,   188,    22,    27,   121,   200,
1042      208,   208,   208,    18,   174,   208,   208,   189,    17,   108,
1043      188,   152,   152,   152,   188,   108,   108,    74,   108,   121,
1044      188,    22,   175,   192,   200,   208,   208,   121,   188,    21,
1045      174,    22,    27,   154,   188,    99,   108,   191,   200,   201,
1046      202,   188,   175,   188,   188,   188,   188,   188,   107,   174,
1047      208,   208,    77,    78,    79,    81,    15,    17,   108,    92,
1048       93,    92,    90,    91,    90,    55,    62,    63,    82,    83,
1049       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1050       95,   100,   103,   104,   105,   106,   108,    15,    17,    15,
1051       17,    15,    17,    15,   123,   153,   154,   154,    22,   151,
1052      108,   108,   108,   108,    69,    99,   108,   198,   200,   108,
1053      108,   121,    21,    49,   143,    21,    43,    44,    45,    46,
1054       50,    52,   129,   130,   128,    12,    13,   109,   159,   160,
1055      162,   163,   164,   165,    18,   192,   108,    74,   174,   107,
1056      121,    25,   155,    71,   156,   107,   107,   174,   193,   193,
1057      208,   175,    16,    21,   192,   108,   188,   191,   200,   201,
1058      202,   107,   174,    71,   157,    17,   107,   174,   174,   174,
1059      188,   174,   174,   107,   174,   188,   188,   188,   188,   188,
1060      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1061      188,   188,   188,   188,    12,    13,    14,    15,    17,    23,
1062       64,   108,   109,   110,   178,   200,   107,   174,   174,   174,
1063      174,   174,   174,   174,   174,   126,    22,   150,   151,   151,
1064       22,   133,   123,   123,   123,   123,    99,   123,    69,   196,
1065      197,   199,   200,   201,   202,   123,   123,   108,   123,   123,
1066      121,   140,   174,   147,   174,   140,   140,   140,   140,    27,
1067      158,   158,    81,   193,   175,    18,   177,   156,    25,   123,
1068      173,   107,    75,   107,   174,    16,   107,   174,   157,   107,
1069       25,   174,    17,    21,    18,   107,    84,   110,   110,   110,
1070      174,   174,   110,   107,   174,   110,   110,   108,   107,    21,
1071       18,    21,    18,    21,    18,    21,    16,    20,   122,   131,
1072      132,    15,    21,    22,   146,   174,   147,   148,   174,   148,
1073      195,   200,   108,   141,   145,   148,   149,   174,   196,   123,
1074      148,   148,    82,   161,   161,   163,   107,   111,   194,   192,
1075      123,   171,   108,   166,   167,   107,   107,    18,   174,    16,
1076      188,    21,    18,   107,   193,    16,    16,    16,    16,   123,
1077      155,   156,   123,    22,   107,   107,   107,   107,   108,   123,
1078      107,    21,   136,   148,   107,   107,   188,   174,    75,    15,
1079      168,    15,    18,    16,   107,    21,   156,    21,   172,   173,
1080      137,   192,   144,   144,    15,   124,   124,   148,   148,   124,
1081      134,   108,   107,   124,   124,   126,   107,   126,    73,    21,
1082      170,   171,   126,    21,   124,   124,   125,    47,    48,   142,
1083      142,   107,   107,   143,   146,   148,   124,    16,    16,   127,
1084       16,   143,   143,   126,   124,   108,   124,   124,    21,   107,
1085      143,    21,    25,   138,    16,   148,   143,   143,   135,   124,
1086       19,    72,   139,   107,   144,   143,   126,   124,   149,    73,
1087      142,   107,   124
1088 };
1089
1090   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1091 static const yytype_uint8 yyr1[] =
1092 {
1093        0,   112,   114,   113,   115,   113,   116,   113,   117,   113,
1094      118,   113,   119,   113,   120,   113,   121,   122,   123,   124,
1095      125,   126,   126,   127,   127,   128,   128,   129,   129,   130,
1096      130,   131,   130,   132,   130,   130,   133,   130,   130,   130,
1097      130,   130,   130,   130,   130,   134,   135,   130,   130,   130,
1098      136,   130,   130,   130,   130,   137,   130,   130,   130,   130,
1099      138,   139,   139,   140,   141,   141,   141,   141,   141,   141,
1100      141,   141,   142,   142,   142,   143,   143,   144,   145,   145,
1101      146,   146,   147,   148,   149,   150,   150,   151,   152,   153,
1102      154,   154,   155,   155,   156,   156,   156,   157,   157,   158,
1103      158,   159,   159,   160,   161,   161,   161,   162,   163,   163,
1104      164,   164,   164,   165,   165,   166,   166,   167,   169,   168,
1105      170,   170,   171,   172,   172,   173,   174,   174,   174,   174,
1106      175,   175,   175,   176,   176,   176,   176,   176,   176,   176,
1107      176,   176,   177,   176,   178,   178,   179,   179,   179,   179,
1108      179,   179,   179,   179,   179,   179,   179,   179,   179,   179,
1109      180,   180,   180,   180,   180,   180,   180,   180,   180,   180,
1110      180,   180,   180,   180,   181,   181,   181,   181,   182,   182,
1111      183,   183,   183,   183,   184,   184,   185,   185,   185,   185,
1112      185,   185,   185,   185,   185,   186,   186,   186,   186,   186,
1113      186,   187,   187,   188,   188,   188,   188,   188,   188,   188,
1114      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1115      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1116      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1117      188,   188,   188,   188,   188,   188,   188,   188,   188,   188,
1118      188,   188,   189,   188,   188,   188,   188,   190,   190,   190,
1119      191,   191,   191,   191,   191,   192,   192,   193,   193,   194,
1120      194,   195,   196,   196,   196,   197,   197,   198,   198,   199,
1121      200,   201,   202,   203,   203,   204,   205,   205,   206,   206,
1122      207,   207,   208,   208,   208,   208
1123 };
1124
1125   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
1126 static const yytype_int8 yyr2[] =
1127 {
1128        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
1129        0,     3,     0,     3,     0,     3,     4,     7,     0,     4,
1130        0,     0,     2,     0,     2,     1,     1,     2,     2,     1,
1131        4,     0,     7,     0,     6,     4,     0,     7,     7,     7,
1132        6,     6,     2,     8,     8,     0,     0,    13,     9,     8,
1133        0,    10,     9,     7,     2,     0,     8,     2,     2,     1,
1134        2,     0,     3,     1,     1,     1,     3,     3,     3,     3,
1135        3,     3,     0,     2,     6,     0,     2,     0,     0,     1,
1136        0,     1,     1,     1,     1,     1,     0,     0,     0,     0,
1137        1,     1,     0,     1,     0,     2,     1,     2,     1,     0,
1138        1,     1,     1,     3,     0,     1,     2,     3,     1,     1,
1139        2,     3,     1,     0,     1,     0,     1,     3,     0,     2,
1140        1,     1,     4,     1,     1,     5,     3,     3,     3,     1,
1141        2,     3,     1,     3,     5,     6,     3,     3,     5,     2,
1142        4,     4,     0,     5,     1,     1,     5,     4,     5,     4,
1143        5,     6,     5,     4,     5,     4,     3,     6,     4,     5,
1144        3,     3,     3,     3,     3,     1,     1,     3,     3,     3,
1145        3,     3,     3,     3,     1,     3,     2,     2,     3,     3,
1146        1,     3,     2,     2,     3,     3,     2,     2,     2,     2,
1147        2,     2,     2,     2,     2,     3,     2,     4,     3,     5,
1148        4,     2,     2,     1,     1,     1,     1,     5,     2,     3,
1149        1,     2,     3,     1,     2,     1,     1,     1,     1,     1,
1150        1,     4,     4,     5,     5,     1,     1,     3,     4,     3,
1151        4,     4,     4,     4,     4,     1,     2,     2,     1,     2,
1152        2,     1,     2,     1,     2,     1,     3,     1,     3,     1,
1153        3,     4,     0,     6,     1,     1,     1,     3,     2,     4,
1154        3,     2,     1,     1,     1,     0,     1,     0,     1,     0,
1155        2,     1,     1,     1,     1,     1,     1,     2,     2,     2,
1156        2,     2,     2,     2,     4,     2,     1,     3,     1,     3,
1157        1,     3,     1,     1,     1,     1
1158 };
1159
1160 typedef enum {
1161         toketype_ival, toketype_opval
1162 } toketypes;
1163
1164 /* type of each token/terminal */
1165 static const toketypes yy_type_tab[] =
1166 {
1167   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1168   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1169   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1170   toketype_ival, toketype_ival, toketype_ival,
1171   toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
1172   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1173   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1174   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1175   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1176   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1177   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1178   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1179   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1180   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1181   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1182   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1183   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1184   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1185   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_ival,
1186   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1187   toketype_opval, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
1188   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1189   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1190   toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval,
1191   toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1192   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1193   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
1194   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1195   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
1196   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1197   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
1198   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1199   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
1200   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
1201 };
1202
1203 /* Generated from:
1204  * 2e61cf01f0e14707d220536eb9865fe226c153c967f8aa51eea0786f6a56feb9 perly.y
1205  * acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
1206  * ex: set ro: */