59 |
SP = 261, |
SP = 261, |
60 |
LF = 262, |
LF = 262, |
61 |
CR = 263, |
CR = 263, |
62 |
ADD = 264, |
HASH = 264, |
63 |
GET = 265, |
ADD = 265, |
64 |
LOAD = 266, |
GET = 266, |
65 |
REMOVE = 267, |
LOAD = 267, |
66 |
SET = 268, |
REMOVE = 268, |
67 |
SUBSCRIBE = 269, |
SET = 269, |
68 |
UNSUBSCRIBE = 270, |
SUBSCRIBE = 270, |
69 |
RESET = 271, |
UNSUBSCRIBE = 271, |
70 |
QUIT = 272, |
RESET = 272, |
71 |
CHANNEL = 273, |
QUIT = 273, |
72 |
NOTIFICATION = 274, |
CHANNEL = 274, |
73 |
AVAILABLE_ENGINES = 275, |
NOTIFICATION = 275, |
74 |
CHANNELS = 276, |
AVAILABLE_ENGINES = 276, |
75 |
INFO = 277, |
CHANNELS = 277, |
76 |
BUFFER_FILL = 278, |
INFO = 278, |
77 |
STREAM_COUNT = 279, |
BUFFER_FILL = 279, |
78 |
VOICE_COUNT = 280, |
STREAM_COUNT = 280, |
79 |
INSTRUMENT = 281, |
VOICE_COUNT = 281, |
80 |
ENGINE = 282, |
INSTRUMENT = 282, |
81 |
AUDIO_OUTPUT_CHANNEL = 283, |
ENGINE = 283, |
82 |
AUDIO_OUTPUT_TYPE = 284, |
AUDIO_OUTPUT_CHANNEL = 284, |
83 |
MIDI_INPUT_PORT = 285, |
AUDIO_OUTPUT_TYPE = 285, |
84 |
MIDI_INPUT_CHANNEL = 286, |
MIDI_INPUT_PORT = 286, |
85 |
MIDI_INPUT_TYPE = 287, |
MIDI_INPUT_CHANNEL = 287, |
86 |
VOLUME = 288, |
MIDI_INPUT_TYPE = 288, |
87 |
BYTES = 289, |
VOLUME = 289, |
88 |
PERCENTAGE = 290, |
BYTES = 290, |
89 |
ALSA = 291, |
PERCENTAGE = 291, |
90 |
JACK = 292 |
ALSA = 292, |
91 |
|
JACK = 293 |
92 |
}; |
}; |
93 |
#endif |
#endif |
94 |
#define CHAR 258 |
#define CHAR 258 |
97 |
#define SP 261 |
#define SP 261 |
98 |
#define LF 262 |
#define LF 262 |
99 |
#define CR 263 |
#define CR 263 |
100 |
#define ADD 264 |
#define HASH 264 |
101 |
#define GET 265 |
#define ADD 265 |
102 |
#define LOAD 266 |
#define GET 266 |
103 |
#define REMOVE 267 |
#define LOAD 267 |
104 |
#define SET 268 |
#define REMOVE 268 |
105 |
#define SUBSCRIBE 269 |
#define SET 269 |
106 |
#define UNSUBSCRIBE 270 |
#define SUBSCRIBE 270 |
107 |
#define RESET 271 |
#define UNSUBSCRIBE 271 |
108 |
#define QUIT 272 |
#define RESET 272 |
109 |
#define CHANNEL 273 |
#define QUIT 273 |
110 |
#define NOTIFICATION 274 |
#define CHANNEL 274 |
111 |
#define AVAILABLE_ENGINES 275 |
#define NOTIFICATION 275 |
112 |
#define CHANNELS 276 |
#define AVAILABLE_ENGINES 276 |
113 |
#define INFO 277 |
#define CHANNELS 277 |
114 |
#define BUFFER_FILL 278 |
#define INFO 278 |
115 |
#define STREAM_COUNT 279 |
#define BUFFER_FILL 279 |
116 |
#define VOICE_COUNT 280 |
#define STREAM_COUNT 280 |
117 |
#define INSTRUMENT 281 |
#define VOICE_COUNT 281 |
118 |
#define ENGINE 282 |
#define INSTRUMENT 282 |
119 |
#define AUDIO_OUTPUT_CHANNEL 283 |
#define ENGINE 283 |
120 |
#define AUDIO_OUTPUT_TYPE 284 |
#define AUDIO_OUTPUT_CHANNEL 284 |
121 |
#define MIDI_INPUT_PORT 285 |
#define AUDIO_OUTPUT_TYPE 285 |
122 |
#define MIDI_INPUT_CHANNEL 286 |
#define MIDI_INPUT_PORT 286 |
123 |
#define MIDI_INPUT_TYPE 287 |
#define MIDI_INPUT_CHANNEL 287 |
124 |
#define VOLUME 288 |
#define MIDI_INPUT_TYPE 288 |
125 |
#define BYTES 289 |
#define VOLUME 289 |
126 |
#define PERCENTAGE 290 |
#define BYTES 290 |
127 |
#define ALSA 291 |
#define PERCENTAGE 291 |
128 |
#define JACK 292 |
#define ALSA 292 |
129 |
|
#define JACK 293 |
130 |
|
|
131 |
|
|
132 |
|
|
185 |
|
|
186 |
|
|
187 |
/* Line 214 of yacc.c. */ |
/* Line 214 of yacc.c. */ |
188 |
#line 187 "y.tab.c" |
#line 189 "y.tab.c" |
189 |
|
|
190 |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
#if ! defined (yyoverflow) || YYERROR_VERBOSE |
191 |
|
|
282 |
#endif |
#endif |
283 |
|
|
284 |
/* YYFINAL -- State number of the termination state. */ |
/* YYFINAL -- State number of the termination state. */ |
285 |
#define YYFINAL 22 |
#define YYFINAL 24 |
286 |
/* YYLAST -- Last index in YYTABLE. */ |
/* YYLAST -- Last index in YYTABLE. */ |
287 |
#define YYLAST 123 |
#define YYLAST 128 |
288 |
|
|
289 |
/* YYNTOKENS -- Number of terminals. */ |
/* YYNTOKENS -- Number of terminals. */ |
290 |
#define YYNTOKENS 38 |
#define YYNTOKENS 39 |
291 |
/* YYNNTS -- Number of nonterminals. */ |
/* YYNNTS -- Number of nonterminals. */ |
292 |
#define YYNNTS 24 |
#define YYNNTS 25 |
293 |
/* YYNRULES -- Number of rules. */ |
/* YYNRULES -- Number of rules. */ |
294 |
#define YYNRULES 56 |
#define YYNRULES 62 |
295 |
/* YYNRULES -- Number of states. */ |
/* YYNRULES -- Number of states. */ |
296 |
#define YYNSTATES 136 |
#define YYNSTATES 142 |
297 |
|
|
298 |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
299 |
#define YYUNDEFTOK 2 |
#define YYUNDEFTOK 2 |
300 |
#define YYMAXUTOK 292 |
#define YYMAXUTOK 293 |
301 |
|
|
302 |
#define YYTRANSLATE(YYX) \ |
#define YYTRANSLATE(YYX) \ |
303 |
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
334 |
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
335 |
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
336 |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
337 |
35, 36, 37 |
35, 36, 37, 38 |
338 |
}; |
}; |
339 |
|
|
340 |
#if YYDEBUG |
#if YYDEBUG |
342 |
YYRHS. */ |
YYRHS. */ |
343 |
static const unsigned char yyprhs[] = |
static const unsigned char yyprhs[] = |
344 |
{ |
{ |
345 |
0, 0, 3, 5, 9, 14, 15, 17, 19, 23, |
0, 0, 3, 5, 9, 14, 15, 17, 19, 21, |
346 |
27, 31, 37, 43, 49, 55, 61, 63, 65, 67, |
23, 26, 29, 32, 35, 39, 43, 47, 53, 59, |
347 |
73, 81, 87, 93, 99, 103, 107, 113, 119, 125, |
65, 71, 77, 79, 81, 83, 89, 97, 103, 109, |
348 |
131, 137, 143, 145, 147, 153, 157, 159, 161, 163, |
115, 119, 123, 129, 135, 141, 147, 153, 159, 161, |
349 |
165, 167, 169, 171, 173, 175, 177, 179, 181, 183, |
163, 169, 173, 175, 177, 179, 181, 183, 185, 187, |
350 |
185, 189, 191, 193, 196, 199, 201 |
189, 191, 193, 195, 197, 199, 201, 205, 207, 209, |
351 |
|
212, 215, 217 |
352 |
}; |
}; |
353 |
|
|
354 |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
/* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
355 |
static const yysigned_char yyrhs[] = |
static const yysigned_char yyrhs[] = |
356 |
{ |
{ |
357 |
39, 0, -1, 40, -1, 39, 7, 40, -1, 39, |
40, 0, -1, 41, -1, 40, 7, 41, -1, 40, |
358 |
8, 7, 40, -1, -1, 41, -1, 1, -1, 9, |
8, 7, 41, -1, -1, 42, -1, 43, -1, 1, |
359 |
6, 18, -1, 10, 6, 42, -1, 11, 6, 43, |
-1, 9, -1, 42, 9, -1, 42, 6, -1, 42, |
360 |
-1, 12, 6, 18, 6, 51, -1, 13, 6, 18, |
5, -1, 42, 63, -1, 10, 6, 19, -1, 11, |
361 |
6, 44, -1, 14, 6, 19, 6, 53, -1, 15, |
6, 44, -1, 12, 6, 45, -1, 13, 6, 19, |
362 |
6, 19, 6, 56, -1, 16, 6, 18, 6, 51, |
6, 53, -1, 14, 6, 19, 6, 46, -1, 15, |
363 |
-1, 17, -1, 20, -1, 21, -1, 18, 6, 22, |
6, 20, 6, 55, -1, 16, 6, 20, 6, 58, |
364 |
6, 51, -1, 18, 6, 23, 6, 45, 6, 51, |
-1, 17, 6, 19, 6, 53, -1, 18, -1, 21, |
365 |
-1, 18, 6, 24, 6, 51, -1, 18, 6, 25, |
-1, 22, -1, 19, 6, 23, 6, 53, -1, 19, |
366 |
6, 51, -1, 27, 6, 22, 6, 57, -1, 26, |
6, 24, 6, 47, 6, 53, -1, 19, 6, 25, |
367 |
6, 46, -1, 27, 6, 47, -1, 28, 6, 51, |
6, 53, -1, 19, 6, 26, 6, 53, -1, 28, |
368 |
6, 54, -1, 29, 6, 51, 6, 48, -1, 30, |
6, 23, 6, 59, -1, 27, 6, 48, -1, 28, |
369 |
6, 51, 6, 58, -1, 31, 6, 51, 6, 55, |
6, 49, -1, 29, 6, 53, 6, 56, -1, 30, |
370 |
-1, 32, 6, 51, 6, 49, -1, 33, 6, 51, |
6, 53, 6, 50, -1, 31, 6, 53, 6, 60, |
371 |
6, 50, -1, 34, -1, 35, -1, 59, 6, 52, |
-1, 32, 6, 53, 6, 57, -1, 33, 6, 53, |
372 |
6, 51, -1, 57, 6, 51, -1, 36, -1, 37, |
6, 51, -1, 34, 6, 53, 6, 52, -1, 35, |
373 |
-1, 36, -1, 4, -1, 5, -1, 5, -1, 5, |
-1, 36, -1, 61, 6, 54, 6, 53, -1, 59, |
374 |
-1, 5, -1, 5, -1, 5, -1, 60, -1, 61, |
6, 53, -1, 37, -1, 38, -1, 37, -1, 4, |
375 |
-1, 60, -1, 60, -1, 59, 6, 60, -1, 61, |
-1, 5, -1, 5, -1, 5, -1, 5, -1, 5, |
376 |
-1, 5, -1, 60, 61, -1, 60, 5, -1, 3, |
-1, 5, -1, 62, -1, 63, -1, 62, -1, 62, |
377 |
-1, 61, 3, -1 |
-1, 61, 6, 62, -1, 63, -1, 5, -1, 62, |
378 |
|
63, -1, 62, 5, -1, 3, -1, 63, 3, -1 |
379 |
}; |
}; |
380 |
|
|
381 |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
382 |
static const unsigned char yyrline[] = |
static const unsigned char yyrline[] = |
383 |
{ |
{ |
384 |
0, 77, 77, 78, 79, 82, 83, 84, 87, 88, |
0, 77, 77, 78, 79, 82, 83, 84, 85, 88, |
385 |
89, 90, 91, 92, 93, 94, 95, 98, 99, 100, |
89, 90, 91, 92, 95, 96, 97, 98, 99, 100, |
386 |
101, 102, 103, 104, 107, 108, 111, 112, 113, 114, |
101, 102, 103, 106, 107, 108, 109, 110, 111, 112, |
387 |
115, 116, 119, 120, 123, 126, 129, 130, 133, 136, |
115, 116, 119, 120, 121, 122, 123, 124, 127, 128, |
388 |
137, 140, 143, 146, 149, 152, 155, 158, 161, 164, |
131, 134, 137, 138, 141, 144, 145, 148, 151, 154, |
389 |
165, 168, 169, 170, 171, 174, 175 |
157, 160, 163, 166, 169, 172, 173, 176, 177, 178, |
390 |
|
179, 182, 183 |
391 |
}; |
}; |
392 |
#endif |
#endif |
393 |
|
|
397 |
static const char *const yytname[] = |
static const char *const yytname[] = |
398 |
{ |
{ |
399 |
"$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "SP", "LF", |
"$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "SP", "LF", |
400 |
"CR", "ADD", "GET", "LOAD", "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", |
"CR", "HASH", "ADD", "GET", "LOAD", "REMOVE", "SET", "SUBSCRIBE", |
401 |
"RESET", "QUIT", "CHANNEL", "NOTIFICATION", "AVAILABLE_ENGINES", |
"UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL", "NOTIFICATION", |
402 |
"CHANNELS", "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", |
"AVAILABLE_ENGINES", "CHANNELS", "INFO", "BUFFER_FILL", "STREAM_COUNT", |
403 |
"INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE", |
"VOICE_COUNT", "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_CHANNEL", |
404 |
"MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "VOLUME", |
"AUDIO_OUTPUT_TYPE", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", |
405 |
"BYTES", "PERCENTAGE", "ALSA", "JACK", "$accept", "input", "line", |
"MIDI_INPUT_TYPE", "VOLUME", "BYTES", "PERCENTAGE", "ALSA", "JACK", |
406 |
"command", "get_instruction", "load_instruction", |
"$accept", "input", "line", "comment", "command", "get_instruction", |
407 |
"set_chan_instruction", "buffer_size_type", "load_instr_args", |
"load_instruction", "set_chan_instruction", "buffer_size_type", |
408 |
"load_engine_args", "audio_output_type", "midi_input_type", "volume", |
"load_instr_args", "load_engine_args", "audio_output_type", |
409 |
"sampler_channel", "instrument_index", "udp_port", |
"midi_input_type", "volume", "sampler_channel", "instrument_index", |
410 |
"audio_output_channel", "midi_input_channel", "session_id", |
"udp_port", "audio_output_channel", "midi_input_channel", "session_id", |
411 |
"engine_name", "midi_input_port", "filename", "alpha_num_string", |
"engine_name", "midi_input_port", "filename", "alpha_num_string", |
412 |
"string", 0 |
"string", 0 |
413 |
}; |
}; |
421 |
0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
422 |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
265, 266, 267, 268, 269, 270, 271, 272, 273, 274, |
423 |
275, 276, 277, 278, 279, 280, 281, 282, 283, 284, |
275, 276, 277, 278, 279, 280, 281, 282, 283, 284, |
424 |
285, 286, 287, 288, 289, 290, 291, 292 |
285, 286, 287, 288, 289, 290, 291, 292, 293 |
425 |
}; |
}; |
426 |
# endif |
# endif |
427 |
|
|
428 |
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
429 |
static const unsigned char yyr1[] = |
static const unsigned char yyr1[] = |
430 |
{ |
{ |
431 |
0, 38, 39, 39, 39, 40, 40, 40, 41, 41, |
0, 39, 40, 40, 40, 41, 41, 41, 41, 42, |
432 |
41, 41, 41, 41, 41, 41, 41, 42, 42, 42, |
42, 42, 42, 42, 43, 43, 43, 43, 43, 43, |
433 |
42, 42, 42, 42, 43, 43, 44, 44, 44, 44, |
43, 43, 43, 44, 44, 44, 44, 44, 44, 44, |
434 |
44, 44, 45, 45, 46, 47, 48, 48, 49, 50, |
45, 45, 46, 46, 46, 46, 46, 46, 47, 47, |
435 |
50, 51, 52, 53, 54, 55, 56, 57, 58, 59, |
48, 49, 50, 50, 51, 52, 52, 53, 54, 55, |
436 |
59, 60, 60, 60, 60, 61, 61 |
56, 57, 58, 59, 60, 61, 61, 62, 62, 62, |
437 |
|
62, 63, 63 |
438 |
}; |
}; |
439 |
|
|
440 |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
441 |
static const unsigned char yyr2[] = |
static const unsigned char yyr2[] = |
442 |
{ |
{ |
443 |
0, 2, 1, 3, 4, 0, 1, 1, 3, 3, |
0, 2, 1, 3, 4, 0, 1, 1, 1, 1, |
444 |
3, 5, 5, 5, 5, 5, 1, 1, 1, 5, |
2, 2, 2, 2, 3, 3, 3, 5, 5, 5, |
445 |
7, 5, 5, 5, 3, 3, 5, 5, 5, 5, |
5, 5, 1, 1, 1, 5, 7, 5, 5, 5, |
446 |
5, 5, 1, 1, 5, 3, 1, 1, 1, 1, |
3, 3, 5, 5, 5, 5, 5, 5, 1, 1, |
447 |
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
5, 3, 1, 1, 1, 1, 1, 1, 1, 1, |
448 |
3, 1, 1, 2, 2, 1, 2 |
1, 1, 1, 1, 1, 1, 3, 1, 1, 2, |
449 |
|
2, 1, 2 |
450 |
}; |
}; |
451 |
|
|
452 |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
454 |
means the default is an error. */ |
means the default is an error. */ |
455 |
static const unsigned char yydefact[] = |
static const unsigned char yydefact[] = |
456 |
{ |
{ |
457 |
0, 7, 0, 0, 0, 0, 0, 0, 0, 0, |
0, 8, 9, 0, 0, 0, 0, 0, 0, 0, |
458 |
16, 0, 2, 6, 0, 0, 0, 0, 0, 0, |
0, 22, 0, 2, 6, 7, 0, 0, 0, 0, |
459 |
0, 0, 1, 0, 0, 8, 0, 17, 18, 0, |
0, 0, 0, 0, 1, 0, 0, 61, 12, 11, |
460 |
9, 0, 0, 10, 0, 0, 0, 0, 0, 3, |
10, 13, 14, 0, 23, 24, 0, 15, 0, 0, |
461 |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
16, 0, 0, 0, 0, 0, 3, 0, 62, 0, |
462 |
4, 0, 0, 0, 0, 0, 55, 52, 24, 0, |
0, 0, 0, 0, 0, 0, 0, 0, 4, 0, |
463 |
49, 51, 25, 0, 47, 41, 11, 0, 0, 0, |
0, 0, 0, 0, 58, 30, 0, 55, 57, 31, |
464 |
0, 0, 0, 12, 43, 13, 14, 46, 15, 0, |
0, 53, 47, 17, 0, 0, 0, 0, 0, 0, |
465 |
0, 0, 0, 0, 0, 54, 53, 56, 0, 0, |
18, 49, 19, 20, 52, 21, 0, 0, 0, 0, |
466 |
0, 0, 0, 0, 0, 19, 32, 33, 0, 21, |
0, 0, 60, 59, 0, 0, 0, 0, 0, 0, |
467 |
22, 23, 52, 0, 50, 35, 0, 0, 0, 0, |
0, 25, 38, 39, 0, 27, 28, 29, 58, 0, |
468 |
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
56, 41, 0, 0, 0, 0, 0, 0, 0, 0, |
469 |
20, 34, 44, 26, 36, 37, 27, 28, 48, 45, |
0, 0, 0, 0, 0, 0, 26, 40, 50, 32, |
470 |
29, 38, 30, 39, 40, 31 |
42, 43, 33, 34, 54, 51, 35, 44, 36, 45, |
471 |
|
46, 37 |
472 |
}; |
}; |
473 |
|
|
474 |
/* YYDEFGOTO[NTERM-NUM]. */ |
/* YYDEFGOTO[NTERM-NUM]. */ |
475 |
static const short yydefgoto[] = |
static const short yydefgoto[] = |
476 |
{ |
{ |
477 |
-1, 11, 12, 13, 30, 33, 73, 98, 58, 62, |
-1, 12, 13, 14, 15, 37, 40, 80, 104, 65, |
478 |
126, 132, 135, 66, 103, 75, 123, 130, 76, 63, |
69, 132, 138, 141, 73, 109, 82, 129, 136, 83, |
479 |
127, 59, 60, 61 |
70, 133, 66, 67, 68 |
480 |
}; |
}; |
481 |
|
|
482 |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
483 |
STATE-NUM. */ |
STATE-NUM. */ |
484 |
#define YYPACT_NINF -48 |
#define YYPACT_NINF -56 |
485 |
static const yysigned_char yypact[] = |
static const yysigned_char yypact[] = |
486 |
{ |
{ |
487 |
10, -48, -4, 3, 25, 40, 56, 60, 64, 70, |
4, -56, -56, 21, 33, 67, 74, 75, 76, 77, |
488 |
-48, 28, -48, -48, 16, -14, -12, 57, 59, 61, |
78, -56, 47, -56, 20, -56, -9, 9, 35, 14, |
489 |
62, 65, -48, 10, 71, -48, 73, -48, -48, 76, |
50, 32, 59, 66, -56, 4, 79, -56, -56, -56, |
490 |
-48, 79, 80, -48, 81, 82, 83, 84, 85, -48, |
-56, 84, -56, 82, -56, -56, 83, -56, 85, 86, |
491 |
10, 20, 72, 0, 89, 88, 26, 90, 0, 88, |
-56, 87, 88, 89, 91, 92, -56, 4, -56, -17, |
492 |
-48, 91, 92, 93, 94, 95, -48, -48, -48, 96, |
80, 45, 96, 95, 27, 97, 45, 95, -56, 98, |
493 |
27, 100, -48, 98, 100, -48, -48, 99, 101, 102, |
99, 100, 101, 102, -56, -56, 103, 46, 84, -56, |
494 |
103, 104, 105, -48, -48, -48, -48, 27, -48, 88, |
104, 84, -56, -56, 105, 106, 107, 108, 109, 110, |
495 |
30, 88, 88, 89, 58, -48, 100, -48, 88, 88, |
-56, -56, -56, -56, 46, -56, 95, 36, 95, 95, |
496 |
88, 88, 88, 88, 88, -48, -48, -48, 106, -48, |
96, 63, -56, 84, 95, 95, 95, 95, 95, 95, |
497 |
-48, -48, 107, 108, 27, -48, 109, 110, 111, 112, |
95, -56, -56, -56, 111, -56, -56, -56, 112, 113, |
498 |
113, 114, 88, 88, 116, 31, 0, 117, 87, 69, |
46, -56, 115, 116, 117, 118, 119, 120, 95, 95, |
499 |
-48, -48, -48, -48, -48, -48, -48, -48, 27, -48, |
122, 37, 45, 123, 53, 73, -56, -56, -56, -56, |
500 |
-48, -48, -48, -48, -48, -48 |
-56, -56, -56, -56, 46, -56, -56, -56, -56, -56, |
501 |
|
-56, -56 |
502 |
}; |
}; |
503 |
|
|
504 |
/* YYPGOTO[NTERM-NUM]. */ |
/* YYPGOTO[NTERM-NUM]. */ |
505 |
static const yysigned_char yypgoto[] = |
static const yysigned_char yypgoto[] = |
506 |
{ |
{ |
507 |
-48, -48, -11, -48, -48, -48, -48, -48, -48, -48, |
-56, -56, -23, -56, -56, -56, -56, -56, -56, -56, |
508 |
-48, -48, -48, -41, -48, -48, -48, -48, -48, 13, |
-56, -56, -56, -56, -54, -56, -56, -56, -56, -56, |
509 |
-48, -48, -47, -44 |
11, -56, -56, -55, -14 |
510 |
}; |
}; |
511 |
|
|
512 |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
513 |
positive, shift that token. If negative, reduce the rule which |
positive, shift that token. If negative, reduce the rule which |
514 |
number is the opposite. If zero, do what YYDEFACT says. |
number is the opposite. If zero, do what YYDEFACT says. |
515 |
If YYTABLE_NINF, syntax error. */ |
If YYTABLE_NINF, syntax error. */ |
516 |
#define YYTABLE_NINF -43 |
#define YYTABLE_NINF -49 |
517 |
static const short yytable[] = |
static const short yytable[] = |
518 |
{ |
{ |
519 |
64, 77, 14, 56, 26, 57, 27, 28, 78, 15, |
31, 84, 46, 85, -5, 1, 59, 60, 61, 62, |
520 |
-5, 1, 39, 29, 31, 32, 86, -5, -5, 2, |
32, -5, -5, 2, 3, 4, 5, 6, 7, 8, |
521 |
3, 4, 5, 6, 7, 8, 9, 10, 22, 50, |
9, 10, 11, 27, 58, 28, 29, 16, 33, 30, |
522 |
56, 16, 85, 86, 25, 23, 24, 104, 95, 64, |
34, 35, 101, 41, 105, 106, 110, 36, 71, 17, |
523 |
99, 100, 51, 52, 53, 54, 17, 105, 106, 107, |
111, 112, 113, 114, 115, 116, 117, 24, 27, 27, |
524 |
108, 109, 110, 111, 67, 68, 69, 70, 71, 72, |
64, 92, 43, 93, 25, 26, 74, 75, 76, 77, |
525 |
86, 56, 18, 102, 96, 97, 19, 124, 125, 128, |
78, 79, 38, 39, 126, 127, 27, 134, 108, 42, |
526 |
20, 120, 121, 133, 134, 34, 21, 35, 40, 41, |
93, 102, 103, 18, 130, 131, 71, 139, 140, 44, |
527 |
36, 37, 42, 38, 86, 43, 44, 45, 46, 47, |
19, 20, 21, 22, 23, 45, 47, 48, 49, 50, |
528 |
48, 49, 56, 65, 55, 74, 101, 79, 80, 81, |
137, 51, 52, 53, 54, 55, 93, 56, 57, 27, |
529 |
82, 83, 84, 87, 88, 89, 0, 90, 91, 92, |
72, 107, 81, 63, 86, 87, 88, 89, 90, 91, |
530 |
93, 94, 112, -42, 113, 114, 115, 116, 117, 118, |
94, 95, 96, 97, 98, 99, 100, 118, -48, 119, |
531 |
119, 122, 129, 131 |
93, 120, 121, 122, 123, 124, 125, 128, 135 |
532 |
}; |
}; |
533 |
|
|
534 |
static const short yycheck[] = |
static const unsigned char yycheck[] = |
535 |
{ |
{ |
536 |
44, 48, 6, 3, 18, 5, 20, 21, 49, 6, |
14, 56, 25, 57, 0, 1, 23, 24, 25, 26, |
537 |
0, 1, 23, 27, 26, 27, 60, 7, 8, 9, |
19, 7, 8, 9, 10, 11, 12, 13, 14, 15, |
538 |
10, 11, 12, 13, 14, 15, 16, 17, 0, 40, |
16, 17, 18, 3, 47, 5, 6, 6, 19, 9, |
539 |
3, 6, 5, 77, 18, 7, 8, 84, 79, 83, |
21, 22, 86, 19, 88, 89, 91, 28, 52, 6, |
540 |
81, 82, 22, 23, 24, 25, 6, 88, 89, 90, |
94, 95, 96, 97, 98, 99, 100, 0, 3, 3, |
541 |
91, 92, 93, 94, 28, 29, 30, 31, 32, 33, |
5, 5, 20, 67, 7, 8, 29, 30, 31, 32, |
542 |
104, 3, 6, 5, 34, 35, 6, 36, 37, 116, |
33, 34, 27, 28, 118, 119, 3, 122, 5, 19, |
543 |
6, 112, 113, 4, 5, 18, 6, 18, 7, 6, |
84, 35, 36, 6, 37, 38, 90, 4, 5, 20, |
544 |
19, 19, 6, 18, 128, 6, 6, 6, 6, 6, |
6, 6, 6, 6, 6, 19, 7, 3, 6, 6, |
545 |
6, 6, 3, 5, 22, 5, 83, 6, 6, 6, |
37, 6, 6, 6, 6, 6, 110, 6, 6, 3, |
546 |
6, 6, 6, 3, 6, 6, -1, 6, 6, 6, |
5, 90, 5, 23, 6, 6, 6, 6, 6, 6, |
547 |
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, |
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, |
548 |
6, 5, 5, 36 |
134, 6, 6, 6, 6, 6, 6, 5, 5 |
549 |
}; |
}; |
550 |
|
|
551 |
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
553 |
static const unsigned char yystos[] = |
static const unsigned char yystos[] = |
554 |
{ |
{ |
555 |
0, 1, 9, 10, 11, 12, 13, 14, 15, 16, |
0, 1, 9, 10, 11, 12, 13, 14, 15, 16, |
556 |
17, 39, 40, 41, 6, 6, 6, 6, 6, 6, |
17, 18, 40, 41, 42, 43, 6, 6, 6, 6, |
557 |
6, 6, 0, 7, 8, 18, 18, 20, 21, 27, |
6, 6, 6, 6, 0, 7, 8, 3, 5, 6, |
558 |
42, 26, 27, 43, 18, 18, 19, 19, 18, 40, |
9, 63, 19, 19, 21, 22, 28, 44, 27, 28, |
559 |
7, 6, 6, 6, 6, 6, 6, 6, 6, 6, |
45, 19, 19, 20, 20, 19, 41, 7, 3, 6, |
560 |
40, 22, 23, 24, 25, 22, 3, 5, 46, 59, |
6, 6, 6, 6, 6, 6, 6, 6, 41, 23, |
561 |
60, 61, 47, 57, 61, 5, 51, 28, 29, 30, |
24, 25, 26, 23, 5, 48, 61, 62, 63, 49, |
562 |
31, 32, 33, 44, 5, 53, 56, 60, 51, 6, |
59, 63, 5, 53, 29, 30, 31, 32, 33, 34, |
563 |
6, 6, 6, 6, 6, 5, 61, 3, 6, 6, |
46, 5, 55, 58, 62, 53, 6, 6, 6, 6, |
564 |
6, 6, 6, 6, 6, 51, 34, 35, 45, 51, |
6, 6, 5, 63, 6, 6, 6, 6, 6, 6, |
565 |
51, 57, 5, 52, 60, 51, 51, 51, 51, 51, |
6, 53, 35, 36, 47, 53, 53, 59, 5, 54, |
566 |
51, 51, 6, 6, 6, 6, 6, 6, 6, 6, |
62, 53, 53, 53, 53, 53, 53, 53, 6, 6, |
567 |
51, 51, 5, 54, 36, 37, 48, 58, 60, 5, |
6, 6, 6, 6, 6, 6, 53, 53, 5, 56, |
568 |
55, 36, 49, 4, 5, 50 |
37, 38, 50, 60, 62, 5, 57, 37, 51, 4, |
569 |
|
5, 52 |
570 |
}; |
}; |
571 |
|
|
572 |
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) |
1176 |
YY_REDUCE_PRINT (yyn); |
YY_REDUCE_PRINT (yyn); |
1177 |
switch (yyn) |
switch (yyn) |
1178 |
{ |
{ |
1179 |
case 6: |
case 7: |
1180 |
#line 83 "lscp.y" |
#line 84 "lscp.y" |
1181 |
{ LSCPSERVER->AnswerClient(yyvsp[0].String); } |
{ LSCPSERVER->AnswerClient(yyvsp[0].String); } |
1182 |
break; |
break; |
1183 |
|
|
1184 |
case 7: |
case 8: |
1185 |
#line 84 "lscp.y" |
#line 85 "lscp.y" |
1186 |
{ LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; } |
{ LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; } |
1187 |
break; |
break; |
1188 |
|
|
1189 |
case 8: |
case 14: |
1190 |
#line 87 "lscp.y" |
#line 95 "lscp.y" |
1191 |
{ yyval.String = LSCPSERVER->AddChannel(); } |
{ yyval.String = LSCPSERVER->AddChannel(); } |
1192 |
break; |
break; |
1193 |
|
|
1194 |
case 9: |
case 15: |
1195 |
#line 88 "lscp.y" |
#line 96 "lscp.y" |
1196 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1197 |
break; |
break; |
1198 |
|
|
1199 |
case 10: |
case 16: |
1200 |
#line 89 "lscp.y" |
#line 97 "lscp.y" |
1201 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1202 |
break; |
break; |
1203 |
|
|
1204 |
case 11: |
case 17: |
1205 |
#line 90 "lscp.y" |
#line 98 "lscp.y" |
1206 |
{ yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number); } |
1207 |
break; |
break; |
1208 |
|
|
1209 |
case 12: |
case 18: |
1210 |
#line 91 "lscp.y" |
#line 99 "lscp.y" |
1211 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1212 |
break; |
break; |
1213 |
|
|
1214 |
case 13: |
case 19: |
1215 |
#line 92 "lscp.y" |
#line 100 "lscp.y" |
1216 |
{ yyval.String = LSCPSERVER->SubscribeNotification(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->SubscribeNotification(yyvsp[0].Number); } |
1217 |
break; |
break; |
1218 |
|
|
1219 |
case 14: |
case 20: |
1220 |
#line 93 "lscp.y" |
#line 101 "lscp.y" |
1221 |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->UnsubscribeNotification(yyvsp[0].String); } |
1222 |
break; |
break; |
1223 |
|
|
1224 |
case 15: |
case 21: |
1225 |
#line 94 "lscp.y" |
#line 102 "lscp.y" |
1226 |
{ yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number); } |
1227 |
break; |
break; |
1228 |
|
|
1229 |
case 16: |
case 22: |
1230 |
#line 95 "lscp.y" |
#line 103 "lscp.y" |
1231 |
{ LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; } |
{ LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; } |
1232 |
break; |
break; |
1233 |
|
|
1234 |
case 17: |
case 23: |
1235 |
#line 98 "lscp.y" |
#line 106 "lscp.y" |
1236 |
{ yyval.String = LSCPSERVER->GetAvailableEngines(); } |
{ yyval.String = LSCPSERVER->GetAvailableEngines(); } |
1237 |
break; |
break; |
1238 |
|
|
1239 |
case 18: |
case 24: |
1240 |
#line 99 "lscp.y" |
#line 107 "lscp.y" |
1241 |
{ yyval.String = LSCPSERVER->GetChannels(); } |
{ yyval.String = LSCPSERVER->GetChannels(); } |
1242 |
break; |
break; |
1243 |
|
|
1244 |
case 19: |
case 25: |
1245 |
#line 100 "lscp.y" |
#line 108 "lscp.y" |
1246 |
{ yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number); } |
1247 |
break; |
break; |
1248 |
|
|
1249 |
case 20: |
case 26: |
1250 |
#line 101 "lscp.y" |
#line 109 "lscp.y" |
1251 |
{ yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number); } |
1252 |
break; |
break; |
1253 |
|
|
1254 |
case 21: |
case 27: |
1255 |
#line 102 "lscp.y" |
#line 110 "lscp.y" |
1256 |
{ yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number); } |
1257 |
break; |
break; |
1258 |
|
|
1259 |
case 22: |
case 28: |
1260 |
#line 103 "lscp.y" |
#line 111 "lscp.y" |
1261 |
{ yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number); } |
1262 |
break; |
break; |
1263 |
|
|
1264 |
case 23: |
case 29: |
1265 |
#line 104 "lscp.y" |
#line 112 "lscp.y" |
1266 |
{ yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String); } |
{ yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String); } |
1267 |
break; |
break; |
1268 |
|
|
1269 |
case 24: |
case 30: |
1270 |
#line 107 "lscp.y" |
#line 115 "lscp.y" |
1271 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1272 |
break; |
break; |
1273 |
|
|
1274 |
case 25: |
case 31: |
1275 |
#line 108 "lscp.y" |
#line 116 "lscp.y" |
1276 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1277 |
break; |
break; |
1278 |
|
|
1279 |
case 26: |
case 32: |
1280 |
#line 111 "lscp.y" |
#line 119 "lscp.y" |
1281 |
{ yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
1282 |
break; |
break; |
1283 |
|
|
1284 |
case 27: |
case 33: |
1285 |
#line 112 "lscp.y" |
#line 120 "lscp.y" |
1286 |
{ yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].AudioOutput, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].AudioOutput, yyvsp[-2].Number); } |
1287 |
break; |
break; |
1288 |
|
|
1289 |
case 28: |
case 34: |
1290 |
#line 113 "lscp.y" |
#line 121 "lscp.y" |
1291 |
{ yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number); } |
1292 |
break; |
break; |
1293 |
|
|
1294 |
case 29: |
case 35: |
1295 |
#line 114 "lscp.y" |
#line 122 "lscp.y" |
1296 |
{ yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number); } |
1297 |
break; |
break; |
1298 |
|
|
1299 |
case 30: |
case 36: |
1300 |
#line 115 "lscp.y" |
#line 123 "lscp.y" |
1301 |
{ yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].MidiInput, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].MidiInput, yyvsp[-2].Number); } |
1302 |
break; |
break; |
1303 |
|
|
1304 |
case 31: |
case 37: |
1305 |
#line 116 "lscp.y" |
#line 124 "lscp.y" |
1306 |
{ yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number); } |
{ yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number); } |
1307 |
break; |
break; |
1308 |
|
|
1309 |
case 32: |
case 38: |
1310 |
#line 119 "lscp.y" |
#line 127 "lscp.y" |
1311 |
{ yyval.FillResponse = fill_response_bytes; } |
{ yyval.FillResponse = fill_response_bytes; } |
1312 |
break; |
break; |
1313 |
|
|
1314 |
case 33: |
case 39: |
1315 |
#line 120 "lscp.y" |
#line 128 "lscp.y" |
1316 |
{ yyval.FillResponse = fill_response_percentage; } |
{ yyval.FillResponse = fill_response_percentage; } |
1317 |
break; |
break; |
1318 |
|
|
1319 |
case 34: |
case 40: |
1320 |
#line 123 "lscp.y" |
#line 131 "lscp.y" |
1321 |
{ yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); } |
1322 |
break; |
break; |
1323 |
|
|
1324 |
case 35: |
case 41: |
1325 |
#line 126 "lscp.y" |
#line 134 "lscp.y" |
1326 |
{ yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); } |
{ yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); } |
1327 |
break; |
break; |
1328 |
|
|
1329 |
case 36: |
case 42: |
1330 |
#line 129 "lscp.y" |
#line 137 "lscp.y" |
1331 |
{ yyval.AudioOutput = AudioOutputDevice::type_alsa; } |
{ yyval.AudioOutput = AudioOutputDevice::type_alsa; } |
1332 |
break; |
break; |
1333 |
|
|
1334 |
case 37: |
case 43: |
1335 |
#line 130 "lscp.y" |
#line 138 "lscp.y" |
1336 |
{ yyval.AudioOutput = AudioOutputDevice::type_jack; } |
{ yyval.AudioOutput = AudioOutputDevice::type_jack; } |
1337 |
break; |
break; |
1338 |
|
|
1339 |
case 38: |
case 44: |
1340 |
#line 133 "lscp.y" |
#line 141 "lscp.y" |
1341 |
{ yyval.MidiInput = MidiInputDevice::type_alsa; } |
{ yyval.MidiInput = MidiInputDevice::type_alsa; } |
1342 |
break; |
break; |
1343 |
|
|
1344 |
case 40: |
case 46: |
1345 |
#line 137 "lscp.y" |
#line 145 "lscp.y" |
1346 |
{ yyval.Dotnum = yyvsp[0].Number; } |
{ yyval.Dotnum = yyvsp[0].Number; } |
1347 |
break; |
break; |
1348 |
|
|
1349 |
case 50: |
case 56: |
1350 |
#line 165 "lscp.y" |
#line 173 "lscp.y" |
1351 |
{ yyval.String = yyvsp[-2].String + ' ' + yyvsp[0].String; } |
{ yyval.String = yyvsp[-2].String + ' ' + yyvsp[0].String; } |
1352 |
break; |
break; |
1353 |
|
|
1354 |
case 51: |
case 57: |
1355 |
#line 168 "lscp.y" |
#line 176 "lscp.y" |
1356 |
{ yyval.String = yyvsp[0].String; } |
{ yyval.String = yyvsp[0].String; } |
1357 |
break; |
break; |
1358 |
|
|
1359 |
case 52: |
case 58: |
1360 |
#line 169 "lscp.y" |
#line 177 "lscp.y" |
1361 |
{ std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); } |
{ std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); } |
1362 |
break; |
break; |
1363 |
|
|
1364 |
case 53: |
case 59: |
1365 |
#line 170 "lscp.y" |
#line 178 "lscp.y" |
1366 |
{ yyval.String = yyvsp[-1].String + yyvsp[0].String; } |
{ yyval.String = yyvsp[-1].String + yyvsp[0].String; } |
1367 |
break; |
break; |
1368 |
|
|
1369 |
case 54: |
case 60: |
1370 |
#line 171 "lscp.y" |
#line 179 "lscp.y" |
1371 |
{ std::stringstream ss; ss << yyvsp[-1].String << yyvsp[0].Number; yyval.String = ss.str(); } |
{ std::stringstream ss; ss << yyvsp[-1].String << yyvsp[0].Number; yyval.String = ss.str(); } |
1372 |
break; |
break; |
1373 |
|
|
1374 |
case 55: |
case 61: |
1375 |
#line 174 "lscp.y" |
#line 182 "lscp.y" |
1376 |
{ std::string s; s = yyvsp[0].Char; yyval.String = s; } |
{ std::string s; s = yyvsp[0].Char; yyval.String = s; } |
1377 |
break; |
break; |
1378 |
|
|
1379 |
case 56: |
case 62: |
1380 |
#line 175 "lscp.y" |
#line 183 "lscp.y" |
1381 |
{ yyval.String = yyvsp[-1].String + yyvsp[0].Char; } |
{ yyval.String = yyvsp[-1].String + yyvsp[0].Char; } |
1382 |
break; |
break; |
1383 |
|
|
1385 |
} |
} |
1386 |
|
|
1387 |
/* Line 999 of yacc.c. */ |
/* Line 999 of yacc.c. */ |
1388 |
#line 1379 "y.tab.c" |
#line 1389 "y.tab.c" |
1389 |
|
|
1390 |
yyvsp -= yylen; |
yyvsp -= yylen; |
1391 |
yyssp -= yylen; |
yyssp -= yylen; |
1579 |
} |
} |
1580 |
|
|
1581 |
|
|
1582 |
#line 178 "lscp.y" |
#line 186 "lscp.y" |
1583 |
|
|
1584 |
|
|
1585 |
/** |
/** |