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