/[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 397 - (show annotations) (download)
Mon Feb 21 04:28:50 2005 UTC (19 years, 1 month ago) by senkov
File size: 174525 byte(s)
* Added first cut of instrument database query support.

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

  ViewVC Help
Powered by ViewVC