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