/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 123 by schoenebeck, Mon Jun 14 19:33:16 2004 UTC revision 155 by senkov, Mon Jun 28 04:30:11 2004 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875a.  */  /* A Bison parser, made by GNU Bison 1.875.  */
2    
3  /* Skeleton parser for Yacc-like parsing with Bison,  /* Skeleton parser for Yacc-like parsing with Bison,
4     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
5    
6     This program is free software; you can redistribute it and/or modify     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     it under the terms of the GNU General Public License as published by
# Line 56  Line 56 
56       CHAR = 258,       CHAR = 258,
57       DOTNUM = 259,       DOTNUM = 259,
58       NUMBER = 260,       NUMBER = 260,
59       SP = 261,       STRINGVAL = 261,
60       LF = 262,       SP = 262,
61       CR = 263,       LF = 263,
62       HASH = 264,       CR = 264,
63       EQ = 265,       HASH = 265,
64       ADD = 266,       EQ = 266,
65       GET = 267,       ADD = 267,
66       CREATE = 268,       GET = 268,
67       DESTROY = 269,       CREATE = 269,
68       LIST = 270,       DESTROY = 270,
69       LOAD = 271,       LIST = 271,
70       REMOVE = 272,       LOAD = 272,
71       SET = 273,       NON_MODAL = 273,
72       SUBSCRIBE = 274,       REMOVE = 274,
73       UNSUBSCRIBE = 275,       SET = 275,
74       RESET = 276,       SUBSCRIBE = 276,
75       QUIT = 277,       UNSUBSCRIBE = 277,
76       CHANNEL = 278,       RESET = 278,
77       NOTIFICATION = 279,       QUIT = 279,
78       AVAILABLE_ENGINES = 280,       CHANNEL = 280,
79       AVAILABLE_AUDIO_OUTPUT_DRIVERS = 281,       NOTIFICATION = 281,
80       CHANNELS = 282,       AVAILABLE_ENGINES = 282,
81       INFO = 283,       AVAILABLE_AUDIO_OUTPUT_DRIVERS = 283,
82       BUFFER_FILL = 284,       CHANNELS = 284,
83       STREAM_COUNT = 285,       INFO = 285,
84       VOICE_COUNT = 286,       BUFFER_FILL = 286,
85       INSTRUMENT = 287,       STREAM_COUNT = 287,
86       ENGINE = 288,       VOICE_COUNT = 288,
87       AUDIO_OUTPUT_CHANNEL = 289,       INSTRUMENT = 289,
88       AUDIO_OUTPUT_CHANNEL_PARAMETER = 290,       ENGINE = 290,
89       AUDIO_OUTPUT_DEVICE = 291,       AUDIO_OUTPUT_CHANNEL = 291,
90       AUDIO_OUTPUT_DEVICES = 292,       AUDIO_OUTPUT_CHANNEL_PARAMETER = 292,
91       AUDIO_OUTPUT_DEVICE_PARAMETER = 293,       AUDIO_OUTPUT_DEVICE = 293,
92       AUDIO_OUTPUT_DRIVER = 294,       AUDIO_OUTPUT_DEVICES = 294,
93       AUDIO_OUTPUT_DRIVER_PARAMETER = 295,       AUDIO_OUTPUT_DEVICE_PARAMETER = 295,
94       MIDI_INPUT_PORT = 296,       AUDIO_OUTPUT_DRIVER = 296,
95       MIDI_INPUT_CHANNEL = 297,       AUDIO_OUTPUT_DRIVER_PARAMETER = 297,
96       MIDI_INPUT_TYPE = 298,       AUDIO_OUTPUT_TYPE = 298,
97       VOLUME = 299,       MIDI_INPUT = 299,
98       BYTES = 300,       MIDI_INPUT_TYPE = 300,
99       PERCENTAGE = 301       MIDI_INPUT_PORT = 301,
100         MIDI_INPUT_CHANNEL = 302,
101         VOLUME = 303,
102         MIDI_INPUT_DRIVER = 304,
103         MIDI_INPUT_DRIVER_PARAMETER = 305,
104         AVAILABLE_MIDI_INPUT_DRIVERS = 306,
105         MIDI_INPUT_DEVICE = 307,
106         MIDI_INPUT_DEVICES = 308,
107         MIDI_INPUT_DEVICE_PARAMETER = 309,
108         MIDI_INPUT_PORT_PARAMETER = 310,
109         BYTES = 311,
110         PERCENTAGE = 312,
111         MISCELLANEOUS = 313
112     };     };
113  #endif  #endif
114  #define CHAR 258  #define CHAR 258
115  #define DOTNUM 259  #define DOTNUM 259
116  #define NUMBER 260  #define NUMBER 260
117  #define SP 261  #define STRINGVAL 261
118  #define LF 262  #define SP 262
119  #define CR 263  #define LF 263
120  #define HASH 264  #define CR 264
121  #define EQ 265  #define HASH 265
122  #define ADD 266  #define EQ 266
123  #define GET 267  #define ADD 267
124  #define CREATE 268  #define GET 268
125  #define DESTROY 269  #define CREATE 269
126  #define LIST 270  #define DESTROY 270
127  #define LOAD 271  #define LIST 271
128  #define REMOVE 272  #define LOAD 272
129  #define SET 273  #define NON_MODAL 273
130  #define SUBSCRIBE 274  #define REMOVE 274
131  #define UNSUBSCRIBE 275  #define SET 275
132  #define RESET 276  #define SUBSCRIBE 276
133  #define QUIT 277  #define UNSUBSCRIBE 277
134  #define CHANNEL 278  #define RESET 278
135  #define NOTIFICATION 279  #define QUIT 279
136  #define AVAILABLE_ENGINES 280  #define CHANNEL 280
137  #define AVAILABLE_AUDIO_OUTPUT_DRIVERS 281  #define NOTIFICATION 281
138  #define CHANNELS 282  #define AVAILABLE_ENGINES 282
139  #define INFO 283  #define AVAILABLE_AUDIO_OUTPUT_DRIVERS 283
140  #define BUFFER_FILL 284  #define CHANNELS 284
141  #define STREAM_COUNT 285  #define INFO 285
142  #define VOICE_COUNT 286  #define BUFFER_FILL 286
143  #define INSTRUMENT 287  #define STREAM_COUNT 287
144  #define ENGINE 288  #define VOICE_COUNT 288
145  #define AUDIO_OUTPUT_CHANNEL 289  #define INSTRUMENT 289
146  #define AUDIO_OUTPUT_CHANNEL_PARAMETER 290  #define ENGINE 290
147  #define AUDIO_OUTPUT_DEVICE 291  #define AUDIO_OUTPUT_CHANNEL 291
148  #define AUDIO_OUTPUT_DEVICES 292  #define AUDIO_OUTPUT_CHANNEL_PARAMETER 292
149  #define AUDIO_OUTPUT_DEVICE_PARAMETER 293  #define AUDIO_OUTPUT_DEVICE 293
150  #define AUDIO_OUTPUT_DRIVER 294  #define AUDIO_OUTPUT_DEVICES 294
151  #define AUDIO_OUTPUT_DRIVER_PARAMETER 295  #define AUDIO_OUTPUT_DEVICE_PARAMETER 295
152  #define MIDI_INPUT_PORT 296  #define AUDIO_OUTPUT_DRIVER 296
153  #define MIDI_INPUT_CHANNEL 297  #define AUDIO_OUTPUT_DRIVER_PARAMETER 297
154  #define MIDI_INPUT_TYPE 298  #define AUDIO_OUTPUT_TYPE 298
155  #define VOLUME 299  #define MIDI_INPUT 299
156  #define BYTES 300  #define MIDI_INPUT_TYPE 300
157  #define PERCENTAGE 301  #define MIDI_INPUT_PORT 301
158    #define MIDI_INPUT_CHANNEL 302
159    #define VOLUME 303
160    #define MIDI_INPUT_DRIVER 304
161    #define MIDI_INPUT_DRIVER_PARAMETER 305
162    #define AVAILABLE_MIDI_INPUT_DRIVERS 306
163    #define MIDI_INPUT_DEVICE 307
164    #define MIDI_INPUT_DEVICES 308
165    #define MIDI_INPUT_DEVICE_PARAMETER 309
166    #define MIDI_INPUT_PORT_PARAMETER 310
167    #define BYTES 311
168    #define PERCENTAGE 312
169    #define MISCELLANEOUS 313
170    
171    
172    
# Line 201  typedef int YYSTYPE; Line 225  typedef int YYSTYPE;
225    
226    
227  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
228  #line 205 "y.tab.c"  #line 228 "y.tab.c"
229    
230  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
231    
# Line 300  union yyalloc Line 324  union yyalloc
324  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
325  #define YYFINAL  30  #define YYFINAL  30
326  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
327  #define YYLAST   222  #define YYLAST   285
328    
329  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
330  #define YYNTOKENS  47  #define YYNTOKENS  59
331  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
332  #define YYNNTS  29  #define YYNNTS  31
333  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
334  #define YYNRULES  81  #define YYNRULES  104
335  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
336  #define YYNSTATES  225  #define YYNSTATES  290
337    
338  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
339  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
340  #define YYMAXUTOK   301  #define YYMAXUTOK   313
341    
342  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
343    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 351  static const unsigned char yytranslate[] Line 375  static const unsigned char yytranslate[]
375        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,        15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
376        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,        25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
377        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
378        45,    46        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
379          55,    56,    57,    58
380  };  };
381    
382  #if YYDEBUG  #if YYDEBUG
# Line 361  static const unsigned short yyprhs[] = Line 386  static const unsigned short yyprhs[] =
386  {  {
387         0,     0,     3,     5,     9,    14,    15,    17,    19,    21,         0,     0,     3,     5,     9,    14,    15,    17,    19,    21,
388        23,    26,    29,    32,    35,    39,    43,    47,    51,    55,        23,    26,    29,    32,    35,    39,    43,    47,    51,    55,
389        59,    65,    69,    75,    81,    87,    89,    91,    93,    99,        59,    65,    69,    73,    77,    83,    85,    87,    89,    91,
390       107,   117,   119,   125,   133,   143,   145,   151,   159,   165,        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,
391       171,   177,   185,   193,   203,   213,   217,   223,   227,   231,       113,   119,   127,   137,   139,   145,   153,   163,   165,   167,
392       235,   241,   249,   255,   261,   267,   273,   277,   283,   285,       173,   179,   187,   195,   205,   207,   213,   221,   227,   233,
393       287,   289,   295,   299,   301,   303,   305,   307,   309,   311,       239,   247,   257,   265,   275,   279,   285,   289,   293,   297,
394       313,   315,   317,   319,   321,   323,   327,   329,   331,   334,       301,   305,   309,   315,   323,   329,   339,   345,   351,   355,
395       337,   339       361,   363,   365,   367,   369,   375,   383,   387,   389,   391,
396         393,   395,   397,   399,   401,   403,   405,   407,   409,   411,
397         413,   415,   417,   419,   421
398  };  };
399    
400  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
401  static const yysigned_char yyrhs[] =  static const yysigned_char yyrhs[] =
402  {  {
403        48,     0,    -1,    49,    -1,    48,     7,    49,    -1,    48,        60,     0,    -1,    61,    -1,    60,     8,    61,    -1,    60,
404         8,     7,    49,    -1,    -1,    50,    -1,    51,    -1,     1,         9,     8,    61,    -1,    -1,    62,    -1,    63,    -1,     1,
405        -1,     9,    -1,    50,     9,    -1,    50,     6,    -1,    50,        -1,    10,    -1,    62,    10,    -1,    62,     7,    -1,    62,
406         5,    -1,    50,    75,    -1,    11,     6,    23,    -1,    12,         5,    -1,    62,    89,    -1,    12,     7,    25,    -1,    13,
407         6,    52,    -1,    13,     6,    54,    -1,    14,     6,    55,         7,    66,    -1,    14,     7,    68,    -1,    15,     7,    69,
408        -1,    15,     6,    60,    -1,    16,     6,    56,    -1,    17,        -1,    16,     7,    74,    -1,    17,     7,    70,    -1,    19,
409         6,    23,     6,    65,    -1,    18,     6,    53,    -1,    19,         7,    25,     7,    83,    -1,    20,     7,    67,    -1,    21,
410         6,    24,     6,    67,    -1,    20,     6,    24,     6,    70,         7,    64,    -1,    22,     7,    65,    -1,    23,     7,    25,
411        -1,    21,     6,    23,     6,    65,    -1,    22,    -1,    25,         7,    83,    -1,    24,    -1,    29,    -1,    33,    -1,    32,
412        -1,    26,    -1,    39,     6,    28,     6,    75,    -1,    40,        -1,    31,    -1,    30,    -1,    58,    -1,    29,    -1,    33,
413         6,    28,     6,    75,     6,    75,    -1,    40,     6,    28,        -1,    32,    -1,    31,    -1,    30,    -1,    58,    -1,    27,
414         6,    75,     6,    75,     6,    58,    -1,    37,    -1,    36,        -1,    51,    -1,    49,     7,    30,     7,    89,    -1,    50,
415         6,    28,     6,     5,    -1,    34,     6,    28,     6,     5,         7,    30,     7,    89,     7,    89,    -1,    50,     7,    30,
416         6,     5,    -1,    35,     6,    28,     6,     5,     6,     5,         7,    89,     7,    89,     7,    72,    -1,    28,    -1,    41,
417         6,    75,    -1,    27,    -1,    23,     6,    28,     6,    65,         7,    30,     7,    89,    -1,    42,     7,    30,     7,    89,
418        -1,    23,     6,    29,     6,    59,     6,    65,    -1,    23,         7,    89,    -1,    42,     7,    30,     7,    89,     7,    89,
419         6,    30,     6,    65,    -1,    23,     6,    31,     6,    65,         7,    72,    -1,    39,    -1,    53,    -1,    38,     7,    30,
420        -1,    33,     6,    28,     6,    71,    -1,    38,     6,     5,         7,     5,    -1,    52,     7,    30,     7,     5,    -1,    46,
421         6,    75,     6,    74,    -1,    38,     6,     5,     6,    75,         7,    30,     7,     5,     7,     5,    -1,    36,     7,    30,
422        10,    74,    -1,    35,     6,     5,     6,     5,     6,    75,         7,     5,     7,     5,    -1,    37,     7,    30,     7,     5,
423         6,    74,    -1,    35,     6,     5,     6,     5,     6,    75,         7,     5,     7,    89,    -1,    29,    -1,    25,     7,    30,
424        10,    74,    -1,    23,     6,    57,    -1,    36,     6,    75,         7,    83,    -1,    25,     7,    31,     7,    73,     7,    83,
425         6,    58,    -1,    36,     6,     5,    -1,    32,     6,    61,        -1,    25,     7,    32,     7,    83,    -1,    25,     7,    33,
426        -1,    33,     6,    62,    -1,    36,     6,    65,     6,     5,         7,    83,    -1,    35,     7,    30,     7,    86,    -1,    40,
427        -1,    34,     6,    65,     6,    68,     6,    68,    -1,    41,         7,     5,     7,    89,    11,    88,    -1,    37,     7,     5,
428         6,    65,     6,    72,    -1,    42,     6,    65,     6,    69,         7,     5,     7,    89,    11,    88,    -1,    54,     7,     5,
429        -1,    43,     6,    65,     6,    63,    -1,    44,     6,    65,         7,    89,    11,    88,    -1,    55,     7,     5,     7,     5,
430         6,    64,    -1,    75,    10,    74,    -1,    58,     6,    75,         7,    89,    11,    88,    -1,    25,     7,    71,    -1,    38,
431        10,    74,    -1,    45,    -1,    46,    -1,    37,    -1,    73,         7,    89,     7,    72,    -1,    38,     7,    89,    -1,    52,
432         6,    66,     6,    65,    -1,    71,     6,    65,    -1,    75,         7,    89,    -1,    38,     7,     5,    -1,    52,     7,     5,
433        -1,     4,    -1,     5,    -1,     5,    -1,     5,    -1,     5,        -1,    34,     7,    75,    -1,    35,     7,    76,    -1,    38,
434        -1,     5,    -1,     5,    -1,    74,    -1,    75,    -1,    74,         7,    83,     7,     5,    -1,    36,     7,    83,     7,    85,
435        -1,    74,    -1,    73,     6,    74,    -1,    75,    -1,     5,         7,    85,    -1,    43,     7,    83,     7,    77,    -1,    44,
436        -1,    74,    75,    -1,    74,     5,    -1,     3,    -1,    75,         7,    83,     7,    78,     7,    79,     7,    80,    -1,    45,
437         3,    -1         7,    83,     7,    81,    -1,    48,     7,    83,     7,    82,
438          -1,    89,    11,    88,    -1,    72,     7,    89,    11,    88,
439          -1,    56,    -1,    57,    -1,    39,    -1,    53,    -1,    87,
440           7,    84,     7,    83,    -1,    18,     7,    87,     7,    84,
441           7,    83,    -1,    86,     7,    83,    -1,    89,    -1,     5,
442          -1,     5,    -1,     5,    -1,    89,    -1,     4,    -1,     5,
443          -1,     5,    -1,     5,    -1,     5,    -1,    89,    -1,     6,
444          -1,    89,    -1,     6,    -1,     5,    -1,     4,    -1,     3,
445          -1,    89,     3,    -1
446  };  };
447    
448  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
449  static const unsigned char yyrline[] =  static const unsigned char yyrline[] =
450  {  {
451         0,    75,    75,    76,    77,    80,    81,    82,    83,    86,         0,    78,    78,    79,    80,    83,    84,    85,    86,    89,
452        87,    88,    89,    90,    93,    94,    95,    96,    97,    98,        90,    91,    92,    93,    96,    97,    98,    99,   100,   101,
453        99,   100,   101,   102,   103,   104,   107,   108,   109,   110,       102,   103,   104,   105,   106,   107,   110,   111,   112,   113,
454       111,   112,   113,   114,   115,   116,   117,   118,   119,   120,       114,   115,   118,   119,   120,   121,   122,   123,   126,   127,
455       121,   124,   125,   126,   127,   128,   131,   134,   137,   138,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
456       141,   142,   143,   144,   145,   146,   149,   150,   152,   153,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
457       156,   159,   162,   165,   168,   169,   172,   175,   178,   181,       150,   151,   152,   153,   154,   157,   158,   159,   162,   163,
458       184,   187,   190,   193,   196,   197,   200,   201,   202,   203,       166,   167,   170,   171,   172,   173,   174,   175,   178,   179,
459       206,   207       182,   183,   186,   187,   190,   191,   194,   197,   200,   203,
460         206,   209,   212,   213,   216,   219,   222,   225,   228,   229,
461         232,   233,   234,   237,   238
462  };  };
463  #endif  #endif
464    
# Line 430  static const unsigned char yyrline[] = Line 467  static const unsigned char yyrline[] =
467     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals. */
468  static const char *const yytname[] =  static const char *const yytname[] =
469  {  {
470    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "SP", "LF",    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "STRINGVAL",
471    "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY", "LIST", "LOAD",    "SP", "LF", "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY",
472    "REMOVE", "SET", "SUBSCRIBE", "UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL",    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
473    "NOTIFICATION", "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS",    "UNSUBSCRIBE", "RESET", "QUIT", "CHANNEL", "NOTIFICATION",
474    "CHANNELS", "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT",    "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",
475    "INSTRUMENT", "ENGINE", "AUDIO_OUTPUT_CHANNEL",    "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT",
476    "AUDIO_OUTPUT_CHANNEL_PARAMETER", "AUDIO_OUTPUT_DEVICE",    "ENGINE", "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
477    "AUDIO_OUTPUT_DEVICES", "AUDIO_OUTPUT_DEVICE_PARAMETER",    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DEVICES",
478    "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_DRIVER_PARAMETER",    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DRIVER",
479    "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "VOLUME",    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_TYPE", "MIDI_INPUT",
480    "BYTES", "PERCENTAGE", "$accept", "input", "line", "comment", "command",    "MIDI_INPUT_TYPE", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "VOLUME",
481    "get_instruction", "set_instruction", "create_instruction",    "MIDI_INPUT_DRIVER", "MIDI_INPUT_DRIVER_PARAMETER",
482    "destroy_instruction", "load_instruction", "set_chan_instruction",    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE",
483    "key_val_list", "buffer_size_type", "list_instruction",    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE_PARAMETER",
484    "load_instr_args", "load_engine_args", "midi_input_type", "volume",    "MIDI_INPUT_PORT_PARAMETER", "BYTES", "PERCENTAGE", "MISCELLANEOUS",
485    "sampler_channel", "instrument_index", "udp_port",    "$accept", "input", "line", "comment", "command", "subscribe_event",
486    "audio_output_channel", "midi_input_channel", "session_id",    "unsubscribe_event", "get_instruction", "set_instruction",
487    "engine_name", "midi_input_port", "filename", "alpha_num_string",    "create_instruction", "destroy_instruction", "load_instruction",
488    "string", 0    "set_chan_instruction", "key_val_list", "buffer_size_type",
489      "list_instruction", "load_instr_args", "load_engine_args",
490      "audio_output_type", "midi_input_device", "midi_input_port",
491      "midi_input_channel", "midi_input_type", "volume", "sampler_channel",
492      "instrument_index", "audio_output_channel", "engine_name", "filename",
493      "param_val", "string", 0
494  };  };
495  #endif  #endif
496    
# Line 461  static const unsigned short yytoknum[] = Line 503  static const unsigned short yytoknum[] =
503       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
504       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
505       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
506       295,   296,   297,   298,   299,   300,   301       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
507         305,   306,   307,   308,   309,   310,   311,   312,   313
508  };  };
509  # endif  # endif
510    
511  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
512  static const unsigned char yyr1[] =  static const unsigned char yyr1[] =
513  {  {
514         0,    47,    48,    48,    48,    49,    49,    49,    49,    50,         0,    59,    60,    60,    60,    61,    61,    61,    61,    62,
515        50,    50,    50,    50,    51,    51,    51,    51,    51,    51,        62,    62,    62,    62,    63,    63,    63,    63,    63,    63,
516        51,    51,    51,    51,    51,    51,    52,    52,    52,    52,        63,    63,    63,    63,    63,    63,    64,    64,    64,    64,
517        52,    52,    52,    52,    52,    52,    52,    52,    52,    52,        64,    64,    65,    65,    65,    65,    65,    65,    66,    66,
518        52,    53,    53,    53,    53,    53,    54,    55,    56,    56,        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,
519        57,    57,    57,    57,    57,    57,    58,    58,    59,    59,        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,
520        60,    61,    62,    63,    64,    64,    65,    66,    67,    68,        67,    67,    67,    67,    67,    68,    68,    68,    69,    69,
521        69,    70,    71,    72,    73,    73,    74,    74,    74,    74,        70,    70,    71,    71,    71,    71,    71,    71,    72,    72,
522        75,    75        73,    73,    74,    74,    75,    75,    76,    77,    78,    79,
523          80,    81,    82,    82,    83,    84,    85,    86,    87,    87,
524          88,    88,    88,    89,    89
525  };  };
526    
527  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 484  static const unsigned char yyr2[] = Line 529  static const unsigned char yyr2[] =
529  {  {
530         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,
531         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,
532         5,     3,     5,     5,     5,     1,     1,     1,     5,     7,         5,     3,     3,     3,     5,     1,     1,     1,     1,     1,
533         9,     1,     5,     7,     9,     1,     5,     7,     5,     5,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
534         5,     7,     7,     9,     9,     3,     5,     3,     3,     3,         5,     7,     9,     1,     5,     7,     9,     1,     1,     5,
535         5,     7,     5,     5,     5,     5,     3,     5,     1,     1,         5,     7,     7,     9,     1,     5,     7,     5,     5,     5,
536         1,     5,     3,     1,     1,     1,     1,     1,     1,     1,         7,     9,     7,     9,     3,     5,     3,     3,     3,     3,
537         1,     1,     1,     1,     1,     3,     1,     1,     2,     2,         3,     3,     5,     7,     5,     9,     5,     5,     3,     5,
538         1,     2         1,     1,     1,     1,     5,     7,     3,     1,     1,     1,
539           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
540           1,     1,     1,     1,     2
541  };  };
542    
543  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 501  static const unsigned char yydefact[] = Line 548  static const unsigned char yydefact[] =
548         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,
549         0,     0,     0,     0,    25,     0,     2,     6,     7,     0,         0,     0,     0,     0,    25,     0,     2,     6,     7,     0,
550         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
551         1,     0,     0,    80,    12,    11,    10,    13,    14,     0,         1,     0,     0,   103,    12,    11,    10,    13,    14,     0,
552        26,    27,    35,     0,     0,     0,     0,    31,     0,     0,        38,    43,    54,     0,     0,     0,     0,    47,     0,     0,
553        15,     0,    16,     0,    17,    60,    18,     0,     0,    19,         0,     0,     0,    39,     0,    48,    15,     0,     0,    16,
554         0,     0,     0,     0,    21,     0,     0,     0,     3,     0,         0,     0,    17,    82,    83,    18,     0,     0,    19,     0,
555        81,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,    21,    26,    30,    29,    28,
556         0,     0,     0,     0,     0,     0,     0,     0,     0,     4,        27,    31,    22,    32,    36,    35,    34,    33,    37,    23,
557           0,     3,     0,   104,     0,     0,     0,     0,     0,     0,
558         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
559         0,    47,    77,    48,     0,    74,    76,    49,     0,    72,         0,     0,     0,     0,     0,     0,     0,     0,     4,     0,
       66,    20,     0,     0,     0,     0,     0,     0,    45,     0,  
        0,    68,    22,    23,    71,    24,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,     0,     0,     0,    79,    78,  
        0,     0,     0,     0,     0,     0,     0,     0,     0,    36,  
       58,    59,     0,    38,    39,    40,     0,     0,    32,    28,  
        0,    46,     0,    77,     0,    75,    62,     0,     0,     0,  
