/[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 219 - (show annotations) (download)
Tue Aug 17 20:35:04 2004 UTC (19 years, 8 months ago) by schoenebeck
File size: 172581 byte(s)
* completely removed the lex scanner and replaced it by pure yacc rules
  for all terminal symbols (that is command keywords and variables) to
  avoid misunderstandings while parsing (e.g. recognition of command
  keywords in string arguments)
* src/drivers/audio/AudioChannel.cpp: changed channel parameter 'Name' to
 'NAME' as defined in the LSCP documentation

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

  ViewVC Help
Powered by ViewVC