This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
test.pl should locally increase $Level, rather than setting it to a
[perl5.git] / perly.tab
1 #define YYFINAL  3
2 /* YYLAST -- Last index in YYTABLE.  */
3 #define YYLAST   2064
4
5 /* YYNTOKENS -- Number of terminals.  */
6 #define YYNTOKENS  90
7 /* YYNNTS -- Number of nonterminals.  */
8 #define YYNNTS  66
9 /* YYNRULES -- Number of rules.  */
10 #define YYNRULES  210
11 /* YYNRULES -- Number of states.  */
12 #define YYNSTATES  420
13
14 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
15 #define YYUNDEFTOK  2
16 #define YYMAXUTOK   325
17
18 #define YYTRANSLATE(YYX)                                                \
19   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
20
21 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
22 static const yytype_uint8 yytranslate[] =
23 {
24        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
25        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
26        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
27        2,     2,     2,    77,     2,     2,     9,    11,    13,     2,
28       88,    87,    12,     8,    66,     7,     2,     2,     2,     2,
29        2,     2,     2,     2,     2,     2,     2,     2,    69,    14,
30        2,     2,     2,    68,    10,     2,     2,     2,     2,     2,
31        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
32        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
33        2,     5,     2,     6,     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,     3,     2,     4,    78,     2,     2,     2,
37        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
38        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
39        2,     2,     2,     2,     2,     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,     2,     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,     1,     2,    15,    16,
50       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
51       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
52       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
53       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
54       57,    58,    59,    60,    61,    62,    63,    64,    65,    67,
55       70,    71,    72,    73,    74,    75,    76,    79,    80,    81,
56       82,    83,    84,    85,    86,    89
57 };
58
59 #if YYDEBUG
60 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
61    YYRHS.  */
62 static const yytype_uint16 yyprhs[] =
63 {
64        0,     0,     3,     6,    11,    12,    13,    14,    19,    20,
65       21,    22,    25,    29,    32,    34,    36,    39,    42,    46,
66       48,    50,    54,    58,    62,    66,    70,    71,    74,    81,
67       89,    97,   104,   107,   108,   111,   121,   131,   142,   152,
68      161,   174,   178,   187,   188,   189,   191,   192,   194,   196,
69      198,   200,   202,   203,   205,   207,   209,   211,   213,   215,
70      217,   219,   224,   226,   227,   234,   241,   242,   243,   244,
71      246,   247,   249,   250,   253,   255,   258,   260,   262,   264,
72      268,   269,   277,   281,   285,   289,   291,   294,   298,   300,
73      304,   310,   317,   321,   325,   331,   334,   339,   340,   346,
74      348,   350,   356,   361,   367,   372,   378,   385,   391,   396,
75      402,   407,   411,   418,   424,   428,   432,   436,   440,   444,
76      448,   452,   456,   460,   464,   468,   472,   476,   480,   483,
77      486,   489,   492,   495,   498,   501,   504,   508,   511,   516,
78      520,   526,   529,   532,   537,   543,   548,   554,   556,   558,
79      560,   562,   568,   571,   573,   576,   580,   583,   585,   587,
80      589,   591,   593,   595,   600,   606,   608,   610,   614,   619,
81      623,   625,   628,   631,   633,   636,   639,   641,   644,   646,
82      649,   651,   655,   657,   661,   666,   671,   673,   675,   679,
83      682,   686,   689,   691,   693,   695,   696,   698,   699,   701,
84      704,   706,   709,   712,   715,   718,   721,   724,   726,   728,
85      730
86 };
87
88 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
89 static const yytype_int16 yyrhs[] =
90 {
91       91,     0,    -1,    95,    99,    -1,     3,    93,    99,     4,
92       -1,    -1,    -1,    -1,     3,    97,    99,     4,    -1,    -1,
93       -1,    -1,    99,   116,    -1,    99,    98,   100,    -1,   115,
94      103,    -1,   106,    -1,   107,    -1,   115,   104,    -1,   115,
95       14,    -1,   115,   101,    14,    -1,     1,    -1,   133,    -1,
96      133,    32,   133,    -1,   133,    33,   133,    -1,   133,    30,
97      133,    -1,   133,    31,   111,    -1,   133,    37,   133,    -1,
98       -1,    34,    96,    -1,    35,    88,   112,    87,    96,   102,
99       -1,    32,    88,    93,   112,    87,    96,   102,    -1,    33,
100       88,    93,   114,    87,    96,   102,    -1,    39,    88,    93,
101      112,    87,    96,    -1,    40,    92,    -1,    -1,    36,    92,
102       -1,   115,    30,    88,    93,   110,    87,   108,    96,   105,
103       -1,   115,    31,    88,    93,   111,    87,   108,    96,   105,
104       -1,   115,    37,    57,    93,   148,    88,   112,    87,    96,
105      105,    -1,   115,    37,   150,    88,    93,   112,    87,    96,
106      105,    -1,   115,    37,    88,    93,   112,    87,    96,   105,
107       -1,   115,    37,    88,    93,   113,    14,   110,    14,   108,
108      113,    87,    96,    -1,   115,    92,   105,    -1,   115,    38,
109       88,    93,    94,   112,    87,    96,    -1,    -1,    -1,   101,
110       -1,    -1,   133,    -1,   133,    -1,   133,    -1,   109,    -1,
111      111,    -1,    -1,    24,    -1,   118,    -1,   121,    -1,   120,
112       -1,   130,    -1,   131,    -1,   117,    -1,    89,    -1,    25,
113      124,   119,    92,    -1,    15,    -1,    -1,    58,   122,   125,
114      126,   127,   129,    -1,    26,   122,   125,   126,   127,   129,
115       -1,    -1,    -1,    -1,    15,    -1,    -1,    18,    -1,    -1,
116       60,    18,    -1,    60,    -1,    60,    18,    -1,    60,    -1,
117       92,    -1,    14,    -1,    28,    15,    14,    -1,    -1,    29,
118      122,   132,    15,    15,   146,    14,    -1,   133,    64,   133,
119       -1,   133,    63,   133,    -1,   133,    62,   133,    -1,   134,
120       -1,   134,    66,    -1,   134,    66,   143,    -1,   143,    -1,
121       47,   155,   134,    -1,    45,    88,   155,   133,    87,    -1,
122      143,    86,   137,    88,   147,    87,    -1,   143,    86,   137,
123       -1,    16,   155,   146,    -1,    17,   155,    88,   147,    87,
124       -1,    47,   146,    -1,    45,    88,   147,    87,    -1,    -1,
125       23,   123,    92,   136,   146,    -1,    16,    -1,   150,    -1,
126      154,     3,   133,    14,     4,    -1,   150,     5,   133,     6,
127       -1,   143,    86,     5,   133,     6,    -1,   138,     5,   133,
128        6,    -1,   150,     3,   133,    14,     4,    -1,   143,    86,
129        3,   133,    14,     4,    -1,   138,     3,   133,    14,     4,
130       -1,   143,    86,    88,    87,    -1,   143,    86,    88,   133,
131       87,    -1,   138,    88,   133,    87,    -1,   138,    88,    87,
132       -1,    88,   133,    87,     5,   133,     6,    -1,    88,    87,
133        5,   133,     6,    -1,   143,    67,   143,    -1,   143,    81,
134      143,    -1,   143,    50,   143,    -1,   143,    51,   143,    -1,
135      143,    75,   143,    -1,   143,    48,   143,    -1,   143,    49,
136      143,    -1,   143,    74,   143,    -1,   143,    73,   143,    -1,
137      143,    42,   143,    -1,   143,    72,   143,    -1,   143,    71,
138      143,    -1,   143,    70,   143,    -1,   143,    76,   143,    -1,
139        7,   143,    -1,     8,   143,    -1,    77,   143,    -1,    78,
140      143,    -1,   143,    83,    -1,   143,    82,    -1,    85,   143,
141       -1,    84,   143,    -1,     5,   133,     6,    -1,     5,     6,
142       -1,    54,   133,    14,     4,    -1,    54,    14,     4,    -1,
143       27,   123,   126,   127,    92,    -1,    53,   143,    -1,    53,
144       92,    -1,    53,    15,    88,    87,    -1,    53,    15,    88,
145      133,    87,    -1,    53,   150,    88,    87,    -1,    53,   150,
146       88,   133,    87,    -1,   139,    -1,   140,    -1,   141,    -1,
147      142,    -1,   143,    68,   143,    69,   143,    -1,    79,   143,
148       -1,   144,    -1,    56,   143,    -1,    88,   133,    87,    -1,
149       88,    87,    -1,   150,    -1,   154,    -1,   152,    -1,   151,
150       -1,   153,    -1,   138,    -1,   151,     5,   133,     6,    -1,
151      151,     3,   133,    14,     4,    -1,    18,    -1,   149,    -1,
152      149,    88,    87,    -1,   149,    88,   133,    87,    -1,    55,
153       15,   146,    -1,    41,    -1,    41,   143,    -1,    65,   134,
154       -1,    46,    -1,    46,    92,    -1,    46,   143,    -1,    59,
155       -1,    59,   143,    -1,    22,    -1,    22,   143,    -1,    43,
156       -1,    43,    88,    87,    -1,    21,    -1,    44,    88,    87,
157       -1,    44,    88,   133,    87,    -1,    19,    88,   134,    87,
158       -1,    15,    -1,   135,    -1,    57,   145,   128,    -1,    57,
159      145,    -1,    88,   133,    87,    -1,    88,    87,    -1,   150,
160       -1,   152,    -1,   151,    -1,    -1,   134,    -1,    -1,   133,
161       -1,   133,    66,    -1,   150,    -1,    13,   155,    -1,     9,
162      155,    -1,    10,   155,    -1,    11,   155,    -1,    52,   155,
163       -1,    12,   155,    -1,    15,    -1,   150,    -1,    92,    -1,
164       20,    -1
165 };
166
167 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
168 static const yytype_uint16 yyrline[] =
169 {
170        0,   135,   135,   141,   151,   155,   159,   165,   175,   179,
171      183,   184,   191,   200,   203,   204,   206,   208,   225,   244,
172      246,   248,   252,   256,   260,   264,   273,   274,   278,   289,
173      297,   308,   311,   317,   318,   325,   338,   350,   361,   371,
174      381,   413,   421,   431,   437,   438,   443,   446,   450,   455,
175      459,   463,   469,   478,   482,   484,   486,   488,   490,   495,
176      499,   505,   519,   520,   524,   537,   558,   564,   569,   574,
177      584,   585,   590,   591,   595,   605,   609,   619,   620,   629,
178      643,   642,   660,   664,   668,   672,   676,   686,   695,   699,
179      704,   711,   720,   726,   732,   740,   744,   751,   750,   761,
180      762,   766,   775,   780,   788,   795,   802,   812,   821,   828,
181      837,   844,   850,   857,   867,   871,   875,   881,   885,   889,
182      893,   897,   901,   905,   917,   921,   925,   929,   939,   943,
183      950,   954,   958,   963,   968,   973,   982,   987,   992,   998,
184     1004,  1015,  1019,  1023,  1035,  1048,  1056,  1068,  1069,  1070,
185     1071,  1072,  1077,  1081,  1083,  1087,  1092,  1097,  1099,  1101,
186     1103,  1105,  1107,  1109,  1118,  1129,  1131,  1133,  1138,  1151,
187     1156,  1161,  1165,  1169,  1173,  1177,  1181,  1183,  1185,  1187,
188     1190,  1194,  1200,  1203,  1212,  1218,  1223,  1224,  1228,  1236,
189     1243,  1248,  1253,  1255,  1257,  1262,  1264,  1269,  1270,  1272,
190     1287,  1291,  1297,  1303,  1309,  1315,  1321,  1328,  1330,  1332,
191     1335
192 };
193 #endif
194
195 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
196 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
197    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
198 static const char *const yytname[] =
199 {
200   "$end", "error", "$undefined", "'{'", "'}'", "'['", "']'", "'-'", "'+'",
201   "'$'", "'@'", "'%'", "'*'", "'&'", "';'", "WORD", "METHOD", "FUNCMETH",
202   "THING", "PMFUNC", "PRIVATEREF", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB",
203   "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL",
204   "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN",
205   "DEFAULT", "LOOPEX", "DOTDOT", "FUNC0", "FUNC1", "FUNC", "UNIOP",
206   "LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
207   "HASHBRACK", "NOAMP", "LOCAL", "MY", "MYSUB", "REQUIRE", "COLONATTR",
208   "PREC_LOW", "DOROP", "OROP", "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'",
209   "':'", "DORDOR", "OROR", "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP",
210   "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS", "POWOP", "POSTDEC",
211   "POSTINC", "PREDEC", "PREINC", "ARROW", "')'", "'('", "PEG", "$accept",
212   "prog", "block", "remember", "mydefsv", "progstart", "mblock",
213   "mremember", "savescope", "lineseq", "line", "sideff", "else", "cond",
214   "case", "cont", "loop", "switch", "mintro", "nexpr", "texpr", "iexpr",
215   "mexpr", "mnexpr", "miexpr", "label", "decl", "peg", "format",
216   "formname", "mysubrout", "subrout", "startsub", "startanonsub",
217   "startformsub", "subname", "proto", "subattrlist", "myattrlist",
218   "subbody", "package", "use", "@1", "expr", "argexpr", "listop", "@2",
219   "method", "subscripted", "termbinop", "termunop", "anonymous", "termdo",
220   "term", "myattrterm", "myterm", "listexpr", "listexprcom", "my_scalar",
221   "amper", "scalar", "ary", "hsh", "arylen", "star", "indirob", 0
222 };
223 #endif
224
225 # ifdef YYPRINT
226 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
227    token YYLEX-NUM.  */
228 static const yytype_uint16 yytoknum[] =
229 {
230        0,   256,   257,   123,   125,    91,    93,    45,    43,    36,
231       64,    37,    42,    38,    59,   258,   259,   260,   261,   262,
232      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
233      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
234      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
235      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
236      303,   304,   305,   306,   307,   308,    44,   309,    63,    58,
237      310,   311,   312,   313,   314,   315,   316,    33,   126,   317,
238      318,   319,   320,   321,   322,   323,   324,    41,    40,   325
239 };
240 # endif
241
242 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
243 static const yytype_uint8 yyr1[] =
244 {
245        0,    90,    91,    92,    93,    94,    95,    96,    97,    98,
246       99,    99,    99,   100,   100,   100,   100,   100,   100,   101,
247      101,   101,   101,   101,   101,   101,   102,   102,   102,   103,
248      103,   104,   104,   105,   105,   106,   106,   106,   106,   106,
249      106,   106,   107,   108,   109,   109,   110,   110,   111,   112,
250      113,   114,   115,   115,   116,   116,   116,   116,   116,   116,
251      117,   118,   119,   119,   120,   121,   122,   123,   124,   125,
252      126,   126,   127,   127,   127,   128,   128,   129,   129,   130,
253      132,   131,   133,   133,   133,   133,   134,   134,   134,   135,
254      135,   135,   135,   135,   135,   135,   135,   136,   135,   137,
255      137,   138,   138,   138,   138,   138,   138,   138,   138,   138,
256      138,   138,   138,   138,   139,   139,   139,   139,   139,   139,
257      139,   139,   139,   139,   139,   139,   139,   139,   140,   140,
258      140,   140,   140,   140,   140,   140,   141,   141,   141,   141,
259      141,   142,   142,   142,   142,   142,   142,   143,   143,   143,
260      143,   143,   143,   143,   143,   143,   143,   143,   143,   143,
261      143,   143,   143,   143,   143,   143,   143,   143,   143,   143,
262      143,   143,   143,   143,   143,   143,   143,   143,   143,   143,
263      143,   143,   143,   143,   143,   143,   143,   143,   144,   144,
264      145,   145,   145,   145,   145,   146,   146,   147,   147,   147,
265      148,   149,   150,   151,   152,   153,   154,   155,   155,   155,
266      155
267 };
268
269 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
270 static const yytype_uint8 yyr2[] =
271 {
272        0,     2,     2,     4,     0,     0,     0,     4,     0,     0,
273        0,     2,     3,     2,     1,     1,     2,     2,     3,     1,
274        1,     3,     3,     3,     3,     3,     0,     2,     6,     7,
275        7,     6,     2,     0,     2,     9,     9,    10,     9,     8,
276       12,     3,     8,     0,     0,     1,     0,     1,     1,     1,
277        1,     1,     0,     1,     1,     1,     1,     1,     1,     1,
278        1,     4,     1,     0,     6,     6,     0,     0,     0,     1,
279        0,     1,     0,     2,     1,     2,     1,     1,     1,     3,
280        0,     7,     3,     3,     3,     1,     2,     3,     1,     3,
281        5,     6,     3,     3,     5,     2,     4,     0,     5,     1,
282        1,     5,     4,     5,     4,     5,     6,     5,     4,     5,
283        4,     3,     6,     5,     3,     3,     3,     3,     3,     3,
284        3,     3,     3,     3,     3,     3,     3,     3,     2,     2,
285        2,     2,     2,     2,     2,     2,     3,     2,     4,     3,
286        5,     2,     2,     4,     5,     4,     5,     1,     1,     1,
287        1,     5,     2,     1,     2,     3,     2,     1,     1,     1,
288        1,     1,     1,     4,     5,     1,     1,     3,     4,     3,
289        1,     2,     2,     1,     2,     2,     1,     2,     1,     2,
290        1,     3,     1,     3,     4,     4,     1,     1,     3,     2,
291        3,     2,     1,     1,     1,     0,     1,     0,     1,     2,
292        1,     2,     2,     2,     2,     2,     2,     1,     1,     1,
293        1
294 };
295
296 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
297    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
298    means the default is an error.  */
299 static const yytype_uint8 yydefact[] =
300 {
301        6,     0,    10,     1,     9,    68,    66,     0,    66,    66,
302       60,    52,    11,    59,    54,    56,    55,    57,    58,    63,
303        0,     0,    80,     0,    53,    12,    14,    15,     0,    62,
304        0,    69,    70,    79,     0,    70,    19,     4,     0,     0,
305        0,     0,     0,     0,     0,     0,    17,   186,     0,     0,
306      165,     0,   182,   178,    67,    67,     0,     0,     0,     0,
307        0,     0,     0,     0,   170,   180,     0,     0,   173,   195,
308        0,     0,     0,     0,     0,     0,   176,     0,     0,     0,
309        0,     0,     0,     0,    33,     0,    13,    16,    20,    85,
310      187,   162,   147,   148,   149,   150,    88,   153,   166,   157,
311      160,   159,   161,   158,    61,    71,    72,     0,    72,    10,
312      137,     0,   128,   129,   207,   210,   209,   208,   202,   203,
313      204,   206,   201,   195,     0,     0,   179,     0,    70,     4,
314        4,     4,     4,     4,     4,     0,     4,     4,    32,   171,
315        0,     0,   197,   174,   175,   207,   196,    95,   208,     0,
316      205,   186,   142,   141,   157,     0,     0,   195,   154,     0,
317      189,   192,   194,   193,   177,   172,   130,   131,   152,   135,
318      134,   156,     0,     0,    41,    18,     0,     0,     0,     0,
319        0,     0,     0,     0,    86,     0,     0,     0,     0,     0,
320        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
321        0,     0,     0,   133,   132,     0,     0,     0,     0,     0,
322        0,     0,    74,     0,   195,     0,     9,   136,    93,   197,
323        0,    97,    72,    46,     0,     0,     0,     0,     0,     4,
324        5,     0,   181,   183,     0,   198,     0,     0,    89,     0,
325        0,   139,     0,   169,   191,     0,    76,   188,     0,   155,
326       34,    23,    24,    48,    21,    22,    25,    84,    83,    82,
327       87,     0,     0,   111,     0,   123,   119,   120,   116,   117,
328      114,     0,   126,   125,   124,   122,   121,   118,   127,   115,
329        0,     0,    99,     0,    92,   100,   167,     0,     0,     0,
330        0,     0,     0,    73,    78,    77,    65,     0,    64,     3,
331        0,   185,   195,     0,     0,    47,     0,     0,    49,    51,
332        0,     0,   200,    45,    50,     0,     0,    20,     0,     0,
333        0,   184,   199,    96,     0,   143,     0,   145,     0,   138,
334      190,    75,     0,     0,     0,   104,   110,     0,     0,     0,
335      108,     0,   197,   168,     0,   102,     0,   163,     0,    81,
336       94,    98,   140,    43,    43,     0,     0,     0,     0,    46,
337        0,     0,     0,    90,   144,   146,   113,     0,   107,   151,
338        0,   103,   109,     0,   105,   164,   101,     0,     0,     8,
339       26,    26,     0,    33,     0,     0,     0,    31,   112,   106,
340       91,    33,    33,    10,     0,     0,    29,    30,     0,    39,
341       43,    33,    42,    35,    36,     9,    27,     0,    33,     0,
342       38,     7,     0,    37,     0,     0,     0,    26,    40,    28
343 };
344
345 /* YYDEFGOTO[NTERM-NUM].  */
346 static const yytype_int16 yydefgoto[] =
347 {
348       -1,     1,   116,   109,   319,     2,   380,   393,    11,     4,
349       25,   313,   396,    86,    87,   174,    26,    27,   377,   314,
350      304,   252,   307,   316,   310,    28,    12,    13,    14,    30,
351       15,    16,    20,   127,    19,    32,   106,   213,   247,   296,
352       17,    18,    34,   308,    89,    90,   302,   284,    91,    92,
353       93,    94,    95,    96,    97,   160,   147,   236,   311,    98,
354       99,   100,   101,   102,   103,   118
355 };
356
357 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
358    STATE-NUM.  */
359 #define YYPACT_NINF -370
360 static const yytype_int16 yypact[] =
361 {
362     -370,    30,  -370,  -370,    21,  -370,  -370,    36,  -370,  -370,
363     -370,    42,  -370,  -370,  -370,  -370,  -370,  -370,  -370,    59,
364       75,    22,  -370,    75,  -370,  -370,  -370,  -370,   352,  -370,
365       86,  -370,    80,  -370,    96,    80,  -370,  -370,   914,  1750,
366     1750,   336,   336,   336,   336,   336,  -370,  -370,   336,   336,
367     -370,    28,  -370,  1750,  -370,  -370,    40,    55,    78,    89,
368       47,    98,   102,    86,  1750,   106,   109,   111,   686,   602,
369      336,   770,   996,   103,  1750,    76,  1750,  1750,  1750,  1750,
370     1750,  1750,  1750,  1078,   129,   128,  -370,  -370,   139,   126,
371     -370,     4,  -370,  -370,  -370,  -370,  1894,  -370,   117,    54,
372       79,  -370,  -370,   203,  -370,  -370,   147,   199,   147,  -370,
373     -370,    77,   -48,   -48,  -370,  -370,  -370,  -370,  -370,  -370,
374     -370,  -370,  -370,  1750,   127,  1750,   337,    86,    80,  -370,
375     -370,  -370,  -370,  -370,  -370,   131,  -370,  -370,  -370,  1894,
376      160,  1162,   602,  -370,   337,  1810,   126,  -370,   831,  1750,
377     -370,   157,  -370,   337,    12,   246,   240,  1750,   337,  1246,
378      191,  -370,  -370,  -370,   337,   126,   -48,   -48,   -48,    20,
379       20,   251,   211,    86,  -370,  -370,  1750,  1750,  1750,  1750,
380     1750,  1750,  1750,  1750,  1750,  1750,  1750,  1330,  1750,  1750,
381     1750,  1750,  1750,  1750,  1750,  1750,  1750,  1750,  1750,  1750,
382     1750,  1750,  1750,  -370,  -370,   158,  1414,  1750,  1750,  1750,
383     1750,  1750,   250,    15,  1750,    15,    35,  -370,  -370,  1750,
384      -46,  -370,   147,  1750,  1750,  1750,  1750,   258,   434,  -370,
385     -370,  1750,  -370,  -370,   271,   249,   185,  1750,   126,  1498,
386     1582,  -370,   272,  -370,  -370,   338,   263,  -370,  1750,   284,
387     -370,    74,  -370,    74,    74,    74,    74,   232,   232,  -370,
388     1894,   244,    82,  -370,   420,  1978,   802,   671,   718,   464,
389     1894,  1852,   422,   422,   503,   588,   757,   382,   -48,   -48,
390     1750,  1750,  -370,  1666,   230,  -370,  -370,   564,   266,   154,
391      274,   198,   280,  -370,  -370,  -370,  -370,   306,  -370,  -370,
392      238,  -370,  1750,    86,   245,    74,   253,   254,    74,  -370,
393      259,   239,  -370,  -370,  -370,   265,   340,   260,  1750,  1750,
394      285,  -370,  -370,  -370,   578,  -370,   613,  -370,   648,  -370,
395     -370,  -370,   202,  1750,   372,  -370,  -370,  1750,   286,   207,
396     -370,   661,  1750,  -370,   373,  -370,   376,  -370,   390,  -370,
397     -370,  -370,  -370,  -370,  -370,   383,   383,  1750,   383,  1750,
398      316,   323,   383,  -370,  -370,  -370,  -370,   220,  -370,  1936,
399      410,  -370,  -370,   328,  -370,  -370,  -370,   383,   383,  -370,
400      -12,   -12,   329,   129,   407,   383,   383,  -370,  -370,  -370,
401     -370,   129,   129,  -370,   383,   334,  -370,  -370,   383,  -370,
402     -370,   129,  -370,  -370,  -370,   104,  -370,  1750,   129,   516,
403     -370,  -370,   339,  -370,   341,   383,   383,   -12,  -370,  -370
404 };
405
406 /* YYPGOTO[NTERM-NUM].  */
407 static const yytype_int16 yypgoto[] =
408 {
409     -370,  -370,   -26,   -61,  -370,  -370,   -99,  -370,  -370,  -108,
410     -370,   396,  -369,  -370,  -370,   -82,  -370,  -370,  -338,  -370,
411       68,   -51,  -223,    25,  -370,  -370,  -370,  -370,  -370,  -370,
412     -370,  -370,    69,   399,  -370,   415,   -21,   -95,  -370,   247,
413     -370,  -370,  -370,   -28,   -58,  -370,  -370,  -370,  -370,  -370,
414     -370,  -370,  -370,    41,  -370,  -370,  -117,  -216,  -370,  -370,
415      -17,   384,   385,  -370,  -370,   179
416 };
417
418 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
419    positive, shift that token.  If negative, reduce the rule which
420    number is the opposite.  If zero, do what YYDEFACT says.
421    If YYTABLE_NINF, syntax error.  */
422 #define YYTABLE_NINF -187
423 static const yytype_int16 yytable[] =
424 {
425       88,   216,    84,   300,   104,   315,   218,   185,   320,   186,
426      111,   146,   397,   215,   108,   207,   378,   208,    37,   165,
427      184,    -2,   394,   395,   117,   117,   117,   117,   117,   294,
428        3,   117,   117,   202,   203,   204,    33,   138,   205,   299,
429      243,   301,   143,   135,   156,   152,     5,     6,   419,     7,
430        8,    21,   148,   117,   154,   172,    41,   207,   161,   208,
431        5,     6,   409,     7,     8,   146,    24,   220,   223,   224,
432      225,   226,   227,   228,    29,   230,   231,    22,    23,     9,
433      112,   113,   209,   217,   210,    41,    42,    43,   335,    37,
434       31,   238,   187,     9,   126,   360,   361,   297,   105,   146,
435      240,   221,  -187,  -187,   133,   139,   205,   222,   411,   144,
436       10,   107,   153,   234,   235,   158,   125,   164,   157,   166,
437      167,   168,   169,   170,    10,   148,   373,   303,   129,     5,
438        6,   245,     7,     8,   382,   134,   181,   182,   183,   181,
439      182,   183,   175,   130,   181,   182,   183,   250,   251,   253,
440      254,   255,   256,   257,   258,   259,   146,   261,   262,   264,
441      345,   280,     9,   281,   159,   173,   131,    41,   318,   176,
442      177,   178,   179,   306,   282,   309,   180,   132,   287,   288,
443      289,   290,   291,   292,   412,   351,   136,   295,   285,   295,
444      137,   235,   184,    10,   140,   305,   253,   141,   253,   142,
445      317,   181,   182,   183,   347,   206,   211,   212,   366,   324,
446      312,   326,   328,   371,   214,   219,   181,   182,   183,   229,
447      332,   119,   120,   121,   122,   260,   388,   123,   124,   265,
448      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
449      276,   277,   278,   279,   146,   239,   283,   232,   149,   150,
450      241,   246,   338,   339,   242,   341,   248,   381,   334,   383,
451      181,   182,   183,   387,   181,   182,   183,    41,   293,   181,
452      182,   183,   323,   181,   182,   183,   329,   352,   391,   392,
453      344,   331,   181,   182,   183,   405,   401,   402,   346,   333,
454      176,   177,   178,   179,   348,   406,   183,   180,   249,   408,
455      370,   399,   181,   182,   183,   367,   181,   182,   183,   403,
456      404,   181,   182,   183,   235,   322,   417,   418,   342,   410,
457      349,   237,   181,   182,   183,   350,   413,   357,   181,   182,
458      183,   305,   353,   181,   182,   183,   181,   182,   183,    37,
459      354,   355,   181,   182,   183,    41,   356,   -49,   181,   182,
460      183,   114,   358,    36,   359,    37,   115,    38,   321,    39,
461       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
462       50,    51,   362,    52,    53,    54,   368,   374,   369,    55,
463      375,    88,    56,    57,    58,    59,   379,   191,   192,    60,
464       61,    62,    63,    64,   376,    65,    66,    67,    68,    69,
465      181,   182,   183,   385,    70,    71,    72,    73,    74,    75,
466      386,    76,   200,   201,   389,   390,   398,    77,   202,   203,
467      204,   400,   407,   205,    85,   330,   415,   384,   416,    78,
468       79,    80,   191,   192,   414,    36,    81,    82,    35,    38,
469       83,    39,    40,    41,    42,    43,    44,    45,   -44,    47,
470       48,    49,    50,    51,   128,    52,    53,    54,   201,   162,
471      163,    55,   298,   202,   203,   204,     0,     0,   205,     0,
472      189,   190,   191,   192,     0,    64,     0,    65,    66,    67,
473       68,    69,   181,   182,   183,     0,    70,    71,    72,    73,
474       74,    75,     0,    76,   197,   198,   199,   200,   201,    77,
475        0,     0,     0,   202,   203,   204,     0,   336,   205,     0,
476        0,    78,    79,    80,   191,     0,     0,    36,    81,    82,
477        0,    38,    83,    39,    40,    41,    42,    43,    44,    45,
478        0,    47,    48,    49,    50,    51,     0,    52,    53,    54,
479      201,     0,     0,    55,     0,   202,   203,   204,     0,     0,
480      205,   189,   190,   191,   192,     0,     0,    64,     0,    65,
481       66,    67,    68,    69,     0,     0,     0,     0,    70,    71,
482       72,    73,    74,    75,     0,    76,   198,   199,   200,   201,
483        0,    77,     0,     0,   202,   203,   204,     0,     0,   205,
484        0,     0,     0,    78,    79,    80,     0,     0,     0,     0,
485       81,    82,     0,   -44,    83,    37,     0,    38,     0,    39,
486       40,    41,    42,    43,    44,    45,     0,   145,    48,    49,
487       50,    51,   115,    52,    53,    54,   181,   182,   183,    55,
488        0,     0,     0,     0,     0,     0,   189,   190,   191,   192,
489      181,   182,   183,    64,     0,    65,    66,    67,    68,    69,
490        0,   343,     0,     0,    70,    71,    72,    73,    74,    75,
491        0,    76,   199,   200,   201,   363,     0,    77,     0,   202,
492      203,   204,     0,     0,   205,   181,   182,   183,     0,    78,
493       79,    80,     0,     0,     0,     0,    81,    82,     0,    37,
494       83,    38,     0,    39,    40,    41,    42,    43,    44,    45,
495      364,    47,    48,    49,    50,    51,     0,    52,    53,    54,
496      181,   182,   183,    55,     0,     0,     0,     0,     0,   189,
497     -187,   191,   192,   181,   182,   183,     0,    64,     0,    65,
498       66,    67,    68,    69,     0,   365,     0,     0,    70,    71,
499       72,    73,    74,    75,     0,    76,   200,   201,   372,     0,
500        0,    77,   202,   203,   204,     0,     0,   205,     0,     0,
501        0,     0,     0,    78,    79,    80,     0,     0,     0,     0,
502       81,    82,     0,    37,    83,    38,     0,    39,    40,    41,
503       42,    43,    44,    45,     0,   151,    48,    49,    50,    51,
504        0,    52,    53,    54,   201,     0,     0,    55,     0,   202,
505      203,   204,     0,     0,   205,   189,   190,   191,   192,     0,
506        0,    64,     0,    65,    66,    67,    68,    69,     0,     0,
507        0,     0,    70,    71,    72,    73,    74,    75,     0,    76,
508        0,     0,   200,   201,   207,    77,   208,  -157,   202,   203,
509      204,     0,     0,   205,     0,  -157,     0,    78,    79,    80,
510     -187,     0,   191,   192,    81,    82,     0,     0,    83,     0,
511        0,  -157,  -157,  -157,  -157,     0,     0,     0,  -157,     0,
512        0,     0,     0,  -157,     0,     0,     0,   200,   201,  -157,
513     -157,  -157,  -157,   202,   203,   204,     0,     0,   205,     0,
514        0,     0,     0,  -157,  -157,  -157,     0,  -157,  -157,  -157,
515     -157,  -157,  -157,  -157,  -157,  -157,  -157,  -157,     0,     0,
516        0,     0,  -157,  -157,  -157,     0,     0,  -157,  -157,    38,
517      110,    39,    40,    41,    42,    43,    44,    45,     0,    47,
518       48,    49,    50,    51,     0,    52,    53,    54,     0,     0,
519        0,    55,     0,     0,     0,     0,     0,     0,     0,     0,
520        0,     0,     0,     0,     0,    64,     0,    65,    66,    67,
521       68,    69,     0,     0,     0,     0,    70,    71,    72,    73,
522       74,    75,     0,    76,     0,     0,     0,     0,     0,    77,
523        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
524        0,    78,    79,    80,     0,     0,     0,     0,    81,    82,
525        0,    38,    83,    39,    40,    41,    42,    43,    44,    45,
526      155,    47,    48,    49,    50,    51,     0,    52,    53,    54,
527        0,     0,     0,    55,     0,     0,     0,     0,     0,     0,
528        0,     0,     0,     0,     0,     0,     0,    64,     0,    65,
529       66,    67,    68,    69,     0,     0,     0,     0,    70,    71,
530       72,    73,    74,    75,     0,    76,     0,     0,     0,     0,
531        0,    77,     0,     0,     0,     0,     0,     0,     0,     0,
532        0,     0,     0,    78,    79,    80,     0,     0,     0,     0,
533       81,    82,     0,    38,    83,    39,    40,    41,    42,    43,
534       44,    45,     0,    47,    48,    49,    50,    51,     0,    52,
535       53,    54,     0,     0,     0,    55,     0,     0,     0,     0,
536        0,     0,     0,     0,     0,     0,     0,     0,     0,    64,
537        0,    65,    66,    67,    68,    69,     0,     0,     0,     0,
538       70,    71,    72,    73,    74,    75,     0,    76,     0,     0,
539        0,     0,     0,    77,     0,     0,     0,     0,     0,     0,
540        0,     0,     0,     0,     0,    78,    79,    80,     0,     0,
541        0,     0,    81,    82,     0,   171,    83,    38,     0,    39,
542       40,    41,    42,    43,    44,    45,     0,    47,    48,    49,
543       50,    51,     0,    52,    53,    54,     0,     0,     0,    55,
544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
545        0,     0,     0,    64,     0,    65,    66,    67,    68,    69,
546        0,     0,     0,     0,    70,    71,    72,    73,    74,    75,
547        0,    76,     0,     0,     0,     0,     0,    77,     0,     0,
548        0,     0,     0,     0,     0,     0,     0,     0,     0,    78,
549       79,    80,     0,     0,     0,     0,    81,    82,     0,   233,
550       83,    38,     0,    39,    40,    41,    42,    43,    44,    45,
551        0,    47,    48,    49,    50,    51,     0,    52,    53,    54,
552        0,     0,     0,    55,     0,     0,     0,     0,     0,     0,
553        0,     0,     0,     0,     0,     0,     0,    64,     0,    65,
554       66,    67,    68,    69,     0,     0,     0,     0,    70,    71,
555       72,    73,    74,    75,     0,    76,     0,     0,     0,     0,
556        0,    77,     0,     0,     0,     0,     0,     0,     0,     0,
557        0,     0,     0,    78,    79,    80,     0,     0,     0,     0,
558       81,    82,     0,   244,    83,    38,     0,    39,    40,    41,
559       42,    43,    44,    45,     0,    47,    48,    49,    50,    51,
560        0,    52,    53,    54,     0,     0,     0,    55,     0,     0,
561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
562        0,    64,     0,    65,    66,    67,    68,    69,     0,     0,
563        0,     0,    70,    71,    72,    73,    74,    75,     0,    76,
564        0,     0,     0,     0,     0,    77,     0,     0,     0,     0,
565        0,     0,     0,     0,     0,     0,     0,    78,    79,    80,
566        0,     0,     0,     0,    81,    82,     0,   263,    83,    38,
567        0,    39,    40,    41,    42,    43,    44,    45,     0,    47,
568       48,    49,    50,    51,     0,    52,    53,    54,     0,     0,
569        0,    55,     0,     0,     0,     0,     0,     0,     0,     0,
570        0,     0,     0,     0,     0,    64,     0,    65,    66,    67,
571       68,    69,     0,     0,     0,     0,    70,    71,    72,    73,
572       74,    75,     0,    76,     0,     0,     0,     0,     0,    77,
573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
574        0,    78,    79,    80,     0,     0,     0,     0,    81,    82,
575        0,   286,    83,    38,     0,    39,    40,    41,    42,    43,
576       44,    45,     0,    47,    48,    49,    50,    51,     0,    52,
577       53,    54,     0,     0,     0,    55,     0,     0,     0,     0,
578        0,     0,     0,     0,     0,     0,     0,     0,     0,    64,
579        0,    65,    66,    67,    68,    69,     0,     0,     0,     0,
580       70,    71,    72,    73,    74,    75,     0,    76,     0,     0,
581        0,     0,     0,    77,     0,     0,     0,     0,     0,     0,
582        0,     0,     0,     0,     0,    78,    79,    80,     0,     0,
583        0,     0,    81,    82,     0,   325,    83,    38,     0,    39,
584       40,    41,    42,    43,    44,    45,     0,    47,    48,    49,
585       50,    51,     0,    52,    53,    54,     0,     0,     0,    55,
586        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
587        0,     0,     0,    64,     0,    65,    66,    67,    68,    69,
588        0,     0,     0,     0,    70,    71,    72,    73,    74,    75,
589        0,    76,     0,     0,     0,     0,     0,    77,     0,     0,
590        0,     0,     0,     0,     0,     0,     0,     0,     0,    78,
591       79,    80,     0,     0,     0,     0,    81,    82,     0,   327,
592       83,    38,     0,    39,    40,    41,    42,    43,    44,    45,
593        0,    47,    48,    49,    50,    51,     0,    52,    53,    54,
594        0,     0,     0,    55,     0,     0,     0,     0,     0,     0,
595        0,     0,     0,     0,     0,     0,     0,    64,     0,    65,
596       66,    67,    68,    69,     0,     0,     0,     0,    70,    71,
597       72,    73,    74,    75,     0,    76,     0,     0,     0,     0,
598        0,    77,     0,     0,     0,     0,     0,     0,     0,     0,
599        0,     0,     0,    78,    79,    80,     0,     0,     0,     0,
600       81,    82,     0,   340,    83,    38,     0,    39,    40,    41,
601       42,    43,    44,    45,     0,    47,    48,    49,    50,    51,
602        0,    52,    53,    54,     0,     0,     0,    55,     0,     0,
603        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
604        0,    64,     0,    65,    66,    67,    68,    69,     0,     0,
605        0,     0,    70,    71,    72,    73,    74,    75,     0,    76,
606        0,     0,     0,     0,     0,    77,  -186,     0,     0,     0,
607        0,     0,     0,     0,  -186,     0,     0,    78,    79,    80,
608        0,     0,     0,     0,    81,    82,     0,     0,    83,     0,
609     -186,  -186,  -186,  -186,     0,     0,     0,  -186,     0,     0,
610        0,     0,  -186,     0,     0,     0,     0,     0,  -186,  -186,
611     -186,  -186,     0,     0,     0,     0,     0,     0,     0,     0,
612        0,     0,  -186,  -186,  -186,     0,  -186,  -186,  -186,  -186,
613     -186,  -186,  -186,  -186,  -186,  -186,  -186,     0,     0,     0,
614        0,  -186,  -186,  -186,   188,     0,  -186,  -186,     0,     0,
615      189,   190,   191,   192,     0,     0,     0,     0,     0,     0,
616        0,     0,     0,     0,     0,     0,     0,     0,     0,   193,
617      194,   337,   195,   196,   197,   198,   199,   200,   201,     0,
618        0,     0,     0,   202,   203,   204,   188,     0,   205,     0,
619        0,     0,   189,   190,   191,   192,     0,     0,     0,     0,
620        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
621        0,   193,   194,     0,   195,   196,   197,   198,   199,   200,
622      201,     0,     0,     0,     0,   202,   203,   204,   188,     0,
623      205,     0,     0,     0,   189,   190,   191,   192,     0,     0,
624        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
625        0,     0,     0,     0,   194,     0,   195,   196,   197,   198,
626      199,   200,   201,     0,     0,     0,     0,   202,   203,   204,
627     -187,     0,   205,     0,     0,     0,   189,   190,   191,   192,
628        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
629        0,     0,     0,     0,     0,     0,     0,     0,   195,   196,
630      197,   198,   199,   200,   201,     0,     0,     0,     0,   202,
631      203,   204,     0,     0,   205
632 };
633
634 static const yytype_int16 yycheck[] =
635 {
636       28,   109,    28,   219,    30,   228,   123,     3,   231,     5,
637       38,    69,   381,   108,    35,     3,   354,     5,     3,    77,
638       66,     0,    34,    35,    41,    42,    43,    44,    45,    14,
639        0,    48,    49,    81,    82,    83,    14,    63,    86,     4,
640      157,    87,    68,    60,    72,    71,    25,    26,   417,    28,
641       29,    15,    69,    70,    71,    83,     9,     3,    75,     5,
642       25,    26,   400,    28,    29,   123,    24,   125,   129,   130,
643      131,   132,   133,   134,    15,   136,   137,     8,     9,    58,
644       39,    40,     3,     6,     5,     9,    10,    11,     6,     3,
645       15,   149,    88,    58,    53,   318,   319,   214,    18,   157,
646       88,   127,    82,    83,    57,    64,    86,   128,     4,    68,
647       89,    15,    71,   141,   142,    74,    88,    76,    15,    78,
648       79,    80,    81,    82,    89,   142,   342,   222,    88,    25,
649       26,   159,    28,    29,   357,    88,    62,    63,    64,    62,
650       63,    64,    14,    88,    62,    63,    64,   173,   176,   177,
651      178,   179,   180,   181,   182,   183,   214,   185,   186,   187,
652        6,     3,    58,     5,    88,    36,    88,     9,   229,    30,
653       31,    32,    33,   224,    16,   226,    37,    88,   206,   207,
654      208,   209,   210,   211,   407,   302,    88,   213,   205,   215,
655       88,   219,    66,    89,    88,   223,   224,    88,   226,    88,
656      228,    62,    63,    64,     6,    88,     3,    60,     6,   237,
657      227,   239,   240,     6,    15,    88,    62,    63,    64,    88,
658      248,    42,    43,    44,    45,   184,     6,    48,    49,   188,
659      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
660      199,   200,   201,   202,   302,    88,    88,    87,    69,    70,
661        4,    60,   280,   281,    14,   283,     5,   356,    14,   358,
662       62,    63,    64,   362,    62,    63,    64,     9,    18,    62,
663       63,    64,    87,    62,    63,    64,     4,   303,   377,   378,
664       14,    18,    62,    63,    64,   393,   385,   386,    14,     5,
665       30,    31,    32,    33,    14,   394,    64,    37,    87,   398,
666       14,   383,    62,    63,    64,   333,    62,    63,    64,   391,
667      392,    62,    63,    64,   342,    66,   415,   416,    88,   401,
668       14,   142,    62,    63,    64,    87,   408,    88,    62,    63,
669       64,   359,    87,    62,    63,    64,    62,    63,    64,     3,
670       87,    87,    62,    63,    64,     9,    87,    87,    62,    63,
671       64,    15,    87,     1,    14,     3,    20,     5,    87,     7,
672        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
673       18,    19,    87,    21,    22,    23,     4,     4,   337,    27,
674        4,   409,    30,    31,    32,    33,     3,    50,    51,    37,
675       38,    39,    40,    41,     4,    43,    44,    45,    46,    47,
676       62,    63,    64,    87,    52,    53,    54,    55,    56,    57,
677       87,    59,    75,    76,     4,    87,    87,    65,    81,    82,
678       83,    14,    88,    86,    28,    87,    87,   359,    87,    77,
679       78,    79,    50,    51,   409,     1,    84,    85,    23,     5,
680       88,     7,     8,     9,    10,    11,    12,    13,    14,    15,
681       16,    17,    18,    19,    55,    21,    22,    23,    76,    75,
682       75,    27,   215,    81,    82,    83,    -1,    -1,    86,    -1,
683       48,    49,    50,    51,    -1,    41,    -1,    43,    44,    45,
684       46,    47,    62,    63,    64,    -1,    52,    53,    54,    55,
685       56,    57,    -1,    59,    72,    73,    74,    75,    76,    65,
686       -1,    -1,    -1,    81,    82,    83,    -1,    87,    86,    -1,
687       -1,    77,    78,    79,    50,    -1,    -1,     1,    84,    85,
688       -1,     5,    88,     7,     8,     9,    10,    11,    12,    13,
689       -1,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
690       76,    -1,    -1,    27,    -1,    81,    82,    83,    -1,    -1,
691       86,    48,    49,    50,    51,    -1,    -1,    41,    -1,    43,
692       44,    45,    46,    47,    -1,    -1,    -1,    -1,    52,    53,
693       54,    55,    56,    57,    -1,    59,    73,    74,    75,    76,
694       -1,    65,    -1,    -1,    81,    82,    83,    -1,    -1,    86,
695       -1,    -1,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,
696       84,    85,    -1,    87,    88,     3,    -1,     5,    -1,     7,
697        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
698       18,    19,    20,    21,    22,    23,    62,    63,    64,    27,
699       -1,    -1,    -1,    -1,    -1,    -1,    48,    49,    50,    51,
700       62,    63,    64,    41,    -1,    43,    44,    45,    46,    47,
701       -1,    87,    -1,    -1,    52,    53,    54,    55,    56,    57,
702       -1,    59,    74,    75,    76,    87,    -1,    65,    -1,    81,
703       82,    83,    -1,    -1,    86,    62,    63,    64,    -1,    77,
704       78,    79,    -1,    -1,    -1,    -1,    84,    85,    -1,     3,
705       88,     5,    -1,     7,     8,     9,    10,    11,    12,    13,
706       87,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
707       62,    63,    64,    27,    -1,    -1,    -1,    -1,    -1,    48,
708       49,    50,    51,    62,    63,    64,    -1,    41,    -1,    43,
709       44,    45,    46,    47,    -1,    87,    -1,    -1,    52,    53,
710       54,    55,    56,    57,    -1,    59,    75,    76,    87,    -1,
711       -1,    65,    81,    82,    83,    -1,    -1,    86,    -1,    -1,
712       -1,    -1,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,
713       84,    85,    -1,     3,    88,     5,    -1,     7,     8,     9,
714       10,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
715       -1,    21,    22,    23,    76,    -1,    -1,    27,    -1,    81,
716       82,    83,    -1,    -1,    86,    48,    49,    50,    51,    -1,
717       -1,    41,    -1,    43,    44,    45,    46,    47,    -1,    -1,
718       -1,    -1,    52,    53,    54,    55,    56,    57,    -1,    59,
719       -1,    -1,    75,    76,     3,    65,     5,     6,    81,    82,
720       83,    -1,    -1,    86,    -1,    14,    -1,    77,    78,    79,
721       48,    -1,    50,    51,    84,    85,    -1,    -1,    88,    -1,
722       -1,    30,    31,    32,    33,    -1,    -1,    -1,    37,    -1,
723       -1,    -1,    -1,    42,    -1,    -1,    -1,    75,    76,    48,
724       49,    50,    51,    81,    82,    83,    -1,    -1,    86,    -1,
725       -1,    -1,    -1,    62,    63,    64,    -1,    66,    67,    68,
726       69,    70,    71,    72,    73,    74,    75,    76,    -1,    -1,
727       -1,    -1,    81,    82,    83,    -1,    -1,    86,    87,     5,
728        6,     7,     8,     9,    10,    11,    12,    13,    -1,    15,
729       16,    17,    18,    19,    -1,    21,    22,    23,    -1,    -1,
730       -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
731       -1,    -1,    -1,    -1,    -1,    41,    -1,    43,    44,    45,
732       46,    47,    -1,    -1,    -1,    -1,    52,    53,    54,    55,
733       56,    57,    -1,    59,    -1,    -1,    -1,    -1,    -1,    65,
734       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
735       -1,    77,    78,    79,    -1,    -1,    -1,    -1,    84,    85,
736       -1,     5,    88,     7,     8,     9,    10,    11,    12,    13,
737       14,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
738       -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,
739       -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,    43,
740       44,    45,    46,    47,    -1,    -1,    -1,    -1,    52,    53,
741       54,    55,    56,    57,    -1,    59,    -1,    -1,    -1,    -1,
742       -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
743       -1,    -1,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,
744       84,    85,    -1,     5,    88,     7,     8,     9,    10,    11,
745       12,    13,    -1,    15,    16,    17,    18,    19,    -1,    21,
746       22,    23,    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,
747       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,
748       -1,    43,    44,    45,    46,    47,    -1,    -1,    -1,    -1,
749       52,    53,    54,    55,    56,    57,    -1,    59,    -1,    -1,
750       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
751       -1,    -1,    -1,    -1,    -1,    77,    78,    79,    -1,    -1,
752       -1,    -1,    84,    85,    -1,    87,    88,     5,    -1,     7,
753        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
754       18,    19,    -1,    21,    22,    23,    -1,    -1,    -1,    27,
755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
756       -1,    -1,    -1,    41,    -1,    43,    44,    45,    46,    47,
757       -1,    -1,    -1,    -1,    52,    53,    54,    55,    56,    57,
758       -1,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
759       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    77,
760       78,    79,    -1,    -1,    -1,    -1,    84,    85,    -1,    87,
761       88,     5,    -1,     7,     8,     9,    10,    11,    12,    13,
762       -1,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
763       -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,
764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,    43,
765       44,    45,    46,    47,    -1,    -1,    -1,    -1,    52,    53,
766       54,    55,    56,    57,    -1,    59,    -1,    -1,    -1,    -1,
767       -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
768       -1,    -1,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,
769       84,    85,    -1,    87,    88,     5,    -1,     7,     8,     9,
770       10,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
771       -1,    21,    22,    23,    -1,    -1,    -1,    27,    -1,    -1,
772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
773       -1,    41,    -1,    43,    44,    45,    46,    47,    -1,    -1,
774       -1,    -1,    52,    53,    54,    55,    56,    57,    -1,    59,
775       -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,
776       -1,    -1,    -1,    -1,    -1,    -1,    -1,    77,    78,    79,
777       -1,    -1,    -1,    -1,    84,    85,    -1,    87,    88,     5,
778       -1,     7,     8,     9,    10,    11,    12,    13,    -1,    15,
779       16,    17,    18,    19,    -1,    21,    22,    23,    -1,    -1,
780       -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
781       -1,    -1,    -1,    -1,    -1,    41,    -1,    43,    44,    45,
782       46,    47,    -1,    -1,    -1,    -1,    52,    53,    54,    55,
783       56,    57,    -1,    59,    -1,    -1,    -1,    -1,    -1,    65,
784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
785       -1,    77,    78,    79,    -1,    -1,    -1,    -1,    84,    85,
786       -1,    87,    88,     5,    -1,     7,     8,     9,    10,    11,
787       12,    13,    -1,    15,    16,    17,    18,    19,    -1,    21,
788       22,    23,    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,
789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,
790       -1,    43,    44,    45,    46,    47,    -1,    -1,    -1,    -1,
791       52,    53,    54,    55,    56,    57,    -1,    59,    -1,    -1,
792       -1,    -1,    -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,
793       -1,    -1,    -1,    -1,    -1,    77,    78,    79,    -1,    -1,
794       -1,    -1,    84,    85,    -1,    87,    88,     5,    -1,     7,
795        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
796       18,    19,    -1,    21,    22,    23,    -1,    -1,    -1,    27,
797       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
798       -1,    -1,    -1,    41,    -1,    43,    44,    45,    46,    47,
799       -1,    -1,    -1,    -1,    52,    53,    54,    55,    56,    57,
800       -1,    59,    -1,    -1,    -1,    -1,    -1,    65,    -1,    -1,
801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    77,
802       78,    79,    -1,    -1,    -1,    -1,    84,    85,    -1,    87,
803       88,     5,    -1,     7,     8,     9,    10,    11,    12,    13,
804       -1,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
805       -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,
806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,    43,
807       44,    45,    46,    47,    -1,    -1,    -1,    -1,    52,    53,
808       54,    55,    56,    57,    -1,    59,    -1,    -1,    -1,    -1,
809       -1,    65,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
810       -1,    -1,    -1,    77,    78,    79,    -1,    -1,    -1,    -1,
811       84,    85,    -1,    87,    88,     5,    -1,     7,     8,     9,
812       10,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
813       -1,    21,    22,    23,    -1,    -1,    -1,    27,    -1,    -1,
814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
815       -1,    41,    -1,    43,    44,    45,    46,    47,    -1,    -1,
816       -1,    -1,    52,    53,    54,    55,    56,    57,    -1,    59,
817       -1,    -1,    -1,    -1,    -1,    65,     6,    -1,    -1,    -1,
818       -1,    -1,    -1,    -1,    14,    -1,    -1,    77,    78,    79,
819       -1,    -1,    -1,    -1,    84,    85,    -1,    -1,    88,    -1,
820       30,    31,    32,    33,    -1,    -1,    -1,    37,    -1,    -1,
821       -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,    48,    49,
822       50,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
823       -1,    -1,    62,    63,    64,    -1,    66,    67,    68,    69,
824       70,    71,    72,    73,    74,    75,    76,    -1,    -1,    -1,
825       -1,    81,    82,    83,    42,    -1,    86,    87,    -1,    -1,
826       48,    49,    50,    51,    -1,    -1,    -1,    -1,    -1,    -1,
827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    67,
828       68,    69,    70,    71,    72,    73,    74,    75,    76,    -1,
829       -1,    -1,    -1,    81,    82,    83,    42,    -1,    86,    -1,
830       -1,    -1,    48,    49,    50,    51,    -1,    -1,    -1,    -1,
831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
832       -1,    67,    68,    -1,    70,    71,    72,    73,    74,    75,
833       76,    -1,    -1,    -1,    -1,    81,    82,    83,    42,    -1,
834       86,    -1,    -1,    -1,    48,    49,    50,    51,    -1,    -1,
835       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
836       -1,    -1,    -1,    -1,    68,    -1,    70,    71,    72,    73,
837       74,    75,    76,    -1,    -1,    -1,    -1,    81,    82,    83,
838       42,    -1,    86,    -1,    -1,    -1,    48,    49,    50,    51,
839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    71,
841       72,    73,    74,    75,    76,    -1,    -1,    -1,    -1,    81,
842       82,    83,    -1,    -1,    86
843 };
844
845 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
846    symbol of state STATE-NUM.  */
847 static const yytype_uint8 yystos[] =
848 {
849        0,    91,    95,     0,    99,    25,    26,    28,    29,    58,
850       89,    98,   116,   117,   118,   120,   121,   130,   131,   124,
851      122,    15,   122,   122,    24,   100,   106,   107,   115,    15,
852      119,    15,   125,    14,   132,   125,     1,     3,     5,     7,
853        8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
854       18,    19,    21,    22,    23,    27,    30,    31,    32,    33,
855       37,    38,    39,    40,    41,    43,    44,    45,    46,    47,
856       52,    53,    54,    55,    56,    57,    59,    65,    77,    78,
857       79,    84,    85,    88,    92,   101,   103,   104,   133,   134,
858      135,   138,   139,   140,   141,   142,   143,   144,   149,   150,
859      151,   152,   153,   154,    92,    18,   126,    15,   126,    93,
860        6,   133,   143,   143,    15,    20,    92,   150,   155,   155,
861      155,   155,   155,   155,   155,    88,   143,   123,   123,    88,
862       88,    88,    88,    57,    88,   150,    88,    88,    92,   143,
863       88,    88,    88,    92,   143,    15,   134,   146,   150,   155,
864      155,    15,    92,   143,   150,    14,   133,    15,   143,    88,
865      145,   150,   151,   152,   143,   134,   143,   143,   143,   143,
866      143,    87,   133,    36,   105,    14,    30,    31,    32,    33,
867       37,    62,    63,    64,    66,     3,     5,    88,    42,    48,
868       49,    50,    51,    67,    68,    70,    71,    72,    73,    74,
869       75,    76,    81,    82,    83,    86,    88,     3,     5,     3,
870        5,     3,    60,   127,    15,   127,    99,     6,   146,    88,
871      134,    92,   126,    93,    93,    93,    93,    93,    93,    88,
872       93,    93,    87,    87,   133,   133,   147,   155,   134,    88,
873       88,     4,    14,   146,    87,   133,    60,   128,     5,    87,
874       92,   133,   111,   133,   133,   133,   133,   133,   133,   133,
875      143,   133,   133,    87,   133,   143,   143,   143,   143,   143,
876      143,   143,   143,   143,   143,   143,   143,   143,   143,   143,
877        3,     5,    16,    88,   137,   150,    87,   133,   133,   133,
878      133,   133,   133,    18,    14,    92,   129,   146,   129,     4,
879      147,    87,   136,   127,   110,   133,   111,   112,   133,   111,
880      114,   148,   150,   101,   109,   112,   113,   133,    93,    94,
881      112,    87,    66,    87,   133,    87,   133,    87,   133,     4,
882       87,    18,   133,     5,    14,     6,    87,    69,   133,   133,
883       87,   133,    88,    87,    14,     6,    14,     6,    14,    14,
884       87,   146,    92,    87,    87,    87,    87,    88,    87,    14,
885      112,   112,    87,    87,    87,    87,     6,   133,     4,   143,
886       14,     6,    87,   147,     4,     4,     4,   108,   108,     3,
887       96,    96,   112,    96,   110,    87,    87,    96,     6,     4,
888       87,    96,    96,    97,    34,    35,   102,   102,    87,   105,
889       14,    96,    96,   105,   105,    99,    96,    88,    96,   108,
890      105,     4,   112,   105,   113,    87,    87,    96,    96,   102
891 };
892
893 typedef enum {
894         toketype_i_tkval, toketype_ival, toketype_opval, toketype_p_tkval
895 } toketypes;
896
897 /* type of each token/terminal */
898 static const toketypes yy_type_tab[] =
899 {
900   toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
901   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_opval, toketype_opval, toketype_opval,
902   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
903   toketype_p_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
904   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
905   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
906   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
907   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
908   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
909   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
910   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
911   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival,
912   toketype_ival, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
913   toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
914   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
915   toketype_opval, toketype_opval, toketype_opval, toketype_p_tkval, toketype_opval, toketype_opval, toketype_opval,
916   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival,
917   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
918   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
919   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
920   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
921   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval
922 };