/[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 221 - (show annotations) (download)
Fri Aug 20 17:25:19 2004 UTC (19 years, 8 months ago) by schoenebeck
File size: 173381 byte(s)
* src/drivers/midi/MidiInputDeviceAlsa.cpp: implemented port parameter
 "NAME" which now updates the registered ALSA seq port name as well, fixed
  port parameter "ALSA_SEQ_BINDINGS" to allow more than one binding
* src/network/lscp.y: fixed symbol STRINGVAL (that is strings encapsulated
  into apostrophes) which didn't allow space characters
* changed all driver names and driver paramaters to upper case
* fixed typo in LSCP documentation
  (section 5.3.12, was: "SET MIDI_INPUT_PORT PARAMETER",
   should be: "SET MIDI_INPUT_PORT_PARAMETER")

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

  ViewVC Help
Powered by ViewVC