560         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
561           0,     0,     0,    66,    67,    68,    69,    98,     0,    70,
562           0,    99,    71,     0,    97,    94,    20,     0,     0,     0,
563           0,     0,     0,    64,     0,     0,     0,     0,    24,     0,
564         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
565         0,    37,    33,     0,    29,     0,    56,    61,    69,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
566        50,    52,    73,    70,    53,    54,    63,    64,    65,    55,         0,     0,     0,     0,     0,     0,     0,    55,    80,    81,
567         0,    41,    42,     0,     0,     0,     0,     0,     0,    34,         0,    57,    58,    59,     0,     0,    49,    44,     0,     0,
568        30,    57,    51,    43,    44        40,     0,    50,    65,     0,     0,    95,     0,    86,     0,
569           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
570           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
571           0,     0,     0,     0,     0,     0,     0,     0,     0,    56,
572          52,     0,    45,    51,    41,     0,   102,   101,   100,    78,
573           0,    84,    96,     0,    72,    74,    87,    88,     0,    76,
574          91,    92,    93,    77,     0,    60,    62,     0,     0,     0,
575           0,     0,     0,     0,     0,     0,     0,    53,    46,    42,
576          79,    85,    73,    89,     0,    61,    63,     0,    90,    75
577  };  };
578    
579  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
580  static const short yydefgoto[] =  static const short yydefgoto[] =
581  {  {
582        -1,    15,    16,    17,    18,    50,    64,    52,    54,    59,        -1,    15,    16,    17,    18,    82,    89,    56,    75,    59,
583       118,   161,   152,    56,   103,   107,   205,   209,   111,   164,        62,    68,   153,   203,   190,    65,   139,   142,   255,   258,
584       122,   199,   204,   123,   108,   201,   104,   105,   106       284,   289,   259,   263,   146,   207,   253,   143,   140,   249,
585         204
586  };  };
587    
588  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
589     STATE-NUM.  */     STATE-NUM.  */
590  #define YYPACT_NINF -86  #define YYPACT_NINF -235
591  static const short yypact[] =  static const short yypact[] =
592  {  {
593         3,   -86,   -86,    21,    25,    43,    67,    86,    91,    96,       101,  -235,  -235,    10,    40,    62,    78,    83,    92,   112,
594       105,   106,   108,   109,   -86,    28,   -86,    84,   -86,   -14,       133,   138,   140,   141,  -235,    44,  -235,   134,  -235,   127,
595         7,    80,    85,    83,     5,    87,    22,    99,   100,   102,        45,   -24,   -20,   -14,    71,   130,   -21,   -22,    -9,   135,
596       -86,     3,   115,   -86,   -86,   -86,   -86,   123,   -86,   121,      -235,   101,   150,  -235,  -235,  -235,  -235,   146,  -235,   152,
597       -86,   -86,   -86,   122,   128,   129,   130,   -86,   131,   132,      -235,  -235,  -235,   154,   155,   156,   157,  -235,   158,   159,
598       -86,   133,   -86,   134,   -86,   -86,   -86,   135,   136,   -86,       162,   163,   164,  -235,   165,  -235,  -235,   166,   167,  -235,
599       137,   138,   139,   140,   -86,   141,   143,   144,   -86,     3,       168,   169,  -235,  -235,  -235,  -235,   170,   171,  -235,   172,
600       -86,   -23,   101,   124,   125,   126,   127,   142,   148,   151,       173,   174,   175,   176,   177,  -235,  -235,  -235,  -235,  -235,
601        45,   148,   152,    38,   153,   154,   155,    45,   152,   -86,      -235,  -235,  -235,  -235,  -235,  -235,  -235,  -235,  -235,  -235,
602       157,   158,   159,   160,   161,   162,   166,   167,   168,   169,       178,  -235,   101,  -235,    24,   160,   161,   179,   180,   181,
603        23,   -86,   -86,   -86,   170,    93,   123,   -86,   171,   123,       182,   183,   185,   187,   189,   184,   184,   188,   190,     9,
604       -86,   -86,   172,   174,   175,   176,   177,   178,   -86,   180,       184,   191,    90,   192,   193,   194,   195,   191,  -235,   196,
605       181,   -86,   -86,   -86,    93,   -86,   152,    40,   152,   152,       197,   199,   213,   215,   216,   217,   218,   219,   220,   221,
606       148,   183,   184,   185,   148,   148,   148,    98,   -86,   123,       222,   223,   224,    28,   146,  -235,  -235,  -235,   225,  -235,
607       152,   152,   152,   152,   152,   152,   152,   186,   148,   -86,       226,   146,  -235,   227,   146,  -235,  -235,   228,   229,   230,
608       -86,   -86,   187,   -86,   -86,   -86,   192,   193,   -86,   123,       231,   232,   233,  -235,   234,   235,   236,   237,  -235,   191,
609        72,   194,    73,   195,   196,    93,   -86,   197,   199,   202,        51,   191,   191,   184,   240,   241,   242,   184,   184,   243,
610       203,   204,   205,   206,    52,   152,   208,   209,   148,   148,       184,   184,   244,   184,    23,   245,   191,   191,   191,   191,
611        45,   152,   210,   211,    45,   212,   148,   104,   148,    45,       191,   191,   191,   247,   184,   184,   248,  -235,  -235,  -235,
612        45,   -86,   -86,   213,    88,    74,    93,   -86,   -86,   214,       249,  -235,  -235,  -235,   250,   251,  -235,   146,    68,   252,
613       -86,   -86,    93,   -86,   -86,   -86,   123,   -86,   -86,   -86,       146,    97,  -235,   253,     2,   254,  -235,   255,  -235,   256,
614        53,    93,    93,   148,   148,    45,   210,    45,    45,   123,       257,   258,   259,   260,   261,   262,    27,    37,   263,   191,
615       194,    93,   -86,    93,    93       266,   267,   184,   268,   184,   184,    73,   245,   191,   269,
616         270,   184,   271,   184,   125,   184,    73,    73,   184,  -235,
617        -235,   272,   124,  -235,   129,    47,  -235,  -235,  -235,  -235,
618         273,  -235,  -235,   274,  -235,  -235,   146,  -235,   275,  -235,
619         146,  -235,  -235,  -235,    48,  -235,  -235,    65,   184,   184,
620         184,    73,   191,   269,   278,    73,    73,   146,   253,   253,
621        -235,  -235,  -235,  -235,   277,  -235,  -235,   280,  -235,  -235
622  };  };
623    
624  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
625  static const yysigned_char yypgoto[] =  static const short yypgoto[] =
626  {  {
627       -86,   -86,   -30,   -86,   -86,   -86,   -86,   -86,   -86,   -86,      -235,  -235,   -25,  -235,  -235,  -235,  -235,  -235,  -235,  -235,
628       -86,   -22,   -86,   -86,   -86,   -86,   -86,   -86,   -75,   -86,      -235,  -235,  -235,  -127,  -235,  -235,  -235,  -235,  -235,  -235,
629       -86,     2,   -86,   -86,    92,   -86,   -86,   -85,   -17      -235,  -235,  -235,  -235,  -116,   -41,   -85,    26,    18,  -234,
630         -17
631  };  };
632    
633  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
634     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
635     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
636     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
637  #define YYTABLE_NINF -68  #define YYTABLE_NINF -6
638  static const short yytable[] =  static const short yytable[] =
639  {  {
640        37,    68,   124,    -5,     1,    90,    91,    92,    93,    38,        37,   158,   265,   266,    70,    93,    91,    76,    77,    78,
641        -5,    -5,     2,   125,     3,     4,     5,     6,     7,     8,        79,    80,    33,   226,    57,   137,    71,    19,    60,    72,
642         9,    10,    11,    12,    13,    14,    70,    19,    30,   136,        83,    84,    85,    86,    87,    63,    33,   138,    58,   137,
643        39,    20,    40,    41,    42,    31,    32,    57,    58,    89,        93,    93,    61,    73,    74,   173,    81,   280,   236,    64,
644        43,    44,    45,    46,    47,    61,    48,    49,    33,    21,        93,   285,   286,   187,    30,   191,   192,    20,   237,    88,
645       102,   149,   165,   153,   154,    70,    70,    62,   189,   217,        93,    93,    31,    32,   119,   120,   121,   122,   271,   275,
646        63,   100,   190,   218,   109,   166,   167,   168,   169,   170,       208,   209,   210,   211,   212,   213,   214,   118,    93,    21,
647       171,   172,   112,    22,   113,    70,    70,    70,   178,   114,        39,    93,    40,    41,    42,   222,   276,   246,   247,   248,
648       115,   116,   117,   180,   215,   150,   151,    33,   139,    34,        43,    44,    45,    46,    47,    22,    48,    49,   133,   134,
649        35,    70,    23,    36,   214,   196,    33,    24,   138,   202,        23,    50,   141,   144,    51,    52,    53,    54,    55,    24,
650       191,    33,    25,   163,   211,   212,   197,   139,   207,   208,        93,    -5,     1,   239,   224,    66,    67,   188,   189,    -5,
651        60,    26,    27,   109,    28,    29,    51,   159,   160,   162,        -5,     2,   251,     3,     4,     5,     6,     7,     8,    25,
652        55,    53,    69,    65,    66,    67,    70,    71,    72,    94,         9,    10,    11,    12,    13,    14,   147,    93,   148,   261,
653       221,   174,   223,   224,    73,    74,    75,    76,    77,    78,       262,   269,    93,   149,   150,   151,   270,    33,   152,    34,
654        79,    80,    81,    82,    83,    84,    85,    86,   139,    87,        26,    35,   278,   279,    36,    27,   144,    28,    29,    93,
655        88,    33,    95,    96,    97,    98,   101,   110,   119,   120,       197,   198,    38,   200,   201,    69,   281,   141,    92,    94,
656       121,   194,   195,   126,   127,   128,   129,   130,   131,   206,        90,    95,    96,    97,    98,    99,   100,   216,   217,   101,
657        99,   210,   132,   133,   134,   135,   137,   140,   141,   139,       102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
658       142,   143,   144,   145,   146,   139,   147,   148,   156,   157,       112,   113,   114,   115,   116,   117,   250,    33,   282,   193,
659       158,   173,   220,   175,   139,   139,   219,   162,   176,   177,       123,   124,   205,   135,     0,   136,   145,   154,   155,   156,
660       179,   -67,   181,   182,   139,   183,   139,   139,   184,   185,       157,     0,     0,   159,   160,   242,   161,   244,   245,   125,
661       186,   187,   188,   192,   193,   198,   200,   203,   222,   213,       126,   127,   128,   129,   256,   130,   260,   131,   264,   132,
662       216,     0,   155       162,   267,   163,   164,   165,   166,   167,   168,   169,   170,
663         171,   172,   174,   175,   176,   177,   178,   179,   180,   181,
664         182,   183,   184,   185,   186,   194,   195,   196,   199,   202,
665         206,   277,   215,   218,     0,     0,   219,   220,   221,   223,
666         225,   227,   228,   229,   230,   231,   232,   233,   234,   235,
667         238,   240,   241,   243,   252,   254,   257,     0,     0,   268,
668         272,   273,   274,   283,   287,   288
669  };  };
670    
671  static const short yycheck[] =  static const short yycheck[] =
672  {  {
673        17,    31,    87,     0,     1,    28,    29,    30,    31,    23,        17,   117,   236,   237,    25,     3,    31,    29,    30,    31,
674         7,     8,     9,    88,    11,    12,    13,    14,    15,    16,        32,    33,     3,    11,    38,     6,    37,     7,    38,    40,
675        17,    18,    19,    20,    21,    22,     3,     6,     0,     6,        29,    30,    31,    32,    33,    39,     3,    18,    52,     6,
676        23,     6,    25,    26,    27,     7,     8,    32,    33,    69,         3,     3,    52,    54,    55,     7,    58,   271,    11,    53,
677        33,    34,    35,    36,    37,    23,    39,    40,     3,     6,         3,   275,   276,   159,     0,   161,   162,     7,    11,    58,
678         5,   126,   137,   128,   129,     3,     3,    35,     6,     6,         3,     3,     8,     9,    30,    31,    32,    33,    11,    11,
679        38,    78,    10,    10,    81,   140,   141,   142,   143,   144,       176,   177,   178,   179,   180,   181,   182,    92,     3,     7,
680       145,   146,    34,     6,    36,     3,     3,     3,     6,    41,        25,     3,    27,    28,    29,     7,    11,     4,     5,     6,
681        42,    43,    44,    10,    10,    45,    46,     3,   105,     5,        35,    36,    37,    38,    39,     7,    41,    42,   105,   106,
682         6,     3,     6,     9,     6,   180,     3,     6,     5,   184,         7,    46,   109,   110,    49,    50,    51,    52,    53,     7,
683       175,     3,     6,     5,   189,   190,   181,   124,     4,     5,         3,     0,     1,   219,     7,    34,    35,    56,    57,     8,
684        23,     6,     6,   130,     6,     6,    36,   134,   135,   136,         9,    10,   228,    12,    13,    14,    15,    16,    17,     7,
685        37,    36,     7,    24,    24,    23,     3,     6,     6,    28,        19,    20,    21,    22,    23,    24,    36,     3,    38,     4,
686       215,   148,   217,   218,     6,     6,     6,     6,     6,     6,         5,     7,     3,    43,    44,    45,     7,     3,    48,     5,
687         6,     6,     6,     6,     6,     6,     6,     6,   165,     6,         7,     7,   269,   270,    10,     7,   163,     7,     7,     3,
688         6,     3,    28,    28,    28,    28,     5,     5,     5,     5,       167,   168,    25,   170,   171,    25,   272,   174,     8,     7,
689         5,   178,   179,     6,     6,     6,     6,     6,     6,   186,        25,     7,     7,     7,     7,     7,     7,   184,   185,     7,
690        28,   188,     6,     6,     6,     6,     6,     6,     6,   196,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
691         6,     6,     6,     6,     6,   202,     6,     6,     5,     5,         7,     7,     7,     7,     7,     7,   227,     3,   273,   163,
692         5,     5,   214,     6,   211,   212,   213,   214,     6,     6,        30,    30,   174,     5,    -1,     5,     5,     5,     5,     5,
693         6,     6,     6,     6,   221,     6,   223,   224,     6,     6,         5,    -1,    -1,     7,     7,   222,     7,   224,   225,    30,
694         6,     6,     6,     5,     5,     5,     5,     5,   216,     6,        30,    30,    30,    30,   231,    30,   233,    30,   235,    30,
695         6,    -1,   130         7,   238,     7,     7,     7,     7,     7,     7,     7,     7,
696           7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
697           7,     7,     7,     7,     7,     5,     5,     5,     5,     5,
698           5,   268,     5,     5,    -1,    -1,     7,     7,     7,     7,
699           7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
700           7,     5,     5,     5,     5,     5,     5,    -1,    -1,     7,
701           7,     7,     7,     5,     7,     5
702  };  };
703    
704  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
705     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
706  static const unsigned char yystos[] =  static const unsigned char yystos[] =
707  {  {
708         0,     1,     9,    11,    12,    13,    14,    15,    16,    17,         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,
709        18,    19,    20,    21,    22,    48,    49,    50,    51,     6,        20,    21,    22,    23,    24,    60,    61,    62,    63,     7,
710         6,     6,     6,     6,     6,     6,     6,     6,     6,     6,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
711         0,     7,     8,     3,     5,     6,     9,    75,    23,    23,         0,     8,     9,     3,     5,     7,    10,    89,    25,    25,
712        25,    26,    27,    33,    34,    35,    36,    37,    39,    40,        27,    28,    29,    35,    36,    37,    38,    39,    41,    42,
713        52,    36,    54,    36,    55,    37,    60,    32,    33,    56,        46,    49,    50,    51,    52,    53,    66,    38,    52,    68,
714        23,    23,    35,    38,    53,    24,    24,    23,    49,     7,        38,    52,    69,    39,    53,    74,    34,    35,    70,    25,
715         3,     6,     6,     6,     6,     6,     6,     6,     6,     6,        25,    37,    40,    54,    55,    67,    29,    30,    31,    32,
716         6,     6,     6,     6,     6,     6,     6,     6,     6,    49,        33,    58,    64,    29,    30,    31,    32,    33,    58,    65,
717        28,    29,    30,    31,    28,    28,    28,    28,    28,    28,        25,    61,     8,     3,     7,     7,     7,     7,     7,     7,
718        75,     5,     5,    61,    73,    74,    75,    62,    71,    75,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
719         5,    65,    34,    36,    41,    42,    43,    44,    57,     5,         7,     7,     7,     7,     7,     7,     7,     7,    61,    30,
720         5,     5,    67,    70,    74,    65,     6,     6,     6,     6,        31,    32,    33,    30,    30,    30,    30,    30,    30,    30,
721         6,     6,     6,     6,     6,     6,     6,     6,     5,    75,        30,    30,    30,    89,    89,     5,     5,     6,    18,    75,
722         6,     6,     6,     6,     6,     6,     6,     6,     6,    65,        87,    89,    76,    86,    89,     5,    83,    36,    38,    43,
723        45,    46,    59,    65,    65,    71,     5,     5,     5,    75,        44,    45,    48,    71,     5,     5,     5,     5,    83,     7,
724        75,    58,    75,     5,    66,    74,    65,    65,    65,    65,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
725        65,    65,    65,     5,    75,     6,     6,     6,     6,     6,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
726        10,     6,     6,     6,     6,     6,     6,     6,     6,     6,         7,     7,     7,     7,     7,     7,     7,    83,    56,    57,
727        10,    65,     5,     5,    75,    75,    74,    65,     5,    68,        73,    83,    83,    86,     5,     5,     5,    89,    89,     5,
728         5,    72,    74,     5,    69,    63,    75,     4,     5,    64,        89,    89,     5,    72,    89,    87,     5,    84,    83,    83,
729        75,    74,    74,     6,     6,    10,     6,     6,    10,    75,        83,    83,    83,    83,    83,     5,    89,    89,     5,     7,
730        58,    74,    68,    74,    74         7,     7,     7,     7,     7,     7,    11,     7,     7,     7,
731           7,     7,     7,     7,     7,     7,    11,    11,     7,    83,
732           5,     5,    89,     5,    89,    89,     4,     5,     6,    88,
733          84,    83,     5,    85,     5,    77,    89,     5,    78,    81,
734          89,     4,     5,    82,    89,    88,    88,    89,     7,     7,
735           7,    11,     7,     7,     7,    11,    11,    89,    72,    72,
736          88,    83,    85,     5,    79,    88,    88,     7,     5,    80
737  };  };
738    
739  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1265  yyreduce: Line 1344  yyreduce:
1344    switch (yyn)    switch (yyn)
1345      {      {
1346          case 7:          case 7:
1347  #line 82 "lscp.y"  #line 85 "lscp.y"
1348      { LSCPSERVER->AnswerClient(yyvsp[0].String); }      { LSCPSERVER->AnswerClient(yyvsp[0].String); }
1349      break;      break;
1350    
1351    case 8:    case 8:
1352  #line 83 "lscp.y"  #line 86 "lscp.y"
1353      { 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; }
1354      break;      break;
1355    
1356    case 14:    case 14:
1357  #line 93 "lscp.y"  #line 96 "lscp.y"
1358      { yyval.String = LSCPSERVER->AddChannel();                  }      { yyval.String = LSCPSERVER->AddChannel();                  }
1359      break;      break;
1360    
1361    case 15:    case 15:
1362  #line 94 "lscp.y"  #line 97 "lscp.y"
1363      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1364      break;      break;
1365    
1366    case 16:    case 16:
1367  #line 95 "lscp.y"  #line 98 "lscp.y"
1368      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1369      break;      break;
1370    
1371    case 17:    case 17:
1372  #line 96 "lscp.y"  #line 99 "lscp.y"
1373      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1374      break;      break;
1375    
1376    case 18:    case 18:
1377  #line 97 "lscp.y"  #line 100 "lscp.y"
1378      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1379      break;      break;
1380    
1381    case 19:    case 19:
1382  #line 98 "lscp.y"  #line 101 "lscp.y"
1383      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1384      break;      break;
1385    
1386    case 20:    case 20:
1387  #line 99 "lscp.y"  #line 102 "lscp.y"
1388      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }
1389      break;      break;
1390    
1391    case 21:    case 21:
1392  #line 100 "lscp.y"  #line 103 "lscp.y"
1393      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                        }
1394      break;      break;
1395    
1396    case 22:    case 22:
1397  #line 101 "lscp.y"  #line 104 "lscp.y"
1398      { yyval.String = LSCPSERVER->SubscribeNotification(yyvsp[0].Number);     }      { yyval.String = yyvsp[0].String;                                        }
1399      break;      break;
1400    
1401    case 23:    case 23:
1402  #line 102 "lscp.y"  #line 105 "lscp.y"
1403      { yyval.String = LSCPSERVER->UnsubscribeNotification(yyvsp[0].String);   }      { yyval.String = yyvsp[0].String;                                        }
1404      break;      break;
1405    
1406    case 24:    case 24:
1407  #line 103 "lscp.y"  #line 106 "lscp.y"
1408      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }
1409      break;      break;
1410    
1411    case 25:    case 25:
1412  #line 104 "lscp.y"  #line 107 "lscp.y"
1413      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }
1414      break;      break;
1415    
1416    case 26:    case 26:
1417  #line 107 "lscp.y"  #line 110 "lscp.y"
1418      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { yyval.String = LSCPSERVER->SubscribeNotification(event_channels); }
1419      break;      break;
1420    
1421    case 27:    case 27:
1422  #line 108 "lscp.y"  #line 111 "lscp.y"
1423      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); }
1424      break;      break;
1425    
1426    case 28:    case 28:
1427  #line 109 "lscp.y"  #line 112 "lscp.y"
1428      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); }
1429      break;      break;
1430    
1431    case 29:    case 29:
1432  #line 110 "lscp.y"  #line 113 "lscp.y"
1433      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); }
1434      break;      break;
1435    
1436    case 30:    case 30:
1437  #line 111 "lscp.y"  #line 114 "lscp.y"
1438      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); }
1439      break;      break;
1440    
1441    case 31:    case 31:
1442  #line 112 "lscp.y"  #line 115 "lscp.y"
1443      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { yyval.String = LSCPSERVER->SubscribeNotification(event_misc); }
1444      break;      break;
1445    
1446    case 32:    case 32:
1447  #line 113 "lscp.y"  #line 118 "lscp.y"
1448      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); }
1449      break;      break;
1450    
1451    case 33:    case 33:
1452  #line 114 "lscp.y"  #line 119 "lscp.y"
1453      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); }
1454      break;      break;
1455    
1456    case 34:    case 34:
1457  #line 115 "lscp.y"  #line 120 "lscp.y"
1458      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); }
1459      break;      break;
1460    
1461    case 35:    case 35:
1462  #line 116 "lscp.y"  #line 121 "lscp.y"
1463      { yyval.String = LSCPSERVER->GetChannels();                                  }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); }
1464      break;      break;
1465    
1466    case 36:    case 36:
1467  #line 117 "lscp.y"  #line 122 "lscp.y"
1468      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); }
1469      break;      break;
1470    
1471    case 37:    case 37:
1472  #line 118 "lscp.y"  #line 123 "lscp.y"
1473      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); }
1474      break;      break;
1475    
1476    case 38:    case 38:
1477  #line 119 "lscp.y"  #line 126 "lscp.y"
1478      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }
1479      break;      break;
1480    
1481    case 39:    case 39:
1482  #line 120 "lscp.y"  #line 127 "lscp.y"
1483      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();               }
1484      break;      break;
1485    
1486    case 40:    case 40:
1487  #line 121 "lscp.y"  #line 128 "lscp.y"
1488      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                   }
1489      break;      break;
1490    
1491    case 41:    case 41:
1492  #line 124 "lscp.y"  #line 129 "lscp.y"
1493      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }
1494      break;      break;
1495    
1496    case 42:    case 42:
1497  #line 125 "lscp.y"  #line 130 "lscp.y"
1498      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }
1499      break;      break;
1500    
1501    case 43:    case 43:
1502  #line 126 "lscp.y"  #line 131 "lscp.y"
1503      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
1504      break;      break;
1505    
1506    case 44:    case 44:
1507  #line 127 "lscp.y"  #line 132 "lscp.y"
1508      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }
1509      break;      break;
1510    
1511    case 45:    case 45:
1512  #line 128 "lscp.y"  #line 133 "lscp.y"
1513      { yyval.String = yyvsp[0].String;                                                         }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }
1514      break;      break;
1515    
1516    case 46:    case 46:
1517  #line 131 "lscp.y"  #line 134 "lscp.y"
1518      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }
1519      break;      break;
1520    
1521    case 47:    case 47:
1522  #line 134 "lscp.y"  #line 135 "lscp.y"
1523      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }
1524      break;      break;
1525    
1526    case 48:    case 48:
1527  #line 137 "lscp.y"  #line 136 "lscp.y"
1528      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                    }
1529      break;      break;
1530    
1531    case 49:    case 49:
1532  #line 138 "lscp.y"  #line 137 "lscp.y"
1533      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }
1534      break;      break;
1535    
1536    case 50:    case 50:
1537  #line 141 "lscp.y"  #line 138 "lscp.y"
1538      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                   }
1539      break;      break;
1540    
1541    case 51:    case 51:
1542  #line 142 "lscp.y"  #line 139 "lscp.y"
1543      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }
1544      break;      break;
1545    
1546    case 52:    case 52:
1547  #line 143 "lscp.y"  #line 140 "lscp.y"
1548      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }
1549      break;      break;
1550    
1551    case 53:    case 53:
1552  #line 144 "lscp.y"  #line 141 "lscp.y"
1553      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }
1554      break;      break;
1555    
1556    case 54:    case 54:
1557  #line 145 "lscp.y"  #line 142 "lscp.y"
1558      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->GetChannels();                                  }
1559      break;      break;
1560    
1561    case 55:    case 55:
1562  #line 146 "lscp.y"  #line 143 "lscp.y"
1563      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }
1564      break;      break;
1565    
1566    case 56:    case 56:
1567  #line 149 "lscp.y"  #line 144 "lscp.y"
1568      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }
1569      break;      break;
1570    
1571    case 57:    case 57:
1572  #line 150 "lscp.y"  #line 145 "lscp.y"
1573      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }
1574      break;      break;
1575    
1576    case 58:    case 58:
1577  #line 152 "lscp.y"  #line 146 "lscp.y"
1578      { yyval.FillResponse = fill_response_bytes;      }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }
1579      break;      break;
1580    
1581    case 59:    case 59:
1582  #line 153 "lscp.y"  #line 147 "lscp.y"
1583      { yyval.FillResponse = fill_response_percentage; }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }
1584      break;      break;
1585    
1586    case 60:    case 60:
1587  #line 156 "lscp.y"  #line 150 "lscp.y"
1588      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
1589      break;      break;
1590    
1591    case 61:    case 61:
1592  #line 159 "lscp.y"  #line 151 "lscp.y"
1593      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
1594      break;      break;
1595    
1596    case 62:    case 62:
1597  #line 162 "lscp.y"  #line 152 "lscp.y"
1598      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
1599        break;
1600    
1601      case 63:
1602    #line 153 "lscp.y"
1603        { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
1604        break;
1605    
1606      case 64:
1607    #line 154 "lscp.y"
1608        { yyval.String = yyvsp[0].String;                                                         }
1609      break;      break;
1610    
1611    case 65:    case 65:
1612  #line 169 "lscp.y"  #line 157 "lscp.y"
1613      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
1614        break;
1615    
1616      case 66:
1617    #line 158 "lscp.y"
1618        { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String); }
1619        break;
1620    
1621      case 67:
1622    #line 159 "lscp.y"
1623        { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String); }
1624        break;
1625    
1626      case 68:
1627    #line 162 "lscp.y"
1628        { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }
1629        break;
1630    
1631      case 69:
1632    #line 163 "lscp.y"
1633        { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number); }
1634        break;
1635    
1636      case 70:
1637    #line 166 "lscp.y"
1638        { yyval.String = yyvsp[0].String; }
1639        break;
1640    
1641      case 71:
1642    #line 167 "lscp.y"
1643        { yyval.String = yyvsp[0].String; }
1644        break;
1645    
1646      case 72:
1647    #line 170 "lscp.y"
1648        { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
1649        break;
1650    
1651      case 73:
1652    #line 171 "lscp.y"
1653        { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
1654        break;
1655    
1656      case 74:
1657    #line 172 "lscp.y"
1658        { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }
1659      break;      break;
1660    
1661    case 75:    case 75:
1662  #line 197 "lscp.y"  #line 173 "lscp.y"
1663      { yyval.String = yyvsp[-2].String + ' ' + yyvsp[0].String; }      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);          }
1664      break;      break;
1665    
1666    case 76:    case 76:
1667  #line 200 "lscp.y"  #line 174 "lscp.y"
1668      { yyval.String = yyvsp[0].String;                                             }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
1669      break;      break;
1670    
1671    case 77:    case 77:
1672  #line 201 "lscp.y"  #line 175 "lscp.y"
1673      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
1674      break;      break;
1675    
1676    case 78:    case 78:
1677  #line 202 "lscp.y"  #line 178 "lscp.y"
1678      { yyval.String = yyvsp[-1].String + yyvsp[0].String;                                        }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
1679      break;      break;
1680    
1681    case 79:    case 79:
1682  #line 203 "lscp.y"  #line 179 "lscp.y"
1683      { std::stringstream ss; ss << yyvsp[-1].String << yyvsp[0].Number; yyval.String = ss.str(); }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
1684      break;      break;
1685    
1686    case 80:    case 80:
1687  #line 206 "lscp.y"  #line 182 "lscp.y"
1688      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { yyval.FillResponse = fill_response_bytes;      }
1689      break;      break;
1690    
1691    case 81:    case 81:
1692  #line 207 "lscp.y"  #line 183 "lscp.y"
1693        { yyval.FillResponse = fill_response_percentage; }
1694        break;
1695    
1696      case 82:
1697    #line 186 "lscp.y"
1698        { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }
1699        break;
1700    
1701      case 83:
1702    #line 187 "lscp.y"
1703        { yyval.String = LSCPSERVER->GetMidiInputDevices(); }
1704        break;
1705    
1706      case 84:
1707    #line 190 "lscp.y"
1708        { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }
1709        break;
1710    
1711      case 85:
1712    #line 191 "lscp.y"
1713        { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }
1714        break;
1715    
1716      case 86:
1717    #line 194 "lscp.y"
1718        { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }
1719        break;
1720    
1721      case 93:
1722    #line 213 "lscp.y"
1723        { yyval.Dotnum = yyvsp[0].Number; }
1724        break;
1725    
1726      case 100:
1727    #line 232 "lscp.y"
1728        { yyval.String = yyvsp[0].String;                                             }
1729        break;
1730    
1731      case 101:
1732    #line 233 "lscp.y"
1733        { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }
1734        break;
1735    
1736      case 102:
1737    #line 234 "lscp.y"
1738        { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }
1739        break;
1740    
1741      case 103:
1742    #line 237 "lscp.y"
1743        { std::string s; s = yyvsp[0].Char; yyval.String = s; }
1744        break;
1745    
1746      case 104:
1747    #line 238 "lscp.y"
1748      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }
1749      break;      break;
1750    
# Line 1563  yyreduce: Line 1752  yyreduce:
1752      }      }
1753    
1754  /* Line 999 of yacc.c.  */  /* Line 999 of yacc.c.  */
1755  #line 1567 "y.tab.c"  #line 1755 "y.tab.c"
1756    
1757    yyvsp -= yylen;    yyvsp -= yylen;
1758    yyssp -= yylen;    yyssp -= yylen;
# Line 1757  yyreturn: Line 1946  yyreturn:
1946  }  }
1947    
1948    
1949  #line 210 "lscp.y"  #line 78 "lscp.y"
1950    
1951    
1952  /**  /**

Legend:
Removed from v.123  
changed lines
  Added in v.155

  ViewVC Help
Powered by ViewVC