This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Added a failing test for a bareword parsing regression created in 984f9f66
[perl5.git] / perly.tab
1 #define YYFINAL  3
2 /* YYLAST -- Last index in YYTABLE.  */
3 #define YYLAST   2061
4
5 /* YYNTOKENS -- Number of terminals.  */
6 #define YYNTOKENS  91
7 /* YYNNTS -- Number of nonterminals.  */
8 #define YYNNTS  65
9 /* YYNRULES -- Number of rules.  */
10 #define YYNRULES  211
11 /* YYNRULES -- Number of states.  */
12 #define YYNSTATES  422
13
14 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
15 #define YYUNDEFTOK  2
16 #define YYMAXUTOK   326
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,    78,     2,     2,     9,    11,    13,     2,
28       89,    88,    12,     8,    67,     7,     2,     2,     2,     2,
29        2,     2,     2,     2,     2,     2,     2,     2,    70,    14,
30        2,     2,     2,    69,    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,    79,     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,    66,
55       68,    71,    72,    73,    74,    75,    76,    77,    80,    81,
56       82,    83,    84,    85,    86,    87,    90
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,    24,    27,    30,    32,    34,    37,    40,    44,    46,
66       48,    52,    56,    60,    64,    68,    72,    73,    76,    83,
67       91,    99,   106,   109,   110,   113,   123,   133,   144,   154,
68      163,   176,   180,   189,   190,   191,   193,   194,   196,   198,
69      200,   202,   204,   205,   207,   209,   211,   213,   215,   217,
70      219,   221,   226,   228,   229,   236,   243,   244,   245,   246,
71      248,   249,   251,   252,   255,   257,   260,   262,   264,   266,
72      270,   271,   279,   283,   287,   291,   293,   296,   300,   302,
73      306,   312,   319,   323,   327,   333,   336,   341,   342,   348,
74      350,   352,   358,   363,   369,   374,   380,   387,   393,   398,
75      404,   409,   413,   420,   426,   430,   434,   438,   442,   446,
76      450,   454,   458,   462,   466,   470,   474,   478,   482,   485,
77      488,   491,   494,   497,   500,   503,   506,   510,   513,   518,
78      522,   528,   531,   534,   539,   545,   550,   556,   558,   560,
79      562,   564,   570,   573,   575,   578,   582,   585,   587,   589,
80      591,   593,   595,   597,   602,   608,   610,   612,   616,   621,
81      625,   627,   630,   633,   635,   638,   641,   643,   646,   648,
82      651,   653,   657,   659,   663,   668,   673,   675,   677,   679,
83      683,   686,   690,   693,   695,   697,   699,   700,   702,   703,
84      705,   708,   710,   713,   716,   719,   722,   725,   728,   730,
85      732,   734
86 };
87
88 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
89 static const yytype_int16 yyrhs[] =
90 {
91       92,     0,    -1,    96,    99,    -1,     3,    94,    99,     4,
92       -1,    -1,    -1,    -1,     3,    98,    99,     4,    -1,    -1,
93       -1,    99,   116,    -1,    99,   100,    -1,   115,   103,    -1,
94      106,    -1,   107,    -1,   115,   104,    -1,   115,    14,    -1,
95      115,   101,    14,    -1,     1,    -1,   133,    -1,   133,    32,
96      133,    -1,   133,    33,   133,    -1,   133,    30,   133,    -1,
97      133,    31,   111,    -1,   133,    37,   133,    -1,   133,    39,
98      133,    -1,    -1,    34,    97,    -1,    35,    89,   112,    88,
99       97,   102,    -1,    32,    89,    94,   112,    88,    97,   102,
100       -1,    33,    89,    94,   114,    88,    97,   102,    -1,    39,
101       89,    94,   112,    88,    97,    -1,    40,    93,    -1,    -1,
102       36,    93,    -1,   115,    30,    89,    94,   110,    88,   108,
103       97,   105,    -1,   115,    31,    89,    94,   111,    88,   108,
104       97,   105,    -1,   115,    37,    58,    94,   148,    89,   112,
105       88,    97,   105,    -1,   115,    37,   150,    89,    94,   112,
106       88,    97,   105,    -1,   115,    37,    89,    94,   112,    88,
107       97,   105,    -1,   115,    37,    89,    94,   113,    14,   110,
108       14,   108,   113,    88,    97,    -1,   115,    93,   105,    -1,
109      115,    38,    89,    94,    95,   112,    88,    97,    -1,    -1,
110       -1,   101,    -1,    -1,   133,    -1,   133,    -1,   133,    -1,
111      109,    -1,   111,    -1,    -1,    24,    -1,   118,    -1,   121,
112       -1,   120,    -1,   130,    -1,   131,    -1,   117,    -1,    90,
113       -1,    25,   124,   119,    93,    -1,    15,    -1,    -1,    59,
114      122,   125,   126,   127,   129,    -1,    26,   122,   125,   126,
115      127,   129,    -1,    -1,    -1,    -1,    15,    -1,    -1,    18,
116       -1,    -1,    61,    18,    -1,    61,    -1,    61,    18,    -1,
117       61,    -1,    93,    -1,    14,    -1,    28,    15,    14,    -1,
118       -1,    29,   122,   132,    15,    15,   146,    14,    -1,   133,
119       65,   133,    -1,   133,    64,   133,    -1,   133,    63,   133,
120       -1,   134,    -1,   134,    67,    -1,   134,    67,   143,    -1,
121      143,    -1,    48,   155,   134,    -1,    46,    89,   155,   133,
122       88,    -1,   143,    87,   137,    89,   147,    88,    -1,   143,
123       87,   137,    -1,    16,   155,   146,    -1,    17,   155,    89,
124      147,    88,    -1,    48,   146,    -1,    46,    89,   147,    88,
125       -1,    -1,    23,   123,    93,   136,   146,    -1,    16,    -1,
126      150,    -1,   154,     3,   133,    14,     4,    -1,   150,     5,
127      133,     6,    -1,   143,    87,     5,   133,     6,    -1,   138,
128        5,   133,     6,    -1,   150,     3,   133,    14,     4,    -1,
129      143,    87,     3,   133,    14,     4,    -1,   138,     3,   133,
130       14,     4,    -1,   143,    87,    89,    88,    -1,   143,    87,
131       89,   133,    88,    -1,   138,    89,   133,    88,    -1,   138,
132       89,    88,    -1,    89,   133,    88,     5,   133,     6,    -1,
133       89,    88,     5,   133,     6,    -1,   143,    68,   143,    -1,
134      143,    82,   143,    -1,   143,    51,   143,    -1,   143,    52,
135      143,    -1,   143,    76,   143,    -1,   143,    49,   143,    -1,
136      143,    50,   143,    -1,   143,    75,   143,    -1,   143,    74,
137      143,    -1,   143,    42,   143,    -1,   143,    73,   143,    -1,
138      143,    72,   143,    -1,   143,    71,   143,    -1,   143,    77,
139      143,    -1,     7,   143,    -1,     8,   143,    -1,    78,   143,
140       -1,    79,   143,    -1,   143,    84,    -1,   143,    83,    -1,
141       86,   143,    -1,    85,   143,    -1,     5,   133,     6,    -1,
142        5,     6,    -1,    55,   133,    14,     4,    -1,    55,    14,
143        4,    -1,    27,   123,   126,   127,    93,    -1,    54,   143,
144       -1,    54,    93,    -1,    54,    15,    89,    88,    -1,    54,
145       15,    89,   133,    88,    -1,    54,   150,    89,    88,    -1,
146       54,   150,    89,   133,    88,    -1,   139,    -1,   140,    -1,
147      141,    -1,   142,    -1,   143,    69,   143,    70,   143,    -1,
148       80,   143,    -1,   144,    -1,    57,   143,    -1,    89,   133,
149       88,    -1,    89,    88,    -1,   150,    -1,   154,    -1,   152,
150       -1,   151,    -1,   153,    -1,   138,    -1,   151,     5,   133,
151        6,    -1,   151,     3,   133,    14,     4,    -1,    18,    -1,
152      149,    -1,   149,    89,    88,    -1,   149,    89,   133,    88,
153       -1,    56,    15,   146,    -1,    41,    -1,    41,   143,    -1,
154       66,   134,    -1,    47,    -1,    47,    93,    -1,    47,   143,
155       -1,    60,    -1,    60,   143,    -1,    22,    -1,    22,   143,
156       -1,    44,    -1,    44,    89,    88,    -1,    21,    -1,    45,
157       89,    88,    -1,    45,    89,   133,    88,    -1,    19,    89,
158      134,    88,    -1,    15,    -1,   135,    -1,    43,    -1,    58,
159      145,   128,    -1,    58,   145,    -1,    89,   133,    88,    -1,
160       89,    88,    -1,   150,    -1,   152,    -1,   151,    -1,    -1,
161      134,    -1,    -1,   133,    -1,   133,    67,    -1,   150,    -1,
162       13,   155,    -1,     9,   155,    -1,    10,   155,    -1,    11,
163      155,    -1,    53,   155,    -1,    12,   155,    -1,    15,    -1,
164      150,    -1,    93,    -1,    20,    -1
165 };
166
167 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
168 static const yytype_uint16 yyrline[] =
169 {
170        0,   140,   140,   146,   156,   160,   164,   170,   180,   185,
171      186,   193,   203,   206,   207,   209,   211,   228,   247,   249,
172      251,   255,   259,   263,   267,   272,   278,   279,   283,   294,
173      302,   313,   316,   322,   323,   330,   343,   355,   366,   376,
174      386,   418,   426,   436,   442,   443,   448,   451,   455,   460,
175      464,   468,   474,   483,   487,   489,   491,   493,   495,   500,
176      504,   510,   524,   525,   529,   542,   565,   571,   576,   581,
177      591,   592,   597,   598,   602,   612,   616,   626,   627,   636,
178      650,   649,   668,   672,   676,   680,   684,   694,   703,   707,
179      712,   719,   728,   734,   740,   748,   752,   759,   758,   769,
180      770,   774,   783,   788,   796,   803,   810,   820,   829,   836,
181      845,   852,   858,   865,   875,   879,   883,   889,   893,   897,
182      901,   905,   909,   913,   925,   929,   933,   937,   947,   951,
183      958,   962,   966,   971,   976,   981,   990,   995,  1000,  1006,
184     1012,  1023,  1027,  1031,  1043,  1056,  1064,  1076,  1077,  1078,
185     1079,  1080,  1085,  1089,  1091,  1095,  1100,  1105,  1107,  1109,
186     1111,  1113,  1115,  1117,  1126,  1137,  1139,  1141,  1146,  1159,
187     1164,  1169,  1173,  1177,  1181,  1185,  1189,  1193,  1197,  1199,
188     1202,  1206,  1212,  1215,  1224,  1230,  1235,  1236,  1237,  1245,
189     1253,  1260,  1265,  1270,  1272,  1274,  1279,  1281,  1286,  1287,
190     1289,  1304,  1308,  1314,  1320,  1326,  1332,  1338,  1345,  1347,
191     1349,  1352
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", "YADAYADA", "FUNC0", "FUNC1", "FUNC",
206   "UNIOP", "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", "lineseq", "line", "sideff", "else", "cond", "case", "cont",
214   "loop", "switch", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr",
215   "miexpr", "label", "decl", "peg", "format", "formname", "mysubrout",
216   "subrout", "startsub", "startanonsub", "startformsub", "subname",
217   "proto", "subattrlist", "myattrlist", "subbody", "package", "use", "$@1",
218   "expr", "argexpr", "listop", "@2", "method", "subscripted", "termbinop",
219   "termunop", "anonymous", "termdo", "term", "myattrterm", "myterm",
220   "listexpr", "listexprcom", "my_scalar", "amper", "scalar", "ary", "hsh",
221   "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,   309,    44,   310,    63,
237       58,   311,   312,   313,   314,   315,   316,   317,    33,   126,
238      318,   319,   320,   321,   322,   323,   324,   325,    41,    40,
239      326
240 };
241 # endif
242
243 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
244 static const yytype_uint8 yyr1[] =
245 {
246        0,    91,    92,    93,    94,    95,    96,    97,    98,    99,
247       99,    99,   100,   100,   100,   100,   100,   100,   101,   101,
248      101,   101,   101,   101,   101,   101,   102,   102,   102,   103,
249      103,   104,   104,   105,   105,   106,   106,   106,   106,   106,
250      106,   106,   107,   108,   109,   109,   110,   110,   111,   112,
251      113,   114,   115,   115,   116,   116,   116,   116,   116,   116,
252      117,   118,   119,   119,   120,   121,   122,   123,   124,   125,
253      126,   126,   127,   127,   127,   128,   128,   129,   129,   130,
254      132,   131,   133,   133,   133,   133,   134,   134,   134,   135,
255      135,   135,   135,   135,   135,   135,   135,   136,   135,   137,
256      137,   138,   138,   138,   138,   138,   138,   138,   138,   138,
257      138,   138,   138,   138,   139,   139,   139,   139,   139,   139,
258      139,   139,   139,   139,   139,   139,   139,   139,   140,   140,
259      140,   140,   140,   140,   140,   140,   141,   141,   141,   141,
260      141,   142,   142,   142,   142,   142,   142,   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,   143,   143,
264      143,   143,   143,   143,   143,   143,   143,   143,   143,   144,
265      144,   145,   145,   145,   145,   145,   146,   146,   147,   147,
266      147,   148,   149,   150,   151,   152,   153,   154,   155,   155,
267      155,   155
268 };
269
270 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
271 static const yytype_uint8 yyr2[] =
272 {
273        0,     2,     2,     4,     0,     0,     0,     4,     0,     0,
274        2,     2,     2,     1,     1,     2,     2,     3,     1,     1,
275        3,     3,     3,     3,     3,     3,     0,     2,     6,     7,
276        7,     6,     2,     0,     2,     9,     9,    10,     9,     8,
277       12,     3,     8,     0,     0,     1,     0,     1,     1,     1,
278        1,     1,     0,     1,     1,     1,     1,     1,     1,     1,
279        1,     4,     1,     0,     6,     6,     0,     0,     0,     1,
280        0,     1,     0,     2,     1,     2,     1,     1,     1,     3,
281        0,     7,     3,     3,     3,     1,     2,     3,     1,     3,
282        5,     6,     3,     3,     5,     2,     4,     0,     5,     1,
283        1,     5,     4,     5,     4,     5,     6,     5,     4,     5,
284        4,     3,     6,     5,     3,     3,     3,     3,     3,     3,
285        3,     3,     3,     3,     3,     3,     3,     3,     2,     2,
286        2,     2,     2,     2,     2,     2,     3,     2,     4,     3,
287        5,     2,     2,     4,     5,     4,     5,     1,     1,     1,
288        1,     5,     2,     1,     2,     3,     2,     1,     1,     1,
289        1,     1,     1,     4,     5,     1,     1,     3,     4,     3,
290        1,     2,     2,     1,     2,     2,     1,     2,     1,     2,
291        1,     3,     1,     3,     4,     4,     1,     1,     1,     3,
292        2,     3,     2,     1,     1,     1,     0,     1,     0,     1,
293        2,     1,     2,     2,     2,     2,     2,     2,     1,     1,
294        1,     1
295 };
296
297 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
298    STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
299    means the default is an error.  */
300 static const yytype_uint8 yydefact[] =
301 {
302        6,     0,     9,     1,    52,    53,    68,    66,     0,    66,
303       66,    60,    11,    13,    14,     0,    10,    59,    54,    56,
304       55,    57,    58,    63,     0,     0,    80,     0,    18,     4,
305        0,     0,     0,     0,     0,     0,     0,     0,    16,   186,
306        0,     0,   165,     0,   182,   178,    67,    67,     0,     0,
307        0,     0,     0,     0,     0,     0,   170,   188,   180,     0,
308        0,   173,   196,     0,     0,     0,     0,     0,     0,   176,
309        0,     0,     0,     0,     0,     0,     0,    33,     0,    12,
310       15,    19,    85,   187,   162,   147,   148,   149,   150,    88,
311      153,   166,   157,   160,   159,   161,   158,    62,     0,    69,
312       70,    79,     0,    70,     9,   137,     0,   128,   129,   208,
313      211,   210,   209,   203,   204,   205,   207,   202,   196,     0,
314        0,   179,     0,    70,     4,     4,     4,     4,     4,     4,
315        0,     4,     4,    32,   171,     0,     0,   198,   174,   175,
316      208,   197,    95,   209,     0,   206,   186,   142,   141,   157,
317        0,     0,   196,   154,     0,   190,   193,   195,   194,   177,
318      172,   130,   131,   152,   135,   134,   156,     0,     0,    41,
319       17,     0,     0,     0,     0,     0,     0,     0,     0,     0,
320       86,     0,     0,     0,     0,     0,     0,     0,     0,     0,
321        0,     0,     0,     0,     0,     0,     0,     0,     0,   133,
322      132,     0,     0,     0,     0,     0,     0,     0,    61,    71,
323       72,     0,    72,    52,   136,    93,   198,     0,    97,    72,
324       46,     0,     0,     0,     0,     0,     4,     5,     0,   181,
325      183,     0,   199,     0,     0,    89,     0,     0,   139,     0,
326      169,   192,     0,    76,   189,     0,   155,    34,    22,    23,
327       48,    20,    21,    24,    25,    84,    83,    82,    87,     0,
328        0,   111,     0,   123,   119,   120,   116,   117,   114,     0,
329      126,   125,   124,   122,   121,   118,   127,   115,     0,     0,
330       99,     0,    92,   100,   167,     0,     0,     0,     0,     0,
331        0,    74,     0,   196,     0,     3,     0,   185,   196,     0,
332        0,    47,     0,     0,    49,    51,     0,     0,   201,    45,
333       50,     0,     0,    19,     0,     0,     0,   184,   200,    96,
334        0,   143,     0,   145,     0,   138,   191,    75,     0,     0,
335        0,   104,   110,     0,     0,     0,   108,     0,   198,   168,
336        0,   102,     0,   163,     0,    73,    78,    77,    65,     0,
337       64,    94,    98,   140,    43,    43,     0,     0,     0,     0,
338       46,     0,     0,     0,    90,   144,   146,   113,     0,   107,
339      151,     0,   103,   109,     0,   105,   164,   101,    81,     0,
340        0,     8,    26,    26,     0,    33,     0,     0,     0,    31,
341      112,   106,    91,    33,    33,     9,     0,     0,    29,    30,
342        0,    39,    43,    33,    42,    35,    36,    52,    27,     0,
343       33,     0,    38,     7,     0,    37,     0,     0,     0,    26,
344       40,    28
345 };
346
347 /* YYDEFGOTO[NTERM-NUM].  */
348 static const yytype_int16 yydefgoto[] =
349 {
350       -1,     1,   111,   104,   315,     2,   382,   395,     4,    12,
351      309,   398,    79,    80,   169,    13,    14,   379,   310,   300,
352      249,   303,   312,   306,    15,    16,    17,    18,    98,    19,
353       20,    24,   122,    23,   100,   210,   292,   244,   348,    21,
354       22,   102,   304,    82,    83,   298,   282,    84,    85,    86,
355       87,    88,    89,    90,   155,   142,   233,   307,    91,    92,
356       93,    94,    95,    96,   113
357 };
358
359 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
360    STATE-NUM.  */
361 #define YYPACT_NINF -354
362 static const yytype_int16 yypact[] =
363 {
364     -354,    26,  -354,  -354,   145,  -354,  -354,  -354,    25,  -354,
365     -354,  -354,  -354,  -354,  -354,   294,  -354,  -354,  -354,  -354,
366     -354,  -354,  -354,    64,    71,    96,  -354,    71,  -354,  -354,
367      876,  1722,  1722,   373,   373,   373,   373,   373,  -354,  -354,
368      373,   373,  -354,    24,  -354,  1722,  -354,  -354,    55,    63,
369       90,   104,     0,   107,   108,   116,  1722,  -354,   113,   118,
370      120,   645,   560,   373,   730,   959,   138,  1722,    35,  1722,
371     1722,  1722,  1722,  1722,  1722,  1722,  1042,   177,   204,  -354,
372     -354,  1003,   162,  -354,    14,  -354,  -354,  -354,  -354,  1896,
373     -354,   167,    38,    73,  -354,  -354,   231,  -354,   116,  -354,
374      239,  -354,   244,   239,  -354,  -354,    30,   133,   133,  -354,
375     -354,  -354,  -354,  -354,  -354,  -354,  -354,  -354,  1722,   172,
376     1722,   421,   116,   239,  -354,  -354,  -354,  -354,  -354,  -354,
377      173,  -354,  -354,  -354,  1896,   179,  1127,   560,  -354,   421,
378     1783,   162,  -354,   792,  1722,  -354,   176,  -354,   421,    22,
379      270,     7,  1722,   421,  1212,   219,  -354,  -354,  -354,   421,
380      162,   133,   133,   133,   -10,   -10,   277,   255,   116,  -354,
381     -354,  1722,  1722,  1722,  1722,  1722,  1722,  1722,  1722,  1722,
382     1722,  1722,  1722,  1297,  1722,  1722,  1722,  1722,  1722,  1722,
383     1722,  1722,  1722,  1722,  1722,  1722,  1722,  1722,  1722,  -354,
384     -354,    13,  1382,  1722,  1722,  1722,  1722,  1722,  -354,  -354,
385      226,   275,   226,   122,  -354,  -354,  1722,   -39,  -354,   226,
386     1722,  1722,  1722,  1722,   282,   390,  -354,  -354,  1722,  -354,
387     -354,   306,   360,   206,  1722,   162,  1467,  1552,  -354,   289,
388     -354,  -354,   322,   278,  -354,  1722,   293,  -354,   377,  -354,
389      377,   377,   377,   377,   377,   235,   235,  -354,  1896,    33,
390       69,  -354,   351,  1974,   908,   717,   201,   279,  1896,  1857,
391      461,   461,   547,   631,   861,   378,   133,   133,  1722,  1722,
392     -354,  1637,   233,  -354,  -354,   459,   121,    77,   135,   112,
393      168,   310,    78,  1722,    78,  -354,   241,  -354,  1722,   116,
394      248,   377,   256,   258,   377,  -354,   265,   266,  -354,  -354,
395     -354,   269,   344,   389,  1722,  1722,   276,  -354,  -354,  -354,
396      521,  -354,   606,  -354,   632,  -354,  -354,  -354,   174,  1722,
397      361,  -354,  -354,  1722,   212,   205,  -354,   691,  1722,  -354,
398      371,  -354,   374,  -354,   386,  -354,  -354,  -354,  -354,   367,
399     -354,  -354,  -354,  -354,  -354,  -354,   415,   415,  1722,   415,
400     1722,   304,   363,   415,  -354,  -354,  -354,  -354,   208,  -354,
401     1935,   428,  -354,  -354,   369,  -354,  -354,  -354,  -354,   415,
402      415,  -354,    81,    81,   370,   177,   435,   415,   415,  -354,
403     -354,  -354,  -354,   177,   177,  -354,   415,   375,  -354,  -354,
404      415,  -354,  -354,   177,  -354,  -354,  -354,   199,  -354,  1722,
405      177,   473,  -354,  -354,   379,  -354,   383,   415,   415,    81,
406     -354,  -354
407 };
408
409 /* YYPGOTO[NTERM-NUM].  */
410 static const yytype_int16 yypgoto[] =
411 {
412     -354,  -354,   -13,   -72,  -354,  -354,  1505,  -354,  -103,  -354,
413      444,  -353,  -354,  -354,   -26,  -354,  -354,  -335,  -354,   103,
414     -116,  -215,    76,  -354,  -354,  -354,  -354,  -354,  -354,  -354,
415     -354,   128,   419,  -354,   466,   -19,  -181,  -354,   207,  -354,
416     -354,  -354,   -15,   -38,  -354,  -354,  -354,  -354,  -354,  -354,
417     -354,  -354,    56,  -354,  -354,  -115,  -202,  -354,  -354,   -29,
418      431,   434,  -354,  -354,    28
419 };
420
421 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
422    positive, shift that token.  If negative, reduce the rule which
423    number is the opposite.  If zero, do what YYDEFACT says.
424    If YYTABLE_NINF, syntax error.  */
425 #define YYTABLE_NINF -187
426 static const yytype_int16 yytable[] =
427 {
428       81,   213,    77,   215,   112,   112,   112,   112,   112,    33,
429      311,   112,   112,   316,   296,   106,   278,   181,   279,   182,
430      380,   239,    33,   130,   141,   203,     3,   204,   180,   280,
431      399,   294,   160,   143,   112,   149,   214,   240,   299,   156,
432       25,   203,   133,   204,    33,    34,    35,   330,   138,   297,
433      151,   147,   220,   221,   222,   223,   224,   225,   128,   227,
434      228,   167,   114,   115,   116,   117,   421,   411,   118,   119,
435      177,   178,   179,  -187,  -187,   331,   205,   201,   206,    97,
436      141,    29,   217,   341,   212,   208,    99,   107,   108,   129,
437      144,   145,   346,   177,   178,   179,   177,   178,   179,   361,
438      362,   121,   281,   183,   219,   302,   235,   305,   143,   218,
439      101,   237,   134,   120,   141,   396,   397,   139,   343,    29,
440      148,   231,   232,   153,   154,   159,   295,   161,   162,   163,
441      164,   165,   177,   178,   179,   340,   374,    26,    27,   242,
442      177,   178,   179,   384,   124,    -2,     5,     6,     7,   342,
443        8,     9,   125,   152,   314,   247,   248,   250,   251,   252,
444      253,   254,   255,   256,   257,   234,   259,   260,   262,     5,
445        6,     7,   283,     8,     9,   177,   178,   179,   349,   126,
446      367,    10,   344,   352,   177,   178,   179,   285,   286,   287,
447      288,   289,   290,   127,   414,   308,   131,   132,   177,   178,
448      179,   232,   135,   413,    10,   301,   250,   136,   250,   137,
449      313,   372,    11,   168,   390,   198,   199,   200,   170,   320,
450      201,   322,   324,     5,     6,     7,   371,     8,     9,   180,
451      328,   177,   178,   179,   207,    11,   258,   177,   178,   179,
452      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
453      273,   274,   275,   276,   277,   141,   202,   209,    10,   211,
454      141,   216,   226,   334,   335,   236,   337,   229,   177,   178,
455      179,   177,   178,   179,   238,   177,   178,   179,   197,   347,
456      243,   347,   245,   198,   199,   200,   353,   291,   201,    11,
457      293,    33,   407,   325,   319,    28,   327,    29,   329,    30,
458      179,    31,    32,    33,    34,    35,    36,    37,    38,    39,
459       40,    41,    42,    43,   368,    44,    45,    46,   177,   178,
460      179,    47,   338,   232,    48,    49,    50,    51,   345,   351,
461      187,    52,    53,    54,    55,    56,   354,    57,    58,    59,
462       60,    61,    62,   246,   355,   301,   356,    63,    64,    65,
463       66,    67,    68,   357,    69,   358,   197,   359,   360,   401,
464       70,   198,   199,   200,   363,   369,   201,   405,   406,   177,
465      178,   179,    71,    72,    73,   375,    29,   412,   376,    74,
466       75,   378,    33,    76,   415,   177,   178,   179,   109,   370,
467      377,    28,   387,   110,   317,    30,    81,    31,    32,    33,
468       34,    35,    36,    37,   -44,    39,    40,    41,    42,    43,
469      326,    44,    45,    46,   177,   178,   179,    47,   381,   171,
470      172,   173,   174,   177,   178,   179,   175,   318,   176,   187,
471      188,    56,   391,    57,    58,    59,    60,    61,    62,   332,
472      177,   178,   179,    63,    64,    65,    66,    67,    68,   402,
473       69,   388,   177,   178,   179,   197,    70,   392,   400,    78,
474      198,   199,   200,   386,   409,   201,   123,   417,    71,    72,
475       73,   418,   187,   188,    28,    74,    75,   -49,    30,    76,
476       31,    32,    33,    34,    35,    36,    37,   416,    39,    40,
477       41,    42,    43,   103,    44,    45,    46,   196,   197,   157,
478       47,   350,   158,   198,   199,   200,     0,     0,   201,     0,
479      185,   186,   187,   188,    56,     0,    57,    58,    59,    60,
480       61,    62,   177,   178,   179,     0,    63,    64,    65,    66,
481       67,    68,     0,    69,   193,   194,   195,   196,   197,    70,
482        0,     0,     0,   198,   199,   200,     0,   339,   201,     0,
483        0,    71,    72,    73,     0,     0,     0,     0,    74,    75,
484        0,   -44,    76,    29,     0,    30,     0,    31,    32,    33,
485       34,    35,    36,    37,     0,   140,    40,    41,    42,    43,
486      110,    44,    45,    46,   177,   178,   179,    47,     0,     0,
487        0,     0,     0,     0,     0,     0,   185,   186,   187,   188,
488        0,    56,     0,    57,    58,    59,    60,    61,    62,   364,
489        0,     0,     0,    63,    64,    65,    66,    67,    68,     0,
490       69,   194,   195,   196,   197,     0,    70,     0,     0,   198,
491      199,   200,     0,     0,   201,     0,     0,     0,    71,    72,
492       73,     0,     0,     0,     0,    74,    75,     0,    29,    76,
493       30,     0,    31,    32,    33,    34,    35,    36,    37,     0,
494       39,    40,    41,    42,    43,     0,    44,    45,    46,   177,
495      178,   179,    47,     0,     0,     0,     0,     0,     0,     0,
496      185,   186,   187,   188,     0,     0,    56,     0,    57,    58,
497       59,    60,    61,    62,   365,   177,   178,   179,    63,    64,
498       65,    66,    67,    68,     0,    69,   195,   196,   197,     0,
499        0,    70,     0,   198,   199,   200,     0,     0,   201,     0,
500      366,     0,     0,    71,    72,    73,     0,     0,     0,     0,
501       74,    75,     0,    29,    76,    30,     0,    31,    32,    33,
502       34,    35,    36,    37,     0,   146,    40,    41,    42,    43,
503        0,    44,    45,    46,   177,   178,   179,    47,     0,     0,
504        0,     0,     0,     0,     0,     0,   185,  -187,   187,   188,
505        0,    56,     0,    57,    58,    59,    60,    61,    62,   373,
506        0,     0,     0,    63,    64,    65,    66,    67,    68,     0,
507       69,     0,     0,   196,   197,   203,    70,   204,  -157,   198,
508      199,   200,     0,     0,   201,     0,  -157,     0,    71,    72,
509       73,     0,     0,     0,     0,    74,    75,     0,     0,    76,
510        0,     0,  -157,  -157,  -157,  -157,     0,     0,     0,  -157,
511        0,  -157,     0,     0,  -157,     0,     0,     0,     0,     0,
512        0,  -157,  -157,  -157,  -157,     0,     0,     0,     0,     0,
513        0,     0,     0,     0,     0,  -157,  -157,  -157,     0,  -157,
514     -157,  -157,  -157,  -157,  -157,  -157,  -157,  -157,  -157,  -157,
515        0,     0,     0,     0,  -157,  -157,  -157,     0,     0,  -157,
516     -157,    30,   105,    31,    32,    33,    34,    35,    36,    37,
517        0,    39,    40,    41,    42,    43,     0,    44,    45,    46,
518        0,     0,     0,    47,     0,     0,     0,     0,     0,     0,
519      185,   186,   187,   188,     0,     0,     0,    56,     0,    57,
520       58,    59,    60,    61,    62,     0,     0,     0,     0,    63,
521       64,    65,    66,    67,    68,     0,    69,   196,   197,     0,
522        0,     0,    70,   198,   199,   200,     0,     0,   201,     0,
523        0,     0,     0,     0,    71,    72,    73,  -187,     0,   187,
524      188,    74,    75,     0,    30,    76,    31,    32,    33,    34,
525       35,    36,    37,   150,    39,    40,    41,    42,    43,     0,
526       44,    45,    46,     0,   196,   197,    47,     0,     0,     0,
527      198,   199,   200,     0,     0,   201,     0,     0,     0,     0,
528       56,     0,    57,    58,    59,    60,    61,    62,     0,     0,
529        0,     0,    63,    64,    65,    66,    67,    68,     0,    69,
530        0,     0,     0,     0,     0,    70,     0,     0,     0,     0,
531        0,     0,     0,   171,   172,   173,   174,    71,    72,    73,
532      175,     0,   176,     0,    74,    75,     0,    30,    76,    31,
533       32,    33,    34,    35,    36,    37,     0,    39,    40,    41,
534       42,    43,     0,    44,    45,    46,   177,   178,   179,    47,
535        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
536        0,     0,     0,    56,     0,    57,    58,    59,    60,    61,
537       62,     0,     0,     0,     0,    63,    64,    65,    66,    67,
538       68,     0,    69,     0,     0,     0,     0,     0,    70,     0,
539        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
540       71,    72,    73,     0,     0,     0,     0,    74,    75,     0,
541      166,    76,    30,     0,    31,    32,    33,    34,    35,    36,
542       37,     0,    39,    40,    41,    42,    43,     0,    44,    45,
543       46,     0,     0,     0,    47,     0,     0,     0,     0,     0,
544        0,     0,     0,     0,     0,     0,     0,     0,    56,     0,
545       57,    58,    59,    60,    61,    62,     0,     0,     0,     0,
546       63,    64,    65,    66,    67,    68,     0,    69,     0,     0,
547        0,     0,     0,    70,     0,     0,     0,     0,     0,     0,
548        0,     0,     0,     0,     0,    71,    72,    73,     0,     0,
549        0,     0,    74,    75,     0,   230,    76,    30,     0,    31,
550       32,    33,    34,    35,    36,    37,     0,    39,    40,    41,
551       42,    43,     0,    44,    45,    46,     0,     0,     0,    47,
552        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
553        0,     0,     0,    56,     0,    57,    58,    59,    60,    61,
554       62,     0,     0,     0,     0,    63,    64,    65,    66,    67,
555       68,     0,    69,     0,     0,     0,     0,     0,    70,     0,
556        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
557       71,    72,    73,     0,     0,     0,     0,    74,    75,     0,
558      241,    76,    30,     0,    31,    32,    33,    34,    35,    36,
559       37,     0,    39,    40,    41,    42,    43,     0,    44,    45,
560       46,     0,     0,     0,    47,     0,     0,     0,     0,     0,
561        0,     0,     0,     0,     0,     0,     0,     0,    56,     0,
562       57,    58,    59,    60,    61,    62,     0,     0,     0,     0,
563       63,    64,    65,    66,    67,    68,     0,    69,     0,     0,
564        0,     0,     0,    70,     0,     0,     0,     0,     0,     0,
565        0,     0,     0,     0,     0,    71,    72,    73,     0,     0,
566        0,     0,    74,    75,     0,   261,    76,    30,     0,    31,
567       32,    33,    34,    35,    36,    37,     0,    39,    40,    41,
568       42,    43,     0,    44,    45,    46,     0,     0,     0,    47,
569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
570        0,     0,     0,    56,     0,    57,    58,    59,    60,    61,
571       62,     0,     0,     0,     0,    63,    64,    65,    66,    67,
572       68,     0,    69,     0,     0,     0,     0,     0,    70,     0,
573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
574       71,    72,    73,     0,     0,     0,     0,    74,    75,     0,
575      284,    76,    30,     0,    31,    32,    33,    34,    35,    36,
576       37,     0,    39,    40,    41,    42,    43,     0,    44,    45,
577       46,     0,     0,     0,    47,     0,     0,     0,     0,     0,
578        0,     0,     0,     0,     0,     0,     0,     0,    56,     0,
579       57,    58,    59,    60,    61,    62,     0,     0,     0,     0,
580       63,    64,    65,    66,    67,    68,     0,    69,     0,     0,
581        0,     0,     0,    70,     0,     0,     0,     0,     0,     0,
582        0,     0,     0,     0,     0,    71,    72,    73,     0,     0,
583        0,     0,    74,    75,     0,   321,    76,    30,     0,    31,
584       32,    33,    34,    35,    36,    37,     0,    39,    40,    41,
585       42,    43,     0,    44,    45,    46,     0,     0,     0,    47,
586        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
587        0,     0,     0,    56,     0,    57,    58,    59,    60,    61,
588       62,     0,     0,     0,     0,    63,    64,    65,    66,    67,
589       68,     0,    69,     0,     0,     0,     0,     0,    70,     0,
590        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
591       71,    72,    73,     0,     0,     0,     0,    74,    75,     0,
592      323,    76,    30,     0,    31,    32,    33,    34,    35,    36,
593       37,     0,    39,    40,    41,    42,    43,     0,    44,    45,
594       46,     0,     0,     0,    47,     0,     0,     0,     0,     0,
595        0,     0,     0,     0,     0,     0,     0,     0,    56,     0,
596       57,    58,    59,    60,    61,    62,     0,     0,     0,     0,
597       63,    64,    65,    66,    67,    68,     0,    69,     0,     0,
598        0,     0,     0,    70,     0,     0,     0,     0,     0,     0,
599        0,     0,     0,     0,     0,    71,    72,    73,     0,     0,
600        0,     0,    74,    75,     0,   336,    76,    30,     0,    31,
601       32,    33,    34,    35,    36,    37,     0,    39,    40,    41,
602       42,    43,     0,    44,    45,    46,     0,     0,     0,    47,
603        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
604        0,     0,     0,    56,     0,    57,    58,    59,    60,    61,
605       62,     0,     0,     0,     0,    63,    64,    65,    66,    67,
606       68,     0,    69,     0,     0,     0,     0,     0,    70,  -186,
607        0,     0,     0,     0,     0,     0,     0,  -186,     0,     0,
608       71,    72,    73,     0,     0,     0,     0,    74,    75,     0,
609        0,    76,     0,  -186,  -186,  -186,  -186,     0,     0,     0,
610     -186,     0,  -186,     0,     0,  -186,     0,     0,     0,     0,
611        0,     0,  -186,  -186,  -186,  -186,     0,     0,     0,     0,
612        0,     0,     0,     0,     0,     0,  -186,  -186,  -186,     0,
613     -186,  -186,  -186,  -186,  -186,  -186,  -186,  -186,  -186,  -186,
614     -186,     0,   383,     0,   385,  -186,  -186,  -186,   389,     0,
615     -186,  -186,     0,     0,     0,     0,     0,     0,     0,     0,
616        0,     0,     0,     0,   393,   394,     0,     0,     0,     0,
617        0,     0,   403,   404,     0,     0,     0,     0,     0,   184,
618        0,   408,     0,     0,     0,   410,   185,   186,   187,   188,
619        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
620        0,     0,   419,   420,     0,   189,   190,   333,   191,   192,
621      193,   194,   195,   196,   197,     0,     0,     0,   184,   198,
622      199,   200,     0,     0,   201,   185,   186,   187,   188,     0,
623        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
624        0,     0,     0,     0,   189,   190,     0,   191,   192,   193,
625      194,   195,   196,   197,     0,     0,     0,   184,   198,   199,
626      200,     0,     0,   201,   185,   186,   187,   188,     0,     0,
627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
628        0,     0,     0,     0,   190,     0,   191,   192,   193,   194,
629      195,   196,   197,     0,     0,     0,  -187,   198,   199,   200,
630        0,     0,   201,   185,   186,   187,   188,     0,     0,     0,
631        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
632        0,     0,     0,     0,     0,   191,   192,   193,   194,   195,
633      196,   197,     0,     0,     0,     0,   198,   199,   200,     0,
634        0,   201
635 };
636
637 static const yytype_int16 yycheck[] =
638 {
639       15,   104,    15,   118,    33,    34,    35,    36,    37,     9,
640      225,    40,    41,   228,   216,    30,     3,     3,     5,     5,
641      355,    14,     9,    52,    62,     3,     0,     5,    67,    16,
642      383,   212,    70,    62,    63,    64,     6,   152,   219,    68,
643       15,     3,    55,     5,     9,    10,    11,    14,    61,    88,
644       65,    64,   124,   125,   126,   127,   128,   129,    58,   131,
645      132,    76,    34,    35,    36,    37,   419,   402,    40,    41,
646       63,    64,    65,    83,    84,     6,     3,    87,     5,    15,
647      118,     3,   120,     6,   103,    98,    15,    31,    32,    89,
648       62,    63,    14,    63,    64,    65,    63,    64,    65,   314,
649      315,    45,    89,    89,   123,   221,   144,   223,   137,   122,
650       14,    89,    56,    89,   152,    34,    35,    61,     6,     3,
651       64,   136,   137,    67,    89,    69,     4,    71,    72,    73,
652       74,    75,    63,    64,    65,    14,   338,     9,    10,   154,
653       63,    64,    65,   358,    89,     0,    24,    25,    26,    14,
654       28,    29,    89,    15,   226,   168,   171,   172,   173,   174,
655      175,   176,   177,   178,   179,   137,   181,   182,   183,    24,
656       25,    26,   201,    28,    29,    63,    64,    65,   293,    89,
657        6,    59,    14,   298,    63,    64,    65,   202,   203,   204,
658      205,   206,   207,    89,   409,   224,    89,    89,    63,    64,
659       65,   216,    89,     4,    59,   220,   221,    89,   223,    89,
660      225,     6,    90,    36,     6,    82,    83,    84,    14,   234,
661       87,   236,   237,    24,    25,    26,    14,    28,    29,    67,
662      245,    63,    64,    65,     3,    90,   180,    63,    64,    65,
663      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
664      194,   195,   196,   197,   198,   293,    89,    18,    59,    15,
665      298,    89,    89,   278,   279,    89,   281,    88,    63,    64,
666       65,    63,    64,    65,     4,    63,    64,    65,    77,   292,
667       61,   294,     5,    82,    83,    84,   299,    61,    87,    90,
668       15,     9,   395,     4,    88,     1,    18,     3,     5,     5,
669       65,     7,     8,     9,    10,    11,    12,    13,    14,    15,
670       16,    17,    18,    19,   329,    21,    22,    23,    63,    64,
671       65,    27,    89,   338,    30,    31,    32,    33,    18,    88,
672       51,    37,    38,    39,    40,    41,    88,    43,    44,    45,
673       46,    47,    48,    88,    88,   360,    88,    53,    54,    55,
674       56,    57,    58,    88,    60,    89,    77,    88,    14,   385,
675       66,    82,    83,    84,    88,     4,    87,   393,   394,    63,
676       64,    65,    78,    79,    80,     4,     3,   403,     4,    85,
677       86,    14,     9,    89,   410,    63,    64,    65,    15,   333,
678        4,     1,    88,    20,    88,     5,   411,     7,     8,     9,
679       10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
680       88,    21,    22,    23,    63,    64,    65,    27,     3,    30,
681       31,    32,    33,    63,    64,    65,    37,    67,    39,    51,
682       52,    41,     4,    43,    44,    45,    46,    47,    48,    88,
683       63,    64,    65,    53,    54,    55,    56,    57,    58,    14,
684       60,    88,    63,    64,    65,    77,    66,    88,    88,    15,
685       82,    83,    84,   360,    89,    87,    47,    88,    78,    79,
686       80,    88,    51,    52,     1,    85,    86,    88,     5,    89,
687        7,     8,     9,    10,    11,    12,    13,   411,    15,    16,
688       17,    18,    19,    27,    21,    22,    23,    76,    77,    68,
689       27,   294,    68,    82,    83,    84,    -1,    -1,    87,    -1,
690       49,    50,    51,    52,    41,    -1,    43,    44,    45,    46,
691       47,    48,    63,    64,    65,    -1,    53,    54,    55,    56,
692       57,    58,    -1,    60,    73,    74,    75,    76,    77,    66,
693       -1,    -1,    -1,    82,    83,    84,    -1,    88,    87,    -1,
694       -1,    78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,
695       -1,    88,    89,     3,    -1,     5,    -1,     7,     8,     9,
696       10,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
697       20,    21,    22,    23,    63,    64,    65,    27,    -1,    -1,
698       -1,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    52,
699       -1,    41,    -1,    43,    44,    45,    46,    47,    48,    88,
700       -1,    -1,    -1,    53,    54,    55,    56,    57,    58,    -1,
701       60,    74,    75,    76,    77,    -1,    66,    -1,    -1,    82,
702       83,    84,    -1,    -1,    87,    -1,    -1,    -1,    78,    79,
703       80,    -1,    -1,    -1,    -1,    85,    86,    -1,     3,    89,
704        5,    -1,     7,     8,     9,    10,    11,    12,    13,    -1,
705       15,    16,    17,    18,    19,    -1,    21,    22,    23,    63,
706       64,    65,    27,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
707       49,    50,    51,    52,    -1,    -1,    41,    -1,    43,    44,
708       45,    46,    47,    48,    88,    63,    64,    65,    53,    54,
709       55,    56,    57,    58,    -1,    60,    75,    76,    77,    -1,
710       -1,    66,    -1,    82,    83,    84,    -1,    -1,    87,    -1,
711       88,    -1,    -1,    78,    79,    80,    -1,    -1,    -1,    -1,
712       85,    86,    -1,     3,    89,     5,    -1,     7,     8,     9,
713       10,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
714       -1,    21,    22,    23,    63,    64,    65,    27,    -1,    -1,
715       -1,    -1,    -1,    -1,    -1,    -1,    49,    50,    51,    52,
716       -1,    41,    -1,    43,    44,    45,    46,    47,    48,    88,
717       -1,    -1,    -1,    53,    54,    55,    56,    57,    58,    -1,
718       60,    -1,    -1,    76,    77,     3,    66,     5,     6,    82,
719       83,    84,    -1,    -1,    87,    -1,    14,    -1,    78,    79,
720       80,    -1,    -1,    -1,    -1,    85,    86,    -1,    -1,    89,
721       -1,    -1,    30,    31,    32,    33,    -1,    -1,    -1,    37,
722       -1,    39,    -1,    -1,    42,    -1,    -1,    -1,    -1,    -1,
723       -1,    49,    50,    51,    52,    -1,    -1,    -1,    -1,    -1,
724       -1,    -1,    -1,    -1,    -1,    63,    64,    65,    -1,    67,
725       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
726       -1,    -1,    -1,    -1,    82,    83,    84,    -1,    -1,    87,
727       88,     5,     6,     7,     8,     9,    10,    11,    12,    13,
728       -1,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
729       -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,    -1,
730       49,    50,    51,    52,    -1,    -1,    -1,    41,    -1,    43,
731       44,    45,    46,    47,    48,    -1,    -1,    -1,    -1,    53,
732       54,    55,    56,    57,    58,    -1,    60,    76,    77,    -1,
733       -1,    -1,    66,    82,    83,    84,    -1,    -1,    87,    -1,
734       -1,    -1,    -1,    -1,    78,    79,    80,    49,    -1,    51,
735       52,    85,    86,    -1,     5,    89,     7,     8,     9,    10,
736       11,    12,    13,    14,    15,    16,    17,    18,    19,    -1,
737       21,    22,    23,    -1,    76,    77,    27,    -1,    -1,    -1,
738       82,    83,    84,    -1,    -1,    87,    -1,    -1,    -1,    -1,
739       41,    -1,    43,    44,    45,    46,    47,    48,    -1,    -1,
740       -1,    -1,    53,    54,    55,    56,    57,    58,    -1,    60,
741       -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,
742       -1,    -1,    -1,    30,    31,    32,    33,    78,    79,    80,
743       37,    -1,    39,    -1,    85,    86,    -1,     5,    89,     7,
744        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
745       18,    19,    -1,    21,    22,    23,    63,    64,    65,    27,
746       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
747       -1,    -1,    -1,    41,    -1,    43,    44,    45,    46,    47,
748       48,    -1,    -1,    -1,    -1,    53,    54,    55,    56,    57,
749       58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,
750       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
751       78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,
752       88,    89,     5,    -1,     7,     8,     9,    10,    11,    12,
753       13,    -1,    15,    16,    17,    18,    19,    -1,    21,    22,
754       23,    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,
755       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,
756       43,    44,    45,    46,    47,    48,    -1,    -1,    -1,    -1,
757       53,    54,    55,    56,    57,    58,    -1,    60,    -1,    -1,
758       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
759       -1,    -1,    -1,    -1,    -1,    78,    79,    80,    -1,    -1,
760       -1,    -1,    85,    86,    -1,    88,    89,     5,    -1,     7,
761        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
762       18,    19,    -1,    21,    22,    23,    -1,    -1,    -1,    27,
763       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
764       -1,    -1,    -1,    41,    -1,    43,    44,    45,    46,    47,
765       48,    -1,    -1,    -1,    -1,    53,    54,    55,    56,    57,
766       58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,
767       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
768       78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,
769       88,    89,     5,    -1,     7,     8,     9,    10,    11,    12,
770       13,    -1,    15,    16,    17,    18,    19,    -1,    21,    22,
771       23,    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,
772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,
773       43,    44,    45,    46,    47,    48,    -1,    -1,    -1,    -1,
774       53,    54,    55,    56,    57,    58,    -1,    60,    -1,    -1,
775       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
776       -1,    -1,    -1,    -1,    -1,    78,    79,    80,    -1,    -1,
777       -1,    -1,    85,    86,    -1,    88,    89,     5,    -1,     7,
778        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
779       18,    19,    -1,    21,    22,    23,    -1,    -1,    -1,    27,
780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
781       -1,    -1,    -1,    41,    -1,    43,    44,    45,    46,    47,
782       48,    -1,    -1,    -1,    -1,    53,    54,    55,    56,    57,
783       58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,
784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
785       78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,
786       88,    89,     5,    -1,     7,     8,     9,    10,    11,    12,
787       13,    -1,    15,    16,    17,    18,    19,    -1,    21,    22,
788       23,    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,
789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,
790       43,    44,    45,    46,    47,    48,    -1,    -1,    -1,    -1,
791       53,    54,    55,    56,    57,    58,    -1,    60,    -1,    -1,
792       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
793       -1,    -1,    -1,    -1,    -1,    78,    79,    80,    -1,    -1,
794       -1,    -1,    85,    86,    -1,    88,    89,     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       48,    -1,    -1,    -1,    -1,    53,    54,    55,    56,    57,
800       58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,
801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
802       78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,
803       88,    89,     5,    -1,     7,     8,     9,    10,    11,    12,
804       13,    -1,    15,    16,    17,    18,    19,    -1,    21,    22,
805       23,    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,    -1,
806       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    -1,
807       43,    44,    45,    46,    47,    48,    -1,    -1,    -1,    -1,
808       53,    54,    55,    56,    57,    58,    -1,    60,    -1,    -1,
809       -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,
810       -1,    -1,    -1,    -1,    -1,    78,    79,    80,    -1,    -1,
811       -1,    -1,    85,    86,    -1,    88,    89,     5,    -1,     7,
812        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
813       18,    19,    -1,    21,    22,    23,    -1,    -1,    -1,    27,
814       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
815       -1,    -1,    -1,    41,    -1,    43,    44,    45,    46,    47,
816       48,    -1,    -1,    -1,    -1,    53,    54,    55,    56,    57,
817       58,    -1,    60,    -1,    -1,    -1,    -1,    -1,    66,     6,
818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    14,    -1,    -1,
819       78,    79,    80,    -1,    -1,    -1,    -1,    85,    86,    -1,
820       -1,    89,    -1,    30,    31,    32,    33,    -1,    -1,    -1,
821       37,    -1,    39,    -1,    -1,    42,    -1,    -1,    -1,    -1,
822       -1,    -1,    49,    50,    51,    52,    -1,    -1,    -1,    -1,
823       -1,    -1,    -1,    -1,    -1,    -1,    63,    64,    65,    -1,
824       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
825       77,    -1,   357,    -1,   359,    82,    83,    84,   363,    -1,
826       87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
827       -1,    -1,    -1,    -1,   379,   380,    -1,    -1,    -1,    -1,
828       -1,    -1,   387,   388,    -1,    -1,    -1,    -1,    -1,    42,
829       -1,   396,    -1,    -1,    -1,   400,    49,    50,    51,    52,
830       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
831       -1,    -1,   417,   418,    -1,    68,    69,    70,    71,    72,
832       73,    74,    75,    76,    77,    -1,    -1,    -1,    42,    82,
833       83,    84,    -1,    -1,    87,    49,    50,    51,    52,    -1,
834       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
835       -1,    -1,    -1,    -1,    68,    69,    -1,    71,    72,    73,
836       74,    75,    76,    77,    -1,    -1,    -1,    42,    82,    83,
837       84,    -1,    -1,    87,    49,    50,    51,    52,    -1,    -1,
838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
839       -1,    -1,    -1,    -1,    69,    -1,    71,    72,    73,    74,
840       75,    76,    77,    -1,    -1,    -1,    42,    82,    83,    84,
841       -1,    -1,    87,    49,    50,    51,    52,    -1,    -1,    -1,
842       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
843       -1,    -1,    -1,    -1,    -1,    71,    72,    73,    74,    75,
844       76,    77,    -1,    -1,    -1,    -1,    82,    83,    84,    -1,
845       -1,    87
846 };
847
848 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
849    symbol of state STATE-NUM.  */
850 static const yytype_uint8 yystos[] =
851 {
852        0,    92,    96,     0,    99,    24,    25,    26,    28,    29,
853       59,    90,   100,   106,   107,   115,   116,   117,   118,   120,
854      121,   130,   131,   124,   122,    15,   122,   122,     1,     3,
855        5,     7,     8,     9,    10,    11,    12,    13,    14,    15,
856       16,    17,    18,    19,    21,    22,    23,    27,    30,    31,
857       32,    33,    37,    38,    39,    40,    41,    43,    44,    45,
858       46,    47,    48,    53,    54,    55,    56,    57,    58,    60,
859       66,    78,    79,    80,    85,    86,    89,    93,   101,   103,
860      104,   133,   134,   135,   138,   139,   140,   141,   142,   143,
861      144,   149,   150,   151,   152,   153,   154,    15,   119,    15,
862      125,    14,   132,   125,    94,     6,   133,   143,   143,    15,
863       20,    93,   150,   155,   155,   155,   155,   155,   155,   155,
864       89,   143,   123,   123,    89,    89,    89,    89,    58,    89,
865      150,    89,    89,    93,   143,    89,    89,    89,    93,   143,
866       15,   134,   146,   150,   155,   155,    15,    93,   143,   150,
867       14,   133,    15,   143,    89,   145,   150,   151,   152,   143,
868      134,   143,   143,   143,   143,   143,    88,   133,    36,   105,
869       14,    30,    31,    32,    33,    37,    39,    63,    64,    65,
870       67,     3,     5,    89,    42,    49,    50,    51,    52,    68,
871       69,    71,    72,    73,    74,    75,    76,    77,    82,    83,
872       84,    87,    89,     3,     5,     3,     5,     3,    93,    18,
873      126,    15,   126,    99,     6,   146,    89,   134,    93,   126,
874       94,    94,    94,    94,    94,    94,    89,    94,    94,    88,
875       88,   133,   133,   147,   155,   134,    89,    89,     4,    14,
876      146,    88,   133,    61,   128,     5,    88,    93,   133,   111,
877      133,   133,   133,   133,   133,   133,   133,   133,   143,   133,
878      133,    88,   133,   143,   143,   143,   143,   143,   143,   143,
879      143,   143,   143,   143,   143,   143,   143,   143,     3,     5,
880       16,    89,   137,   150,    88,   133,   133,   133,   133,   133,
881      133,    61,   127,    15,   127,     4,   147,    88,   136,   127,
882      110,   133,   111,   112,   133,   111,   114,   148,   150,   101,
883      109,   112,   113,   133,    94,    95,   112,    88,    67,    88,
884      133,    88,   133,    88,   133,     4,    88,    18,   133,     5,
885       14,     6,    88,    70,   133,   133,    88,   133,    89,    88,
886       14,     6,    14,     6,    14,    18,    14,    93,   129,   146,
887      129,    88,   146,    93,    88,    88,    88,    88,    89,    88,
888       14,   112,   112,    88,    88,    88,    88,     6,   133,     4,
889      143,    14,     6,    88,   147,     4,     4,     4,    14,   108,
890      108,     3,    97,    97,   112,    97,   110,    88,    88,    97,
891        6,     4,    88,    97,    97,    98,    34,    35,   102,   102,
892       88,   105,    14,    97,    97,   105,   105,    99,    97,    89,
893       97,   108,   105,     4,   112,   105,   113,    88,    88,    97,
894       97,   102
895 };
896
897 typedef enum {
898         toketype_i_tkval, toketype_ival, toketype_opval, toketype_p_tkval
899 } toketypes;
900
901 /* type of each token/terminal */
902 static const toketypes yy_type_tab[] =
903 {
904   toketype_ival, toketype_ival, toketype_ival, 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_opval, toketype_opval, toketype_opval,
906   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
907   toketype_p_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
908   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
909   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
910   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
911   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
912   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
913   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
914   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
915   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival,
916   toketype_ival, toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
917   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
918   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
919   toketype_opval, toketype_p_tkval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
920   toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
921   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
922   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
923   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
924   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
925   toketype_opval, toketype_opval, toketype_opval
926 };