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

Legend:
Removed from v.141  
changed lines
  Added in v.170

  ViewVC Help
Powered by ViewVC