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