/[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 226 - (show annotations) (download)
Wed Aug 25 22:00:33 2004 UTC (19 years, 7 months ago) by schoenebeck
File size: 173592 byte(s)
* ALSA MIDI driver: create one MIDI port by default, implemented parameter
  info for parameter 'ALSA_SEQ_BINDINGS'
* ALSA audio driver: implemented parameter info for driver parameters
  'FRAGMENTS' and 'FRAGMENTSIZE'
* JACK audio driver: fixed creation of channels on device creation, channel
  parameter 'NAME' now actually updates the respective JACK port name,
  implemented channel parameter 'JACK_BINDINGS' (as well as its parameter
  info)
* src/network/lscpserver.cpp: fixed commands
  "GET MIDI_INPUT_DRIVER_PARAMETER INFO" and
  "GET AUDIO_OUTPUT_DRIVER_PARAMETER  INFO", fixed backward compatibility
  for "SET AUDIO_OUTPUT_TYPE" and "SET MIDI_INPUT_TYPE" commands
* src/networ/lscp.y: added comma character (',') to symbol 'char'
* src/drivers/DeviceParameter.cpp: fixed methods RangeMin(), RangeMax() in
  class DeviceCreationParameterInt which returned wrong values

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

  ViewVC Help
Powered by ViewVC