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