/[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 411 - (show annotations) (download)
Sat Feb 26 02:01:14 2005 UTC (19 years, 2 months ago) by schoenebeck
File size: 175430 byte(s)
* design change: using now one sampler engine instance and one disk thread
  instance for all sampler channels that are connected to the same audio
  output device (and are using the same engine type of course)
* added EngineFactory / EngineChannelFactory to remove the annoying build
  dependencies e.g. of the lscpserver to the actual sampler engine
  implementations
* bumped version to 0.3.0 (current CVS state is still quite broken,
  previous, stable CVS version was tagged as "v0_2_0" and is also available
  as source tarball)

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

  ViewVC Help
Powered by ViewVC