/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Contents of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 947 - (show annotations) (download)
Mon Nov 27 21:34:55 2006 UTC (17 years, 4 months ago) by schoenebeck
File size: 204807 byte(s)
* implemented MIDI instrument mapping according to latest LSCP draft

1 /* A Bison parser, made by GNU Bison 2.2. */
2
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
22
23 /* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
32
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
35
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
38
39 /* All symbols defined below should begin with yy or YY, to avoid
40 infringing on user name space. This should be done even for local
41 variables, as they might otherwise be expanded by user macros.
42 There are some unavoidable exceptions within include files to
43 define necessary library symbols; they are noted "INFRINGES ON
44 USER NAME SPACE" below. */
45
46 /* Identify Bison output. */
47 #define YYBISON 1
48
49 /* Bison version. */
50 #define YYBISON_VERSION "2.2"
51
52 /* Skeleton name. */
53 #define YYSKELETON_NAME "yacc.c"
54
55 /* Pure parsers. */
56 #define YYPURE 1
57
58 /* Using locations. */
59 #define YYLSP_NEEDED 0
60
61
62
63
64
65
66
67 /* Copy the first part of user declarations. */
68 #line 31 "lscp.y"
69
70
71 #include "lscpparser.h"
72 #include "lscpserver.h"
73 #include "lscpevent.h"
74
75 // to save us typing work in the rules action definitions
76 #define LSCPSERVER ((yyparse_param_t*) yyparse_param)->pServer
77
78 // clears input buffer
79 void restart(yyparse_param_t* pparam, int& yychar);
80 #define RESTART restart((yyparse_param_t*) YYPARSE_PARAM, yychar)
81
82 // we provide our own version of yyerror() so we don't have to link against the yacc library
83 void yyerror(const char* s);
84
85 static char buf[1024]; // input buffer to feed the parser with new characters
86 static int bytes = 0; // current number of characters in the input buffer
87 static int ptr = 0; // current position in the input buffer
88
89 // external reference to the function which actually reads from the socket
90 extern int GetLSCPCommand( void *buf, int max_size);
91
92 // custom scanner function which reads from the socket
93 int yylex(YYSTYPE* yylval) {
94 // check if we have to read new characters
95 if (ptr >= bytes) {
96 bytes = GetLSCPCommand(buf, 1023);
97 ptr = 0;
98 if (bytes < 0) {
99 bytes = 0;
100 return 0;
101 }
102 }
103 return (int) buf[ptr++];
104 }
105
106
107
108 /* Enabling traces. */
109 #ifndef YYDEBUG
110 # define YYDEBUG 0
111 #endif
112
113 /* Enabling verbose error messages. */
114 #ifdef YYERROR_VERBOSE
115 # undef YYERROR_VERBOSE
116 # define YYERROR_VERBOSE 1
117 #else
118 # define YYERROR_VERBOSE 0
119 #endif
120
121 /* Enabling the token table. */
122 #ifndef YYTOKEN_TABLE
123 # define YYTOKEN_TABLE 0
124 #endif
125
126 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
127 typedef int YYSTYPE;
128 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
129 # define YYSTYPE_IS_DECLARED 1
130 # define YYSTYPE_IS_TRIVIAL 1
131 #endif
132
133
134
135 /* Copy the second part of user declarations. */
136
137
138 /* Line 216 of yacc.c. */
139 #line 140 "y.tab.c"
140
141 #ifdef short
142 # undef short
143 #endif
144
145 #ifdef YYTYPE_UINT8
146 typedef YYTYPE_UINT8 yytype_uint8;
147 #else
148 typedef unsigned char yytype_uint8;
149 #endif
150
151 #ifdef YYTYPE_INT8
152 typedef YYTYPE_INT8 yytype_int8;
153 #elif (defined __STDC__ || defined __C99__FUNC__ \
154 || defined __cplusplus || defined _MSC_VER)
155 typedef signed char yytype_int8;
156 #else
157 typedef short int yytype_int8;
158 #endif
159
160 #ifdef YYTYPE_UINT16
161 typedef YYTYPE_UINT16 yytype_uint16;
162 #else
163 typedef unsigned short int yytype_uint16;
164 #endif
165
166 #ifdef YYTYPE_INT16
167 typedef YYTYPE_INT16 yytype_int16;
168 #else
169 typedef short int yytype_int16;
170 #endif
171
172 #ifndef YYSIZE_T
173 # ifdef __SIZE_TYPE__
174 # define YYSIZE_T __SIZE_TYPE__
175 # elif defined size_t
176 # define YYSIZE_T size_t
177 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
178 || defined __cplusplus || defined _MSC_VER)
179 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
180 # define YYSIZE_T size_t
181 # else
182 # define YYSIZE_T unsigned int
183 # endif
184 #endif
185
186 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
187
188 #ifndef YY_
189 # if YYENABLE_NLS
190 # if ENABLE_NLS
191 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
192 # define YY_(msgid) dgettext ("bison-runtime", msgid)
193 # endif
194 # endif
195 # ifndef YY_
196 # define YY_(msgid) msgid
197 # endif
198 #endif
199
200 /* Suppress unused-variable warnings by "using" E. */
201 #if ! defined lint || defined __GNUC__
202 # define YYUSE(e) ((void) (e))
203 #else
204 # define YYUSE(e) /* empty */
205 #endif
206
207 /* Identity function, used to suppress warnings about constant conditions. */
208 #ifndef lint
209 # define YYID(n) (n)
210 #else
211 #if (defined __STDC__ || defined __C99__FUNC__ \
212 || defined __cplusplus || defined _MSC_VER)
213 static int
214 YYID (int i)
215 #else
216 static int
217 YYID (i)
218 int i;
219 #endif
220 {
221 return i;
222 }
223 #endif
224
225 #if ! defined yyoverflow || YYERROR_VERBOSE
226
227 /* The parser invokes alloca or malloc; define the necessary symbols. */
228
229 # ifdef YYSTACK_USE_ALLOCA
230 # if YYSTACK_USE_ALLOCA
231 # ifdef __GNUC__
232 # define YYSTACK_ALLOC __builtin_alloca
233 # elif defined __BUILTIN_VA_ARG_INCR
234 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
235 # elif defined _AIX
236 # define YYSTACK_ALLOC __alloca
237 # elif defined _MSC_VER
238 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
239 # define alloca _alloca
240 # else
241 # define YYSTACK_ALLOC alloca
242 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
243 || defined __cplusplus || defined _MSC_VER)
244 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
245 # ifndef _STDLIB_H
246 # define _STDLIB_H 1
247 # endif
248 # endif
249 # endif
250 # endif
251 # endif
252
253 # ifdef YYSTACK_ALLOC
254 /* Pacify GCC's `empty if-body' warning. */
255 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
256 # ifndef YYSTACK_ALLOC_MAXIMUM
257 /* The OS might guarantee only one guard page at the bottom of the stack,
258 and a page size can be as small as 4096 bytes. So we cannot safely
259 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
260 to allow for a few compiler-allocated temporary stack slots. */
261 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
262 # endif
263 # else
264 # define YYSTACK_ALLOC YYMALLOC
265 # define YYSTACK_FREE YYFREE
266 # ifndef YYSTACK_ALLOC_MAXIMUM
267 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
268 # endif
269 # if (defined __cplusplus && ! defined _STDLIB_H \
270 && ! ((defined YYMALLOC || defined malloc) \
271 && (defined YYFREE || defined free)))
272 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
273 # ifndef _STDLIB_H
274 # define _STDLIB_H 1
275 # endif
276 # endif
277 # ifndef YYMALLOC
278 # define YYMALLOC malloc
279 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
280 || defined __cplusplus || defined _MSC_VER)
281 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
282 # endif
283 # endif
284 # ifndef YYFREE
285 # define YYFREE free
286 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
287 || defined __cplusplus || defined _MSC_VER)
288 void free (void *); /* INFRINGES ON USER NAME SPACE */
289 # endif
290 # endif
291 # endif
292 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
293
294
295 #if (! defined yyoverflow \
296 && (! defined __cplusplus \
297 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
298
299 /* A type that is properly aligned for any stack member. */
300 union yyalloc
301 {
302 yytype_int16 yyss;
303 YYSTYPE yyvs;
304 };
305
306 /* The size of the maximum gap between one aligned stack and the next. */
307 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
308
309 /* The size of an array large to enough to hold all stacks, each with
310 N elements. */
311 # define YYSTACK_BYTES(N) \
312 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
313 + YYSTACK_GAP_MAXIMUM)
314
315 /* Copy COUNT objects from FROM to TO. The source and destination do
316 not overlap. */
317 # ifndef YYCOPY
318 # if defined __GNUC__ && 1 < __GNUC__
319 # define YYCOPY(To, From, Count) \
320 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
321 # else
322 # define YYCOPY(To, From, Count) \
323 do \
324 { \
325 YYSIZE_T yyi; \
326 for (yyi = 0; yyi < (Count); yyi++) \
327 (To)[yyi] = (From)[yyi]; \
328 } \
329 while (YYID (0))
330 # endif
331 # endif
332
333 /* Relocate STACK from its old location to the new one. The
334 local variables YYSIZE and YYSTACKSIZE give the old and new number of
335 elements in the stack, and YYPTR gives the new location of the
336 stack. Advance YYPTR to a properly aligned location for the next
337 stack. */
338 # define YYSTACK_RELOCATE(Stack) \
339 do \
340 { \
341 YYSIZE_T yynewbytes; \
342 YYCOPY (&yyptr->Stack, Stack, yysize); \
343 Stack = &yyptr->Stack; \
344 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
345 yyptr += yynewbytes / sizeof (*yyptr); \
346 } \
347 while (YYID (0))
348
349 #endif
350
351 /* YYFINAL -- State number of the termination state. */
352 #define YYFINAL 46
353 /* YYLAST -- Last index in YYTABLE. */
354 #define YYLAST 4233
355
356 /* YYNTOKENS -- Number of terminals. */
357 #define YYNTOKENS 227
358 /* YYNNTS -- Number of nonterminals. */
359 #define YYNNTS 117
360 /* YYNRULES -- Number of rules. */
361 #define YYNRULES 465
362 /* YYNRULES -- Number of states. */
363 #define YYNSTATES 1365
364
365 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
366 #define YYUNDEFTOK 2
367 #define YYMAXUTOK 257
368
369 #define YYTRANSLATE(YYX) \
370 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
371
372 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
373 static const yytype_uint8 yytranslate[] =
374 {
375 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
376 225, 2, 2, 226, 2, 2, 2, 2, 2, 2,
377 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
378 2, 2, 224, 71, 223, 3, 72, 73, 74, 222,
379 75, 76, 77, 7, 5, 8, 6, 78, 9, 10,
380 11, 12, 13, 14, 15, 16, 17, 18, 79, 80,
381 81, 4, 82, 83, 84, 19, 20, 21, 22, 23,
382 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
383 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
384 44, 85, 86, 87, 88, 89, 2, 45, 46, 47,
385 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
386 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
387 68, 69, 70, 90, 91, 92, 93, 2, 94, 95,
388 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
389 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
390 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
391 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
392 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
393 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
394 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
395 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
396 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
397 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
398 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
399 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
400 216, 217, 218, 219, 220, 221, 1, 2
401 };
402
403 #if YYDEBUG
404 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
405 YYRHS. */
406 static const yytype_uint16 yyprhs[] =
407 {
408 0, 0, 3, 6, 10, 11, 13, 15, 17, 19,
409 22, 25, 28, 31, 35, 39, 43, 47, 51, 55,
410 59, 63, 67, 71, 75, 79, 83, 87, 91, 93,
411 95, 97, 99, 101, 103, 105, 107, 109, 111, 113,
412 115, 117, 119, 121, 123, 139, 157, 175, 195, 203,
413 207, 209, 211, 217, 225, 235, 237, 243, 251, 261,
414 263, 265, 271, 277, 285, 295, 303, 313, 315, 321,
415 329, 335, 341, 347, 351, 353, 355, 357, 367, 375,
416 385, 393, 403, 407, 411, 417, 421, 427, 431, 435,
417 437, 441, 445, 449, 453, 459, 467, 473, 483, 489,
418 495, 501, 507, 513, 519, 525, 529, 535, 537, 539,
419 541, 543, 545, 547, 549, 551, 553, 559, 567, 571,
420 573, 575, 577, 579, 581, 583, 585, 587, 589, 591,
421 593, 595, 597, 599, 601, 603, 605, 607, 609, 611,
422 613, 617, 619, 621, 623, 625, 627, 629, 631, 634,
423 638, 643, 648, 650, 653, 655, 657, 659, 661, 663,
424 665, 667, 669, 671, 673, 675, 678, 681, 684, 687,
425 690, 693, 696, 699, 702, 704, 706, 708, 710, 712,
426 714, 716, 718, 720, 722, 724, 726, 728, 730, 732,
427 734, 736, 738, 740, 742, 744, 746, 748, 750, 752,
428 754, 756, 758, 760, 762, 764, 766, 768, 770, 772,
429 774, 776, 778, 780, 782, 784, 786, 788, 790, 792,
430 794, 796, 798, 800, 802, 804, 806, 808, 810, 812,
431 814, 816, 818, 820, 822, 824, 826, 828, 830, 832,
432 834, 836, 838, 840, 842, 844, 846, 848, 850, 852,
433 854, 856, 858, 860, 862, 864, 866, 868, 870, 872,
434 874, 876, 878, 880, 882, 884, 886, 888, 890, 892,
435 894, 896, 898, 900, 902, 904, 906, 908, 910, 912,
436 914, 916, 918, 920, 922, 924, 926, 928, 930, 932,
437 934, 936, 938, 940, 942, 944, 946, 948, 950, 952,
438 954, 956, 958, 960, 962, 964, 966, 968, 970, 972,
439 974, 976, 978, 980, 982, 984, 986, 988, 990, 992,
440 994, 996, 998, 1000, 1002, 1004, 1006, 1008, 1010, 1012,
441 1014, 1016, 1018, 1020, 1022, 1024, 1026, 1028, 1030, 1032,
442 1034, 1036, 1038, 1040, 1042, 1044, 1046, 1048, 1050, 1052,
443 1054, 1056, 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072,
444 1074, 1076, 1078, 1080, 1082, 1084, 1086, 1088, 1090, 1092,
445 1094, 1096, 1098, 1100, 1102, 1104, 1106, 1108, 1110, 1112,
446 1114, 1116, 1118, 1120, 1122, 1124, 1126, 1128, 1130, 1132,
447 1134, 1136, 1138, 1140, 1142, 1144, 1147, 1150, 1154, 1158,
448 1160, 1162, 1164, 1168, 1172, 1176, 1182, 1188, 1195, 1203,
449 1208, 1213, 1217, 1227, 1234, 1238, 1248, 1260, 1267, 1275,
450 1293, 1324, 1333, 1338, 1352, 1365, 1377, 1390, 1402, 1420,
451 1442, 1453, 1460, 1470, 1485, 1496, 1526, 1547, 1567, 1597,
452 1617, 1648, 1669, 1687, 1716, 1744, 1770, 1789, 1807, 1835,
453 1851, 1868, 1886, 1902, 1921, 1937, 1948, 1955, 1962, 1967,
454 1972, 1978, 1989, 1995, 2009, 2014
455 };
456
457 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
458 static const yytype_int16 yyrhs[] =
459 {
460 228, 0, -1, 229, 278, -1, 229, 279, 278, -1,
461 -1, 230, -1, 231, -1, 1, -1, 3, -1, 230,
462 3, -1, 230, 277, -1, 230, 273, -1, 230, 269,
463 -1, 280, 277, 296, -1, 282, 277, 234, -1, 283,
464 277, 235, -1, 281, 277, 237, -1, 285, 277, 239,
465 -1, 286, 277, 242, -1, 287, 277, 247, -1, 288,
466 277, 243, -1, 291, 277, 236, -1, 292, 277, 238,
467 -1, 293, 277, 232, -1, 294, 277, 233, -1, 295,
468 277, 275, -1, 340, 277, 240, -1, 284, 277, 241,
469 -1, 340, -1, 343, -1, 301, -1, 305, -1, 304,
470 -1, 303, -1, 302, -1, 341, -1, 306, -1, 301,
471 -1, 305, -1, 304, -1, 303, -1, 302, -1, 341,
472 -1, 306, -1, 327, 277, 257, 277, 258, 277, 259,
473 277, 263, 277, 264, 277, 262, 277, 260, -1, 327,
474 277, 257, 277, 258, 277, 259, 277, 263, 277, 264,
475 277, 262, 277, 260, 277, 250, -1, 327, 277, 257,
476 277, 258, 277, 259, 277, 263, 277, 264, 277, 262,
477 277, 260, 277, 265, -1, 327, 277, 257, 277, 258,
478 277, 259, 277, 263, 277, 264, 277, 262, 277, 260,
479 277, 250, 277, 265, -1, 327, 277, 257, 277, 258,
480 277, 259, -1, 296, 277, 261, -1, 297, -1, 321,
481 -1, 329, 277, 300, 277, 269, -1, 326, 277, 300,
482 277, 269, 277, 269, -1, 326, 277, 300, 277, 269,
483 277, 269, 277, 245, -1, 298, -1, 317, 277, 300,
484 277, 269, -1, 316, 277, 300, 277, 269, 277, 269,
485 -1, 316, 277, 300, 277, 269, 277, 269, 277, 245,
486 -1, 314, -1, 324, -1, 315, 277, 300, 277, 273,
487 -1, 325, 277, 300, 277, 273, -1, 330, 277, 300,
488 277, 273, 277, 273, -1, 323, 277, 300, 277, 273,
489 277, 273, 277, 269, -1, 319, 277, 300, 277, 273,
490 277, 273, -1, 318, 277, 300, 277, 273, 277, 273,
491 277, 269, -1, 299, -1, 296, 277, 300, 277, 261,
492 -1, 296, 277, 303, 277, 246, 277, 261, -1, 296,
493 277, 304, 277, 261, -1, 296, 277, 305, 277, 261,
494 -1, 309, 277, 300, 277, 263, -1, 334, 277, 300,
495 -1, 306, -1, 307, -1, 328, -1, 327, 277, 300,
496 277, 257, 277, 258, 277, 259, -1, 313, 277, 273,
497 277, 269, 4, 266, -1, 318, 277, 273, 277, 273,
498 277, 269, 4, 266, -1, 322, 277, 273, 277, 269,
499 4, 266, -1, 323, 277, 273, 277, 273, 277, 269,
500 4, 266, -1, 296, 277, 244, -1, 342, 277, 268,
501 -1, 315, 277, 269, 277, 245, -1, 315, 277, 269,
502 -1, 325, 277, 269, 277, 245, -1, 325, 277, 269,
503 -1, 296, 277, 261, -1, 328, -1, 315, 277, 273,
504 -1, 325, 277, 273, -1, 308, 277, 248, -1, 309,
505 277, 249, -1, 315, 277, 261, 277, 251, -1, 319,
506 277, 261, 277, 252, 277, 252, -1, 320, 277, 261,
507 277, 253, -1, 333, 277, 261, 277, 251, 277, 254,
508 277, 255, -1, 325, 277, 261, 277, 251, -1, 330,
509 277, 261, 277, 254, -1, 331, 277, 261, 277, 255,
510 -1, 332, 277, 261, 277, 256, -1, 335, 277, 261,
511 277, 260, -1, 336, 277, 261, 277, 268, -1, 337,
512 277, 261, 277, 268, -1, 269, 4, 266, -1, 245,
513 277, 269, 4, 266, -1, 338, -1, 339, -1, 314,
514 -1, 324, -1, 299, -1, 297, -1, 321, -1, 298,
515 -1, 328, -1, 264, 277, 262, 277, 261, -1, 290,
516 277, 264, 277, 262, 277, 261, -1, 263, 277, 261,
517 -1, 310, -1, 311, -1, 312, -1, 273, -1, 273,
518 -1, 269, -1, 273, -1, 273, -1, 289, -1, 269,
519 -1, 273, -1, 273, -1, 273, -1, 270, -1, 273,
520 -1, 273, -1, 273, -1, 269, -1, 276, -1, 276,
521 -1, 267, -1, 266, 5, 267, -1, 269, -1, 276,
522 -1, 273, -1, 270, -1, 273, -1, 269, -1, 274,
523 -1, 269, 274, -1, 271, 6, 271, -1, 7, 271,
524 6, 271, -1, 8, 271, 6, 271, -1, 272, -1,
525 271, 272, -1, 9, -1, 10, -1, 11, -1, 12,
526 -1, 13, -1, 14, -1, 15, -1, 16, -1, 17,
527 -1, 18, -1, 272, -1, 10, 271, -1, 11, 271,
528 -1, 12, 271, -1, 13, 271, -1, 14, 271, -1,
529 15, 271, -1, 16, 271, -1, 17, 271, -1, 18,
530 271, -1, 19, -1, 20, -1, 21, -1, 22, -1,
531 23, -1, 24, -1, 25, -1, 26, -1, 27, -1,
532 28, -1, 29, -1, 30, -1, 31, -1, 32, -1,
533 33, -1, 34, -1, 35, -1, 36, -1, 37, -1,
534 38, -1, 39, -1, 40, -1, 41, -1, 42, -1,
535 43, -1, 44, -1, 45, -1, 46, -1, 47, -1,
536 48, -1, 49, -1, 50, -1, 51, -1, 52, -1,
537 53, -1, 54, -1, 55, -1, 56, -1, 57, -1,
538 58, -1, 59, -1, 60, -1, 61, -1, 62, -1,
539 63, -1, 64, -1, 65, -1, 66, -1, 67, -1,
540 68, -1, 69, -1, 70, -1, 9, -1, 10, -1,
541 11, -1, 12, -1, 13, -1, 14, -1, 15, -1,
542 16, -1, 17, -1, 18, -1, 71, -1, 3, -1,
543 72, -1, 73, -1, 74, -1, 75, -1, 76, -1,
544 77, -1, 7, -1, 8, -1, 6, -1, 5, -1,
545 78, -1, 79, -1, 80, -1, 81, -1, 4, -1,
546 82, -1, 83, -1, 84, -1, 85, -1, 86, -1,
547 87, -1, 88, -1, 89, -1, 90, -1, 91, -1,
548 92, -1, 93, -1, 94, -1, 95, -1, 96, -1,
549 97, -1, 98, -1, 99, -1, 100, -1, 101, -1,
550 102, -1, 103, -1, 104, -1, 105, -1, 106, -1,
551 107, -1, 108, -1, 109, -1, 110, -1, 111, -1,
552 112, -1, 113, -1, 114, -1, 115, -1, 116, -1,
553 117, -1, 118, -1, 119, -1, 120, -1, 121, -1,
554 122, -1, 123, -1, 124, -1, 125, -1, 126, -1,
555 127, -1, 128, -1, 129, -1, 130, -1, 131, -1,
556 132, -1, 133, -1, 134, -1, 135, -1, 136, -1,
557 137, -1, 138, -1, 139, -1, 140, -1, 141, -1,
558 142, -1, 143, -1, 144, -1, 145, -1, 146, -1,
559 147, -1, 148, -1, 149, -1, 150, -1, 151, -1,
560 152, -1, 153, -1, 154, -1, 155, -1, 156, -1,
561 157, -1, 158, -1, 159, -1, 160, -1, 161, -1,
562 162, -1, 163, -1, 164, -1, 165, -1, 166, -1,
563 167, -1, 168, -1, 169, -1, 170, -1, 171, -1,
564 172, -1, 173, -1, 174, -1, 175, -1, 176, -1,
565 177, -1, 178, -1, 179, -1, 180, -1, 181, -1,
566 182, -1, 183, -1, 184, -1, 185, -1, 186, -1,
567 187, -1, 188, -1, 189, -1, 190, -1, 191, -1,
568 192, -1, 193, -1, 194, -1, 195, -1, 196, -1,
569 197, -1, 198, -1, 199, -1, 200, -1, 201, -1,
570 202, -1, 203, -1, 204, -1, 205, -1, 206, -1,
571 207, -1, 208, -1, 209, -1, 210, -1, 211, -1,
572 212, -1, 213, -1, 214, -1, 215, -1, 216, -1,
573 217, -1, 218, -1, 219, -1, 220, -1, 221, -1,
574 277, -1, 269, -1, 275, 277, -1, 275, 269, -1,
575 222, 275, 222, -1, 223, 275, 223, -1, 224, -1,
576 225, -1, 226, -1, 19, 22, 22, -1, 25, 23,
577 38, -1, 31, 19, 34, -1, 39, 32, 31, 19,
578 34, -1, 21, 30, 23, 19, 36, -1, 21, 36,
579 23, 19, 38, 23, -1, 22, 23, 37, 38, 36,
580 33, 43, -1, 30, 27, 37, 38, -1, 30, 33,
581 19, 22, -1, 19, 30, 30, -1, 32, 33, 32,
582 89, 31, 33, 22, 19, 30, -1, 36, 23, 31,
583 33, 40, 23, -1, 37, 23, 38, -1, 37, 39,
584 20, 37, 21, 36, 27, 20, 23, -1, 39, 32,
585 37, 39, 20, 37, 21, 36, 27, 20, 23, -1,
586 37, 23, 30, 23, 21, 38, -1, 21, 26, 19,
587 32, 32, 23, 30, -1, 19, 40, 19, 27, 30,
588 19, 20, 30, 23, 89, 23, 32, 25, 27, 32,
589 23, 37, -1, 19, 40, 19, 27, 30, 19, 20,
590 30, 23, 89, 19, 39, 22, 27, 33, 89, 33,
591 39, 38, 34, 39, 38, 89, 22, 36, 27, 40,
592 23, 36, 37, -1, 21, 26, 19, 32, 32, 23,
593 30, 37, -1, 27, 32, 24, 33, -1, 21, 26,
594 19, 32, 32, 23, 30, 89, 21, 33, 39, 32,
595 38, -1, 21, 26, 19, 32, 32, 23, 30, 89,
596 27, 32, 24, 33, -1, 20, 39, 24, 24, 23,
597 36, 89, 24, 27, 30, 30, -1, 37, 38, 36,
598 23, 19, 31, 89, 21, 33, 39, 32, 38, -1,
599 40, 33, 27, 21, 23, 89, 21, 33, 39, 32,
600 38, -1, 38, 33, 38, 19, 30, 89, 40, 33,
601 27, 21, 23, 89, 21, 33, 39, 32, 38, -1,
602 38, 33, 38, 19, 30, 89, 40, 33, 27, 21,
603 23, 89, 21, 33, 39, 32, 38, 89, 31, 19,
604 42, -1, 27, 32, 37, 38, 36, 39, 31, 23,
605 32, 38, -1, 23, 32, 25, 27, 32, 23, -1,
606 33, 32, 89, 22, 23, 31, 19, 32, 22, -1,
607 33, 32, 89, 22, 23, 31, 19, 32, 22, 89,
608 26, 33, 30, 22, -1, 34, 23, 36, 37, 27,
609 37, 38, 23, 32, 38, -1, 19, 39, 22, 27,
610 33, 89, 33, 39, 38, 34, 39, 38, 89, 22,
611 23, 40, 27, 21, 23, 89, 34, 19, 36, 19,
612 31, 23, 38, 23, 36, -1, 19, 39, 22, 27,
613 33, 89, 33, 39, 38, 34, 39, 38, 89, 22,
614 23, 40, 27, 21, 23, 37, -1, 19, 39, 22,
615 27, 33, 89, 33, 39, 38, 34, 39, 38, 89,
616 22, 23, 40, 27, 21, 23, -1, 19, 39, 22,
617 27, 33, 89, 33, 39, 38, 34, 39, 38, 89,
618 22, 36, 27, 40, 23, 36, 89, 34, 19, 36,
619 19, 31, 23, 38, 23, 36, -1, 19, 39, 22,
620 27, 33, 89, 33, 39, 38, 34, 39, 38, 89,
621 22, 36, 27, 40, 23, 36, -1, 19, 39, 22,
622 27, 33, 89, 33, 39, 38, 34, 39, 38, 89,
623 21, 26, 19, 32, 32, 23, 30, 89, 34, 19,
624 36, 19, 31, 23, 38, 23, 36, -1, 19, 39,
625 22, 27, 33, 89, 33, 39, 38, 34, 39, 38,
626 89, 21, 26, 19, 32, 32, 23, 30, -1, 19,
627 39, 22, 27, 33, 89, 33, 39, 38, 34, 39,
628 38, 89, 38, 43, 34, 23, -1, 19, 40, 19,
629 27, 30, 19, 20, 30, 23, 89, 31, 27, 22,
630 27, 89, 27, 32, 34, 39, 38, 89, 22, 36,
631 27, 40, 23, 36, 37, -1, 31, 27, 22, 27,
632 89, 27, 32, 34, 39, 38, 89, 22, 23, 40,
633 27, 21, 23, 89, 34, 19, 36, 19, 31, 23,
634 38, 23, 36, -1, 31, 27, 22, 27, 89, 27,
635 32, 34, 39, 38, 89, 34, 33, 36, 38, 89,
636 34, 19, 36, 19, 31, 23, 38, 23, 36, -1,
637 31, 27, 22, 27, 89, 27, 32, 34, 39, 38,
638 89, 22, 23, 40, 27, 21, 23, 37, -1, 31,
639 27, 22, 27, 89, 27, 32, 34, 39, 38, 89,
640 22, 23, 40, 27, 21, 23, -1, 31, 27, 22,
641 27, 89, 27, 32, 34, 39, 38, 89, 22, 36,
642 27, 40, 23, 36, 89, 34, 19, 36, 19, 31,
643 23, 38, 23, 36, -1, 31, 27, 22, 27, 89,
644 27, 32, 37, 38, 36, 39, 31, 23, 32, 38,
645 -1, 31, 27, 22, 27, 89, 27, 32, 37, 38,
646 36, 39, 31, 23, 32, 38, 37, -1, 31, 27,
647 22, 27, 89, 27, 32, 34, 39, 38, 89, 22,
648 36, 27, 40, 23, 36, -1, 31, 27, 22, 27,
649 89, 27, 32, 34, 39, 38, 89, 34, 33, 36,
650 38, -1, 31, 27, 22, 27, 89, 27, 32, 34,
651 39, 38, 89, 21, 26, 19, 32, 32, 23, 30,
652 -1, 31, 27, 22, 27, 89, 27, 32, 34, 39,
653 38, 89, 38, 43, 34, 23, -1, 31, 27, 22,
654 27, 89, 27, 32, 34, 39, 38, -1, 37, 23,
655 36, 40, 23, 36, -1, 40, 33, 30, 39, 31,
656 23, -1, 31, 39, 38, 23, -1, 37, 33, 30,
657 33, -1, 20, 43, 38, 23, 37, -1, 34, 23,
658 36, 21, 23, 32, 38, 19, 25, 23, -1, 36,
659 23, 37, 23, 38, -1, 31, 27, 37, 21, 23,
660 30, 30, 19, 32, 23, 33, 39, 37, -1, 23,
661 21, 26, 33, -1, 35, 39, 27, 38, -1
662 };
663
664 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
665 static const yytype_uint16 yyrline[] =
666 {
667 0, 95, 95, 96, 99, 100, 101, 102, 105, 106,
668 107, 108, 109, 112, 113, 114, 115, 116, 117, 118,
669 119, 120, 122, 123, 124, 125, 126, 127, 128, 129,
670 132, 133, 134, 135, 136, 137, 138, 141, 142, 143,
671 144, 145, 146, 147, 150, 151, 152, 153, 156, 159,
672 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
673 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
674 182, 183, 184, 185, 186, 187, 188, 189, 192, 193,
675 194, 195, 196, 197, 200, 201, 202, 203, 206, 209,
676 212, 213, 216, 217, 220, 221, 222, 223, 224, 225,
677 226, 227, 228, 229, 230, 233, 234, 237, 238, 241,
678 242, 243, 244, 245, 246, 247, 250, 251, 254, 257,
679 258, 259, 262, 265, 268, 271, 274, 275, 278, 281,
680 284, 287, 290, 291, 294, 297, 300, 303, 306, 309,
681 310, 313, 314, 315, 316, 324, 325, 328, 329, 332,
682 333, 334, 338, 339, 342, 343, 344, 345, 346, 347,
683 348, 349, 350, 351, 354, 355, 356, 357, 358, 359,
684 360, 361, 362, 363, 365, 365, 365, 365, 365, 365,
685 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
686 365, 365, 365, 365, 365, 365, 365, 365, 365, 365,
687 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
688 366, 366, 366, 366, 366, 366, 366, 366, 366, 366,
689 366, 366, 366, 366, 366, 366, 367, 367, 367, 367,
690 367, 367, 367, 367, 367, 367, 368, 368, 368, 368,
691 368, 368, 368, 368, 368, 368, 368, 368, 368, 369,
692 369, 369, 369, 369, 369, 369, 370, 370, 370, 370,
693 370, 371, 371, 371, 371, 372, 372, 372, 373, 373,
694 373, 374, 374, 374, 375, 375, 375, 376, 376, 376,
695 377, 377, 377, 378, 378, 378, 379, 379, 379, 380,
696 380, 380, 381, 381, 381, 382, 382, 382, 383, 383,
697 383, 384, 384, 384, 385, 385, 385, 386, 386, 386,
698 387, 387, 387, 388, 388, 388, 389, 389, 389, 390,
699 390, 390, 391, 391, 391, 392, 392, 392, 393, 393,
700 393, 394, 394, 394, 395, 395, 395, 396, 396, 396,
701 397, 397, 397, 398, 398, 398, 399, 399, 399, 400,
702 400, 400, 401, 401, 401, 402, 402, 402, 403, 403,
703 403, 404, 404, 404, 405, 405, 405, 406, 406, 406,
704 407, 407, 407, 408, 408, 408, 409, 409, 409, 410,
705 410, 410, 411, 411, 411, 412, 412, 412, 413, 413,
706 413, 414, 414, 417, 418, 419, 420, 423, 424, 430,
707 433, 436, 439, 442, 445, 448, 451, 454, 457, 460,
708 463, 466, 469, 472, 475, 478, 481, 484, 487, 490,
709 493, 496, 499, 502, 505, 508, 511, 514, 517, 520,
710 523, 526, 529, 532, 535, 538, 541, 544, 547, 550,
711 553, 556, 559, 562, 565, 568, 571, 574, 577, 580,
712 583, 586, 589, 592, 595, 598, 601, 604, 607, 610,
713 613, 616, 619, 622, 625, 628
714 };
715 #endif
716
717 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
718 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
719 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
720 static const char *const yytname[] =
721 {
722 "$end", "error", "$undefined", "'#'", "'='", "','", "'.'", "'+'", "'-'",
723 "'0'", "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'",
724 "'A'", "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'",
725 "'K'", "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'",
726 "'U'", "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'",
727 "'e'", "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'",
728 "'o'", "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'",
729 "'y'", "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "'/'",
730 "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
731 "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
732 "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
733 "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
734 "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
735 "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
736 "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "'\\240'",
737 "'\\241'", "'\\242'", "'\\243'", "'\\244'", "'\\245'", "'\\246'",
738 "'\\247'", "'\\250'", "'\\251'", "'\\252'", "'\\253'", "'\\254'",
739 "'\\255'", "'\\256'", "'\\257'", "'\\260'", "'\\261'", "'\\262'",
740 "'\\263'", "'\\264'", "'\\265'", "'\\266'", "'\\267'", "'\\270'",
741 "'\\271'", "'\\272'", "'\\273'", "'\\274'", "'\\275'", "'\\276'",
742 "'\\277'", "'\\300'", "'\\301'", "'\\302'", "'\\303'", "'\\304'",
743 "'\\305'", "'\\306'", "'\\307'", "'\\310'", "'\\311'", "'\\312'",
744 "'\\313'", "'\\314'", "'\\315'", "'\\316'", "'\\317'", "'\\320'",
745 "'\\321'", "'\\322'", "'\\323'", "'\\324'", "'\\325'", "'\\326'",
746 "'\\327'", "'\\330'", "'\\331'", "'\\332'", "'\\333'", "'\\334'",
747 "'\\335'", "'\\336'", "'\\337'", "'\\340'", "'\\341'", "'\\342'",
748 "'\\343'", "'\\344'", "'\\345'", "'\\346'", "'\\347'", "'\\350'",
749 "'\\351'", "'\\352'", "'\\353'", "'\\354'", "'\\355'", "'\\356'",
750 "'\\357'", "'\\360'", "'\\361'", "'\\362'", "'\\363'", "'\\364'",
751 "'\\365'", "'\\366'", "'\\367'", "'\\370'", "'\\371'", "'\\372'",
752 "'\\373'", "'\\374'", "'\\375'", "'\\376'", "'\\377'", "'''", "'\"'",
753 "' '", "'\\n'", "'\\r'", "$accept", "input", "line", "comment",
754 "command", "subscribe_event", "unsubscribe_event", "map_instruction",
755 "unmap_instruction", "remove_instruction", "get_instruction",
756 "set_instruction", "create_instruction", "reset_instruction",
757 "clear_instruction", "destroy_instruction", "load_instruction",
758 "set_chan_instruction", "key_val_list", "buffer_size_type",
759 "list_instruction", "load_instr_args", "load_engine_args",
760 "instr_load_mode", "device_index", "audio_channel_index",
761 "audio_output_type_name", "midi_input_port_index",
762 "midi_input_channel_index", "midi_input_type_name", "midi_bank_msb",
763 "midi_bank_lsb", "midi_prog", "volume_value", "sampler_channel",
764 "instrument_index", "engine_name", "filename", "entry_name",
765 "param_val_list", "param_val", "boolean", "string", "dotnum", "digits",
766 "digit", "number", "char", "text", "stringval", "SP", "LF", "CR", "ADD",
767 "GET", "MAP", "UNMAP", "CLEAR", "CREATE", "DESTROY", "LIST", "LOAD",
768 "ALL", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE",
769 "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
770 "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "CHANNEL_COUNT",
771 "CHANNEL_INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",
772 "TOTAL_VOICE_COUNT", "TOTAL_VOICE_COUNT_MAX", "INSTRUMENT", "ENGINE",
773 "ON_DEMAND", "ON_DEMAND_HOLD", "PERSISTENT",
774 "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
775 "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
776 "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
777 "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
778 "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
779 "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
780 "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INSTRUMENT", "MIDI_INSTRUMENTS",
781 "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL",
782 "MIDI_INPUT_TYPE", "MIDI_INPUT", "SERVER", "VOLUME", "MUTE", "SOLO",
783 "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0
784 };
785 #endif
786
787 # ifdef YYPRINT
788 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
789 token YYLEX-NUM. */
790 static const yytype_uint16 yytoknum[] =
791 {
792 0, 256, 257, 35, 61, 44, 46, 43, 45, 48,
793 49, 50, 51, 52, 53, 54, 55, 56, 57, 65,
794 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
795 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
796 86, 87, 88, 89, 90, 97, 98, 99, 100, 101,
797 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
798 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
799 122, 33, 36, 37, 38, 40, 41, 42, 47, 58,
800 59, 60, 62, 63, 64, 91, 92, 93, 94, 95,
801 123, 124, 125, 126, 128, 129, 130, 131, 132, 133,
802 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
803 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
804 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
805 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
806 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
807 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
808 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
809 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
810 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
811 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
812 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
813 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
814 254, 255, 39, 34, 32, 10, 13
815 };
816 # endif
817
818 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
819 static const yytype_uint16 yyr1[] =
820 {
821 0, 227, 228, 228, 229, 229, 229, 229, 230, 230,
822 230, 230, 230, 231, 231, 231, 231, 231, 231, 231,
823 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
824 232, 232, 232, 232, 232, 232, 232, 233, 233, 233,
825 233, 233, 233, 233, 234, 234, 234, 234, 235, 236,
826 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
827 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
828 237, 237, 237, 237, 237, 237, 237, 237, 238, 238,
829 238, 238, 238, 238, 239, 239, 239, 239, 240, 241,
830 242, 242, 243, 243, 244, 244, 244, 244, 244, 244,
831 244, 244, 244, 244, 244, 245, 245, 246, 246, 247,
832 247, 247, 247, 247, 247, 247, 248, 248, 249, 250,
833 250, 250, 251, 252, 253, 254, 255, 255, 256, 257,
834 258, 259, 260, 260, 261, 262, 263, 264, 265, 266,
835 266, 267, 267, 267, 267, 268, 268, 269, 269, 270,
836 270, 270, 271, 271, 272, 272, 272, 272, 272, 272,
837 272, 272, 272, 272, 273, 273, 273, 273, 273, 273,
838 273, 273, 273, 273, 274, 274, 274, 274, 274, 274,
839 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
840 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
841 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
842 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
843 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
844 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
845 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
846 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
847 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
848 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
849 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
850 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
851 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
852 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
853 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
854 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
855 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
856 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
857 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
858 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
859 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
860 274, 274, 274, 275, 275, 275, 275, 276, 276, 277,
861 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
862 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
863 298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
864 308, 309, 310, 311, 312, 313, 314, 315, 316, 317,
865 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
866 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
867 338, 339, 340, 341, 342, 343
868 };
869
870 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
871 static const yytype_uint8 yyr2[] =
872 {
873 0, 2, 2, 3, 0, 1, 1, 1, 1, 2,
874 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
875 3, 3, 3, 3, 3, 3, 3, 3, 1, 1,
876 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
877 1, 1, 1, 1, 15, 17, 17, 19, 7, 3,
878 1, 1, 5, 7, 9, 1, 5, 7, 9, 1,
879 1, 5, 5, 7, 9, 7, 9, 1, 5, 7,
880 5, 5, 5, 3, 1, 1, 1, 9, 7, 9,
881 7, 9, 3, 3, 5, 3, 5, 3, 3, 1,
882 3, 3, 3, 3, 5, 7, 5, 9, 5, 5,
883 5, 5, 5, 5, 5, 3, 5, 1, 1, 1,
884 1, 1, 1, 1, 1, 1, 5, 7, 3, 1,
885 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
886 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
887 3, 1, 1, 1, 1, 1, 1, 1, 2, 3,
888 4, 4, 1, 2, 1, 1, 1, 1, 1, 1,
889 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
890 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
891 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
892 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
893 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
894 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
895 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
896 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
897 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
898 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
899 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
900 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
901 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
902 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
903 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
904 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
905 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
906 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
907 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
908 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
909 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
910 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
911 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
912 1, 1, 1, 1, 1, 2, 2, 3, 3, 1,
913 1, 1, 3, 3, 3, 5, 5, 6, 7, 4,
914 4, 3, 9, 6, 3, 9, 11, 6, 7, 17,
915 30, 8, 4, 13, 12, 11, 12, 11, 17, 21,
916 10, 6, 9, 14, 10, 29, 20, 19, 29, 19,
917 30, 20, 17, 28, 27, 25, 18, 17, 27, 15,
918 16, 17, 15, 18, 15, 10, 6, 6, 4, 4,
919 5, 10, 5, 13, 4, 4
920 };
921
922 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
923 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
924 means the default is an error. */
925 static const yytype_uint16 yydefact[] =
926 {
927 0, 7, 8, 0, 0, 0, 0, 0, 0, 0,
928 0, 0, 0, 0, 0, 5, 6, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 28, 29, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 0, 0, 0, 1, 400, 401, 2,
932 0, 9, 252, 247, 246, 244, 245, 154, 155, 156,
933 157, 158, 159, 160, 161, 162, 163, 174, 175, 176,
934 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
935 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
936 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
937 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
938 217, 218, 219, 220, 221, 222, 223, 224, 225, 236,
939 238, 239, 240, 241, 242, 243, 248, 249, 250, 251,
940 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
941 263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
942 273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
943 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
944 293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
945 303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
946 313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
947 323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
948 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
949 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
950 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
951 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
952 373, 374, 375, 376, 377, 378, 379, 380, 381, 382,
953 383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
954 399, 12, 164, 11, 147, 10, 0, 0, 0, 0,
955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
956 0, 402, 0, 0, 0, 403, 0, 0, 404, 0,
957 0, 0, 0, 414, 0, 0, 0, 3, 154, 155,
958 156, 157, 158, 159, 160, 161, 162, 163, 165, 152,
959 166, 167, 168, 169, 170, 171, 172, 173, 237, 226,
960 227, 228, 229, 230, 231, 232, 233, 234, 235, 148,
961 0, 13, 0, 0, 0, 0, 0, 0, 16, 0,
962 50, 55, 67, 74, 75, 0, 59, 0, 0, 0,
963 0, 0, 51, 0, 60, 0, 0, 0, 76, 0,
964 0, 0, 0, 14, 0, 15, 0, 0, 27, 89,
965 0, 0, 17, 0, 0, 18, 0, 0, 0, 0,
966 0, 19, 112, 114, 111, 109, 113, 110, 115, 0,
967 20, 0, 0, 21, 0, 0, 0, 0, 22, 0,
968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
969 0, 23, 30, 34, 33, 32, 31, 36, 35, 24,
970 37, 41, 40, 39, 38, 43, 42, 394, 25, 393,
971 26, 0, 0, 0, 0, 409, 410, 465, 0, 0,
972 0, 0, 0, 0, 153, 0, 0, 0, 0, 0,
973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
977 0, 0, 0, 0, 0, 0, 0, 0, 0, 396,
978 395, 0, 406, 0, 0, 0, 462, 0, 0, 405,
979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
981 0, 0, 0, 0, 0, 0, 73, 0, 155, 156,
982 157, 158, 159, 160, 161, 162, 163, 0, 129, 0,
983 0, 0, 0, 85, 87, 90, 91, 0, 0, 0,
984 0, 0, 0, 0, 92, 0, 137, 0, 93, 0,
985 136, 49, 134, 0, 0, 0, 0, 0, 0, 0,
986 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 0, 0, 0, 83, 146, 145, 0,
988 0, 0, 0, 0, 0, 88, 407, 0, 413, 417,
989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
993 0, 0, 0, 0, 0, 0, 464, 0, 0, 0,
994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
996 0, 0, 0, 0, 408, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
998 107, 108, 70, 71, 72, 61, 0, 56, 0, 0,
999 0, 62, 0, 0, 52, 0, 0, 0, 130, 0,
1000 0, 0, 0, 84, 0, 86, 0, 0, 0, 0,
1001 0, 397, 398, 0, 135, 0, 118, 0, 0, 0,
1002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1005 0, 431, 0, 456, 0, 422, 0, 0, 0, 0,
1006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 458, 459, 0, 0, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, 0, 0, 0, 0, 415,
1011 0, 418, 0, 0, 418, 0, 0, 0, 0, 69,
1012 57, 0, 65, 0, 53, 0, 63, 0, 0, 131,
1013 48, 0, 0, 0, 0, 244, 245, 105, 139, 141,
1014 144, 0, 152, 143, 142, 0, 0, 0, 0, 0,
1015 116, 0, 0, 0, 0, 0, 0, 94, 122, 0,
1016 123, 96, 124, 98, 99, 125, 0, 100, 126, 127,
1017 101, 128, 0, 0, 0, 102, 132, 133, 103, 104,
1018 78, 0, 80, 0, 0, 0, 0, 0, 0, 0,
1019 0, 0, 0, 421, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1022 0, 0, 0, 457, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 416, 0, 0, 0, 0,
1024 0, 460, 0, 58, 66, 64, 54, 77, 0, 0,
1025 0, 0, 0, 106, 0, 0, 140, 149, 0, 0,
1026 0, 0, 117, 0, 0, 0, 0, 95, 411, 0,
1027 79, 81, 0, 0, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1029 150, 151, 0, 0, 430, 0, 0, 0, 0, 0,
1030 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1032 0, 0, 0, 412, 0, 0, 0, 0, 97, 425,
1033 0, 0, 0, 0, 0, 427, 0, 0, 0, 0,
1034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1035 0, 0, 0, 0, 0, 0, 455, 0, 424, 0,
1036 426, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1038 0, 0, 0, 0, 423, 463, 0, 0, 0, 0,
1039 0, 0, 0, 0, 0, 0, 0, 461, 0, 0,
1040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 452, 449, 0, 449, 44, 0, 0, 0,
1043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1045 450, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1047 419, 0, 447, 451, 0, 428, 0, 0, 45, 46,
1048 138, 119, 120, 121, 0, 447, 0, 0, 0, 0,
1049 0, 0, 0, 0, 452, 454, 428, 0, 0, 0,
1050 0, 0, 446, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, 0, 0, 0, 0, 0, 0, 437, 439,
1052 0, 0, 0, 0, 0, 0, 0, 47, 437, 0,
1053 0, 0, 0, 0, 442, 0, 441, 436, 0, 0,
1054 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1055 453, 0, 0, 0, 0, 0, 0, 429, 0, 0,
1056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, 0, 441, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0, 0, 445,
1060 432, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1061 434, 0, 0, 0, 0, 0, 0, 448, 0, 0,
1062 444, 0, 0, 0, 443, 0, 0, 0, 438, 0,
1063 0, 435, 440, 420, 433
1064 };
1065
1066 /* YYDEFGOTO[NTERM-NUM]. */
1067 static const yytype_int16 yydefgoto[] =
1068 {
1069 -1, 13, 14, 15, 16, 421, 429, 373, 375, 403,
1070 348, 408, 382, 440, 378, 385, 400, 590, 733, 709,
1071 391, 574, 578, 1208, 887, 889, 891, 894, 897, 900,
1072 557, 727, 858, 905, 581, 743, 579, 575, 1209, 867,
1073 868, 606, 869, 870, 871, 272, 582, 274, 438, 874,
1074 802, 49, 50, 17, 18, 19, 20, 21, 22, 23,
1075 24, 25, 899, 577, 26, 27, 28, 29, 30, 341,
1076 350, 351, 352, 530, 422, 423, 424, 425, 426, 353,
1077 354, 401, 355, 1211, 1212, 1213, 410, 356, 357, 358,
1078 359, 360, 361, 593, 362, 412, 363, 364, 365, 366,
1079 367, 368, 369, 370, 596, 597, 598, 371, 599, 600,
1080 601, 710, 711, 31, 428, 414, 32
1081 };
1082
1083 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1084 STATE-NUM. */
1085 #define YYPACT_NINF -808
1086 static const yytype_int16 yypact[] =
1087 {
1088 23, -808, -808, 18, 59, 47, 57, 111, 93, 8,
1089 102, 29, 95, 132, -49, 1814, -808, -79, -79, -79,
1090 -79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
1091 -79, -79, -808, 142, 146, 195, 205, 225, 227, 246,
1092 232, 240, 134, 60, 248, 135, -808, -808, -808, -808,
1093 44, -808, -808, -808, -808, -808, -808, -808, 183, 183,
1094 183, 183, 183, 183, 183, 183, 183, -808, -808, -808,
1095 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1096 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1097 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1098 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1099 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1100 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1101 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1102 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1103 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1104 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1105 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1106 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1107 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1108 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1109 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1110 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1111 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1112 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1113 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1114 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1115 -808, 2479, -808, -808, -808, -808, 249, 56, 242, 242,
1116 254, 32, 32, 50, 120, 249, 105, 36, 36, 2036,
1117 249, -808, 252, 267, 250, -808, 253, 265, -808, 255,
1118 257, 269, 272, -808, 259, 279, 260, -808, -808, -808,
1119 -808, -808, -808, -808, -808, -808, -808, -808, 183, -808,
1120 183, 183, 183, 183, 183, 183, 183, 183, -808, -808,
1121 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1122 287, -808, 173, 288, 284, 290, 295, 286, -808, -79,
1123 -808, -808, -808, -808, -808, -79, -808, -79, -79, -79,
1124 -79, -79, -808, -79, -808, -79, -79, -79, -808, -79,
1125 -79, -79, 308, -808, -79, -808, -79, 309, -808, -808,
1126 282, 310, -808, -79, -79, -808, -79, -79, 175, 312,
1127 320, -808, -808, -808, -808, -808, -808, -808, -808, 307,
1128 -808, -79, -79, -808, -79, 302, 328, 326, -808, -79,
1129 -79, -79, -79, -79, -79, 318, 332, 333, 324, 330,
1130 331, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1131 -808, -808, -808, -808, -808, -808, -808, 2479, 2036, -808,
1132 -808, -79, 329, 345, 334, -808, -808, -808, 327, 346,
1133 364, 367, 356, 371, -808, 347, 370, 374, 392, 385,
1134 390, 377, 376, 45, 388, 388, 388, 388, 388, 388,
1135 388, 388, 388, 388, 388, 388, 388, 394, 391, 391,
1136 395, 396, 398, 2479, 2479, 391, 391, 399, 400, 402,
1137 393, -3, 2479, 391, 405, 403, 406, 24, 391, 391,
1138 391, 391, 2698, 407, 413, 401, 386, 404, 408, 2479,
1139 -808, 391, -808, 411, 412, 414, -808, 409, 415, -808,
1140 416, 417, 419, 421, 418, 425, 428, 420, 422, 424,
1141 -79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
1142 -79, -79, -79, -79, -79, -79, -808, 430, 183, 183,
1143 183, 183, 183, 183, 183, 183, 183, -79, -808, -79,
1144 431, 432, 434, 2036, 2036, -808, -808, 435, 436, 439,
1145 429, 437, 2036, 2036, -808, -79, -808, -79, -808, -79,
1146 2479, -808, -808, 442, 440, 447, 438, 84, 443, 445,
1147 -808, -79, -79, -79, -79, -79, -79, -79, -79, -79,
1148 -79, -79, -79, -79, -79, -79, -808, 2479, -808, 451,
1149 448, 423, 456, 444, 460, -808, -808, 446, -808, -808,
1150 455, 462, 458, 459, 461, 463, 464, 344, 470, 467,
1151 474, 391, 58, 391, 391, 2479, 391, 2479, 2479, 391,
1152 391, 391, 391, 2479, 391, 2479, 391, 350, 391, 391,
1153 351, 466, 354, 2479, 2479, 468, 471, 449, 469, 472,
1154 1370, 1592, 391, -6, 391, 473, -808, 450, 478, 480,
1155 475, 477, 479, 391, 391, 391, 391, 391, 391, 391,
1156 391, 391, 391, 391, 2479, 391, 2479, 391, 485, 482,
1157 487, 492, 501, 489, -808, 512, 497, 511, 452, 516,
1158 513, 514, 518, 504, 457, 517, -808, 508, 524, -79,
1159 -808, -808, -808, -808, -808, -808, 2036, 2479, -79, -79,
1160 -79, -808, 2036, -79, 2479, -79, 525, -79, -808, -79,
1161 526, 465, 528, -79, 2917, -79, 476, 533, 532, 522,
1162 481, -808, -808, -79, -808, -79, -808, 483, 536, 539,
1163 540, 545, 538, 530, -79, -79, -79, -79, -79, -79,
1164 -79, -79, -79, -79, -79, 3136, -79, 3355, -79, 537,
1165 551, 570, 544, 523, 527, 578, 575, 583, 581, 595,
1166 587, -808, 586, -808, 454, -808, 582, 585, 391, 2479,
1167 391, 391, 391, 2479, 391, 391, 591, 391, 391, 592,
1168 596, 599, 2479, 2258, 600, 589, 604, 606, 607, 391,
1169 391, 608, 610, 611, 550, -808, -808, 609, 391, 391,
1170 2479, 391, 391, 314, 2479, 391, 294, 2698, 2698, 2258,
1171 2479, 2258, 2479, 554, 617, 619, 561, 612, 630, -808,
1172 633, -808, 615, 625, 620, 54, 623, 635, 638, -808,
1173 2036, -79, -808, -79, 2036, -79, -808, 624, -79, -808,
1174 -808, 626, 621, 628, 3574, 183, 183, 659, -808, 2479,
1175 -808, 215, 20, -808, -808, 627, 620, 169, 642, 634,
1176 -808, -79, 631, 640, 580, 645, 652, -808, -808, -79,
1177 -808, -808, 2479, -808, -808, -808, 646, -808, -808, -808,
1178 -808, 2479, -79, 183, 183, -808, -808, -808, -808, -808,
1179 659, 3793, 659, 4012, 653, 590, 661, 657, 648, 649,
1180 660, 647, 663, -808, 650, 654, 664, 651, 667, 2479,
1181 2479, 2479, 2479, 391, 655, 2479, 658, 662, 656, 2258,
1182 244, 266, 2258, 183, 668, 672, 665, 676, 391, 675,
1183 677, 669, 683, -808, 391, 687, 391, 2258, 2258, 691,
1184 121, 688, 686, 694, 684, -808, 690, 598, 689, 693,
1185 701, -808, 699, -79, 2479, 2479, -79, -808, 696, -79,
1186 697, 692, 698, 659, 183, 183, -808, 183, 700, 712,
1187 714, 706, -808, 703, 716, 717, 704, -808, -808, -79,
1188 659, 659, 705, 722, 725, 735, 720, 739, 729, 723,
1189 110, 674, 727, 741, 730, 728, -6, 731, 732, 680,
1190 183, 183, 733, 685, -808, 743, 736, 702, 744, 740,
1191 314, 755, 747, 763, 757, 756, 769, 759, 760, 754,
1192 762, 768, 112, 770, 710, 781, 771, -79, 772, 778,
1193 784, 780, 788, -808, 782, 141, 785, 783, -808, -808,
1194 790, 791, 786, 789, 734, -808, 737, 806, 804, 808,
1195 63, 798, 809, 812, 816, 814, 391, 819, 758, 821,
1196 761, 822, 764, 823, 818, 810, 765, 817, -808, 815,
1197 -808, 835, 187, 830, 832, 833, 644, 834, 826, 831,
1198 836, 841, 838, -79, 839, 843, 827, 846, 837, 213,
1199 840, 842, 844, 62, -808, -808, 850, 847, 74, 852,
1200 856, 787, 845, 849, 853, 854, 851, -808, 857, 294,
1201 858, 874, 848, 875, 872, 877, 878, 873, 866, 824,
1202 879, 881, 864, 871, 860, 876, 884, 828, 892, 891,
1203 901, 900, 859, 887, 895, -808, -79, 887, 889, 909,
1204 893, 910, 913, 894, 914, 859, 28, 917, 902, 903,
1205 907, 918, 922, 905, 908, 915, 919, 930, 920, 921,
1206 -808, 916, 0, 935, 934, 936, 942, 937, 939, 944,
1207 945, 925, 938, 940, 949, 941, 943, 952, 951, 946,
1208 -808, 947, 950, 899, 957, 904, 948, 966, -79, -808,
1209 -808, -808, -808, -808, 969, -808, 970, 950, 960, 978,
1210 911, 982, 968, 971, -808, -808, -808, 983, 984, 972,
1211 967, 975, -808, 976, 973, 980, 926, 981, -6, 995,
1212 996, 997, 998, 988, 991, 1001, 1002, 999, 989, 954,
1213 1000, 992, 1012, 1014, 1016, 1015, 1004, -808, -808, 989,
1214 1006, 955, 1019, 1017, -808, 1020, 962, -808, 1018, 1007,
1215 965, 1021, 1025, 1023, 1035, 1032, 962, 1026, 1030, 1038,
1216 -808, 1033, 1049, 1031, 1050, 1054, 1051, -808, 1046, 1041,
1217 1060, 1061, 1052, 1062, 1047, 1003, 1048, 1055, 1053, 1066,
1218 1057, 1063, 1056, -808, 1064, 1070, 1068, 1071, 1074, 1078,
1219 1072, 1079, 1084, 1082, 1087, 1076, 1073, 1077, 1080, 1075,
1220 1086, 1088, 1081, 1085, 1091, 1093, 1083, 1101, 1102, -808,
1221 1037, 1089, 1105, 1106, 1107, 1094, 1095, 1097, 1098, 1067,
1222 -808, 1099, 1100, 1104, 1115, 1116, 1103, -808, 1110, 1121,
1223 -808, 1122, 1111, 1112, -808, 1119, 1114, 1117, -808, 1109,
1224 1129, -808, -808, -808, -808
1225 };
1226
1227 /* YYPGOTO[NTERM-NUM]. */
1228 static const yytype_int16 yypgoto[] =
1229 {
1230 -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
1231 -808, -808, -808, -808, -808, -808, -808, -808, -632, -808,
1232 -808, -808, -808, -808, -647, -518, -808, 196, 124, -808,
1233 -442, -603, -760, 26, -494, -787, -615, -642, -82, -790,
1234 216, -591, 410, -807, 43, 55, -14, 397, -334, -473,
1235 -15, 1113, -808, -808, -808, -808, -808, -808, -808, -808,
1236 -808, -808, -808, -808, -808, -808, -808, -808, -808, -155,
1237 882, 883, 885, -314, 869, 886, -258, -253, -252, -47,
1238 -808, -808, 888, -808, -808, -808, -808, 890, -254, -808,
1239 -808, 896, 670, -808, 897, -808, 906, 898, -250, -808,
1240 -27, -76, -808, 673, -808, -808, -808, -808, -808, -808,
1241 -808, -808, -808, -808, 912, -808, -808
1242 };
1243
1244 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1245 positive, shift that token. If negative, reduce the rule which
1246 number is the opposite. If zero, do what YYDEFACT says.
1247 If YYTABLE_NINF, syntax error. */
1248 #define YYTABLE_NINF -165
1249 static const yytype_int16 yytable[] =
1250 {
1251 275, 273, 276, 277, 278, 279, 280, 281, 282, 283,
1252 284, 285, 286, 287, 288, 289, 290, 615, 576, 906,
1253 714, 745, 735, 881, 1, -164, 2, 383, 386, 571,
1254 432, 384, 387, 1206, 1207, 433, 434, 559, 860, 910,
1255 33, 912, 3, 586, 4, 5, 729, 41, 6, 1190,
1256 1131, 380, 43, 7, 8, 587, 415, 416, 9, 10,
1257 11, 588, 12, 381, 589, 415, 1191, 417, 44, 388,
1258 36, 389, 529, 418, 419, 342, 420, 343, 707, 344,
1259 37, 390, 418, 1140, 1079, 420, 1096, 345, 924, 34,
1260 302, 925, 708, 346, 347, 35, 1141, 1145, 303, 1097,
1261 1142, 318, 320, 321, 322, 323, 324, 325, 326, 327,
1262 1146, 669, 40, 319, 319, 319, 319, 319, 319, 319,
1263 319, 319, 349, 670, 405, 42, 340, 45, 406, 1039,
1264 404, 409, 46, 1040, 1070, 441, 407, 706, 38, 712,
1265 713, 1041, 1003, 344, 39, 270, 1071, 399, 1004, 983,
1266 534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
1267 544, 545, 546, 1083, 291, 300, 305, 1000, 1001, 292,
1268 746, 301, 306, 977, 893, 1084, 47, 48, 902, 754,
1269 755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
1270 576, 855, 308, 309, 310, 311, 312, 313, 314, 315,
1271 316, 317, 723, 945, 379, 531, 936, 398, 1117, 1118,
1272 532, 533, 456, 457, 487, 457, 572, 573, 293, 572,
1273 573, 943, 572, 573, 308, 309, 310, 311, 312, 313,
1274 314, 315, 316, 317, 1135, 1136, 908, 909, 660, 661,
1275 427, 435, 294, 591, -164, -164, -164, 594, -4, -4,
1276 984, 374, 376, 308, 309, 310, 311, 312, 313, 314,
1277 315, 316, 317, 295, 296, 297, 298, 299, 304, 47,
1278 340, 442, 985, 372, 439, 308, 309, 310, 311, 312,
1279 313, 314, 315, 316, 317, 377, 443, 446, 444, 1103,
1280 448, 445, 449, 447, 849, 450, 451, 973, 452, 453,
1281 976, 903, 904, 308, 548, 549, 550, 551, 552, 553,
1282 554, 555, 556, 455, 458, 880, 459, 460, 461, 462,
1283 979, 481, 906, 308, 548, 549, 550, 551, 552, 553,
1284 554, 555, 556, 896, 463, 477, 480, 482, 488, 490,
1285 464, 494, 465, 466, 467, 468, 469, 489, 470, 495,
1286 471, 472, 473, 496, 474, 475, 476, 503, 504, 478,
1287 505, 479, 506, 507, 508, 512, 521, 515, 483, 484,
1288 514, 485, 486, 454, 1047, 454, 454, 454, 454, 454,
1289 454, 454, 454, 513, 516, 517, 491, 492, 518, 493,
1290 519, 520, 522, 523, 497, 498, 499, 500, 501, 502,
1291 308, 548, 549, 550, 551, 552, 553, 554, 555, 556,
1292 525, 524, 526, 527, 528, 529, 547, 560, 561, 568,
1293 562, 567, 612, 510, 569, 271, 511, 583, 585, 584,
1294 570, 609, 610, 702, 616, 614, 997, 618, 611, 726,
1295 730, 629, 613, 732, 690, 617, 623, 619, 624, 622,
1296 625, 620, 626, 621, 992, 627, 630, 647, 650, 651,
1297 628, 652, 655, 692, 558, 558, 657, 658, 656, 665,
1298 659, 565, 566, 666, 667, 688, 671, 668, 672, 691,
1299 689, 693, 695, 696, 602, 603, 604, 605, 608, 694,
1300 697, 699, 698, 703, 846, 700, 701, 704, 705, 731,
1301 749, 736, 750, 737, 740, 739, 747, 752, 769, 753,
1302 771, 772, 774, 751, 770, 631, 632, 633, 634, 635,
1303 636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
1304 646, 773, 775, 776, 777, 779, 780, 781, 738, 748,
1305 783, 778, 648, 576, 649, 782, 784, 787, 653, 654,
1306 785, 786, 796, 799, 800, 801, 805, 439, 439, 806,
1307 662, 807, 663, 812, 664, 804, 813, 814, 815, 817,
1308 808, 816, 811, 833, 834, 836, 673, 674, 675, 676,
1309 677, 678, 679, 680, 681, 682, 683, 684, 685, 686,
1310 687, 318, 320, 321, 322, 323, 324, 325, 326, 327,
1311 835, 839, 840, 319, 319, 319, 319, 319, 319, 319,
1312 319, 319, 837, 841, 842, 843, 838, 844, 845, 876,
1313 847, 848, 715, 857, 861, 718, 719, 720, 721, 862,
1314 558, 863, 725, 875, 728, 728, 877, 878, 879, 885,
1315 886, 882, 883, 914, 884, 510, 510, 915, 744, 916,
1316 917, 919, 918, 920, 921, 922, 926, 923, 927, 928,
1317 937, 934, 938, 936, 942, 946, 944, 947, 339, 951,
1318 949, 766, 952, 768, 950, 953, 955, 959, 962, 960,
1319 961, 963, 964, 965, 1122, 966, 967, 1010, 971, 968,
1320 972, 970, 969, 978, 788, 982, 980, 990, 991, 437,
1321 981, 789, 995, 790, 791, 792, 988, 793, 794, 1210,
1322 795, 989, 797, 993, 798, 996, 994, 998, 1002, 1006,
1323 1005, 1007, 1013, 1008, 1009, 1025, 1018, 1011, 809, 1012,
1324 810, 1014, 1015, 1017, 1022, 1031, 1019, 1026, 1029, 818,
1325 819, 820, 821, 822, 823, 824, 825, 826, 827, 828,
1326 1023, 830, 1024, 832, 1027, 1032, 1028, 1033, 1034, 1035,
1327 1036, 1037, 1038, 1042, 1044, 1210, 1043, 1046, 1045, 1050,
1328 1048, 1049, 1051, 1053, 1052, 1054, 851, 852, 853, 1057,
1329 728, 856, 1056, 859, 859, 1059, 1060, 1061, 1063, 873,
1330 1062, 1055, 1064, 1067, 1068, 1069, 744, 1065, 1066, 1073,
1331 1074, 1072, 1075, 1077, 888, 890, 1079, 888, 895, 898,
1332 1081, 888, 907, 608, 608, 873, 1078, 873, 1080, 1085,
1333 1082, 1086, 1087, 1091, 1088, 1089, 1092, 1090, 1093, 1094,
1334 1095, 1098, 1099, 1100, 339, 929, 930, 1102, 931, 932,
1335 933, 1101, 1104, 935, 1106, 1108, 1110, 1105, 509, 1112,
1336 1107, 1111, 1115, 1109, 1113, 1114, 1116, 1119, 872, 1120,
1337 1121, 1123, 1124, 1125, 1127, 1131, 948, 1132, 1133, 1126,
1338 1128, 1130, 1150, 1144, 954, 1159, 1149, 1134, 1138, 1171,
1339 1137, 872, 1139, 1143, 872, 1147, 872, 956, 1148, 1151,
1340 1154, 1152, 1153, 563, 564, 1155, 1157, 1158, 1160, 1161,
1341 1164, 1163, 580, 1162, 1165, 1167, 339, 1169, 940, 941,
1342 1170, 1173, 607, 1166, 1168, 1175, 1172, 1174, 1176, 859,
1343 319, 319, 1177, 1178, 1180, 873, 454, 1181, 873, 1183,
1344 1184, 1186, 1187, 1185, 1188, 1189, 1192, 1194, 1193, 1195,
1345 890, 1199, 895, 873, 873, 1198, 940, 941, 1179, 1197,
1346 1196, 1201, 1200, 1202, 1205, 1204, 1203, 1215, 319, 319,
1347 339, 339, 1214, 1216, 1016, 1217, 1219, 1220, 1222, 1218,
1348 1223, 1221, 1225, 1228, 1229, 1227, 1234, 339, 1224, 1226,
1349 1236, 1231, 437, 437, 1030, 1230, 987, 1232, 1233, 1237,
1350 1239, 1240, 1241, 1235, 872, 454, 454, 872, 319, 1242,
1351 1243, 1244, 1245, 1246, 339, 1250, 1247, 1248, 1249, 1253,
1352 1252, 1254, 872, 872, 1251, 1255, 898, 1256, 1258, 1259,
1353 1260, 1261, 1262, 1263, 1264, 1265, 1267, 1020, 1021, 1266,
1354 1270, 1271, 1076, 1272, 1269, 1273, 1276, 1274, 1278, 319,
1355 319, 1275, 454, 1268, 1277, 580, 1283, 716, 717, 1279,
1356 1280, 1281, 1282, 722, 1284, 724, 1286, 1285, 1288, 1289,
1357 1290, 1292, 744, 734, 734, 1287, 1291, 1293, 1294, 1295,
1358 509, 509, 1296, 1297, 1298, 454, 454, 1299, 1300, 1301,
1359 1302, 1304, 1303, 1305, 1307, 1310, 1308, 1313, 1129, 1315,
1360 1316, 1309, 1306, 1348, 765, 1311, 767, 1318, 1317, 1312,
1361 1314, 1319, 1321, 1322, 1320, 1323, 1324, 1325, 1330, 1326,
1362 1336, 1329, 1332, 339, 339, 907, 1335, 1327, 1328, 339,
1363 1331, 339, 1334, 1333, 1337, 1338, 1339, 1340, 1341, 1342,
1364 1343, 339, 1344, 1346, 1347, 1345, 1350, 1349, 1352, 1353,
1365 1354, 1182, 1351, 1355, 1356, 1357, 1363, 1358, 1359, 1360,
1366 1361, 1364, 999, 1362, 1058, 1156, 1257, 430, 986, 0,
1367 0, 0, 339, 307, 339, 392, 393, 592, 394, 0,
1368 595, 0, 402, 395, 431, 0, 0, 0, 0, 0,
1369 396, 397, 411, 0, 872, 0, 0, 0, 0, 0,
1370 0, 0, 413, 1238, 0, 0, 0, 0, 0, 850,
1371 436, 0, 0, 854, 0, 0, 0, 0, 0, 0,
1372 0, 0, 864, 0, 0, 0, 0, 0, 0, 0,
1373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1374 892, 0, 0, 0, 901, 0, 0, 607, 607, 0,
1375 911, 0, 913, 0, 0, 0, 0, 339, 0, 0,
1376 0, 339, 0, 0, 0, 0, 0, 0, 0, 0,
1377 0, 339, 0, 0, 0, 0, 339, 0, 0, 0,
1378 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1379 0, 0, 0, 0, 0, 0, 0, 0, 0, 339,
1380 0, 0, 0, 0, 0, 0, 0, 0, 339, 0,
1381 0, 0, 0, 0, 0, 0, 0, 0, 339, 0,
1382 339, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1384 0, 0, 0, 0, 0, 0, 0, 0, 0, 734,
1385 974, 975, 734, 0, 0, 580, 0, 0, 0, 0,
1386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1388 0, 339, 339, 328, 52, 53, 54, 55, 56, 329,
1389 330, 331, 332, 333, 334, 335, 336, 337, 338, 67,
1390 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1391 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1392 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1393 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1394 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1395 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1396 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1397 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1398 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1399 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1400 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1401 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1402 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1403 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1404 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
1405 218, 219, 220, 221, 222, 223, 224, 225, 226, 227,
1406 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
1407 238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
1408 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1409 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
1410 268, 269, 741, 0, 270, 328, 52, 53, 54, 55,
1411 56, 329, 330, 331, 332, 333, 334, 335, 336, 337,
1412 338, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1413 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1414 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1415 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1416 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1417 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1418 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1419 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1420 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1421 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1422 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1423 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1424 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1425 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1426 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1427 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1428 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1429 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1430 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1431 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1432 266, 267, 268, 269, 0, 742, 270, 51, 52, 53,
1433 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1434 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1435 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1436 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1437 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1438 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1439 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1440 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1441 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1442 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1443 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1444 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1445 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1446 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1447 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1448 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1449 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1450 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1451 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1452 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1453 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1454 264, 265, 266, 267, 268, 269, 0, 0, 270, 328,
1455 52, 53, 54, 55, 56, 329, 330, 331, 332, 333,
1456 334, 335, 336, 337, 338, 67, 68, 69, 70, 71,
1457 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1458 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1459 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1460 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1461 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1462 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1463 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1464 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1465 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1466 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1467 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1468 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1469 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1470 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1471 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1472 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
1473 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
1474 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1475 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1476 262, 263, 264, 265, 266, 267, 268, 269, 0, 0,
1477 270, 328, 52, 53, 54, 865, 866, 57, 58, 59,
1478 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1479 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1480 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1481 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1482 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1483 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1484 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1485 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1486 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1487 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1488 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1489 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1490 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1491 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1492 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1493 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1494 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1495 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1496 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1497 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1498 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1499 572, 573, 328, 52, 53, 54, 55, 56, 329, 330,
1500 331, 332, 333, 334, 335, 336, 337, 338, 67, 68,
1501 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1502 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1503 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1504 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
1505 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
1506 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
1507 129, 130, 131, 132, 133, 134, 135, 136, 137, 138,
1508 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,
1509 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
1510 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,
1511 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
1512 179, 180, 181, 182, 183, 184, 185, 186, 187, 188,
1513 189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
1514 199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
1515 209, 210, 211, 212, 213, 214, 215, 216, 217, 218,
1516 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
1517 229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
1518 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
1519 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1520 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
1521 269, 328, 52, 53, 54, 55, 56, 57, 58, 59,
1522 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1523 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1524 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1525 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1526 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1527 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1528 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1529 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1530 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1531 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1532 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1533 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1534 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1535 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1536 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1537 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1538 220, 221, 222, 223, 224, 225, 226, 227, 228, 229,
1539 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1540 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1541 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1542 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
1543 328, 803, 53, 54, 55, 56, 329, 330, 331, 332,
1544 333, 334, 335, 336, 337, 338, 67, 68, 69, 70,
1545 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1546 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1547 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1548 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1549 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1550 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1551 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1552 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
1553 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
1554 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
1555 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
1556 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
1557 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
1558 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
1559 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
1560 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
1561 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
1562 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1563 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
1564 261, 262, 263, 264, 265, 266, 267, 268, 269, 328,
1565 829, 53, 54, 55, 56, 329, 330, 331, 332, 333,
1566 334, 335, 336, 337, 338, 67, 68, 69, 70, 71,
1567 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1568 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1569 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1570 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1571 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1572 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1573 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1574 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1575 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1576 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1577 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1578 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1579 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1580 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1581 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1582 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
1583 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
1584 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1585 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
1586 262, 263, 264, 265, 266, 267, 268, 269, 328, 831,
1587 53, 54, 55, 56, 329, 330, 331, 332, 333, 334,
1588 335, 336, 337, 338, 67, 68, 69, 70, 71, 72,
1589 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1590 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1591 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1592 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1593 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1594 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1595 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
1596 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
1597 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
1598 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
1599 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
1600 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
1601 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
1602 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
1603 213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
1604 223, 224, 225, 226, 227, 228, 229, 230, 231, 232,
1605 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
1606 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
1607 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1608 263, 264, 265, 266, 267, 268, 269, 328, 939, 53,
1609 54, 55, 56, 329, 330, 331, 332, 333, 334, 335,
1610 336, 337, 338, 67, 68, 69, 70, 71, 72, 73,
1611 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1612 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1613 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1614 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1615 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1616 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1617 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1618 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1619 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1620 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1621 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1622 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1623 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1624 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1625 214, 215, 216, 217, 218, 219, 220, 221, 222, 223,
1626 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
1627 234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1628 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1629 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
1630 264, 265, 266, 267, 268, 269, 328, 957, 53, 54,
1631 55, 56, 329, 330, 331, 332, 333, 334, 335, 336,
1632 337, 338, 67, 68, 69, 70, 71, 72, 73, 74,
1633 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1634 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1635 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1636 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1637 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1638 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1639 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1640 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1641 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1642 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1643 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1644 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1645 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1646 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1647 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1648 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1649 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1650 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1651 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1652 265, 266, 267, 268, 269, 328, 958, 53, 54, 55,
1653 56, 329, 330, 331, 332, 333, 334, 335, 336, 337,
1654 338, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1655 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1656 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1657 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1658 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1659 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1660 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1661 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1662 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1663 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1664 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1665 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1666 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1667 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1668 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1669 216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
1670 226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
1671 236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
1672 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1673 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1674 266, 267, 268, 269
1675 };
1676
1677 static const yytype_int16 yycheck[] =
1678 {
1679 15, 15, 17, 18, 19, 20, 21, 22, 23, 24,
1680 25, 26, 27, 28, 29, 30, 31, 511, 491, 826,
1681 635, 663, 654, 810, 1, 5, 3, 281, 282, 32,
1682 288, 281, 282, 33, 34, 288, 288, 479, 798, 829,
1683 22, 831, 19, 19, 21, 22, 649, 39, 25, 21,
1684 22, 19, 23, 30, 31, 31, 20, 21, 35, 36,
1685 37, 37, 39, 31, 40, 20, 38, 31, 39, 19,
1686 23, 21, 27, 37, 38, 19, 40, 21, 20, 23,
1687 23, 31, 37, 21, 22, 40, 23, 31, 34, 30,
1688 30, 37, 34, 37, 38, 36, 34, 23, 38, 36,
1689 38, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1690 36, 27, 19, 58, 59, 60, 61, 62, 63, 64,
1691 65, 66, 277, 39, 19, 23, 21, 32, 23, 19,
1692 285, 286, 0, 23, 22, 290, 31, 631, 27, 633,
1693 634, 31, 21, 23, 33, 224, 34, 27, 27, 939,
1694 464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
1695 474, 475, 476, 22, 22, 31, 31, 957, 958, 23,
1696 664, 37, 37, 933, 821, 34, 225, 226, 825, 673,
1697 674, 675, 676, 677, 678, 679, 680, 681, 682, 683,
1698 663, 794, 9, 10, 11, 12, 13, 14, 15, 16,
1699 17, 18, 644, 34, 280, 463, 37, 283, 21, 22,
1700 463, 463, 39, 40, 39, 40, 222, 223, 23, 222,
1701 223, 6, 222, 223, 9, 10, 11, 12, 13, 14,
1702 15, 16, 17, 18, 21, 22, 827, 828, 572, 573,
1703 287, 288, 37, 497, 224, 225, 226, 497, 225, 226,
1704 6, 278, 279, 9, 10, 11, 12, 13, 14, 15,
1705 16, 17, 18, 38, 37, 19, 34, 27, 20, 225,
1706 21, 19, 6, 31, 289, 9, 10, 11, 12, 13,
1707 14, 15, 16, 17, 18, 31, 19, 22, 38, 1076,
1708 33, 38, 23, 38, 788, 23, 37, 929, 19, 39,
1709 932, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1710 16, 17, 18, 26, 26, 809, 32, 27, 23, 33,
1711 935, 39, 1129, 9, 10, 11, 12, 13, 14, 15,
1712 16, 17, 18, 19, 349, 27, 27, 27, 26, 32,
1713 355, 39, 357, 358, 359, 360, 361, 27, 363, 21,
1714 365, 366, 367, 27, 369, 370, 371, 39, 26, 374,
1715 27, 376, 38, 33, 33, 36, 19, 40, 383, 384,
1716 36, 386, 387, 318, 1016, 320, 321, 322, 323, 324,
1717 325, 326, 327, 38, 38, 21, 401, 402, 21, 404,
1718 34, 20, 22, 19, 409, 410, 411, 412, 413, 414,
1719 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
1720 25, 19, 22, 36, 38, 27, 22, 22, 22, 19,
1721 22, 22, 36, 438, 22, 15, 441, 22, 22, 26,
1722 37, 24, 19, 89, 23, 27, 954, 23, 37, 89,
1723 89, 19, 38, 89, 21, 33, 27, 38, 27, 32,
1724 32, 36, 27, 37, 948, 27, 32, 27, 27, 27,
1725 40, 27, 27, 19, 478, 479, 27, 38, 32, 27,
1726 33, 485, 486, 33, 27, 24, 33, 39, 33, 23,
1727 32, 21, 27, 21, 498, 499, 500, 501, 502, 43,
1728 32, 30, 33, 23, 40, 32, 32, 30, 24, 33,
1729 22, 33, 22, 32, 32, 36, 33, 30, 23, 30,
1730 23, 19, 23, 38, 32, 530, 531, 532, 533, 534,
1731 535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
1732 545, 30, 20, 36, 23, 19, 23, 23, 89, 89,
1733 36, 89, 557, 1016, 559, 27, 89, 23, 563, 564,
1734 33, 43, 27, 27, 89, 27, 23, 572, 573, 27,
1735 575, 39, 577, 27, 579, 89, 27, 27, 23, 39,
1736 89, 33, 89, 36, 23, 31, 591, 592, 593, 594,
1737 595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
1738 605, 548, 549, 550, 551, 552, 553, 554, 555, 556,
1739 30, 23, 27, 548, 549, 550, 551, 552, 553, 554,
1740 555, 556, 89, 30, 33, 20, 89, 30, 32, 30,
1741 38, 36, 636, 32, 32, 639, 640, 641, 642, 33,
1742 644, 32, 646, 33, 648, 649, 32, 31, 31, 89,
1743 31, 33, 32, 89, 33, 660, 661, 30, 662, 30,
1744 89, 21, 40, 20, 39, 30, 33, 37, 23, 21,
1745 39, 37, 34, 37, 5, 23, 39, 33, 271, 89,
1746 39, 685, 27, 687, 34, 23, 30, 24, 21, 89,
1747 19, 33, 33, 23, 40, 38, 23, 89, 37, 39,
1748 23, 27, 38, 38, 709, 39, 38, 32, 22, 289,
1749 38, 716, 33, 718, 719, 720, 38, 722, 723, 1182,
1750 725, 39, 727, 38, 729, 32, 39, 30, 27, 33,
1751 32, 27, 21, 39, 34, 19, 34, 38, 743, 36,
1752 745, 32, 36, 36, 34, 30, 38, 34, 34, 754,
1753 755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
1754 38, 766, 38, 768, 38, 33, 39, 32, 23, 39,
1755 21, 32, 39, 89, 23, 1238, 39, 39, 38, 89,
1756 39, 39, 39, 30, 89, 39, 790, 791, 792, 39,
1757 794, 795, 38, 797, 798, 30, 39, 24, 32, 803,
1758 33, 89, 23, 39, 32, 27, 810, 38, 38, 89,
1759 19, 31, 31, 31, 818, 819, 22, 821, 822, 823,
1760 22, 825, 826, 827, 828, 829, 38, 831, 38, 34,
1761 38, 38, 32, 89, 33, 39, 89, 38, 22, 25,
1762 22, 33, 23, 21, 437, 850, 851, 23, 853, 854,
1763 855, 25, 23, 858, 23, 23, 23, 89, 438, 39,
1764 89, 33, 37, 89, 89, 38, 21, 27, 803, 27,
1765 27, 27, 36, 32, 23, 22, 881, 40, 22, 33,
1766 32, 32, 27, 26, 889, 27, 89, 40, 36, 19,
1767 40, 826, 38, 33, 829, 33, 831, 902, 32, 40,
1768 39, 38, 38, 483, 484, 38, 38, 23, 23, 27,
1769 27, 23, 492, 26, 38, 26, 509, 43, 865, 866,
1770 39, 27, 502, 89, 33, 23, 40, 89, 27, 933,
1771 865, 866, 21, 23, 37, 939, 871, 32, 942, 40,
1772 21, 21, 19, 40, 40, 21, 19, 34, 36, 32,
1773 954, 33, 956, 957, 958, 40, 903, 904, 89, 27,
1774 32, 32, 37, 23, 38, 34, 36, 23, 903, 904,
1775 563, 564, 27, 27, 979, 23, 27, 23, 43, 32,
1776 32, 26, 23, 21, 23, 32, 19, 580, 38, 38,
1777 32, 34, 572, 573, 999, 39, 943, 37, 89, 23,
1778 21, 21, 32, 89, 939, 940, 941, 942, 943, 21,
1779 89, 19, 34, 32, 607, 38, 23, 23, 36, 36,
1780 34, 31, 957, 958, 39, 89, 1030, 36, 23, 23,
1781 23, 23, 34, 32, 23, 23, 37, 984, 985, 30,
1782 38, 19, 1047, 19, 34, 19, 30, 22, 19, 984,
1783 985, 37, 987, 89, 89, 635, 39, 637, 638, 32,
1784 30, 89, 34, 643, 89, 645, 31, 36, 23, 27,
1785 34, 23, 1076, 653, 654, 42, 36, 34, 19, 38,
1786 660, 661, 22, 19, 23, 1020, 1021, 31, 37, 19,
1787 19, 19, 30, 36, 36, 19, 31, 31, 1103, 19,
1788 22, 38, 89, 26, 684, 38, 686, 23, 27, 36,
1789 36, 23, 23, 19, 32, 23, 19, 31, 22, 36,
1790 27, 36, 31, 716, 717, 1129, 23, 40, 38, 722,
1791 32, 724, 31, 38, 23, 23, 89, 38, 23, 23,
1792 23, 734, 38, 36, 36, 40, 36, 38, 23, 23,
1793 37, 1156, 38, 33, 23, 23, 37, 36, 36, 30,
1794 36, 22, 956, 36, 1030, 1129, 1238, 288, 942, -1,
1795 -1, -1, 765, 50, 767, 283, 283, 497, 283, -1,
1796 497, -1, 284, 283, 288, -1, -1, -1, -1, -1,
1797 283, 283, 286, -1, 1129, -1, -1, -1, -1, -1,
1798 -1, -1, 286, 1208, -1, -1, -1, -1, -1, 789,
1799 288, -1, -1, 793, -1, -1, -1, -1, -1, -1,
1800 -1, -1, 802, -1, -1, -1, -1, -1, -1, -1,
1801 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1802 820, -1, -1, -1, 824, -1, -1, 827, 828, -1,
1803 830, -1, 832, -1, -1, -1, -1, 850, -1, -1,
1804 -1, 854, -1, -1, -1, -1, -1, -1, -1, -1,
1805 -1, 864, -1, -1, -1, -1, 869, -1, -1, -1,
1806 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1807 -1, -1, -1, -1, -1, -1, -1, -1, -1, 892,
1808 -1, -1, -1, -1, -1, -1, -1, -1, 901, -1,
1809 -1, -1, -1, -1, -1, -1, -1, -1, 911, -1,
1810 913, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1811 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1812 -1, -1, -1, -1, -1, -1, -1, -1, -1, 929,
1813 930, 931, 932, -1, -1, 935, -1, -1, -1, -1,
1814 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1815 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1816 -1, 974, 975, 3, 4, 5, 6, 7, 8, 9,
1817 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1818 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1819 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1820 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1821 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1822 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1823 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1824 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1825 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
1826 100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
1827 110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
1828 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,
1829 130, 131, 132, 133, 134, 135, 136, 137, 138, 139,
1830 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
1831 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
1832 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,
1833 170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
1834 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1835 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1836 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1837 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1838 220, 221, 222, -1, 224, 3, 4, 5, 6, 7,
1839 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
1840 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1841 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1842 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1843 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1844 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1845 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1846 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1847 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1848 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
1849 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
1850 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
1851 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
1852 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
1853 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
1854 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
1855 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
1856 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
1857 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
1858 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
1859 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
1860 218, 219, 220, 221, -1, 223, 224, 3, 4, 5,
1861 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
1862 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1863 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
1864 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1865 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1866 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1867 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1868 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
1869 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
1870 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
1871 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1872 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
1873 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
1874 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
1875 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
1876 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
1877 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
1878 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
1879 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
1880 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
1881 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
1882 216, 217, 218, 219, 220, 221, -1, -1, 224, 3,
1883 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1884 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1885 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1886 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1887 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1888 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1889 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1890 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1891 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1892 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
1893 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
1894 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
1895 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
1896 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
1897 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
1898 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
1899 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
1900 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
1901 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
1902 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
1903 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
1904 214, 215, 216, 217, 218, 219, 220, 221, -1, -1,
1905 224, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1906 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1907 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1908 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1909 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1910 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1911 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1912 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1913 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1914 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1915 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1916 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1917 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1918 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1919 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1920 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1921 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1922 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1923 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1924 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1925 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1926 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1927 222, 223, 3, 4, 5, 6, 7, 8, 9, 10,
1928 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
1929 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1930 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1931 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1932 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1933 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1934 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1935 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1936 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1937 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
1938 111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
1939 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
1940 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1941 141, 142, 143, 144, 145, 146, 147, 148, 149, 150,
1942 151, 152, 153, 154, 155, 156, 157, 158, 159, 160,
1943 161, 162, 163, 164, 165, 166, 167, 168, 169, 170,
1944 171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
1945 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
1946 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
1947 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
1948 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
1949 221, 3, 4, 5, 6, 7, 8, 9, 10, 11,
1950 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
1951 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1952 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1953 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1954 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1955 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1956 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1957 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1958 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1959 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
1960 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
1961 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
1962 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
1963 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
1964 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
1965 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
1966 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
1967 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
1968 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
1969 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
1970 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
1971 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
1972 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1973 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1974 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1975 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1976 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1977 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1978 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1979 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1980 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1981 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1982 113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
1983 123, 124, 125, 126, 127, 128, 129, 130, 131, 132,
1984 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
1985 143, 144, 145, 146, 147, 148, 149, 150, 151, 152,
1986 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
1987 163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
1988 173, 174, 175, 176, 177, 178, 179, 180, 181, 182,
1989 183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
1990 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
1991 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
1992 213, 214, 215, 216, 217, 218, 219, 220, 221, 3,
1993 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
1994 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1995 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1996 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1997 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1998 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1999 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2000 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2001 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
2002 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
2003 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
2004 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
2005 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
2006 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
2007 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
2008 154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
2009 164, 165, 166, 167, 168, 169, 170, 171, 172, 173,
2010 174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
2011 184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
2012 194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
2013 204, 205, 206, 207, 208, 209, 210, 211, 212, 213,
2014 214, 215, 216, 217, 218, 219, 220, 221, 3, 4,
2015 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
2016 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2017 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2018 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2019 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2020 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2021 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2022 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2023 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2024 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
2025 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
2026 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
2027 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
2028 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2029 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
2030 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
2031 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
2032 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
2033 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
2034 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
2035 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
2036 215, 216, 217, 218, 219, 220, 221, 3, 4, 5,
2037 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
2038 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2039 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2040 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2041 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2042 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2043 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2044 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2045 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2046 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
2047 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
2048 116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
2049 126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
2050 136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2051 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
2052 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
2053 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
2054 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
2055 186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
2056 196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
2057 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
2058 216, 217, 218, 219, 220, 221, 3, 4, 5, 6,
2059 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
2060 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2061 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2062 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2063 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2064 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2065 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2066 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2067 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2068 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
2069 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
2070 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2071 127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
2072 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2073 147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
2074 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
2075 167, 168, 169, 170, 171, 172, 173, 174, 175, 176,
2076 177, 178, 179, 180, 181, 182, 183, 184, 185, 186,
2077 187, 188, 189, 190, 191, 192, 193, 194, 195, 196,
2078 197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
2079 207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
2080 217, 218, 219, 220, 221, 3, 4, 5, 6, 7,
2081 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2082 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
2083 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2084 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2085 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2086 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2087 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2088 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2089 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
2090 98, 99, 100, 101, 102, 103, 104, 105, 106, 107,
2091 108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
2092 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2093 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
2094 138, 139, 140, 141, 142, 143, 144, 145, 146, 147,
2095 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
2096 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
2097 168, 169, 170, 171, 172, 173, 174, 175, 176, 177,
2098 178, 179, 180, 181, 182, 183, 184, 185, 186, 187,
2099 188, 189, 190, 191, 192, 193, 194, 195, 196, 197,
2100 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,
2101 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,
2102 218, 219, 220, 221
2103 };
2104
2105 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2106 symbol of state STATE-NUM. */
2107 static const yytype_uint16 yystos[] =
2108 {
2109 0, 1, 3, 19, 21, 22, 25, 30, 31, 35,
2110 36, 37, 39, 228, 229, 230, 231, 280, 281, 282,
2111 283, 284, 285, 286, 287, 288, 291, 292, 293, 294,
2112 295, 340, 343, 22, 30, 36, 23, 23, 27, 33,
2113 19, 39, 23, 23, 39, 32, 0, 225, 226, 278,
2114 279, 3, 4, 5, 6, 7, 8, 9, 10, 11,
2115 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2116 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
2117 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2118 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2119 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2120 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2121 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2122 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2123 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
2124 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
2125 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
2126 122, 123, 124, 125, 126, 127, 128, 129, 130, 131,
2127 132, 133, 134, 135, 136, 137, 138, 139, 140, 141,
2128 142, 143, 144, 145, 146, 147, 148, 149, 150, 151,
2129 152, 153, 154, 155, 156, 157, 158, 159, 160, 161,
2130 162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
2131 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
2132 182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
2133 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
2134 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
2135 212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
2136 224, 269, 272, 273, 274, 277, 277, 277, 277, 277,
2137 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
2138 277, 22, 23, 23, 37, 38, 37, 19, 34, 27,
2139 31, 37, 30, 38, 20, 31, 37, 278, 9, 10,
2140 11, 12, 13, 14, 15, 16, 17, 18, 271, 272,
2141 271, 271, 271, 271, 271, 271, 271, 271, 3, 9,
2142 10, 11, 12, 13, 14, 15, 16, 17, 18, 274,
2143 21, 296, 19, 21, 23, 31, 37, 38, 237, 296,
2144 297, 298, 299, 306, 307, 309, 314, 315, 316, 317,
2145 318, 319, 321, 323, 324, 325, 326, 327, 328, 329,
2146 330, 334, 31, 234, 327, 235, 327, 31, 241, 328,
2147 19, 31, 239, 315, 325, 242, 315, 325, 19, 21,
2148 31, 247, 297, 298, 299, 314, 321, 324, 328, 27,
2149 243, 308, 309, 236, 296, 19, 23, 31, 238, 296,
2150 313, 318, 322, 323, 342, 20, 21, 31, 37, 38,
2151 40, 232, 301, 302, 303, 304, 305, 306, 341, 233,
2152 301, 302, 303, 304, 305, 306, 341, 269, 275, 277,
2153 240, 296, 19, 19, 38, 38, 22, 38, 33, 23,
2154 23, 37, 19, 39, 272, 26, 39, 40, 26, 32,
2155 27, 23, 33, 277, 277, 277, 277, 277, 277, 277,
2156 277, 277, 277, 277, 277, 277, 277, 27, 277, 277,
2157 27, 39, 27, 277, 277, 277, 277, 39, 26, 27,
2158 32, 277, 277, 277, 39, 21, 27, 277, 277, 277,
2159 277, 277, 277, 39, 26, 27, 38, 33, 33, 269,
2160 277, 277, 36, 38, 36, 40, 38, 21, 21, 34,
2161 20, 19, 22, 19, 19, 25, 22, 36, 38, 27,
2162 300, 303, 304, 305, 300, 300, 300, 300, 300, 300,
2163 300, 300, 300, 300, 300, 300, 300, 22, 10, 11,
2164 12, 13, 14, 15, 16, 17, 18, 257, 273, 257,
2165 22, 22, 22, 269, 269, 273, 273, 22, 19, 22,
2166 37, 32, 222, 223, 248, 264, 276, 290, 249, 263,
2167 269, 261, 273, 22, 26, 22, 19, 31, 37, 40,
2168 244, 315, 319, 320, 325, 330, 331, 332, 333, 335,
2169 336, 337, 273, 273, 273, 273, 268, 269, 273, 24,
2170 19, 37, 36, 38, 27, 261, 23, 33, 23, 38,
2171 36, 37, 32, 27, 27, 32, 27, 27, 40, 19,
2172 32, 277, 277, 277, 277, 277, 277, 277, 277, 277,
2173 277, 277, 277, 277, 277, 277, 277, 27, 277, 277,
2174 27, 27, 27, 277, 277, 27, 32, 27, 38, 33,
2175 275, 275, 277, 277, 277, 27, 33, 27, 39, 27,
2176 39, 33, 33, 277, 277, 277, 277, 277, 277, 277,
2177 277, 277, 277, 277, 277, 277, 277, 277, 24, 32,
2178 21, 23, 19, 21, 43, 27, 21, 32, 33, 30,
2179 32, 32, 89, 23, 30, 24, 261, 20, 34, 246,
2180 338, 339, 261, 261, 263, 273, 269, 269, 273, 273,
2181 273, 273, 269, 257, 269, 273, 89, 258, 273, 258,
2182 89, 33, 89, 245, 269, 245, 33, 32, 89, 36,
2183 32, 222, 223, 262, 273, 264, 261, 33, 89, 22,
2184 22, 38, 30, 30, 261, 261, 261, 261, 261, 261,
2185 261, 261, 261, 261, 261, 269, 273, 269, 273, 23,
2186 32, 23, 19, 30, 23, 20, 36, 23, 89, 19,
2187 23, 23, 27, 36, 89, 33, 43, 23, 277, 277,
2188 277, 277, 277, 277, 277, 277, 27, 277, 277, 27,
2189 89, 27, 277, 4, 89, 23, 27, 39, 89, 277,
2190 277, 89, 27, 27, 27, 23, 33, 39, 277, 277,
2191 277, 277, 277, 277, 277, 277, 277, 277, 277, 4,
2192 277, 4, 277, 36, 23, 30, 31, 89, 89, 23,
2193 27, 30, 33, 20, 30, 32, 40, 38, 36, 261,
2194 269, 273, 273, 273, 269, 258, 273, 32, 259, 273,
2195 259, 32, 33, 32, 269, 7, 8, 266, 267, 269,
2196 270, 271, 272, 273, 276, 33, 30, 32, 31, 31,
2197 261, 262, 33, 32, 33, 89, 31, 251, 273, 252,
2198 273, 253, 269, 251, 254, 273, 19, 255, 273, 289,
2199 256, 269, 251, 7, 8, 260, 270, 273, 268, 268,
2200 266, 269, 266, 269, 89, 30, 30, 89, 40, 21,
2201 20, 39, 30, 37, 34, 37, 33, 23, 21, 277,
2202 277, 277, 277, 277, 37, 277, 37, 39, 34, 4,
2203 271, 271, 5, 6, 39, 34, 23, 33, 277, 39,
2204 34, 89, 27, 23, 277, 30, 277, 4, 4, 24,
2205 89, 19, 21, 33, 33, 23, 38, 23, 39, 38,
2206 27, 37, 23, 245, 269, 269, 245, 259, 38, 263,
2207 38, 38, 39, 266, 6, 6, 267, 271, 38, 39,
2208 32, 22, 261, 38, 39, 33, 32, 252, 30, 254,
2209 266, 266, 27, 21, 27, 32, 33, 27, 39, 34,
2210 89, 38, 36, 21, 32, 36, 277, 36, 34, 38,
2211 271, 271, 34, 38, 38, 19, 34, 38, 39, 34,
2212 277, 30, 33, 32, 23, 39, 21, 32, 39, 19,
2213 23, 31, 89, 39, 23, 38, 39, 264, 39, 39,
2214 89, 39, 89, 30, 39, 89, 38, 39, 255, 30,
2215 39, 24, 33, 32, 23, 38, 38, 39, 32, 27,
2216 22, 34, 31, 89, 19, 31, 277, 31, 38, 22,
2217 38, 22, 38, 22, 34, 34, 38, 32, 33, 39,
2218 38, 89, 89, 22, 25, 22, 23, 36, 33, 23,
2219 21, 25, 23, 262, 23, 89, 23, 89, 23, 89,
2220 23, 33, 39, 89, 38, 37, 21, 21, 22, 27,
2221 27, 27, 40, 27, 36, 32, 33, 23, 32, 277,
2222 32, 22, 40, 22, 40, 21, 22, 40, 36, 38,
2223 21, 34, 38, 33, 26, 23, 36, 33, 32, 89,
2224 27, 40, 38, 38, 39, 38, 260, 38, 23, 27,
2225 23, 27, 26, 23, 27, 38, 89, 26, 33, 43,
2226 39, 19, 40, 27, 89, 23, 27, 21, 23, 89,
2227 37, 32, 277, 40, 21, 40, 21, 19, 40, 21,
2228 21, 38, 19, 36, 34, 32, 32, 27, 40, 33,
2229 37, 32, 23, 36, 34, 38, 33, 34, 250, 265,
2230 276, 310, 311, 312, 27, 23, 27, 23, 32, 27,
2231 23, 26, 43, 32, 38, 23, 38, 32, 21, 23,
2232 39, 34, 37, 89, 19, 89, 32, 23, 277, 21,
2233 21, 32, 21, 89, 19, 34, 32, 23, 23, 36,
2234 38, 39, 34, 36, 31, 89, 36, 265, 23, 23,
2235 23, 23, 34, 32, 23, 23, 30, 37, 89, 34,
2236 38, 19, 19, 19, 22, 37, 30, 89, 19, 32,
2237 30, 89, 34, 39, 89, 36, 31, 42, 23, 27,
2238 34, 36, 23, 34, 19, 38, 22, 19, 23, 31,
2239 37, 19, 19, 30, 19, 36, 89, 36, 31, 38,
2240 19, 38, 36, 31, 36, 19, 22, 27, 23, 23,
2241 32, 23, 19, 23, 19, 31, 36, 40, 38, 36,
2242 22, 32, 31, 38, 31, 23, 27, 23, 23, 89,
2243 38, 23, 23, 23, 38, 40, 36, 36, 26, 38,
2244 36, 38, 23, 23, 37, 33, 23, 23, 36, 36,
2245 30, 36, 36, 37, 22
2246 };
2247
2248 #define yyerrok (yyerrstatus = 0)
2249 #define yyclearin (yychar = YYEMPTY)
2250 #define YYEMPTY (-2)
2251 #define YYEOF 0
2252
2253 #define YYACCEPT goto yyacceptlab
2254 #define YYABORT goto yyabortlab
2255 #define YYERROR goto yyerrorlab
2256
2257
2258 /* Like YYERROR except do call yyerror. This remains here temporarily
2259 to ease the transition to the new meaning of YYERROR, for GCC.
2260 Once GCC version 2 has supplanted version 1, this can go. */
2261
2262 #define YYFAIL goto yyerrlab
2263
2264 #define YYRECOVERING() (!!yyerrstatus)
2265
2266 #define YYBACKUP(Token, Value) \
2267 do \
2268 if (yychar == YYEMPTY && yylen == 1) \
2269 { \
2270 yychar = (Token); \
2271 yylval = (Value); \
2272 yytoken = YYTRANSLATE (yychar); \
2273 YYPOPSTACK (1); \
2274 goto yybackup; \
2275 } \
2276 else \
2277 { \
2278 yyerror (YY_("syntax error: cannot back up")); \
2279 YYERROR; \
2280 } \
2281 while (YYID (0))
2282
2283
2284 #define YYTERROR 1
2285 #define YYERRCODE 256
2286
2287
2288 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2289 If N is 0, then set CURRENT to the empty location which ends
2290 the previous symbol: RHS[0] (always defined). */
2291
2292 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2293 #ifndef YYLLOC_DEFAULT
2294 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2295 do \
2296 if (YYID (N)) \
2297 { \
2298 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2299 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2300 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2301 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2302 } \
2303 else \
2304 { \
2305 (Current).first_line = (Current).last_line = \
2306 YYRHSLOC (Rhs, 0).last_line; \
2307 (Current).first_column = (Current).last_column = \
2308 YYRHSLOC (Rhs, 0).last_column; \
2309 } \
2310 while (YYID (0))
2311 #endif
2312
2313
2314 /* YY_LOCATION_PRINT -- Print the location on the stream.
2315 This macro was not mandated originally: define only if we know
2316 we won't break user code: when these are the locations we know. */
2317
2318 #ifndef YY_LOCATION_PRINT
2319 # if YYLTYPE_IS_TRIVIAL
2320 # define YY_LOCATION_PRINT(File, Loc) \
2321 fprintf (File, "%d.%d-%d.%d", \
2322 (Loc).first_line, (Loc).first_column, \
2323 (Loc).last_line, (Loc).last_column)
2324 # else
2325 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2326 # endif
2327 #endif
2328
2329
2330 /* YYLEX -- calling `yylex' with the right arguments. */
2331
2332 #ifdef YYLEX_PARAM
2333 # define YYLEX yylex (&yylval, YYLEX_PARAM)
2334 #else
2335 # define YYLEX yylex (&yylval)
2336 #endif
2337
2338 /* Enable debugging if requested. */
2339 #if YYDEBUG
2340
2341 # ifndef YYFPRINTF
2342 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2343 # define YYFPRINTF fprintf
2344 # endif
2345
2346 # define YYDPRINTF(Args) \
2347 do { \
2348 if (yydebug) \
2349 YYFPRINTF Args; \
2350 } while (YYID (0))
2351
2352 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2353 do { \
2354 if (yydebug) \
2355 { \
2356 YYFPRINTF (stderr, "%s ", Title); \
2357 yy_symbol_print (stderr, \
2358 Type, Value); \
2359 YYFPRINTF (stderr, "\n"); \
2360 } \
2361 } while (YYID (0))
2362
2363
2364 /*--------------------------------.
2365 | Print this symbol on YYOUTPUT. |
2366 `--------------------------------*/
2367
2368 /*ARGSUSED*/
2369 #if (defined __STDC__ || defined __C99__FUNC__ \
2370 || defined __cplusplus || defined _MSC_VER)
2371 static void
2372 yy_symbol_value_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep)
2373 #else
2374 static void
2375 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2376 FILE *yyoutput;
2377 int yytype;
2378 const YYSTYPE * const yyvaluep;
2379 #endif
2380 {
2381 if (!yyvaluep)
2382 return;
2383 # ifdef YYPRINT
2384 if (yytype < YYNTOKENS)
2385 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2386 # else
2387 YYUSE (yyoutput);
2388 # endif
2389 switch (yytype)
2390 {
2391 default:
2392 break;
2393 }
2394 }
2395
2396
2397 /*--------------------------------.
2398 | Print this symbol on YYOUTPUT. |
2399 `--------------------------------*/
2400
2401 #if (defined __STDC__ || defined __C99__FUNC__ \
2402 || defined __cplusplus || defined _MSC_VER)
2403 static void
2404 yy_symbol_print (FILE *yyoutput, int yytype, const YYSTYPE * const yyvaluep)
2405 #else
2406 static void
2407 yy_symbol_print (yyoutput, yytype, yyvaluep)
2408 FILE *yyoutput;
2409 int yytype;
2410 const YYSTYPE * const yyvaluep;
2411 #endif
2412 {
2413 if (yytype < YYNTOKENS)
2414 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2415 else
2416 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2417
2418 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2419 YYFPRINTF (yyoutput, ")");
2420 }
2421
2422 /*------------------------------------------------------------------.
2423 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2424 | TOP (included). |
2425 `------------------------------------------------------------------*/
2426
2427 #if (defined __STDC__ || defined __C99__FUNC__ \
2428 || defined __cplusplus || defined _MSC_VER)
2429 static void
2430 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2431 #else
2432 static void
2433 yy_stack_print (bottom, top)
2434 yytype_int16 *bottom;
2435 yytype_int16 *top;
2436 #endif
2437 {
2438 YYFPRINTF (stderr, "Stack now");
2439 for (; bottom <= top; ++bottom)
2440 YYFPRINTF (stderr, " %d", *bottom);
2441 YYFPRINTF (stderr, "\n");
2442 }
2443
2444 # define YY_STACK_PRINT(Bottom, Top) \
2445 do { \
2446 if (yydebug) \
2447 yy_stack_print ((Bottom), (Top)); \
2448 } while (YYID (0))
2449
2450
2451 /*------------------------------------------------.
2452 | Report that the YYRULE is going to be reduced. |
2453 `------------------------------------------------*/
2454
2455 #if (defined __STDC__ || defined __C99__FUNC__ \
2456 || defined __cplusplus || defined _MSC_VER)
2457 static void
2458 yy_reduce_print (YYSTYPE *yyvsp,
2459 int yyrule)
2460 #else
2461 static void
2462 yy_reduce_print (yyvsp, yyrule
2463 )
2464 YYSTYPE *yyvsp;
2465
2466 int yyrule;
2467 #endif
2468 {
2469 int yynrhs = yyr2[yyrule];
2470 int yyi;
2471 unsigned long int yylno = yyrline[yyrule];
2472 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2473 yyrule - 1, yylno);
2474 /* The symbols being reduced. */
2475 for (yyi = 0; yyi < yynrhs; yyi++)
2476 {
2477 fprintf (stderr, " $%d = ", yyi + 1);
2478 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2479 &(yyvsp[(yyi + 1) - (yynrhs)])
2480 );
2481 fprintf (stderr, "\n");
2482 }
2483 }
2484
2485 # define YY_REDUCE_PRINT(Rule) \
2486 do { \
2487 if (yydebug) \
2488 yy_reduce_print (yyvsp, Rule); \
2489 } while (YYID (0))
2490
2491 /* Nonzero means print parse trace. It is left uninitialized so that
2492 multiple parsers can coexist. */
2493 int yydebug;
2494 #else /* !YYDEBUG */
2495 # define YYDPRINTF(Args)
2496 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2497 # define YY_STACK_PRINT(Bottom, Top)
2498 # define YY_REDUCE_PRINT(Rule)
2499 #endif /* !YYDEBUG */
2500
2501
2502 /* YYINITDEPTH -- initial size of the parser's stacks. */
2503 #ifndef YYINITDEPTH
2504 # define YYINITDEPTH 200
2505 #endif
2506
2507 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2508 if the built-in stack extension method is used).
2509
2510 Do not make this value too large; the results are undefined if
2511 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2512 evaluated with infinite-precision integer arithmetic. */
2513
2514 #ifndef YYMAXDEPTH
2515 # define YYMAXDEPTH 10000
2516 #endif
2517
2518
2519
2520 #if YYERROR_VERBOSE
2521
2522 # ifndef yystrlen
2523 # if defined __GLIBC__ && defined _STRING_H
2524 # define yystrlen strlen
2525 # else
2526 /* Return the length of YYSTR. */
2527 #if (defined __STDC__ || defined __C99__FUNC__ \
2528 || defined __cplusplus || defined _MSC_VER)
2529 static YYSIZE_T
2530 yystrlen (const char *yystr)
2531 #else
2532 static YYSIZE_T
2533 yystrlen (yystr)
2534 const char *yystr;
2535 #endif
2536 {
2537 YYSIZE_T yylen;
2538 for (yylen = 0; yystr[yylen]; yylen++)
2539 continue;
2540 return yylen;
2541 }
2542 # endif
2543 # endif
2544
2545 # ifndef yystpcpy
2546 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2547 # define yystpcpy stpcpy
2548 # else
2549 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2550 YYDEST. */
2551 #if (defined __STDC__ || defined __C99__FUNC__ \
2552 || defined __cplusplus || defined _MSC_VER)
2553 static char *
2554 yystpcpy (char *yydest, const char *yysrc)
2555 #else
2556 static char *
2557 yystpcpy (yydest, yysrc)
2558 char *yydest;
2559 const char *yysrc;
2560 #endif
2561 {
2562 char *yyd = yydest;
2563 const char *yys = yysrc;
2564
2565 while ((*yyd++ = *yys++) != '\0')
2566 continue;
2567
2568 return yyd - 1;
2569 }
2570 # endif
2571 # endif
2572
2573 # ifndef yytnamerr
2574 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2575 quotes and backslashes, so that it's suitable for yyerror. The
2576 heuristic is that double-quoting is unnecessary unless the string
2577 contains an apostrophe, a comma, or backslash (other than
2578 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2579 null, do not copy; instead, return the length of what the result
2580 would have been. */
2581 static YYSIZE_T
2582 yytnamerr (char *yyres, const char *yystr)
2583 {
2584 if (*yystr == '"')
2585 {
2586 YYSIZE_T yyn = 0;
2587 char const *yyp = yystr;
2588
2589 for (;;)
2590 switch (*++yyp)
2591 {
2592 case '\'':
2593 case ',':
2594 goto do_not_strip_quotes;
2595
2596 case '\\':
2597 if (*++yyp != '\\')
2598 goto do_not_strip_quotes;
2599 /* Fall through. */
2600 default:
2601 if (yyres)
2602 yyres[yyn] = *yyp;
2603 yyn++;
2604 break;
2605
2606 case '"':
2607 if (yyres)
2608 yyres[yyn] = '\0';
2609 return yyn;
2610 }
2611 do_not_strip_quotes: ;
2612 }
2613
2614 if (! yyres)
2615 return yystrlen (yystr);
2616
2617 return yystpcpy (yyres, yystr) - yyres;
2618 }
2619 # endif
2620
2621 /* Copy into YYRESULT an error message about the unexpected token
2622 YYCHAR while in state YYSTATE. Return the number of bytes copied,
2623 including the terminating null byte. If YYRESULT is null, do not
2624 copy anything; just return the number of bytes that would be
2625 copied. As a special case, return 0 if an ordinary "syntax error"
2626 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
2627 size calculation. */
2628 static YYSIZE_T
2629 yysyntax_error (char *yyresult, int yystate, int yychar)
2630 {
2631 int yyn = yypact[yystate];
2632
2633 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2634 return 0;
2635 else
2636 {
2637 int yytype = YYTRANSLATE (yychar);
2638 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2639 YYSIZE_T yysize = yysize0;
2640 YYSIZE_T yysize1;
2641 int yysize_overflow = 0;
2642 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2643 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2644 int yyx;
2645
2646 # if 0
2647 /* This is so xgettext sees the translatable formats that are
2648 constructed on the fly. */
2649 YY_("syntax error, unexpected %s");
2650 YY_("syntax error, unexpected %s, expecting %s");
2651 YY_("syntax error, unexpected %s, expecting %s or %s");
2652 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2653 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2654 # endif
2655 char *yyfmt;
2656 char const *yyf;
2657 static char const yyunexpected[] = "syntax error, unexpected %s";
2658 static char const yyexpecting[] = ", expecting %s";
2659 static char const yyor[] = " or %s";
2660 char yyformat[sizeof yyunexpected
2661 + sizeof yyexpecting - 1
2662 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2663 * (sizeof yyor - 1))];
2664 char const *yyprefix = yyexpecting;
2665
2666 /* Start YYX at -YYN if negative to avoid negative indexes in
2667 YYCHECK. */
2668 int yyxbegin = yyn < 0 ? -yyn : 0;
2669
2670 /* Stay within bounds of both yycheck and yytname. */
2671 int yychecklim = YYLAST - yyn + 1;
2672 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2673 int yycount = 1;
2674
2675 yyarg[0] = yytname[yytype];
2676 yyfmt = yystpcpy (yyformat, yyunexpected);
2677
2678 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2679 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2680 {
2681 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2682 {
2683 yycount = 1;
2684 yysize = yysize0;
2685 yyformat[sizeof yyunexpected - 1] = '\0';
2686 break;
2687 }
2688 yyarg[yycount++] = yytname[yyx];
2689 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2690 yysize_overflow |= (yysize1 < yysize);
2691 yysize = yysize1;
2692 yyfmt = yystpcpy (yyfmt, yyprefix);
2693 yyprefix = yyor;
2694 }
2695
2696 yyf = YY_(yyformat);
2697 yysize1 = yysize + yystrlen (yyf);
2698 yysize_overflow |= (yysize1 < yysize);
2699 yysize = yysize1;
2700
2701 if (yysize_overflow)
2702 return YYSIZE_MAXIMUM;
2703
2704 if (yyresult)
2705 {
2706 /* Avoid sprintf, as that infringes on the user's name space.
2707 Don't have undefined behavior even if the translation
2708 produced a string with the wrong number of "%s"s. */
2709 char *yyp = yyresult;
2710 int yyi = 0;
2711 while ((*yyp = *yyf) != '\0')
2712 {
2713 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2714 {
2715 yyp += yytnamerr (yyp, yyarg[yyi++]);
2716 yyf += 2;
2717 }
2718 else
2719 {
2720 yyp++;
2721 yyf++;
2722 }
2723 }
2724 }
2725 return yysize;
2726 }
2727 }
2728 #endif /* YYERROR_VERBOSE */
2729
2730
2731 /*-----------------------------------------------.
2732 | Release the memory associated to this symbol. |
2733 `-----------------------------------------------*/
2734
2735 /*ARGSUSED*/
2736 #if (defined __STDC__ || defined __C99__FUNC__ \
2737 || defined __cplusplus || defined _MSC_VER)
2738 static void
2739 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2740 #else
2741 static void
2742 yydestruct (yymsg, yytype, yyvaluep)
2743 const char *yymsg;
2744 int yytype;
2745 YYSTYPE *yyvaluep;
2746 #endif
2747 {
2748 YYUSE (yyvaluep);
2749
2750 if (!yymsg)
2751 yymsg = "Deleting";
2752 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2753
2754 switch (yytype)
2755 {
2756
2757 default:
2758 break;
2759 }
2760 }
2761
2762
2763 /* Prevent warnings from -Wmissing-prototypes. */
2764
2765 #ifdef YYPARSE_PARAM
2766 #if defined __STDC__ || defined __cplusplus
2767 int yyparse (void *YYPARSE_PARAM);
2768 #else
2769 int yyparse ();
2770 #endif
2771 #else /* ! YYPARSE_PARAM */
2772 #if defined __STDC__ || defined __cplusplus
2773 int yyparse (void);
2774 #else
2775 int yyparse ();
2776 #endif
2777 #endif /* ! YYPARSE_PARAM */
2778
2779
2780
2781
2782
2783
2784 /*----------.
2785 | yyparse. |
2786 `----------*/
2787
2788 #ifdef YYPARSE_PARAM
2789 #if (defined __STDC__ || defined __C99__FUNC__ \
2790 || defined __cplusplus || defined _MSC_VER)
2791 int
2792 yyparse (void *YYPARSE_PARAM)
2793 #else
2794 int
2795 yyparse (YYPARSE_PARAM)
2796 void *YYPARSE_PARAM;
2797 #endif
2798 #else /* ! YYPARSE_PARAM */
2799 #if (defined __STDC__ || defined __C99__FUNC__ \
2800 || defined __cplusplus || defined _MSC_VER)
2801 int
2802 yyparse (void)
2803 #else
2804 int
2805 yyparse ()
2806
2807 #endif
2808 #endif
2809 {
2810 /* The look-ahead symbol. */
2811 int yychar;
2812
2813 /* The semantic value of the look-ahead symbol. */
2814 YYSTYPE yylval;
2815
2816 /* Number of syntax errors so far. */
2817 int yynerrs;
2818
2819 int yystate;
2820 int yyn;
2821 int yyresult;
2822 /* Number of tokens to shift before error messages enabled. */
2823 int yyerrstatus;
2824 /* Look-ahead token as an internal (translated) token number. */
2825 int yytoken = 0;
2826 #if YYERROR_VERBOSE
2827 /* Buffer for error messages, and its allocated size. */
2828 char yymsgbuf[128];
2829 char *yymsg = yymsgbuf;
2830 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2831 #endif
2832
2833 /* Three stacks and their tools:
2834 `yyss': related to states,
2835 `yyvs': related to semantic values,
2836 `yyls': related to locations.
2837
2838 Refer to the stacks thru separate pointers, to allow yyoverflow
2839 to reallocate them elsewhere. */
2840
2841 /* The state stack. */
2842 yytype_int16 yyssa[YYINITDEPTH];
2843 yytype_int16 *yyss = yyssa;
2844 yytype_int16 *yyssp;
2845
2846 /* The semantic value stack. */
2847 YYSTYPE yyvsa[YYINITDEPTH];
2848 YYSTYPE *yyvs = yyvsa;
2849 YYSTYPE *yyvsp;
2850
2851
2852
2853 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2854
2855 YYSIZE_T yystacksize = YYINITDEPTH;
2856
2857 /* The variables used to return semantic value and location from the
2858 action routines. */
2859 YYSTYPE yyval;
2860
2861
2862 /* The number of symbols on the RHS of the reduced rule.
2863 Keep to zero when no symbol should be popped. */
2864 int yylen = 0;
2865
2866 YYDPRINTF ((stderr, "Starting parse\n"));
2867
2868 yystate = 0;
2869 yyerrstatus = 0;
2870 yynerrs = 0;
2871 yychar = YYEMPTY; /* Cause a token to be read. */
2872
2873 /* Initialize stack pointers.
2874 Waste one element of value and location stack
2875 so that they stay on the same level as the state stack.
2876 The wasted elements are never initialized. */
2877
2878 yyssp = yyss;
2879 yyvsp = yyvs;
2880
2881 goto yysetstate;
2882
2883 /*------------------------------------------------------------.
2884 | yynewstate -- Push a new state, which is found in yystate. |
2885 `------------------------------------------------------------*/
2886 yynewstate:
2887 /* In all cases, when you get here, the value and location stacks
2888 have just been pushed. So pushing a state here evens the stacks. */
2889 yyssp++;
2890
2891 yysetstate:
2892 *yyssp = yystate;
2893
2894 if (yyss + yystacksize - 1 <= yyssp)
2895 {
2896 /* Get the current used size of the three stacks, in elements. */
2897 YYSIZE_T yysize = yyssp - yyss + 1;
2898
2899 #ifdef yyoverflow
2900 {
2901 /* Give user a chance to reallocate the stack. Use copies of
2902 these so that the &'s don't force the real ones into
2903 memory. */
2904 YYSTYPE *yyvs1 = yyvs;
2905 yytype_int16 *yyss1 = yyss;
2906
2907
2908 /* Each stack pointer address is followed by the size of the
2909 data in use in that stack, in bytes. This used to be a
2910 conditional around just the two extra args, but that might
2911 be undefined if yyoverflow is a macro. */
2912 yyoverflow (YY_("memory exhausted"),
2913 &yyss1, yysize * sizeof (*yyssp),
2914 &yyvs1, yysize * sizeof (*yyvsp),
2915
2916 &yystacksize);
2917
2918 yyss = yyss1;
2919 yyvs = yyvs1;
2920 }
2921 #else /* no yyoverflow */
2922 # ifndef YYSTACK_RELOCATE
2923 goto yyexhaustedlab;
2924 # else
2925 /* Extend the stack our own way. */
2926 if (YYMAXDEPTH <= yystacksize)
2927 goto yyexhaustedlab;
2928 yystacksize *= 2;
2929 if (YYMAXDEPTH < yystacksize)
2930 yystacksize = YYMAXDEPTH;
2931
2932 {
2933 yytype_int16 *yyss1 = yyss;
2934 union yyalloc *yyptr =
2935 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2936 if (! yyptr)
2937 goto yyexhaustedlab;
2938 YYSTACK_RELOCATE (yyss);
2939 YYSTACK_RELOCATE (yyvs);
2940
2941 # undef YYSTACK_RELOCATE
2942 if (yyss1 != yyssa)
2943 YYSTACK_FREE (yyss1);
2944 }
2945 # endif
2946 #endif /* no yyoverflow */
2947
2948 yyssp = yyss + yysize - 1;
2949 yyvsp = yyvs + yysize - 1;
2950
2951
2952 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2953 (unsigned long int) yystacksize));
2954
2955 if (yyss + yystacksize - 1 <= yyssp)
2956 YYABORT;
2957 }
2958
2959 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2960
2961 goto yybackup;
2962
2963 /*-----------.
2964 | yybackup. |
2965 `-----------*/
2966 yybackup:
2967
2968 /* Do appropriate processing given the current state. Read a
2969 look-ahead token if we need one and don't already have one. */
2970
2971 /* First try to decide what to do without reference to look-ahead token. */
2972 yyn = yypact[yystate];
2973 if (yyn == YYPACT_NINF)
2974 goto yydefault;
2975
2976 /* Not known => get a look-ahead token if don't already have one. */
2977
2978 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
2979 if (yychar == YYEMPTY)
2980 {
2981 YYDPRINTF ((stderr, "Reading a token: "));
2982 yychar = YYLEX;
2983 }
2984
2985 if (yychar <= YYEOF)
2986 {
2987 yychar = yytoken = YYEOF;
2988 YYDPRINTF ((stderr, "Now at end of input.\n"));
2989 }
2990 else
2991 {
2992 yytoken = YYTRANSLATE (yychar);
2993 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2994 }
2995
2996 /* If the proper action on seeing token YYTOKEN is to reduce or to
2997 detect an error, take that action. */
2998 yyn += yytoken;
2999 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3000 goto yydefault;
3001 yyn = yytable[yyn];
3002 if (yyn <= 0)
3003 {
3004 if (yyn == 0 || yyn == YYTABLE_NINF)
3005 goto yyerrlab;
3006 yyn = -yyn;
3007 goto yyreduce;
3008 }
3009
3010 if (yyn == YYFINAL)
3011 YYACCEPT;
3012
3013 /* Count tokens shifted since error; after three, turn off error
3014 status. */
3015 if (yyerrstatus)
3016 yyerrstatus--;
3017
3018 /* Shift the look-ahead token. */
3019 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3020
3021 /* Discard the shifted token unless it is eof. */
3022 if (yychar != YYEOF)
3023 yychar = YYEMPTY;
3024
3025 yystate = yyn;
3026 *++yyvsp = yylval;
3027
3028 goto yynewstate;
3029
3030
3031 /*-----------------------------------------------------------.
3032 | yydefault -- do the default action for the current state. |
3033 `-----------------------------------------------------------*/
3034 yydefault:
3035 yyn = yydefact[yystate];
3036 if (yyn == 0)
3037 goto yyerrlab;
3038 goto yyreduce;
3039
3040
3041 /*-----------------------------.
3042 | yyreduce -- Do a reduction. |
3043 `-----------------------------*/
3044 yyreduce:
3045 /* yyn is the number of a rule to reduce with. */
3046 yylen = yyr2[yyn];
3047
3048 /* If YYLEN is nonzero, implement the default value of the action:
3049 `$$ = $1'.
3050
3051 Otherwise, the following line sets YYVAL to garbage.
3052 This behavior is undocumented and Bison
3053 users should not rely upon it. Assigning to YYVAL
3054 unconditionally makes the parser a bit smaller, and it avoids a
3055 GCC warning that YYVAL may be used uninitialized. */
3056 yyval = yyvsp[1-yylen];
3057
3058
3059 YY_REDUCE_PRINT (yyn);
3060 switch (yyn)
3061 {
3062 case 4:
3063 #line 99 "lscp.y"
3064 { return LSCP_DONE; }
3065 break;
3066
3067 case 5:
3068 #line 100 "lscp.y"
3069 { return LSCP_DONE; }
3070 break;
3071
3072 case 6:
3073 #line 101 "lscp.y"
3074 { LSCPSERVER->AnswerClient((yyvsp[(1) - (1)].String)); return LSCP_DONE; }
3075 break;
3076
3077 case 7:
3078 #line 102 "lscp.y"
3079 { LSCPSERVER->AnswerClient("ERR:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
3080 break;
3081
3082 case 13:
3083 #line 112 "lscp.y"
3084 { (yyval.String) = LSCPSERVER->AddChannel(); }
3085 break;
3086
3087 case 14:
3088 #line 113 "lscp.y"
3089 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3090 break;
3091
3092 case 15:
3093 #line 114 "lscp.y"
3094 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3095 break;
3096
3097 case 16:
3098 #line 115 "lscp.y"
3099 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3100 break;
3101
3102 case 17:
3103 #line 116 "lscp.y"
3104 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3105 break;
3106
3107 case 18:
3108 #line 117 "lscp.y"
3109 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3110 break;
3111
3112 case 19:
3113 #line 118 "lscp.y"
3114 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3115 break;
3116
3117 case 20:
3118 #line 119 "lscp.y"
3119 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3120 break;
3121
3122 case 21:
3123 #line 120 "lscp.y"
3124 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3125 break;
3126
3127 case 22:
3128 #line 122 "lscp.y"
3129 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3130 break;
3131
3132 case 23:
3133 #line 123 "lscp.y"
3134 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3135 break;
3136
3137 case 24:
3138 #line 124 "lscp.y"
3139 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3140 break;
3141
3142 case 25:
3143 #line 125 "lscp.y"
3144 { (yyval.String) = LSCPSERVER->QueryDatabase((yyvsp[(3) - (3)].String)); }
3145 break;
3146
3147 case 26:
3148 #line 126 "lscp.y"
3149 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3150 break;
3151
3152 case 27:
3153 #line 127 "lscp.y"
3154 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3155 break;
3156
3157 case 28:
3158 #line 128 "lscp.y"
3159 { (yyval.String) = LSCPSERVER->ResetSampler(); }
3160 break;
3161
3162 case 29:
3163 #line 129 "lscp.y"
3164 { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
3165 break;
3166
3167 case 30:
3168 #line 132 "lscp.y"
3169 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_count); }
3170 break;
3171
3172 case 31:
3173 #line 133 "lscp.y"
3174 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count); }
3175 break;
3176
3177 case 32:
3178 #line 134 "lscp.y"
3179 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }
3180 break;
3181
3182 case 33:
3183 #line 135 "lscp.y"
3184 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill); }
3185 break;
3186
3187 case 34:
3188 #line 136 "lscp.y"
3189 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channel_info); }
3190 break;
3191
3192 case 35:
3193 #line 137 "lscp.y"
3194 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc); }
3195 break;
3196
3197 case 36:
3198 #line 138 "lscp.y"
3199 { (yyval.String) = LSCPSERVER->SubscribeNotification(LSCPEvent::event_total_voice_count); }
3200 break;
3201
3202 case 37:
3203 #line 141 "lscp.y"
3204 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_count); }
3205 break;
3206
3207 case 38:
3208 #line 142 "lscp.y"
3209 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count); }
3210 break;
3211
3212 case 39:
3213 #line 143 "lscp.y"
3214 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }
3215 break;
3216
3217 case 40:
3218 #line 144 "lscp.y"
3219 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill); }
3220 break;
3221
3222 case 41:
3223 #line 145 "lscp.y"
3224 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channel_info); }
3225 break;
3226
3227 case 42:
3228 #line 146 "lscp.y"
3229 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc); }
3230 break;
3231
3232 case 43:
3233 #line 147 "lscp.y"
3234 { (yyval.String) = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_total_voice_count); }
3235 break;
3236
3237 case 44:
3238 #line 150 "lscp.y"
3239 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (15)].Number),(yyvsp[(5) - (15)].Number),(yyvsp[(7) - (15)].Number),(yyvsp[(9) - (15)].String),(yyvsp[(11) - (15)].String),(yyvsp[(13) - (15)].Number),(yyvsp[(15) - (15)].Dotnum),MidiInstrumentMapper::VOID,""); }
3240 break;
3241
3242 case 45:
3243 #line 151 "lscp.y"
3244 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),(yyvsp[(17) - (17)].LoadMode),""); }
3245 break;
3246
3247 case 46:
3248 #line 152 "lscp.y"
3249 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (17)].Number),(yyvsp[(5) - (17)].Number),(yyvsp[(7) - (17)].Number),(yyvsp[(9) - (17)].String),(yyvsp[(11) - (17)].String),(yyvsp[(13) - (17)].Number),(yyvsp[(15) - (17)].Dotnum),MidiInstrumentMapper::VOID,(yyvsp[(17) - (17)].String)); }
3250 break;
3251
3252 case 47:
3253 #line 153 "lscp.y"
3254 { (yyval.String) = LSCPSERVER->AddOrReplaceMIDIInstrumentMapping((yyvsp[(3) - (19)].Number),(yyvsp[(5) - (19)].Number),(yyvsp[(7) - (19)].Number),(yyvsp[(9) - (19)].String),(yyvsp[(11) - (19)].String),(yyvsp[(13) - (19)].Number),(yyvsp[(15) - (19)].Dotnum),(yyvsp[(17) - (19)].LoadMode),(yyvsp[(19) - (19)].String)); }
3255 break;
3256
3257 case 48:
3258 #line 156 "lscp.y"
3259 { (yyval.String) = LSCPSERVER->RemoveMIDIInstrumentMapping((yyvsp[(3) - (7)].Number),(yyvsp[(5) - (7)].Number),(yyvsp[(7) - (7)].Number)); }
3260 break;
3261
3262 case 49:
3263 #line 159 "lscp.y"
3264 { (yyval.String) = LSCPSERVER->RemoveChannel((yyvsp[(3) - (3)].Number)); }
3265 break;
3266
3267 case 50:
3268 #line 162 "lscp.y"
3269 { (yyval.String) = LSCPSERVER->GetAvailableEngines(); }
3270 break;
3271
3272 case 51:
3273 #line 163 "lscp.y"
3274 { (yyval.String) = LSCPSERVER->GetAvailableMidiInputDrivers(); }
3275 break;
3276
3277 case 52:
3278 #line 164 "lscp.y"
3279 { (yyval.String) = LSCPSERVER->GetMidiInputDriverInfo((yyvsp[(5) - (5)].String)); }
3280 break;
3281
3282 case 53:
3283 #line 165 "lscp.y"
3284 { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
3285 break;
3286
3287 case 54:
3288 #line 166 "lscp.y"
3289 { (yyval.String) = LSCPSERVER->GetMidiInputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList)); }
3290 break;
3291
3292 case 55:
3293 #line 167 "lscp.y"
3294 { (yyval.String) = LSCPSERVER->GetAvailableAudioOutputDrivers(); }
3295 break;
3296
3297 case 56:
3298 #line 168 "lscp.y"
3299 { (yyval.String) = LSCPSERVER->GetAudioOutputDriverInfo((yyvsp[(5) - (5)].String)); }
3300 break;
3301
3302 case 57:
3303 #line 169 "lscp.y"
3304 { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
3305 break;
3306
3307 case 58:
3308 #line 170 "lscp.y"
3309 { (yyval.String) = LSCPSERVER->GetAudioOutputDriverParameterInfo((yyvsp[(5) - (9)].String), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].KeyValList)); }
3310 break;
3311
3312 case 59:
3313 #line 171 "lscp.y"
3314 { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceCount(); }
3315 break;
3316
3317 case 60:
3318 #line 172 "lscp.y"
3319 { (yyval.String) = LSCPSERVER->GetMidiInputDeviceCount(); }
3320 break;
3321
3322 case 61:
3323 #line 173 "lscp.y"
3324 { (yyval.String) = LSCPSERVER->GetAudioOutputDeviceInfo((yyvsp[(5) - (5)].Number)); }
3325 break;
3326
3327 case 62:
3328 #line 174 "lscp.y"
3329 { (yyval.String) = LSCPSERVER->GetMidiInputDeviceInfo((yyvsp[(5) - (5)].Number)); }
3330 break;
3331
3332 case 63:
3333 #line 175 "lscp.y"
3334 { (yyval.String) = LSCPSERVER->GetMidiInputPortInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number)); }
3335 break;
3336
3337 case 64:
3338 #line 176 "lscp.y"
3339 { (yyval.String) = LSCPSERVER->GetMidiInputPortParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3340 break;
3341
3342 case 65:
3343 #line 177 "lscp.y"
3344 { (yyval.String) = LSCPSERVER->GetAudioOutputChannelInfo((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number)); }
3345 break;
3346
3347 case 66:
3348 #line 178 "lscp.y"
3349 { (yyval.String) = LSCPSERVER->GetAudioOutputChannelParameterInfo((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].String)); }
3350 break;
3351
3352 case 67:
3353 #line 179 "lscp.y"
3354 { (yyval.String) = LSCPSERVER->GetChannels(); }
3355 break;
3356
3357 case 68:
3358 #line 180 "lscp.y"
3359 { (yyval.String) = LSCPSERVER->GetChannelInfo((yyvsp[(5) - (5)].Number)); }
3360 break;
3361
3362 case 69:
3363 #line 181 "lscp.y"
3364 { (yyval.String) = LSCPSERVER->GetBufferFill((yyvsp[(5) - (7)].FillResponse), (yyvsp[(7) - (7)].Number)); }
3365 break;
3366
3367 case 70:
3368 #line 182 "lscp.y"
3369 { (yyval.String) = LSCPSERVER->GetStreamCount((yyvsp[(5) - (5)].Number)); }
3370 break;
3371
3372 case 71:
3373 #line 183 "lscp.y"
3374 { (yyval.String) = LSCPSERVER->GetVoiceCount((yyvsp[(5) - (5)].Number)); }
3375 break;
3376
3377 case 72:
3378 #line 184 "lscp.y"
3379 { (yyval.String) = LSCPSERVER->GetEngineInfo((yyvsp[(5) - (5)].String)); }
3380 break;
3381
3382 case 73:
3383 #line 185 "lscp.y"
3384 { (yyval.String) = LSCPSERVER->GetServerInfo(); }
3385 break;
3386
3387 case 74:
3388 #line 186 "lscp.y"
3389 { (yyval.String) = LSCPSERVER->GetTotalVoiceCount(); }
3390 break;
3391
3392 case 75:
3393 #line 187 "lscp.y"
3394 { (yyval.String) = LSCPSERVER->GetTotalVoiceCountMax(); }
3395 break;
3396
3397 case 76:
3398 #line 188 "lscp.y"
3399 { (yyval.String) = LSCPSERVER->GetMidiIstrumentMappings(); }
3400 break;
3401
3402 case 77:
3403 #line 189 "lscp.y"
3404 { (yyval.String) = LSCPSERVER->GetMidiInstrumentMapping((yyvsp[(5) - (9)].Number),(yyvsp[(7) - (9)].Number),(yyvsp[(9) - (9)].Number)); }
3405 break;
3406
3407 case 78:
3408 #line 192 "lscp.y"
3409 { (yyval.String) = LSCPSERVER->SetAudioOutputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
3410 break;
3411
3412 case 79:
3413 #line 193 "lscp.y"
3414 { (yyval.String) = LSCPSERVER->SetAudioOutputChannelParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3415 break;
3416
3417 case 80:
3418 #line 194 "lscp.y"
3419 { (yyval.String) = LSCPSERVER->SetMidiInputDeviceParameter((yyvsp[(3) - (7)].Number), (yyvsp[(5) - (7)].String), (yyvsp[(7) - (7)].String)); }
3420 break;
3421
3422 case 81:
3423 #line 195 "lscp.y"
3424 { (yyval.String) = LSCPSERVER->SetMidiInputPortParameter((yyvsp[(3) - (9)].Number), (yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].String), (yyvsp[(9) - (9)].String)); }
3425 break;
3426
3427 case 82:
3428 #line 196 "lscp.y"
3429 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3430 break;
3431
3432 case 83:
3433 #line 197 "lscp.y"
3434 { (yyval.String) = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, (yyvsp[(3) - (3)].Dotnum)); }
3435 break;
3436
3437 case 84:
3438 #line 200 "lscp.y"
3439 { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3440 break;
3441
3442 case 85:
3443 #line 201 "lscp.y"
3444 { (yyval.String) = LSCPSERVER->CreateAudioOutputDevice((yyvsp[(3) - (3)].String)); }
3445 break;
3446
3447 case 86:
3448 #line 202 "lscp.y"
3449 { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (5)].String),(yyvsp[(5) - (5)].KeyValList)); }
3450 break;
3451
3452 case 87:
3453 #line 203 "lscp.y"
3454 { (yyval.String) = LSCPSERVER->CreateMidiInputDevice((yyvsp[(3) - (3)].String)); }
3455 break;
3456
3457 case 88:
3458 #line 206 "lscp.y"
3459 { (yyval.String) = LSCPSERVER->ResetChannel((yyvsp[(3) - (3)].Number)); }
3460 break;
3461
3462 case 89:
3463 #line 209 "lscp.y"
3464 { (yyval.String) = LSCPSERVER->ClearMidiInstrumentMappings(); }
3465 break;
3466
3467 case 90:
3468 #line 212 "lscp.y"
3469 { (yyval.String) = LSCPSERVER->DestroyAudioOutputDevice((yyvsp[(3) - (3)].Number)); }
3470 break;
3471
3472 case 91:
3473 #line 213 "lscp.y"
3474 { (yyval.String) = LSCPSERVER->DestroyMidiInputDevice((yyvsp[(3) - (3)].Number)); }
3475 break;
3476
3477 case 92:
3478 #line 216 "lscp.y"
3479 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3480 break;
3481
3482 case 93:
3483 #line 217 "lscp.y"
3484 { (yyval.String) = (yyvsp[(3) - (3)].String); }
3485 break;
3486
3487 case 94:
3488 #line 220 "lscp.y"
3489 { (yyval.String) = LSCPSERVER->SetAudioOutputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
3490 break;
3491
3492 case 95:
3493 #line 221 "lscp.y"
3494 { (yyval.String) = LSCPSERVER->SetAudioOutputChannel((yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), (yyvsp[(3) - (7)].Number)); }
3495 break;
3496
3497 case 96:
3498 #line 222 "lscp.y"
3499 { (yyval.String) = LSCPSERVER->SetAudioOutputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number)); }
3500 break;
3501
3502 case 97:
3503 #line 223 "lscp.y"
3504 { (yyval.String) = LSCPSERVER->SetMIDIInput((yyvsp[(5) - (9)].Number), (yyvsp[(7) - (9)].Number), (yyvsp[(9) - (9)].Number), (yyvsp[(3) - (9)].Number)); }
3505 break;
3506
3507 case 98:
3508 #line 224 "lscp.y"
3509 { (yyval.String) = LSCPSERVER->SetMIDIInputDevice((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
3510 break;
3511
3512 case 99:
3513 #line 225 "lscp.y"
3514 { (yyval.String) = LSCPSERVER->SetMIDIInputPort((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
3515 break;
3516
3517 case 100:
3518 #line 226 "lscp.y"
3519 { (yyval.String) = LSCPSERVER->SetMIDIInputChannel((yyvsp[(5) - (5)].Number), (yyvsp[(3) - (5)].Number)); }
3520 break;
3521
3522 case 101:
3523 #line 227 "lscp.y"
3524 { (yyval.String) = LSCPSERVER->SetMIDIInputType((yyvsp[(5) - (5)].String), (yyvsp[(3) - (5)].Number)); }
3525 break;
3526
3527 case 102:
3528 #line 228 "lscp.y"
3529 { (yyval.String) = LSCPSERVER->SetVolume((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number)); }
3530 break;
3531
3532 case 103:
3533 #line 229 "lscp.y"
3534 { (yyval.String) = LSCPSERVER->SetChannelMute((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number)); }
3535 break;
3536
3537 case 104:
3538 #line 230 "lscp.y"
3539 { (yyval.String) = LSCPSERVER->SetChannelSolo((yyvsp[(5) - (5)].Dotnum), (yyvsp[(3) - (5)].Number)); }
3540 break;
3541
3542 case 105:
3543 #line 233 "lscp.y"
3544 { (yyval.KeyValList)[(yyvsp[(1) - (3)].String)] = (yyvsp[(3) - (3)].String); }
3545 break;
3546
3547 case 106:
3548 #line 234 "lscp.y"
3549 { (yyval.KeyValList) = (yyvsp[(1) - (5)].KeyValList); (yyval.KeyValList)[(yyvsp[(3) - (5)].String)] = (yyvsp[(5) - (5)].String); }
3550 break;
3551
3552 case 107:
3553 #line 237 "lscp.y"
3554 { (yyval.FillResponse) = fill_response_bytes; }
3555 break;
3556
3557 case 108:
3558 #line 238 "lscp.y"
3559 { (yyval.FillResponse) = fill_response_percentage; }
3560 break;
3561
3562 case 109:
3563 #line 241 "lscp.y"
3564 { (yyval.String) = LSCPSERVER->GetAudioOutputDevices(); }
3565 break;
3566
3567 case 110:
3568 #line 242 "lscp.y"
3569 { (yyval.String) = LSCPSERVER->GetMidiInputDevices(); }
3570 break;
3571
3572 case 111:
3573 #line 243 "lscp.y"
3574 { (yyval.String) = LSCPSERVER->ListChannels(); }
3575 break;
3576
3577 case 112:
3578 #line 244 "lscp.y"
3579 { (yyval.String) = LSCPSERVER->ListAvailableEngines(); }
3580 break;
3581
3582 case 113:
3583 #line 245 "lscp.y"
3584 { (yyval.String) = LSCPSERVER->ListAvailableMidiInputDrivers(); }
3585 break;
3586
3587 case 114:
3588 #line 246 "lscp.y"
3589 { (yyval.String) = LSCPSERVER->ListAvailableAudioOutputDrivers(); }
3590 break;
3591
3592 case 115:
3593 #line 247 "lscp.y"
3594 { (yyval.String) = LSCPSERVER->ListMidiInstrumentMappings(); }
3595 break;
3596
3597 case 116:
3598 #line 250 "lscp.y"
3599 { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(1) - (5)].String), (yyvsp[(3) - (5)].Number), (yyvsp[(5) - (5)].Number)); }
3600 break;
3601
3602 case 117:
3603 #line 251 "lscp.y"
3604 { (yyval.String) = LSCPSERVER->LoadInstrument((yyvsp[(3) - (7)].String), (yyvsp[(5) - (7)].Number), (yyvsp[(7) - (7)].Number), true); }
3605 break;
3606
3607 case 118:
3608 #line 254 "lscp.y"
3609 { (yyval.String) = LSCPSERVER->SetEngineType((yyvsp[(1) - (3)].String), (yyvsp[(3) - (3)].Number)); }
3610 break;
3611
3612 case 119:
3613 #line 257 "lscp.y"
3614 { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND; }
3615 break;
3616
3617 case 120:
3618 #line 258 "lscp.y"
3619 { (yyval.LoadMode) = MidiInstrumentMapper::ON_DEMAND_HOLD; }
3620 break;
3621
3622 case 121:
3623 #line 259 "lscp.y"
3624 { (yyval.LoadMode) = MidiInstrumentMapper::PERSISTENT; }
3625 break;
3626
3627 case 127:
3628 #line 275 "lscp.y"
3629 { (yyval.Number) = 16; }
3630 break;
3631
3632 case 133:
3633 #line 291 "lscp.y"
3634 { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
3635 break;
3636
3637 case 140:
3638 #line 310 "lscp.y"
3639 { (yyval.String) = (yyvsp[(1) - (3)].String) + "," + (yyvsp[(3) - (3)].String); }
3640 break;
3641
3642 case 143:
3643 #line 315 "lscp.y"
3644 { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Number) << "\'"; (yyval.String) = ss.str(); }
3645 break;
3646
3647 case 144:
3648 #line 316 "lscp.y"
3649 { std::stringstream ss; ss << "\'" << (yyvsp[(1) - (1)].Dotnum) << "\'"; (yyval.String) = ss.str(); }
3650 break;
3651
3652 case 145:
3653 #line 324 "lscp.y"
3654 { (yyval.Dotnum) = (yyvsp[(1) - (1)].Number); }
3655 break;
3656
3657 case 146:
3658 #line 325 "lscp.y"
3659 { (yyval.Dotnum) = -1; }
3660 break;
3661
3662 case 147:
3663 #line 328 "lscp.y"
3664 { std::string s; s = (yyvsp[(1) - (1)].Char); (yyval.String) = s; }
3665 break;
3666
3667 case 148:
3668 #line 329 "lscp.y"
3669 { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
3670 break;
3671
3672 case 149:
3673 #line 332 "lscp.y"
3674 { (yyval.Dotnum) = atof(String((yyvsp[(1) - (3)].String) + "." + (yyvsp[(3) - (3)].String)).c_str()); }
3675 break;
3676
3677 case 150:
3678 #line 333 "lscp.y"
3679 { String s = "+"; s += (yyvsp[(2) - (4)].String); s += "."; s += (yyvsp[(4) - (4)].String); (yyval.Dotnum) = atof(s.c_str()); }
3680 break;
3681
3682 case 151:
3683 #line 334 "lscp.y"
3684 { (yyval.Dotnum) = atof(String("-" + (yyvsp[(2) - (4)].String) + "." + (yyvsp[(4) - (4)].String)).c_str()); }
3685 break;
3686
3687 case 152:
3688 #line 338 "lscp.y"
3689 { (yyval.String) = (yyvsp[(1) - (1)].Char); }
3690 break;
3691
3692 case 153:
3693 #line 339 "lscp.y"
3694 { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].Char); }
3695 break;
3696
3697 case 154:
3698 #line 342 "lscp.y"
3699 { (yyval.Char) = '0'; }
3700 break;
3701
3702 case 155:
3703 #line 343 "lscp.y"
3704 { (yyval.Char) = '1'; }
3705 break;
3706
3707 case 156:
3708 #line 344 "lscp.y"
3709 { (yyval.Char) = '2'; }
3710 break;
3711
3712 case 157:
3713 #line 345 "lscp.y"
3714 { (yyval.Char) = '3'; }
3715 break;
3716
3717 case 158:
3718 #line 346 "lscp.y"
3719 { (yyval.Char) = '4'; }
3720 break;
3721
3722 case 159:
3723 #line 347 "lscp.y"
3724 { (yyval.Char) = '5'; }
3725 break;
3726
3727 case 160:
3728 #line 348 "lscp.y"
3729 { (yyval.Char) = '6'; }
3730 break;
3731
3732 case 161:
3733 #line 349 "lscp.y"
3734 { (yyval.Char) = '7'; }
3735 break;
3736
3737 case 162:
3738 #line 350 "lscp.y"
3739 { (yyval.Char) = '8'; }
3740 break;
3741
3742 case 163:
3743 #line 351 "lscp.y"
3744 { (yyval.Char) = '9'; }
3745 break;
3746
3747 case 164:
3748 #line 354 "lscp.y"
3749 { (yyval.Number) = atoi(String(1, (yyvsp[(1) - (1)].Char)).c_str()); }
3750 break;
3751
3752 case 165:
3753 #line 355 "lscp.y"
3754 { (yyval.Number) = atoi(String(String("1") + (yyvsp[(2) - (2)].String)).c_str()); }
3755 break;
3756
3757 case 166:
3758 #line 356 "lscp.y"
3759 { (yyval.Number) = atoi(String(String("2") + (yyvsp[(2) - (2)].String)).c_str()); }
3760 break;
3761
3762 case 167:
3763 #line 357 "lscp.y"
3764 { (yyval.Number) = atoi(String(String("3") + (yyvsp[(2) - (2)].String)).c_str()); }
3765 break;
3766
3767 case 168:
3768 #line 358 "lscp.y"
3769 { (yyval.Number) = atoi(String(String("4") + (yyvsp[(2) - (2)].String)).c_str()); }
3770 break;
3771
3772 case 169:
3773 #line 359 "lscp.y"
3774 { (yyval.Number) = atoi(String(String("5") + (yyvsp[(2) - (2)].String)).c_str()); }
3775 break;
3776
3777 case 170:
3778 #line 360 "lscp.y"
3779 { (yyval.Number) = atoi(String(String("6") + (yyvsp[(2) - (2)].String)).c_str()); }
3780 break;
3781
3782 case 171:
3783 #line 361 "lscp.y"
3784 { (yyval.Number) = atoi(String(String("7") + (yyvsp[(2) - (2)].String)).c_str()); }
3785 break;
3786
3787 case 172:
3788 #line 362 "lscp.y"
3789 { (yyval.Number) = atoi(String(String("8") + (yyvsp[(2) - (2)].String)).c_str()); }
3790 break;
3791
3792 case 173:
3793 #line 363 "lscp.y"
3794 { (yyval.Number) = atoi(String(String("9") + (yyvsp[(2) - (2)].String)).c_str()); }
3795 break;
3796
3797 case 174:
3798 #line 365 "lscp.y"
3799 { (yyval.Char) = 'A'; }
3800 break;
3801
3802 case 175:
3803 #line 365 "lscp.y"
3804 { (yyval.Char) = 'B'; }
3805 break;
3806
3807 case 176:
3808 #line 365 "lscp.y"
3809 { (yyval.Char) = 'C'; }
3810 break;
3811
3812 case 177:
3813 #line 365 "lscp.y"
3814 { (yyval.Char) = 'D'; }
3815 break;
3816
3817 case 178:
3818 #line 365 "lscp.y"
3819 { (yyval.Char) = 'E'; }
3820 break;
3821
3822 case 179:
3823 #line 365 "lscp.y"
3824 { (yyval.Char) = 'F'; }
3825 break;
3826
3827 case 180:
3828 #line 365 "lscp.y"
3829 { (yyval.Char) = 'G'; }
3830 break;
3831
3832 case 181:
3833 #line 365 "lscp.y"
3834 { (yyval.Char) = 'H'; }
3835 break;
3836
3837 case 182:
3838 #line 365 "lscp.y"
3839 { (yyval.Char) = 'I'; }
3840 break;
3841
3842 case 183:
3843 #line 365 "lscp.y"
3844 { (yyval.Char) = 'J'; }
3845 break;
3846
3847 case 184:
3848 #line 365 "lscp.y"
3849 { (yyval.Char) = 'K'; }
3850 break;
3851
3852 case 185:
3853 #line 365 "lscp.y"
3854 { (yyval.Char) = 'L'; }
3855 break;
3856
3857 case 186:
3858 #line 365 "lscp.y"
3859 { (yyval.Char) = 'M'; }
3860 break;
3861
3862 case 187:
3863 #line 365 "lscp.y"
3864 { (yyval.Char) = 'N'; }
3865 break;
3866
3867 case 188:
3868 #line 365 "lscp.y"
3869 { (yyval.Char) = 'O'; }
3870 break;
3871
3872 case 189:
3873 #line 365 "lscp.y"
3874 { (yyval.Char) = 'P'; }
3875 break;
3876
3877 case 190:
3878 #line 365 "lscp.y"
3879 { (yyval.Char) = 'Q'; }
3880 break;
3881
3882 case 191:
3883 #line 365 "lscp.y"
3884 { (yyval.Char) = 'R'; }
3885 break;
3886
3887 case 192:
3888 #line 365 "lscp.y"
3889 { (yyval.Char) = 'S'; }
3890 break;
3891
3892 case 193:
3893 #line 365 "lscp.y"
3894 { (yyval.Char) = 'T'; }
3895 break;
3896
3897 case 194:
3898 #line 365 "lscp.y"
3899 { (yyval.Char) = 'U'; }
3900 break;
3901
3902 case 195:
3903 #line 365 "lscp.y"
3904 { (yyval.Char) = 'V'; }
3905 break;
3906
3907 case 196:
3908 #line 365 "lscp.y"
3909 { (yyval.Char) = 'W'; }
3910 break;
3911
3912 case 197:
3913 #line 365 "lscp.y"
3914 { (yyval.Char) = 'X'; }
3915 break;
3916
3917 case 198:
3918 #line 365 "lscp.y"
3919 { (yyval.Char) = 'Y'; }
3920 break;
3921
3922 case 199:
3923 #line 365 "lscp.y"
3924 { (yyval.Char) = 'Z'; }
3925 break;
3926
3927 case 200:
3928 #line 366 "lscp.y"
3929 { (yyval.Char) = 'a'; }
3930 break;
3931
3932 case 201:
3933 #line 366 "lscp.y"
3934 { (yyval.Char) = 'b'; }
3935 break;
3936
3937 case 202:
3938 #line 366 "lscp.y"
3939 { (yyval.Char) = 'c'; }
3940 break;
3941
3942 case 203:
3943 #line 366 "lscp.y"
3944 { (yyval.Char) = 'd'; }
3945 break;
3946
3947 case 204:
3948 #line 366 "lscp.y"
3949 { (yyval.Char) = 'e'; }
3950 break;
3951
3952 case 205:
3953 #line 366 "lscp.y"
3954 { (yyval.Char) = 'f'; }
3955 break;
3956
3957 case 206:
3958 #line 366 "lscp.y"
3959 { (yyval.Char) = 'g'; }
3960 break;
3961
3962 case 207:
3963 #line 366 "lscp.y"
3964 { (yyval.Char) = 'h'; }
3965 break;
3966
3967 case 208:
3968 #line 366 "lscp.y"
3969 { (yyval.Char) = 'i'; }
3970 break;
3971
3972 case 209:
3973 #line 366 "lscp.y"
3974 { (yyval.Char) = 'j'; }
3975 break;
3976
3977 case 210:
3978 #line 366 "lscp.y"
3979 { (yyval.Char) = 'k'; }
3980 break;
3981
3982 case 211:
3983 #line 366 "lscp.y"
3984 { (yyval.Char) = 'l'; }
3985 break;
3986
3987 case 212:
3988 #line 366 "lscp.y"
3989 { (yyval.Char) = 'm'; }
3990 break;
3991
3992 case 213:
3993 #line 366 "lscp.y"
3994 { (yyval.Char) = 'n'; }
3995 break;
3996
3997 case 214:
3998 #line 366 "lscp.y"
3999 { (yyval.Char) = 'o'; }
4000 break;
4001
4002 case 215:
4003 #line 366 "lscp.y"
4004 { (yyval.Char) = 'p'; }
4005 break;
4006
4007 case 216:
4008 #line 366 "lscp.y"
4009 { (yyval.Char) = 'q'; }
4010 break;
4011
4012 case 217:
4013 #line 366 "lscp.y"
4014 { (yyval.Char) = 'r'; }
4015 break;
4016
4017 case 218:
4018 #line 366 "lscp.y"
4019 { (yyval.Char) = 's'; }
4020 break;
4021
4022 case 219:
4023 #line 366 "lscp.y"
4024 { (yyval.Char) = 't'; }
4025 break;
4026
4027 case 220:
4028 #line 366 "lscp.y"
4029 { (yyval.Char) = 'u'; }
4030 break;
4031
4032 case 221:
4033 #line 366 "lscp.y"
4034 { (yyval.Char) = 'v'; }
4035 break;
4036
4037 case 222:
4038 #line 366 "lscp.y"
4039 { (yyval.Char) = 'w'; }
4040 break;
4041
4042 case 223:
4043 #line 366 "lscp.y"
4044 { (yyval.Char) = 'x'; }
4045 break;
4046
4047 case 224:
4048 #line 366 "lscp.y"
4049 { (yyval.Char) = 'y'; }
4050 break;
4051
4052 case 225:
4053 #line 366 "lscp.y"
4054 { (yyval.Char) = 'z'; }
4055 break;
4056
4057 case 226:
4058 #line 367 "lscp.y"
4059 { (yyval.Char) = '0'; }
4060 break;
4061
4062 case 227:
4063 #line 367 "lscp.y"
4064 { (yyval.Char) = '1'; }
4065 break;
4066
4067 case 228:
4068 #line 367 "lscp.y"
4069 { (yyval.Char) = '2'; }
4070 break;
4071
4072 case 229:
4073 #line 367 "lscp.y"
4074 { (yyval.Char) = '3'; }
4075 break;
4076
4077 case 230:
4078 #line 367 "lscp.y"
4079 { (yyval.Char) = '4'; }
4080 break;
4081
4082 case 231:
4083 #line 367 "lscp.y"
4084 { (yyval.Char) = '5'; }
4085 break;
4086
4087 case 232:
4088 #line 367 "lscp.y"
4089 { (yyval.Char) = '6'; }
4090 break;
4091
4092 case 233:
4093 #line 367 "lscp.y"
4094 { (yyval.Char) = '7'; }
4095 break;
4096
4097 case 234:
4098 #line 367 "lscp.y"
4099 { (yyval.Char) = '8'; }
4100 break;
4101
4102 case 235:
4103 #line 367 "lscp.y"
4104 { (yyval.Char) = '9'; }
4105 break;
4106
4107 case 236:
4108 #line 368 "lscp.y"
4109 { (yyval.Char) = '!'; }
4110 break;
4111
4112 case 237:
4113 #line 368 "lscp.y"
4114 { (yyval.Char) = '#'; }
4115 break;
4116
4117 case 238:
4118 #line 368 "lscp.y"
4119 { (yyval.Char) = '$'; }
4120 break;
4121
4122 case 239:
4123 #line 368 "lscp.y"
4124 { (yyval.Char) = '%'; }
4125 break;
4126
4127 case 240:
4128 #line 368 "lscp.y"
4129 { (yyval.Char) = '&'; }
4130 break;
4131
4132 case 241:
4133 #line 368 "lscp.y"
4134 { (yyval.Char) = '('; }
4135 break;
4136
4137 case 242:
4138 #line 368 "lscp.y"
4139 { (yyval.Char) = ')'; }
4140 break;
4141
4142 case 243:
4143 #line 368 "lscp.y"
4144 { (yyval.Char) = '*'; }
4145 break;
4146
4147 case 244:
4148 #line 368 "lscp.y"
4149 { (yyval.Char) = '+'; }
4150 break;
4151
4152 case 245:
4153 #line 368 "lscp.y"
4154 { (yyval.Char) = '-'; }
4155 break;
4156
4157 case 246:
4158 #line 368 "lscp.y"
4159 { (yyval.Char) = '.'; }
4160 break;
4161
4162 case 247:
4163 #line 368 "lscp.y"
4164 { (yyval.Char) = ','; }
4165 break;
4166
4167 case 248:
4168 #line 368 "lscp.y"
4169 { (yyval.Char) = '/'; }
4170 break;
4171
4172 case 249:
4173 #line 369 "lscp.y"
4174 { (yyval.Char) = ':'; }
4175 break;
4176
4177 case 250:
4178 #line 369 "lscp.y"
4179 { (yyval.Char) = ';'; }
4180 break;
4181
4182 case 251:
4183 #line 369 "lscp.y"
4184 { (yyval.Char) = '<'; }
4185 break;
4186
4187 case 252:
4188 #line 369 "lscp.y"
4189 { (yyval.Char) = '='; }
4190 break;
4191
4192 case 253:
4193 #line 369 "lscp.y"
4194 { (yyval.Char) = '>'; }
4195 break;
4196
4197 case 254:
4198 #line 369 "lscp.y"
4199 { (yyval.Char) = '?'; }
4200 break;
4201
4202 case 255:
4203 #line 369 "lscp.y"
4204 { (yyval.Char) = '@'; }
4205 break;
4206
4207 case 256:
4208 #line 370 "lscp.y"
4209 { (yyval.Char) = '['; }
4210 break;
4211
4212 case 257:
4213 #line 370 "lscp.y"
4214 { (yyval.Char) = '\\'; }
4215 break;
4216
4217 case 258:
4218 #line 370 "lscp.y"
4219 { (yyval.Char) = ']'; }
4220 break;
4221
4222 case 259:
4223 #line 370 "lscp.y"
4224 { (yyval.Char) = '^'; }
4225 break;
4226
4227 case 260:
4228 #line 370 "lscp.y"
4229 { (yyval.Char) = '_'; }
4230 break;
4231
4232 case 261:
4233 #line 371 "lscp.y"
4234 { (yyval.Char) = '{'; }
4235 break;
4236
4237 case 262:
4238 #line 371 "lscp.y"
4239 { (yyval.Char) = '|'; }
4240 break;
4241
4242 case 263:
4243 #line 371 "lscp.y"
4244 { (yyval.Char) = '}'; }
4245 break;
4246
4247 case 264:
4248 #line 371 "lscp.y"
4249 { (yyval.Char) = '~'; }
4250 break;
4251
4252 case 265:
4253 #line 372 "lscp.y"
4254 { (yyval.Char) = '\200'; }
4255 break;
4256
4257 case 266:
4258 #line 372 "lscp.y"
4259 { (yyval.Char) = '\201'; }
4260 break;
4261
4262 case 267:
4263 #line 372 "lscp.y"
4264 { (yyval.Char) = '\202'; }
4265 break;
4266
4267 case 268:
4268 #line 373 "lscp.y"
4269 { (yyval.Char) = '\203'; }
4270 break;
4271
4272 case 269:
4273 #line 373 "lscp.y"
4274 { (yyval.Char) = '\204'; }
4275 break;
4276
4277 case 270:
4278 #line 373 "lscp.y"
4279 { (yyval.Char) = '\205'; }
4280 break;
4281
4282 case 271:
4283 #line 374 "lscp.y"
4284 { (yyval.Char) = '\206'; }
4285 break;
4286
4287 case 272:
4288 #line 374 "lscp.y"
4289 { (yyval.Char) = '\207'; }
4290 break;
4291
4292 case 273:
4293 #line 374 "lscp.y"
4294 { (yyval.Char) = '\210'; }
4295 break;
4296
4297 case 274:
4298 #line 375 "lscp.y"
4299 { (yyval.Char) = '\211'; }
4300 break;
4301
4302 case 275:
4303 #line 375 "lscp.y"
4304 { (yyval.Char) = '\212'; }
4305 break;
4306
4307 case 276:
4308 #line 375 "lscp.y"
4309 { (yyval.Char) = '\213'; }
4310 break;
4311
4312 case 277:
4313 #line 376 "lscp.y"
4314 { (yyval.Char) = '\214'; }
4315 break;
4316
4317 case 278:
4318 #line 376 "lscp.y"
4319 { (yyval.Char) = '\215'; }
4320 break;
4321
4322 case 279:
4323 #line 376 "lscp.y"
4324 { (yyval.Char) = '\216'; }
4325 break;
4326
4327 case 280:
4328 #line 377 "lscp.y"
4329 { (yyval.Char) = '\217'; }
4330 break;
4331
4332 case 281:
4333 #line 377 "lscp.y"
4334 { (yyval.Char) = '\220'; }
4335 break;
4336
4337 case 282:
4338 #line 377 "lscp.y"
4339 { (yyval.Char) = '\221'; }
4340 break;
4341
4342 case 283:
4343 #line 378 "lscp.y"
4344 { (yyval.Char) = '\222'; }
4345 break;
4346
4347 case 284:
4348 #line 378 "lscp.y"
4349 { (yyval.Char) = '\223'; }
4350 break;
4351
4352 case 285:
4353 #line 378 "lscp.y"
4354 { (yyval.Char) = '\224'; }
4355 break;
4356
4357 case 286:
4358 #line 379 "lscp.y"
4359 { (yyval.Char) = '\225'; }
4360 break;
4361
4362 case 287:
4363 #line 379 "lscp.y"
4364 { (yyval.Char) = '\226'; }
4365 break;
4366
4367 case 288:
4368 #line 379 "lscp.y"
4369 { (yyval.Char) = '\227'; }
4370 break;
4371
4372 case 289:
4373 #line 380 "lscp.y"
4374 { (yyval.Char) = '\230'; }
4375 break;
4376
4377 case 290:
4378 #line 380 "lscp.y"
4379 { (yyval.Char) = '\231'; }
4380 break;
4381
4382 case 291:
4383 #line 380 "lscp.y"
4384 { (yyval.Char) = '\232'; }
4385 break;
4386
4387 case 292:
4388 #line 381 "lscp.y"
4389 { (yyval.Char) = '\233'; }
4390 break;
4391
4392 case 293:
4393 #line 381 "lscp.y"
4394 { (yyval.Char) = '\234'; }
4395 break;
4396
4397 case 294:
4398 #line 381 "lscp.y"
4399 { (yyval.Char) = '\235'; }
4400 break;
4401
4402 case 295:
4403 #line 382 "lscp.y"
4404 { (yyval.Char) = '\236'; }
4405 break;
4406
4407 case 296:
4408 #line 382 "lscp.y"
4409 { (yyval.Char) = '\237'; }
4410 break;
4411
4412 case 297:
4413 #line 382 "lscp.y"
4414 { (yyval.Char) = '\240'; }
4415 break;
4416
4417 case 298:
4418 #line 383 "lscp.y"
4419 { (yyval.Char) = '\241'; }
4420 break;
4421
4422 case 299:
4423 #line 383 "lscp.y"
4424 { (yyval.Char) = '\242'; }
4425 break;
4426
4427 case 300:
4428 #line 383 "lscp.y"
4429 { (yyval.Char) = '\243'; }
4430 break;
4431
4432 case 301:
4433 #line 384 "lscp.y"
4434 { (yyval.Char) = '\244'; }
4435 break;
4436
4437 case 302:
4438 #line 384 "lscp.y"
4439 { (yyval.Char) = '\245'; }
4440 break;
4441
4442 case 303:
4443 #line 384 "lscp.y"
4444 { (yyval.Char) = '\246'; }
4445 break;
4446
4447 case 304:
4448 #line 385 "lscp.y"
4449 { (yyval.Char) = '\247'; }
4450 break;
4451
4452 case 305:
4453 #line 385 "lscp.y"
4454 { (yyval.Char) = '\250'; }
4455 break;
4456
4457 case 306:
4458 #line 385 "lscp.y"
4459 { (yyval.Char) = '\251'; }
4460 break;
4461
4462 case 307:
4463 #line 386 "lscp.y"
4464 { (yyval.Char) = '\252'; }
4465 break;
4466
4467 case 308:
4468 #line 386 "lscp.y"
4469 { (yyval.Char) = '\253'; }
4470 break;
4471
4472 case 309:
4473 #line 386 "lscp.y"
4474 { (yyval.Char) = '\254'; }
4475 break;
4476
4477 case 310:
4478 #line 387 "lscp.y"
4479 { (yyval.Char) = '\255'; }
4480 break;
4481
4482 case 311:
4483 #line 387 "lscp.y"
4484 { (yyval.Char) = '\256'; }
4485 break;
4486
4487 case 312:
4488 #line 387 "lscp.y"
4489 { (yyval.Char) = '\257'; }
4490 break;
4491
4492 case 313:
4493 #line 388 "lscp.y"
4494 { (yyval.Char) = '\260'; }
4495 break;
4496
4497 case 314:
4498 #line 388 "lscp.y"
4499 { (yyval.Char) = '\261'; }
4500 break;
4501
4502 case 315:
4503 #line 388 "lscp.y"
4504 { (yyval.Char) = '\262'; }
4505 break;
4506
4507 case 316:
4508 #line 389 "lscp.y"
4509 { (yyval.Char) = '\263'; }
4510 break;
4511
4512 case 317:
4513 #line 389 "lscp.y"
4514 { (yyval.Char) = '\264'; }
4515 break;
4516
4517 case 318:
4518 #line 389 "lscp.y"
4519 { (yyval.Char) = '\265'; }
4520 break;
4521
4522 case 319:
4523 #line 390 "lscp.y"
4524 { (yyval.Char) = '\266'; }
4525 break;
4526
4527 case 320:
4528 #line 390 "lscp.y"
4529 { (yyval.Char) = '\267'; }
4530 break;
4531
4532 case 321:
4533 #line 390 "lscp.y"
4534 { (yyval.Char) = '\270'; }
4535 break;
4536
4537 case 322:
4538 #line 391 "lscp.y"
4539 { (yyval.Char) = '\271'; }
4540 break;
4541
4542 case 323:
4543 #line 391 "lscp.y"
4544 { (yyval.Char) = '\272'; }
4545 break;
4546
4547 case 324:
4548 #line 391 "lscp.y"
4549 { (yyval.Char) = '\273'; }
4550 break;
4551
4552 case 325:
4553 #line 392 "lscp.y"
4554 { (yyval.Char) = '\274'; }
4555 break;
4556
4557 case 326:
4558 #line 392 "lscp.y"
4559 { (yyval.Char) = '\275'; }
4560 break;
4561
4562 case 327:
4563 #line 392 "lscp.y"
4564 { (yyval.Char) = '\276'; }
4565 break;
4566
4567 case 328:
4568 #line 393 "lscp.y"
4569 { (yyval.Char) = '\277'; }
4570 break;
4571
4572 case 329:
4573 #line 393 "lscp.y"
4574 { (yyval.Char) = '\300'; }
4575 break;
4576
4577 case 330:
4578 #line 393 "lscp.y"
4579 { (yyval.Char) = '\301'; }
4580 break;
4581
4582 case 331:
4583 #line 394 "lscp.y"
4584 { (yyval.Char) = '\302'; }
4585 break;
4586
4587 case 332:
4588 #line 394 "lscp.y"
4589 { (yyval.Char) = '\303'; }
4590 break;
4591
4592 case 333:
4593 #line 394 "lscp.y"
4594 { (yyval.Char) = '\304'; }
4595 break;
4596
4597 case 334:
4598 #line 395 "lscp.y"
4599 { (yyval.Char) = '\305'; }
4600 break;
4601
4602 case 335:
4603 #line 395 "lscp.y"
4604 { (yyval.Char) = '\306'; }
4605 break;
4606
4607 case 336:
4608 #line 395 "lscp.y"
4609 { (yyval.Char) = '\307'; }
4610 break;
4611
4612 case 337:
4613 #line 396 "lscp.y"
4614 { (yyval.Char) = '\310'; }
4615 break;
4616
4617 case 338:
4618 #line 396 "lscp.y"
4619 { (yyval.Char) = '\311'; }
4620 break;
4621
4622 case 339:
4623 #line 396 "lscp.y"
4624 { (yyval.Char) = '\312'; }
4625 break;
4626
4627 case 340:
4628 #line 397 "lscp.y"
4629 { (yyval.Char) = '\313'; }
4630 break;
4631
4632 case 341:
4633 #line 397 "lscp.y"
4634 { (yyval.Char) = '\314'; }
4635 break;
4636
4637 case 342:
4638 #line 397 "lscp.y"
4639 { (yyval.Char) = '\315'; }
4640 break;
4641
4642 case 343:
4643 #line 398 "lscp.y"
4644 { (yyval.Char) = '\316'; }
4645 break;
4646
4647 case 344:
4648 #line 398 "lscp.y"
4649 { (yyval.Char) = '\317'; }
4650 break;
4651
4652 case 345:
4653 #line 398 "lscp.y"
4654 { (yyval.Char) = '\320'; }
4655 break;
4656
4657 case 346:
4658 #line 399 "lscp.y"
4659 { (yyval.Char) = '\321'; }
4660 break;
4661
4662 case 347:
4663 #line 399 "lscp.y"
4664 { (yyval.Char) = '\322'; }
4665 break;
4666
4667 case 348:
4668 #line 399 "lscp.y"
4669 { (yyval.Char) = '\323'; }
4670 break;
4671
4672 case 349:
4673 #line 400 "lscp.y"
4674 { (yyval.Char) = '\324'; }
4675 break;
4676
4677 case 350:
4678 #line 400 "lscp.y"
4679 { (yyval.Char) = '\325'; }
4680 break;
4681
4682 case 351:
4683 #line 400 "lscp.y"
4684 { (yyval.Char) = '\326'; }
4685 break;
4686
4687 case 352:
4688 #line 401 "lscp.y"
4689 { (yyval.Char) = '\327'; }
4690 break;
4691
4692 case 353:
4693 #line 401 "lscp.y"
4694 { (yyval.Char) = '\330'; }
4695 break;
4696
4697 case 354:
4698 #line 401 "lscp.y"
4699 { (yyval.Char) = '\331'; }
4700 break;
4701
4702 case 355:
4703 #line 402 "lscp.y"
4704 { (yyval.Char) = '\332'; }
4705 break;
4706
4707 case 356:
4708 #line 402 "lscp.y"
4709 { (yyval.Char) = '\333'; }
4710 break;
4711
4712 case 357:
4713 #line 402 "lscp.y"
4714 { (yyval.Char) = '\334'; }
4715 break;
4716
4717 case 358:
4718 #line 403 "lscp.y"
4719 { (yyval.Char) = '\335'; }
4720 break;
4721
4722 case 359:
4723 #line 403 "lscp.y"
4724 { (yyval.Char) = '\336'; }
4725 break;
4726
4727 case 360:
4728 #line 403 "lscp.y"
4729 { (yyval.Char) = '\337'; }
4730 break;
4731
4732 case 361:
4733 #line 404 "lscp.y"
4734 { (yyval.Char) = '\340'; }
4735 break;
4736
4737 case 362:
4738 #line 404 "lscp.y"
4739 { (yyval.Char) = '\341'; }
4740 break;
4741
4742 case 363:
4743 #line 404 "lscp.y"
4744 { (yyval.Char) = '\342'; }
4745 break;
4746
4747 case 364:
4748 #line 405 "lscp.y"
4749 { (yyval.Char) = '\343'; }
4750 break;
4751
4752 case 365:
4753 #line 405 "lscp.y"
4754 { (yyval.Char) = '\344'; }
4755 break;
4756
4757 case 366:
4758 #line 405 "lscp.y"
4759 { (yyval.Char) = '\345'; }
4760 break;
4761
4762 case 367:
4763 #line 406 "lscp.y"
4764 { (yyval.Char) = '\346'; }
4765 break;
4766
4767 case 368:
4768 #line 406 "lscp.y"
4769 { (yyval.Char) = '\347'; }
4770 break;
4771
4772 case 369:
4773 #line 406 "lscp.y"
4774 { (yyval.Char) = '\350'; }
4775 break;
4776
4777 case 370:
4778 #line 407 "lscp.y"
4779 { (yyval.Char) = '\351'; }
4780 break;
4781
4782 case 371:
4783 #line 407 "lscp.y"
4784 { (yyval.Char) = '\352'; }
4785 break;
4786
4787 case 372:
4788 #line 407 "lscp.y"
4789 { (yyval.Char) = '\353'; }
4790 break;
4791
4792 case 373:
4793 #line 408 "lscp.y"
4794 { (yyval.Char) = '\354'; }
4795 break;
4796
4797 case 374:
4798 #line 408 "lscp.y"
4799 { (yyval.Char) = '\355'; }
4800 break;
4801
4802 case 375:
4803 #line 408 "lscp.y"
4804 { (yyval.Char) = '\356'; }
4805 break;
4806
4807 case 376:
4808 #line 409 "lscp.y"
4809 { (yyval.Char) = '\357'; }
4810 break;
4811
4812 case 377:
4813 #line 409 "lscp.y"
4814 { (yyval.Char) = '\360'; }
4815 break;
4816
4817 case 378:
4818 #line 409 "lscp.y"
4819 { (yyval.Char) = '\361'; }
4820 break;
4821
4822 case 379:
4823 #line 410 "lscp.y"
4824 { (yyval.Char) = '\362'; }
4825 break;
4826
4827 case 380:
4828 #line 410 "lscp.y"
4829 { (yyval.Char) = '\363'; }
4830 break;
4831
4832 case 381:
4833 #line 410 "lscp.y"
4834 { (yyval.Char) = '\364'; }
4835 break;
4836
4837 case 382:
4838 #line 411 "lscp.y"
4839 { (yyval.Char) = '\365'; }
4840 break;
4841
4842 case 383:
4843 #line 411 "lscp.y"
4844 { (yyval.Char) = '\366'; }
4845 break;
4846
4847 case 384:
4848 #line 411 "lscp.y"
4849 { (yyval.Char) = '\367'; }
4850 break;
4851
4852 case 385:
4853 #line 412 "lscp.y"
4854 { (yyval.Char) = '\370'; }
4855 break;
4856
4857 case 386:
4858 #line 412 "lscp.y"
4859 { (yyval.Char) = '\371'; }
4860 break;
4861
4862 case 387:
4863 #line 412 "lscp.y"
4864 { (yyval.Char) = '\372'; }
4865 break;
4866
4867 case 388:
4868 #line 413 "lscp.y"
4869 { (yyval.Char) = '\373'; }
4870 break;
4871
4872 case 389:
4873 #line 413 "lscp.y"
4874 { (yyval.Char) = '\374'; }
4875 break;
4876
4877 case 390:
4878 #line 413 "lscp.y"
4879 { (yyval.Char) = '\375'; }
4880 break;
4881
4882 case 391:
4883 #line 414 "lscp.y"
4884 { (yyval.Char) = '\376'; }
4885 break;
4886
4887 case 392:
4888 #line 414 "lscp.y"
4889 { (yyval.Char) = '\377'; }
4890 break;
4891
4892 case 393:
4893 #line 417 "lscp.y"
4894 { (yyval.String) = " "; }
4895 break;
4896
4897 case 395:
4898 #line 419 "lscp.y"
4899 { (yyval.String) = (yyvsp[(1) - (2)].String) + " "; }
4900 break;
4901
4902 case 396:
4903 #line 420 "lscp.y"
4904 { (yyval.String) = (yyvsp[(1) - (2)].String) + (yyvsp[(2) - (2)].String); }
4905 break;
4906
4907 case 397:
4908 #line 423 "lscp.y"
4909 { (yyval.String) = (yyvsp[(2) - (3)].String); }
4910 break;
4911
4912 case 398:
4913 #line 424 "lscp.y"
4914 { (yyval.String) = (yyvsp[(2) - (3)].String); }
4915 break;
4916
4917
4918 /* Line 1267 of yacc.c. */
4919 #line 4920 "y.tab.c"
4920 default: break;
4921 }
4922 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
4923
4924 YYPOPSTACK (yylen);
4925 yylen = 0;
4926 YY_STACK_PRINT (yyss, yyssp);
4927
4928 *++yyvsp = yyval;
4929
4930
4931 /* Now `shift' the result of the reduction. Determine what state
4932 that goes to, based on the state we popped back to and the rule
4933 number reduced by. */
4934
4935 yyn = yyr1[yyn];
4936
4937 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
4938 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
4939 yystate = yytable[yystate];
4940 else
4941 yystate = yydefgoto[yyn - YYNTOKENS];
4942
4943 goto yynewstate;
4944
4945
4946 /*------------------------------------.
4947 | yyerrlab -- here on detecting error |
4948 `------------------------------------*/
4949 yyerrlab:
4950 /* If not already recovering from an error, report this error. */
4951 if (!yyerrstatus)
4952 {
4953 ++yynerrs;
4954 #if ! YYERROR_VERBOSE
4955 yyerror (YY_("syntax error"));
4956 #else
4957 {
4958 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
4959 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
4960 {
4961 YYSIZE_T yyalloc = 2 * yysize;
4962 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
4963 yyalloc = YYSTACK_ALLOC_MAXIMUM;
4964 if (yymsg != yymsgbuf)
4965 YYSTACK_FREE (yymsg);
4966 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
4967 if (yymsg)
4968 yymsg_alloc = yyalloc;
4969 else
4970 {
4971 yymsg = yymsgbuf;
4972 yymsg_alloc = sizeof yymsgbuf;
4973 }
4974 }
4975
4976 if (0 < yysize && yysize <= yymsg_alloc)
4977 {
4978 (void) yysyntax_error (yymsg, yystate, yychar);
4979 yyerror (yymsg);
4980 }
4981 else
4982 {
4983 yyerror (YY_("syntax error"));
4984 if (yysize != 0)
4985 goto yyexhaustedlab;
4986 }
4987 }
4988 #endif
4989 }
4990
4991
4992
4993 if (yyerrstatus == 3)
4994 {
4995 /* If just tried and failed to reuse look-ahead token after an
4996 error, discard it. */
4997
4998 if (yychar <= YYEOF)
4999 {
5000 /* Return failure if at end of input. */
5001 if (yychar == YYEOF)
5002 YYABORT;
5003 }
5004 else
5005 {
5006 yydestruct ("Error: discarding",
5007 yytoken, &yylval);
5008 yychar = YYEMPTY;
5009 }
5010 }
5011
5012 /* Else will try to reuse look-ahead token after shifting the error
5013 token. */
5014 goto yyerrlab1;
5015
5016
5017 /*---------------------------------------------------.
5018 | yyerrorlab -- error raised explicitly by YYERROR. |
5019 `---------------------------------------------------*/
5020 yyerrorlab:
5021
5022 /* Pacify compilers like GCC when the user code never invokes
5023 YYERROR and the label yyerrorlab therefore never appears in user
5024 code. */
5025 if (/*CONSTCOND*/ 0)
5026 goto yyerrorlab;
5027
5028 /* Do not reclaim the symbols of the rule which action triggered
5029 this YYERROR. */
5030 YYPOPSTACK (yylen);
5031 yylen = 0;
5032 YY_STACK_PRINT (yyss, yyssp);
5033 yystate = *yyssp;
5034 goto yyerrlab1;
5035
5036
5037 /*-------------------------------------------------------------.
5038 | yyerrlab1 -- common code for both syntax error and YYERROR. |
5039 `-------------------------------------------------------------*/
5040 yyerrlab1:
5041 yyerrstatus = 3; /* Each real token shifted decrements this. */
5042
5043 for (;;)
5044 {
5045 yyn = yypact[yystate];
5046 if (yyn != YYPACT_NINF)
5047 {
5048 yyn += YYTERROR;
5049 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5050 {
5051 yyn = yytable[yyn];
5052 if (0 < yyn)
5053 break;
5054 }
5055 }
5056
5057 /* Pop the current state because it cannot handle the error token. */
5058 if (yyssp == yyss)
5059 YYABORT;
5060
5061
5062 yydestruct ("Error: popping",
5063 yystos[yystate], yyvsp);
5064 YYPOPSTACK (1);
5065 yystate = *yyssp;
5066 YY_STACK_PRINT (yyss, yyssp);
5067 }
5068
5069 if (yyn == YYFINAL)
5070 YYACCEPT;
5071
5072 *++yyvsp = yylval;
5073
5074
5075 /* Shift the error token. */
5076 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5077
5078 yystate = yyn;
5079 goto yynewstate;
5080
5081
5082 /*-------------------------------------.
5083 | yyacceptlab -- YYACCEPT comes here. |
5084 `-------------------------------------*/
5085 yyacceptlab:
5086 yyresult = 0;
5087 goto yyreturn;
5088
5089 /*-----------------------------------.
5090 | yyabortlab -- YYABORT comes here. |
5091 `-----------------------------------*/
5092 yyabortlab:
5093 yyresult = 1;
5094 goto yyreturn;
5095
5096 #ifndef yyoverflow
5097 /*-------------------------------------------------.
5098 | yyexhaustedlab -- memory exhaustion comes here. |
5099 `-------------------------------------------------*/
5100 yyexhaustedlab:
5101 yyerror (YY_("memory exhausted"));
5102 yyresult = 2;
5103 /* Fall through. */
5104 #endif
5105
5106 yyreturn:
5107 if (yychar != YYEOF && yychar != YYEMPTY)
5108 yydestruct ("Cleanup: discarding lookahead",
5109 yytoken, &yylval);
5110 /* Do not reclaim the symbols of the rule which action triggered
5111 this YYABORT or YYACCEPT. */
5112 YYPOPSTACK (yylen);
5113 YY_STACK_PRINT (yyss, yyssp);
5114 while (yyssp != yyss)
5115 {
5116 yydestruct ("Cleanup: popping",
5117 yystos[*yyssp], yyvsp);
5118 YYPOPSTACK (1);
5119 }
5120 #ifndef yyoverflow
5121 if (yyss != yyssa)
5122 YYSTACK_FREE (yyss);
5123 #endif
5124 #if YYERROR_VERBOSE
5125 if (yymsg != yymsgbuf)
5126 YYSTACK_FREE (yymsg);
5127 #endif
5128 return yyresult;
5129 }
5130
5131
5132 #line 631 "lscp.y"
5133
5134
5135 /**
5136 * Will be called when an error occured (usually syntax error).
5137 */
5138 void yyerror(const char* s) {
5139 dmsg(2,("LSCPParser: %s\n", s));
5140 }
5141
5142 /**
5143 * Clears input buffer.
5144 */
5145 void restart(yyparse_param_t* pparam, int& yychar) {
5146 bytes = 0;
5147 ptr = 0;
5148 }
5149

  ViewVC Help
Powered by ViewVC