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