This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Dump didn't display CVf_ISXSUB flag
[perl5.git] / perly.tab
1 #define YYFINAL  3
2 /* YYLAST -- Last index in YYTABLE.  */
3 #define YYLAST   2106
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  216
11 /* YYNRULES -- Number of states.  */
12 #define YYNSTATES  431
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,   726,   728,   731,   734,
85      737,   740,   743,   746,   748,   750,   752
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,   137,    69,    -1,   154,    -1,    13,   159,
164       -1,     9,   159,    -1,    10,   159,    -1,    11,   159,    -1,
165       55,   159,    -1,    12,   159,    -1,    15,    -1,   154,    -1,
166       95,    -1,    20,    -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,  1334,  1349,  1353,  1359,  1365,
193     1371,  1377,  1383,  1390,  1392,  1394,  1397
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,   151,   152,   153,   154,   155,
270      156,   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,     2,     1,     2,     2,     2,
297        2,     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,   213,   216,   215,   214,   208,   209,   210,   212,
317      207,   201,     0,     0,   183,     0,    72,     4,     4,     4,
318        4,     4,     4,     0,     4,     4,    34,   175,     0,     0,
319      203,   178,   179,   213,   202,    99,   214,     0,   211,   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,   206,    47,    52,     0,     0,    21,
337        0,     0,     0,   188,   205,   100,     0,   147,     0,   149,
338        0,   142,   196,    77,     0,     0,     0,   108,   114,     0,
339        0,     0,   112,     0,   203,   172,     0,   106,     0,   167,
340        0,    75,    80,    79,    67,     9,     0,    66,    98,   102,
341      144,    45,    45,     0,     0,     0,     0,    48,     0,     0,
342        0,    94,   148,   150,   117,     0,   111,   155,     0,   107,
343      113,     0,   109,   168,   105,    54,    85,     0,     0,     8,
344       28,    28,     0,    35,     0,     0,     0,    33,   116,   110,
345       95,    83,    35,    35,     9,     0,     0,    31,    32,     0,
346       41,    45,    35,    44,    37,    38,    54,    29,     0,    35,
347        0,    40,     7,     0,    39,     0,     0,     0,    28,    42,
348       30
349 };
350
351 /* YYDEFGOTO[NTERM-NUM].  */
352 static const yytype_int16 yydefgoto[] =
353 {
354       -1,     1,   114,   107,   321,     2,   390,   404,     4,    12,
355      315,   407,    82,    83,   172,    13,    14,   387,   316,   306,
356      254,   309,   318,   312,    15,    16,    17,    18,   101,    19,
357       20,    25,   125,    24,   103,   213,   297,   249,   354,    21,
358       22,   355,    23,   105,   310,    85,    86,   304,   287,    87,
359       88,    89,    90,    91,    92,    93,   158,   145,   238,   313,
360       94,    95,    96,    97,    98,    99,   116
361 };
362
363 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
364    STATE-NUM.  */
365 #define YYPACT_NINF -383
366 static const yytype_int16 yypact[] =
367 {
368     -383,    35,  -383,  -383,    51,  -383,  -383,  -383,    -8,  -383,
369     -383,  -383,  -383,  -383,  -383,   399,  -383,  -383,  -383,  -383,
370     -383,  -383,  -383,  -383,    40,    45,    69,  -383,    45,  -383,
371     -383,   978,  1844,  1844,   216,   216,   216,   216,   216,  -383,
372     -383,   216,   216,  -383,   -50,  -383,  1844,  -383,  -383,  -383,
373     -383,   -21,     9,    18,    22,     5,    25,    46,   145,  1844,
374     -383,    66,    67,    77,   745,   658,   216,   832,  1063,   173,
375     1844,    23,  1844,  1844,  1844,  1844,  1844,  1844,  1844,  1148,
376      140,   182,  -383,  -383,  1146,   133,  -383,     3,  -383,  -383,
377     -383,  -383,  1939,  -383,   112,   148,   176,  -383,  -383,   206,
378     -383,   145,  -383,   198,    26,   197,   198,  -383,  -383,    32,
379       60,    60,  -383,  -383,  -383,  -383,  -383,  -383,  -383,  -383,
380     -383,  1844,   130,  1844,   863,   145,   198,  -383,  -383,  -383,
381     -383,  -383,  -383,   131,  -383,  -383,  -383,  1939,   142,  1235,
382      658,  -383,   863,   304,   133,  -383,   892,  1844,  -383,   150,
383     -383,   863,    10,   229,    89,  1844,   863,  1322,   202,  -383,
384     -383,  -383,   863,   133,    60,    60,    60,     1,     1,   267,
385      250,   145,  -383,  -383,  1844,  1844,  1844,  1844,  1844,  1844,
386     1844,  1844,  1844,  1844,  1844,  1844,  1409,  1844,  1844,  1844,
387     1844,  1844,  1844,  1844,  1844,  1844,  1844,  1844,  1844,  1844,
388     1844,  1844,  -383,  -383,    47,  1496,  1844,  1844,  1844,  1844,
389     1844,  -383,  -383,   207,  -383,  -383,   270,   207,    91,  -383,
390     -383,  1844,   -51,  -383,   207,  1844,  1844,  1844,  1844,   277,
391      484,  -383,  -383,  1844,  -383,  -383,   360,   449,   203,  1844,
392      133,  1583,  1670,  -383,   283,  -383,  -383,   386,   276,  -383,
393     1844,   290,  -383,   -45,  -383,   -45,   -45,   -45,   -45,   -45,
394      221,   221,  -383,  1939,   194,    41,  -383,   445,  2017,  1010,
395      730,   265,   384,  1939,  1900,   472,   472,   556,   644,   963,
396      246,    60,    60,  1844,  1844,  -383,  1757,   215,  -383,  -383,
397      455,   294,    74,   297,   208,   319,   284,    55,  -383,  1844,
398       55,  -383,   222,  -383,  1844,   145,   223,   -45,   224,   231,
399      -45,  -383,   237,   228,  -383,  -383,  -383,   244,   291,   257,
400     1844,  1844,   251,  -383,  -383,  -383,   530,  -383,   619,  -383,
401      645,  -383,  -383,  -383,   211,  1844,   322,  -383,  -383,  1844,
402      332,   214,  -383,   706,  1844,  -383,   338,  -383,   349,  -383,
403      361,  -383,  -383,  -383,  -383,  -383,   352,  -383,  -383,  -383,
404     -383,  -383,  -383,   365,   365,  1844,   365,  1844,   282,   301,
405      365,  -383,  -383,  -383,  -383,   217,  -383,  1978,   383,  -383,
406     -383,   306,  -383,  -383,  -383,   146,  -383,   365,   365,  -383,
407       38,    38,   311,   140,   389,   365,   365,  -383,  -383,  -383,
408     -383,  -383,   140,   140,  -383,   365,   328,  -383,  -383,   365,
409     -383,  -383,   140,  -383,  -383,  -383,   236,  -383,  1844,   140,
410      569,  -383,  -383,   339,  -383,   340,   365,   365,    38,  -383,
411     -383
412 };
413
414 /* YYPGOTO[NTERM-NUM].  */
415 static const yytype_int16 yypgoto[] =
416 {
417     -383,  -383,     4,  -104,  -383,  -383,  1541,  -383,   -97,  -383,
418      420,  -382,  -383,  -383,  -336,  -383,  -383,  -357,  -383,    76,
419      -44,  -229,    16,  -383,  -383,  -383,  -383,  -383,  -383,  -383,
420     -383,   177,   410,  -383,   434,   -89,  -113,  -383,   164,  -383,
421     -383,  -383,  -383,  -383,   -15,   -62,  -383,  -383,  -383,  -383,
422     -383,  -383,  -383,  -383,    56,  -383,  -383,  -119,  -209,  -383,
423     -383,   163,   394,   395,  -383,  -383,     7
424 };
425
426 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
427    positive, shift that token.  If negative, reduce the rule which
428    number is the opposite.  If zero, do what YYDEFACT says.
429    If YYTABLE_NINF, syntax error.  */
430 #define YYTABLE_NINF -191
431 static const yytype_int16 yytable[] =
432 {
433       84,   317,   220,   144,   322,   388,   184,    26,   185,   408,
434      218,   163,   302,   206,    34,   207,   109,   217,   183,    80,
435      180,   181,   182,   225,   226,   227,   228,   229,   230,   214,
436      232,   233,    34,    35,    36,     3,   245,   224,   219,   303,
437      215,   123,   117,   118,   119,   120,   430,   337,   121,   122,
438      283,    -2,   284,   154,   420,   100,    34,   410,    30,   144,
439      102,   222,   136,   285,   170,   131,   414,   415,   141,   352,
440      127,   150,   147,   148,   405,   406,   421,     5,     6,     7,
441      347,     8,     9,   424,   104,   240,  -191,  -191,   110,   111,
442      204,   368,   369,   144,   186,   301,   132,   180,   181,   182,
443      128,   242,   124,   244,   300,   211,   180,   181,   182,   129,
444      298,   305,    10,   130,   157,   137,   134,     5,     6,     7,
445      142,     8,     9,   151,   236,   237,   156,   320,   162,   223,
446      164,   165,   166,   167,   168,   381,   392,   135,   286,   180,
447      181,   182,   247,    11,   201,   202,   203,   239,    30,   204,
448      401,   206,    10,   207,   180,   181,   182,   138,   139,   253,
449      255,   256,   257,   258,   259,   260,   261,   262,   140,   264,
450      265,   267,     5,     6,     7,   252,     8,     9,   171,   208,
451      356,   209,   308,    11,   311,   359,    27,    28,   155,   423,
452      290,   291,   292,   293,   294,   295,   173,   115,   115,   115,
453      115,   115,   183,   205,   115,   115,   237,    10,   336,   210,
454      307,   255,   216,   255,   349,   319,   212,   374,   133,    30,
455      379,   221,   231,   398,   326,    34,   328,   330,   146,   115,
456      152,   112,   234,   243,   159,   334,   113,   144,    11,   263,
457      422,   241,   144,   268,   269,   270,   271,   272,   273,   274,
458      275,   276,   277,   278,   279,   280,   281,   282,   385,   180,
459      181,   182,     5,     6,     7,   248,     8,     9,   340,   341,
460      296,   343,   250,   180,   181,   182,   180,   181,   182,   180,
461      181,   182,   180,   181,   182,   299,    34,   331,   182,   174,
462      175,   176,   177,   325,   333,   335,   178,    10,   179,   190,
463      191,   353,   351,   146,   353,   367,   344,   416,   346,   360,
464     -190,   348,   358,   361,   362,   180,   181,   182,  -190,   365,
465      375,   363,   180,   181,   182,   200,   376,   364,    11,   237,
466      201,   202,   203,   350,   366,   204,  -190,  -190,  -190,  -190,
467      251,   370,   382,  -190,   200,  -190,   378,   -51,  -190,   201,
468      202,   203,   307,   383,   204,  -190,  -190,  -190,  -190,   180,
469      181,   182,   180,   181,   182,   384,   386,   288,   389,  -190,
470     -190,  -190,   395,  -190,  -190,  -190,  -190,  -190,  -190,  -190,
471     -190,  -190,  -190,  -190,   180,   181,   182,   399,  -190,  -190,
472     -190,   396,   314,  -190,  -190,   377,   400,   180,   181,   182,
473       29,   409,    30,   411,    31,    84,    32,    33,    34,    35,
474       36,    37,    38,    39,    40,    41,    42,    43,    44,   418,
475       45,    46,    47,    48,    49,   180,   181,   182,    50,   426,
476      427,    51,    52,    53,    54,    81,   425,   190,    55,    56,
477       57,    58,    59,   394,    60,    61,    62,    63,    64,    65,
478      323,   180,   181,   182,    66,    67,    68,    69,    70,    71,
479      126,    72,   106,   200,   357,   160,   161,    73,   201,   202,
480      203,     0,     0,   204,     0,     0,   332,     0,     0,    74,
481       75,    76,     0,     0,     0,    29,    77,    78,     0,    31,
482       79,    32,    33,    34,    35,    36,    37,    38,   -46,    40,
483       41,    42,    43,    44,     0,    45,    46,    47,    48,     0,
484      180,   181,   182,    50,   180,   181,   182,     0,   324,     0,
485      180,   181,   182,   188,   189,   190,   191,    59,     0,    60,
486       61,    62,    63,    64,    65,   338,     0,     0,     0,    66,
487       67,    68,    69,    70,    71,   345,    72,   196,   197,   198,
488      199,   200,    73,     0,     0,     0,   201,   202,   203,     0,
489        0,   204,     0,     0,    74,    75,    76,     0,     0,     0,
490       29,    77,    78,     0,    31,    79,    32,    33,    34,    35,
491       36,    37,    38,     0,    40,    41,    42,    43,    44,     0,
492       45,    46,    47,    48,     0,   180,   181,   182,    50,     0,
493        0,     0,     0,     0,     0,     0,     0,   188,   189,   190,
494      191,     0,    59,     0,    60,    61,    62,    63,    64,    65,
495      371,     0,     0,     0,    66,    67,    68,    69,    70,    71,
496        0,    72,   197,   198,   199,   200,     0,    73,     0,     0,
497      201,   202,   203,     0,     0,   204,     0,     0,     0,    74,
498       75,    76,     0,     0,     0,     0,    77,    78,     0,   -46,
499       79,    30,     0,    31,     0,    32,    33,    34,    35,    36,
500       37,    38,     0,   143,    41,    42,    43,    44,   113,    45,
501       46,    47,    48,     0,   180,   181,   182,    50,     0,     0,
502        0,     0,     0,     0,     0,   188,   189,   190,   191,     0,
503        0,    59,     0,    60,    61,    62,    63,    64,    65,   372,
504      180,   181,   182,    66,    67,    68,    69,    70,    71,     0,
505       72,   198,   199,   200,     0,     0,    73,     0,   201,   202,
506      203,     0,     0,   204,     0,   373,     0,     0,    74,    75,
507       76,     0,     0,     0,     0,    77,    78,     0,    30,    79,
508       31,     0,    32,    33,    34,    35,    36,    37,    38,     0,
509       40,    41,    42,    43,    44,     0,    45,    46,    47,    48,
510        0,   180,   181,   182,    50,     0,     0,     0,     0,     0,
511        0,   188,  -191,   190,   191,     0,     0,     0,    59,     0,
512       60,    61,    62,    63,    64,    65,   380,     0,     0,     0,
513       66,    67,    68,    69,    70,    71,     0,    72,   199,   200,
514        0,     0,     0,    73,   201,   202,   203,     0,     0,   204,
515        0,     0,     0,     0,     0,    74,    75,    76,     0,     0,
516        0,     0,    77,    78,     0,    30,    79,    31,     0,    32,
517       33,    34,    35,    36,    37,    38,     0,   149,    41,    42,
518       43,    44,     0,    45,    46,    47,    48,     0,     0,     0,
519        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
520        0,     0,     0,     0,     0,    59,     0,    60,    61,    62,
521       63,    64,    65,     0,     0,     0,     0,    66,    67,    68,
522       69,    70,    71,     0,    72,   206,     0,   207,  -161,     0,
523       73,     0,     0,     0,     0,     0,  -161,     0,     0,     0,
524        0,     0,    74,    75,    76,     0,   190,   191,     0,    77,
525       78,     0,     0,    79,  -161,  -161,  -161,  -161,     0,     0,
526        0,  -161,     0,  -161,     0,     0,  -161,     0,     0,     0,
527        0,   199,   200,  -161,  -161,  -161,  -161,   201,   202,   203,
528        0,     0,   204,     0,     0,     0,     0,  -161,  -161,  -161,
529        0,  -161,  -161,  -161,  -161,  -161,  -161,  -161,  -161,  -161,
530     -161,  -161,     0,     0,     0,     0,  -161,  -161,  -161,     0,
531        0,  -161,  -161,    31,   108,    32,    33,    34,    35,    36,
532       37,    38,     0,    40,    41,    42,    43,    44,     0,    45,
533       46,    47,    48,     0,     0,     0,     0,    50,     0,     0,
534        0,     0,     0,     0,   188,   189,   190,   191,     0,     0,
535        0,    59,     0,    60,    61,    62,    63,    64,    65,     0,
536        0,     0,     0,    66,    67,    68,    69,    70,    71,     0,
537       72,   199,   200,     0,     0,     0,    73,   201,   202,   203,
538        0,     0,   204,     0,     0,     0,     0,     0,    74,    75,
539       76,  -191,     0,   190,   191,    77,    78,     0,    31,    79,
540       32,    33,    34,    35,    36,    37,    38,   153,    40,    41,
541       42,    43,    44,     0,    45,    46,    47,    48,   199,   200,
542        0,     0,    50,     0,   201,   202,   203,     0,     0,   204,
543        0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
544       62,    63,    64,    65,     0,     0,     0,     0,    66,    67,
545       68,    69,    70,    71,     0,    72,     0,     0,     0,     0,
546        0,    73,     0,     0,     0,     0,     0,     0,     0,     0,
547        0,     0,     0,    74,    75,    76,     0,     0,     0,     0,
548       77,    78,     0,    31,    79,    32,    33,    34,    35,    36,
549       37,    38,     0,    40,    41,    42,    43,    44,     0,    45,
550       46,    47,    48,     0,     0,     0,     0,    50,   174,   175,
551      176,   177,     0,     0,     0,   178,     0,   179,     0,     0,
552        0,    59,     0,    60,    61,    62,    63,    64,    65,     0,
553        0,     0,     0,    66,    67,    68,    69,    70,    71,     0,
554       72,   180,   181,   182,     0,     0,    73,     0,     0,     0,
555        0,     0,     0,     0,     0,     0,     0,     0,    74,    75,
556       76,     0,     0,     0,     0,    77,    78,     0,   169,    79,
557       31,     0,    32,    33,    34,    35,    36,    37,    38,     0,
558       40,    41,    42,    43,    44,     0,    45,    46,    47,    48,
559        0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
560        0,     0,     0,     0,     0,     0,     0,     0,    59,     0,
561       60,    61,    62,    63,    64,    65,     0,     0,     0,     0,
562       66,    67,    68,    69,    70,    71,     0,    72,     0,     0,
563        0,     0,     0,    73,     0,     0,     0,     0,     0,     0,
564        0,     0,     0,     0,     0,    74,    75,    76,     0,     0,
565        0,     0,    77,    78,     0,   235,    79,    31,     0,    32,
566       33,    34,    35,    36,    37,    38,     0,    40,    41,    42,
567       43,    44,     0,    45,    46,    47,    48,     0,     0,     0,
568        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
569        0,     0,     0,     0,     0,    59,     0,    60,    61,    62,
570       63,    64,    65,     0,     0,     0,     0,    66,    67,    68,
571       69,    70,    71,     0,    72,     0,     0,     0,     0,     0,
572       73,     0,     0,     0,     0,     0,     0,     0,     0,     0,
573        0,     0,    74,    75,    76,     0,     0,     0,     0,    77,
574       78,     0,   246,    79,    31,     0,    32,    33,    34,    35,
575       36,    37,    38,     0,    40,    41,    42,    43,    44,     0,
576       45,    46,    47,    48,     0,     0,     0,     0,    50,     0,
577        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
578        0,     0,    59,     0,    60,    61,    62,    63,    64,    65,
579        0,     0,     0,     0,    66,    67,    68,    69,    70,    71,
580        0,    72,     0,     0,     0,     0,     0,    73,     0,     0,
581        0,     0,     0,     0,     0,     0,     0,     0,     0,    74,
582       75,    76,     0,     0,     0,     0,    77,    78,     0,   266,
583       79,    31,     0,    32,    33,    34,    35,    36,    37,    38,
584        0,    40,    41,    42,    43,    44,     0,    45,    46,    47,
585       48,     0,     0,     0,     0,    50,     0,     0,     0,     0,
586        0,     0,     0,     0,     0,     0,     0,     0,     0,    59,
587        0,    60,    61,    62,    63,    64,    65,     0,     0,     0,
588        0,    66,    67,    68,    69,    70,    71,     0,    72,     0,
589        0,     0,     0,     0,    73,     0,     0,     0,     0,     0,
590        0,     0,     0,     0,     0,     0,    74,    75,    76,     0,
591        0,     0,     0,    77,    78,     0,   289,    79,    31,     0,
592       32,    33,    34,    35,    36,    37,    38,     0,    40,    41,
593       42,    43,    44,     0,    45,    46,    47,    48,     0,     0,
594        0,     0,    50,     0,     0,     0,     0,     0,     0,     0,
595        0,     0,     0,     0,     0,     0,    59,     0,    60,    61,
596       62,    63,    64,    65,     0,     0,     0,     0,    66,    67,
597       68,    69,    70,    71,     0,    72,     0,     0,     0,     0,
598        0,    73,     0,     0,     0,     0,     0,     0,     0,     0,
599        0,     0,     0,    74,    75,    76,     0,     0,     0,     0,
600       77,    78,     0,   327,    79,    31,     0,    32,    33,    34,
601       35,    36,    37,    38,     0,    40,    41,    42,    43,    44,
602        0,    45,    46,    47,    48,     0,     0,     0,     0,    50,
603        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
604        0,     0,     0,    59,     0,    60,    61,    62,    63,    64,
605       65,     0,     0,     0,     0,    66,    67,    68,    69,    70,
606       71,     0,    72,     0,     0,     0,     0,     0,    73,     0,
607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
608       74,    75,    76,     0,     0,     0,     0,    77,    78,     0,
609      329,    79,    31,     0,    32,    33,    34,    35,    36,    37,
610       38,     0,    40,    41,    42,    43,    44,     0,    45,    46,
611       47,    48,     0,     0,     0,     0,    50,     0,     0,     0,
612        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
613       59,     0,    60,    61,    62,    63,    64,    65,     0,     0,
614        0,     0,    66,    67,    68,    69,    70,    71,     0,    72,
615        0,     0,     0,     0,     0,    73,     0,     0,     0,     0,
616        0,     0,     0,     0,     0,     0,     0,    74,    75,    76,
617        0,     0,     0,     0,    77,    78,     0,   342,    79,    31,
618        0,    32,    33,    34,    35,    36,    37,    38,     0,    40,
619       41,    42,    43,    44,     0,    45,    46,    47,    48,     0,
620        0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
621        0,     0,     0,     0,     0,     0,     0,    59,     0,    60,
622       61,    62,    63,    64,    65,     0,     0,     0,     0,    66,
623       67,    68,    69,    70,    71,   391,    72,   393,     0,     0,
624        0,   397,    73,     0,     0,     0,     0,     0,     0,     0,
625        0,     0,     0,     0,    74,    75,    76,     0,   402,   403,
626        0,    77,    78,     0,     0,    79,   412,   413,     0,     0,
627        0,     0,     0,     0,   187,     0,   417,     0,     0,     0,
628      419,   188,   189,   190,   191,     0,     0,     0,     0,     0,
629        0,     0,     0,     0,     0,     0,     0,   428,   429,     0,
630      192,   193,   339,   194,   195,   196,   197,   198,   199,   200,
631        0,     0,     0,   187,   201,   202,   203,     0,     0,   204,
632      188,   189,   190,   191,     0,     0,     0,     0,     0,     0,
633        0,     0,     0,     0,     0,     0,     0,     0,     0,   192,
634      193,     0,   194,   195,   196,   197,   198,   199,   200,     0,
635        0,     0,   187,   201,   202,   203,     0,     0,   204,   188,
636      189,   190,   191,     0,     0,     0,     0,     0,     0,     0,
637        0,     0,     0,     0,     0,     0,     0,     0,     0,   193,
638        0,   194,   195,   196,   197,   198,   199,   200,     0,     0,
639        0,  -191,   201,   202,   203,     0,     0,   204,   188,   189,
640      190,   191,     0,     0,     0,     0,     0,     0,     0,     0,
641        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
642      194,   195,   196,   197,   198,   199,   200,     0,     0,     0,
643        0,   201,   202,   203,     0,     0,   204
644 };
645
646 static const yytype_int16 yycheck[] =
647 {
648       15,   230,   121,    65,   233,   362,     3,    15,     5,   391,
649      107,    73,   221,     3,     9,     5,    31,   106,    69,    15,
650       65,    66,    67,   127,   128,   129,   130,   131,   132,     3,
651      134,   135,     9,    10,    11,     0,   155,   126,     6,    90,
652       14,    91,    35,    36,    37,    38,   428,     6,    41,    42,
653        3,     0,     5,    68,   411,    15,     9,   393,     3,   121,
654       15,   123,    58,    16,    79,    60,   402,   403,    64,    14,
655       91,    67,    65,    66,    36,    37,   412,    26,    27,    28,
656        6,    30,    31,   419,    15,   147,    85,    86,    32,    33,
657       89,   320,   321,   155,    91,     4,    91,    65,    66,    67,
658       91,    91,    46,    14,   217,   101,    65,    66,    67,    91,
659      214,   224,    61,    91,    91,    59,    91,    26,    27,    28,
660       64,    30,    31,    67,   139,   140,    70,   231,    72,   125,
661       74,    75,    76,    77,    78,   344,   365,    91,    91,    65,
662       66,    67,   157,    92,    84,    85,    86,   140,     3,    89,
663        4,     3,    61,     5,    65,    66,    67,    91,    91,   174,
664      175,   176,   177,   178,   179,   180,   181,   182,    91,   184,
665      185,   186,    26,    27,    28,   171,    30,    31,    38,     3,
666      299,     5,   226,    92,   228,   304,     9,    10,    15,   418,
667      205,   206,   207,   208,   209,   210,    14,    34,    35,    36,
668       37,    38,    69,    91,    41,    42,   221,    61,    14,     3,
669      225,   226,    15,   228,     6,   230,    18,     6,    55,     3,
670        6,    91,    91,     6,   239,     9,   241,   242,    65,    66,
671       67,    15,    90,     4,    71,   250,    20,   299,    92,   183,
672        4,    91,   304,   187,   188,   189,   190,   191,   192,   193,
673      194,   195,   196,   197,   198,   199,   200,   201,   355,    65,
674       66,    67,    26,    27,    28,    63,    30,    31,   283,   284,
675       63,   286,     5,    65,    66,    67,    65,    66,    67,    65,
676       66,    67,    65,    66,    67,    15,     9,     4,    67,    32,
677       33,    34,    35,    90,    18,     5,    39,    61,    41,    53,
678       54,   297,    18,   140,   300,    14,    91,   404,    14,   305,
679        6,    14,    90,    90,    90,    65,    66,    67,    14,    91,
680      335,    90,    65,    66,    67,    79,     4,    90,    92,   344,
681       84,    85,    86,    14,    90,    89,    32,    33,    34,    35,
682       90,    90,     4,    39,    79,    41,    14,    90,    44,    84,
683       85,    86,   367,     4,    89,    51,    52,    53,    54,    65,
684       66,    67,    65,    66,    67,     4,    14,   204,     3,    65,
685       66,    67,    90,    69,    70,    71,    72,    73,    74,    75,
686       76,    77,    78,    79,    65,    66,    67,     4,    84,    85,
687       86,    90,   229,    89,    90,   339,    90,    65,    66,    67,
688        1,    90,     3,    14,     5,   420,     7,     8,     9,    10,
689       11,    12,    13,    14,    15,    16,    17,    18,    19,    91,
690       21,    22,    23,    24,    25,    65,    66,    67,    29,    90,
691       90,    32,    33,    34,    35,    15,   420,    53,    39,    40,
692       41,    42,    43,   367,    45,    46,    47,    48,    49,    50,
693       90,    65,    66,    67,    55,    56,    57,    58,    59,    60,
694       50,    62,    28,    79,   300,    71,    71,    68,    84,    85,
695       86,    -1,    -1,    89,    -1,    -1,    90,    -1,    -1,    80,
696       81,    82,    -1,    -1,    -1,     1,    87,    88,    -1,     5,
697       91,     7,     8,     9,    10,    11,    12,    13,    14,    15,
698       16,    17,    18,    19,    -1,    21,    22,    23,    24,    -1,
699       65,    66,    67,    29,    65,    66,    67,    -1,    69,    -1,
700       65,    66,    67,    51,    52,    53,    54,    43,    -1,    45,
701       46,    47,    48,    49,    50,    90,    -1,    -1,    -1,    55,
702       56,    57,    58,    59,    60,    90,    62,    75,    76,    77,
703       78,    79,    68,    -1,    -1,    -1,    84,    85,    86,    -1,
704       -1,    89,    -1,    -1,    80,    81,    82,    -1,    -1,    -1,
705        1,    87,    88,    -1,     5,    91,     7,     8,     9,    10,
706       11,    12,    13,    -1,    15,    16,    17,    18,    19,    -1,
707       21,    22,    23,    24,    -1,    65,    66,    67,    29,    -1,
708       -1,    -1,    -1,    -1,    -1,    -1,    -1,    51,    52,    53,
709       54,    -1,    43,    -1,    45,    46,    47,    48,    49,    50,
710       90,    -1,    -1,    -1,    55,    56,    57,    58,    59,    60,
711       -1,    62,    76,    77,    78,    79,    -1,    68,    -1,    -1,
712       84,    85,    86,    -1,    -1,    89,    -1,    -1,    -1,    80,
713       81,    82,    -1,    -1,    -1,    -1,    87,    88,    -1,    90,
714       91,     3,    -1,     5,    -1,     7,     8,     9,    10,    11,
715       12,    13,    -1,    15,    16,    17,    18,    19,    20,    21,
716       22,    23,    24,    -1,    65,    66,    67,    29,    -1,    -1,
717       -1,    -1,    -1,    -1,    -1,    51,    52,    53,    54,    -1,
718       -1,    43,    -1,    45,    46,    47,    48,    49,    50,    90,
719       65,    66,    67,    55,    56,    57,    58,    59,    60,    -1,
720       62,    77,    78,    79,    -1,    -1,    68,    -1,    84,    85,
721       86,    -1,    -1,    89,    -1,    90,    -1,    -1,    80,    81,
722       82,    -1,    -1,    -1,    -1,    87,    88,    -1,     3,    91,
723        5,    -1,     7,     8,     9,    10,    11,    12,    13,    -1,
724       15,    16,    17,    18,    19,    -1,    21,    22,    23,    24,
725       -1,    65,    66,    67,    29,    -1,    -1,    -1,    -1,    -1,
726       -1,    51,    52,    53,    54,    -1,    -1,    -1,    43,    -1,
727       45,    46,    47,    48,    49,    50,    90,    -1,    -1,    -1,
728       55,    56,    57,    58,    59,    60,    -1,    62,    78,    79,
729       -1,    -1,    -1,    68,    84,    85,    86,    -1,    -1,    89,
730       -1,    -1,    -1,    -1,    -1,    80,    81,    82,    -1,    -1,
731       -1,    -1,    87,    88,    -1,     3,    91,     5,    -1,     7,
732        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
733       18,    19,    -1,    21,    22,    23,    24,    -1,    -1,    -1,
734       -1,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
735       -1,    -1,    -1,    -1,    -1,    43,    -1,    45,    46,    47,
736       48,    49,    50,    -1,    -1,    -1,    -1,    55,    56,    57,
737       58,    59,    60,    -1,    62,     3,    -1,     5,     6,    -1,
738       68,    -1,    -1,    -1,    -1,    -1,    14,    -1,    -1,    -1,
739       -1,    -1,    80,    81,    82,    -1,    53,    54,    -1,    87,
740       88,    -1,    -1,    91,    32,    33,    34,    35,    -1,    -1,
741       -1,    39,    -1,    41,    -1,    -1,    44,    -1,    -1,    -1,
742       -1,    78,    79,    51,    52,    53,    54,    84,    85,    86,
743       -1,    -1,    89,    -1,    -1,    -1,    -1,    65,    66,    67,
744       -1,    69,    70,    71,    72,    73,    74,    75,    76,    77,
745       78,    79,    -1,    -1,    -1,    -1,    84,    85,    86,    -1,
746       -1,    89,    90,     5,     6,     7,     8,     9,    10,    11,
747       12,    13,    -1,    15,    16,    17,    18,    19,    -1,    21,
748       22,    23,    24,    -1,    -1,    -1,    -1,    29,    -1,    -1,
749       -1,    -1,    -1,    -1,    51,    52,    53,    54,    -1,    -1,
750       -1,    43,    -1,    45,    46,    47,    48,    49,    50,    -1,
751       -1,    -1,    -1,    55,    56,    57,    58,    59,    60,    -1,
752       62,    78,    79,    -1,    -1,    -1,    68,    84,    85,    86,
753       -1,    -1,    89,    -1,    -1,    -1,    -1,    -1,    80,    81,
754       82,    51,    -1,    53,    54,    87,    88,    -1,     5,    91,
755        7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
756       17,    18,    19,    -1,    21,    22,    23,    24,    78,    79,
757       -1,    -1,    29,    -1,    84,    85,    86,    -1,    -1,    89,
758       -1,    -1,    -1,    -1,    -1,    -1,    43,    -1,    45,    46,
759       47,    48,    49,    50,    -1,    -1,    -1,    -1,    55,    56,
760       57,    58,    59,    60,    -1,    62,    -1,    -1,    -1,    -1,
761       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
762       -1,    -1,    -1,    80,    81,    82,    -1,    -1,    -1,    -1,
763       87,    88,    -1,     5,    91,     7,     8,     9,    10,    11,
764       12,    13,    -1,    15,    16,    17,    18,    19,    -1,    21,
765       22,    23,    24,    -1,    -1,    -1,    -1,    29,    32,    33,
766       34,    35,    -1,    -1,    -1,    39,    -1,    41,    -1,    -1,
767       -1,    43,    -1,    45,    46,    47,    48,    49,    50,    -1,
768       -1,    -1,    -1,    55,    56,    57,    58,    59,    60,    -1,
769       62,    65,    66,    67,    -1,    -1,    68,    -1,    -1,    -1,
770       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,
771       82,    -1,    -1,    -1,    -1,    87,    88,    -1,    90,    91,
772        5,    -1,     7,     8,     9,    10,    11,    12,    13,    -1,
773       15,    16,    17,    18,    19,    -1,    21,    22,    23,    24,
774       -1,    -1,    -1,    -1,    29,    -1,    -1,    -1,    -1,    -1,
775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    43,    -1,
776       45,    46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,
777       55,    56,    57,    58,    59,    60,    -1,    62,    -1,    -1,
778       -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,
779       -1,    -1,    -1,    -1,    -1,    80,    81,    82,    -1,    -1,
780       -1,    -1,    87,    88,    -1,    90,    91,     5,    -1,     7,
781        8,     9,    10,    11,    12,    13,    -1,    15,    16,    17,
782       18,    19,    -1,    21,    22,    23,    24,    -1,    -1,    -1,
783       -1,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
784       -1,    -1,    -1,    -1,    -1,    43,    -1,    45,    46,    47,
785       48,    49,    50,    -1,    -1,    -1,    -1,    55,    56,    57,
786       58,    59,    60,    -1,    62,    -1,    -1,    -1,    -1,    -1,
787       68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
788       -1,    -1,    80,    81,    82,    -1,    -1,    -1,    -1,    87,
789       88,    -1,    90,    91,     5,    -1,     7,     8,     9,    10,
790       11,    12,    13,    -1,    15,    16,    17,    18,    19,    -1,
791       21,    22,    23,    24,    -1,    -1,    -1,    -1,    29,    -1,
792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
793       -1,    -1,    43,    -1,    45,    46,    47,    48,    49,    50,
794       -1,    -1,    -1,    -1,    55,    56,    57,    58,    59,    60,
795       -1,    62,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,
796       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,
797       81,    82,    -1,    -1,    -1,    -1,    87,    88,    -1,    90,
798       91,     5,    -1,     7,     8,     9,    10,    11,    12,    13,
799       -1,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
800       24,    -1,    -1,    -1,    -1,    29,    -1,    -1,    -1,    -1,
801       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    43,
802       -1,    45,    46,    47,    48,    49,    50,    -1,    -1,    -1,
803       -1,    55,    56,    57,    58,    59,    60,    -1,    62,    -1,
804       -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,
805       -1,    -1,    -1,    -1,    -1,    -1,    80,    81,    82,    -1,
806       -1,    -1,    -1,    87,    88,    -1,    90,    91,     5,    -1,
807        7,     8,     9,    10,    11,    12,    13,    -1,    15,    16,
808       17,    18,    19,    -1,    21,    22,    23,    24,    -1,    -1,
809       -1,    -1,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
810       -1,    -1,    -1,    -1,    -1,    -1,    43,    -1,    45,    46,
811       47,    48,    49,    50,    -1,    -1,    -1,    -1,    55,    56,
812       57,    58,    59,    60,    -1,    62,    -1,    -1,    -1,    -1,
813       -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
814       -1,    -1,    -1,    80,    81,    82,    -1,    -1,    -1,    -1,
815       87,    88,    -1,    90,    91,     5,    -1,     7,     8,     9,
816       10,    11,    12,    13,    -1,    15,    16,    17,    18,    19,
817       -1,    21,    22,    23,    24,    -1,    -1,    -1,    -1,    29,
818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
819       -1,    -1,    -1,    43,    -1,    45,    46,    47,    48,    49,
820       50,    -1,    -1,    -1,    -1,    55,    56,    57,    58,    59,
821       60,    -1,    62,    -1,    -1,    -1,    -1,    -1,    68,    -1,
822       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
823       80,    81,    82,    -1,    -1,    -1,    -1,    87,    88,    -1,
824       90,    91,     5,    -1,     7,     8,     9,    10,    11,    12,
825       13,    -1,    15,    16,    17,    18,    19,    -1,    21,    22,
826       23,    24,    -1,    -1,    -1,    -1,    29,    -1,    -1,    -1,
827       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
828       43,    -1,    45,    46,    47,    48,    49,    50,    -1,    -1,
829       -1,    -1,    55,    56,    57,    58,    59,    60,    -1,    62,
830       -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,    -1,    -1,
831       -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,    82,
832       -1,    -1,    -1,    -1,    87,    88,    -1,    90,    91,     5,
833       -1,     7,     8,     9,    10,    11,    12,    13,    -1,    15,
834       16,    17,    18,    19,    -1,    21,    22,    23,    24,    -1,
835       -1,    -1,    -1,    29,    -1,    -1,    -1,    -1,    -1,    -1,
836       -1,    -1,    -1,    -1,    -1,    -1,    -1,    43,    -1,    45,
837       46,    47,    48,    49,    50,    -1,    -1,    -1,    -1,    55,
838       56,    57,    58,    59,    60,   364,    62,   366,    -1,    -1,
839       -1,   370,    68,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
840       -1,    -1,    -1,    -1,    80,    81,    82,    -1,   387,   388,
841       -1,    87,    88,    -1,    -1,    91,   395,   396,    -1,    -1,
842       -1,    -1,    -1,    -1,    44,    -1,   405,    -1,    -1,    -1,
843      409,    51,    52,    53,    54,    -1,    -1,    -1,    -1,    -1,
844       -1,    -1,    -1,    -1,    -1,    -1,    -1,   426,   427,    -1,
845       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
846       -1,    -1,    -1,    44,    84,    85,    86,    -1,    -1,    89,
847       51,    52,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,
848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
849       71,    -1,    73,    74,    75,    76,    77,    78,    79,    -1,
850       -1,    -1,    44,    84,    85,    86,    -1,    -1,    89,    51,
851       52,    53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
852       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    71,
853       -1,    73,    74,    75,    76,    77,    78,    79,    -1,    -1,
854       -1,    44,    84,    85,    86,    -1,    -1,    89,    51,    52,
855       53,    54,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
857       73,    74,    75,    76,    77,    78,    79,    -1,    -1,    -1,
858       -1,    84,    85,    86,    -1,    -1,    89
859 };
860
861 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
862    symbol of state STATE-NUM.  */
863 static const yytype_uint8 yystos[] =
864 {
865        0,    94,    98,     0,   101,    26,    27,    28,    30,    31,
866       61,    92,   102,   108,   109,   117,   118,   119,   120,   122,
867      123,   132,   133,   135,   126,   124,    15,   124,   124,     1,
868        3,     5,     7,     8,     9,    10,    11,    12,    13,    14,
869       15,    16,    17,    18,    19,    21,    22,    23,    24,    25,
870       29,    32,    33,    34,    35,    39,    40,    41,    42,    43,
871       45,    46,    47,    48,    49,    50,    55,    56,    57,    58,
872       59,    60,    62,    68,    80,    81,    82,    87,    88,    91,
873       95,   103,   105,   106,   137,   138,   139,   142,   143,   144,
874      145,   146,   147,   148,   153,   154,   155,   156,   157,   158,
875       15,   121,    15,   127,    15,   136,   127,    96,     6,   137,
876      147,   147,    15,    20,    95,   154,   159,   159,   159,   159,
877      159,   159,   159,    91,   147,   125,   125,    91,    91,    91,
878       91,    60,    91,   154,    91,    91,    95,   147,    91,    91,
879       91,    95,   147,    15,   138,   150,   154,   159,   159,    15,
880       95,   147,   154,    14,   137,    15,   147,    91,   149,   154,
881      155,   156,   147,   138,   147,   147,   147,   147,   147,    90,
882      137,    38,   107,    14,    32,    33,    34,    35,    39,    41,
883       65,    66,    67,    69,     3,     5,    91,    44,    51,    52,
884       53,    54,    70,    71,    73,    74,    75,    76,    77,    78,
885       79,    84,    85,    86,    89,    91,     3,     5,     3,     5,
886        3,    95,    18,   128,     3,    14,    15,   128,   101,     6,
887      150,    91,   138,    95,   128,    96,    96,    96,    96,    96,
888       96,    91,    96,    96,    90,    90,   137,   137,   151,   159,
889      138,    91,    91,     4,    14,   150,    90,   137,    63,   130,
890        5,    90,    95,   137,   113,   137,   137,   137,   137,   137,
891      137,   137,   137,   147,   137,   137,    90,   137,   147,   147,
892      147,   147,   147,   147,   147,   147,   147,   147,   147,   147,
893      147,   147,   147,     3,     5,    16,    91,   141,   154,    90,
894      137,   137,   137,   137,   137,   137,    63,   129,    96,    15,
895      129,     4,   151,    90,   140,   129,   112,   137,   113,   114,
896      137,   113,   116,   152,   154,   103,   111,   114,   115,   137,
897       96,    97,   114,    90,    69,    90,   137,    90,   137,    90,
898      137,     4,    90,    18,   137,     5,    14,     6,    90,    72,
899      137,   137,    90,   137,    91,    90,    14,     6,    14,     6,
900       14,    18,    14,    95,   131,   134,   150,   131,    90,   150,
901       95,    90,    90,    90,    90,    91,    90,    14,   114,   114,
902       90,    90,    90,    90,     6,   137,     4,   147,    14,     6,
903       90,   151,     4,     4,     4,   101,    14,   110,   110,     3,
904       99,    99,   114,    99,   112,    90,    90,    99,     6,     4,
905       90,     4,    99,    99,   100,    36,    37,   104,   104,    90,
906      107,    14,    99,    99,   107,   107,   101,    99,    91,    99,
907      110,   107,     4,   114,   107,   115,    90,    90,    99,    99,
908      104
909 };
910
911 typedef enum {
912         toketype_i_tkval, toketype_ival, toketype_opval, toketype_p_tkval
913 } toketypes;
914
915 /* type of each token/terminal */
916 static const toketypes yy_type_tab[] =
917 {
918   toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
919   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_opval, toketype_opval, toketype_opval,
920   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
921   toketype_opval, toketype_opval, toketype_p_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
922   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
923   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
924   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
925   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
926   toketype_i_tkval, toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
927   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
928   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
929   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
930   toketype_i_tkval, toketype_ival, toketype_ival, toketype_opval, toketype_ival, toketype_ival, toketype_ival,
931   toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
932   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
933   toketype_opval, toketype_opval, toketype_opval, toketype_p_tkval, toketype_opval, toketype_opval, toketype_opval,
934   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_ival,
935   toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
936   toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_ival, toketype_opval,
937   toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
938   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
939   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
940   toketype_opval, toketype_opval, toketype_opval
941 };