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