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