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