/[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 228 - (show annotations) (download)
Sat Aug 28 14:55:34 2004 UTC (19 years, 6 months ago) by schoenebeck
File size: 174037 byte(s)
* src/network/lscp.y: fixed symbol 'midi_input_channel_index' to allow
  keyword 'ALL' for the respective LSCP commands

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

  ViewVC Help
Powered by ViewVC