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