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