/[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 160 by capela, Tue Jun 29 21:44:12 2004 UTC revision 185 by senkov, Wed Jul 7 02:49:51 2004 UTC
# Line 177  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 225  typedef int YYSTYPE; Line 226  typedef int YYSTYPE;
226    
227    
228  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
229  #line 228 "y.tab.c"  #line 229 "y.tab.c"
230    
231  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
232    
# Line 324  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   293  #define YYLAST   300
329    
330  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
331  #define YYNTOKENS  59  #define YYNTOKENS  59
332  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
333  #define YYNNTS  32  #define YYNNTS  32
334  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
335  #define YYNRULES  108  #define YYNRULES  107
336  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
337  #define YYNSTATES  307  #define YYNSTATES  312
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
# Line 384  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,   167,       119,   129,   131,   137,   145,   155,   157,   159,   165,   171,
393       173,   179,   187,   195,   205,   207,   213,   221,   227,   233,       179,   189,   197,   207,   209,   215,   223,   229,   235,   241,
394       239,   247,   257,   265,   275,   279,   285,   289,   295,   299,       249,   259,   267,   277,   281,   287,   291,   297,   301,   305,
395       303,   307,   311,   315,   321,   329,   335,   345,   351,   357,       309,   313,   317,   323,   331,   337,   347,   353,   359,   365,
396       363,   369,   375,   379,   385,   387,   389,   391,   393,   399,       371,   377,   381,   387,   389,   391,   393,   395,   401,   409,
397       407,   411,   413,   415,   417,   419,   421,   423,   425,   427,       413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
398       429,   431,   433,   435,   437,   439,   441,   443,   445       433,   435,   437,   439,   441,   443,   445,   447
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        60,     0,    -1,    61,    -1,    60,     8,    61,    -1,    60,        60,     0,    -1,    61,     8,    -1,    -1,    62,    -1,    63,
405         9,     8,    61,    -1,    -1,    62,    -1,    63,    -1,     1,        -1,     1,    -1,    10,    -1,    62,    10,    -1,    62,     7,
406        -1,    10,    -1,    62,    10,    -1,    62,     7,    -1,    62,        -1,    62,     5,    -1,    62,    90,    -1,    12,     7,    25,
407         5,    -1,    62,    90,    -1,    12,     7,    25,    -1,    13,        -1,    13,     7,    66,    -1,    14,     7,    68,    -1,    15,
408         7,    66,    -1,    14,     7,    68,    -1,    15,     7,    69,         7,    69,    -1,    16,     7,    74,    -1,    17,     7,    70,
409        -1,    16,     7,    74,    -1,    17,     7,    70,    -1,    19,        -1,    19,     7,    25,     7,    85,    -1,    20,     7,    67,
410         7,    25,     7,    85,    -1,    20,     7,    67,    -1,    21,        -1,    21,     7,    64,    -1,    22,     7,    65,    -1,    23,
411         7,    64,    -1,    22,     7,    65,    -1,    23,     7,    25,         7,    25,     7,    85,    -1,    24,    -1,    29,    -1,    33,
412         7,    85,    -1,    24,    -1,    29,    -1,    33,    -1,    32,        -1,    32,    -1,    31,    -1,    30,    -1,    58,    -1,    29,
413        -1,    31,    -1,    30,    -1,    58,    -1,    29,    -1,    33,        -1,    33,    -1,    32,    -1,    31,    -1,    30,    -1,    58,
414        -1,    32,    -1,    31,    -1,    30,    -1,    58,    -1,    27,        -1,    27,    -1,    51,    -1,    49,     7,    30,     7,    90,
415        -1,    51,    -1,    49,     7,    30,     7,    90,    -1,    50,        -1,    50,     7,    30,     7,    90,     7,    90,    -1,    50,
416         7,    30,     7,    90,     7,    90,    -1,    50,     7,    30,         7,    30,     7,    90,     7,    90,     7,    72,    -1,    28,
417         7,    90,     7,    90,     7,    72,    -1,    28,    -1,    41,        -1,    41,     7,    30,     7,    90,    -1,    42,     7,    30,
418         7,    30,     7,    90,    -1,    42,     7,    30,     7,    90,         7,    90,     7,    90,    -1,    42,     7,    30,     7,    90,
419         7,    90,    -1,    42,     7,    30,     7,    90,     7,    90,         7,    90,     7,    72,    -1,    39,    -1,    53,    -1,    38,
420         7,    72,    -1,    39,    -1,    53,    -1,    38,     7,    30,         7,    30,     7,     5,    -1,    52,     7,    30,     7,     5,
421         7,     5,    -1,    52,     7,    30,     7,     5,    -1,    46,        -1,    46,     7,    30,     7,     5,     7,     5,    -1,    55,
422         7,    30,     7,     5,     7,     5,    -1,    36,     7,    30,         7,    30,     7,     5,     7,     5,     7,    90,    -1,    36,
423         7,     5,     7,     5,    -1,    37,     7,    30,     7,     5,         7,    30,     7,     5,     7,     5,    -1,    37,     7,    30,
424         7,     5,     7,    90,    -1,    29,    -1,    25,     7,    30,         7,     5,     7,     5,     7,    90,    -1,    29,    -1,    25,
425         7,    85,    -1,    25,     7,    31,     7,    73,     7,    85,         7,    30,     7,    85,    -1,    25,     7,    31,     7,    73,
426        -1,    25,     7,    32,     7,    85,    -1,    25,     7,    33,         7,    85,    -1,    25,     7,    32,     7,    85,    -1,    25,
427         7,    85,    -1,    35,     7,    30,     7,    87,    -1,    40,         7,    33,     7,    85,    -1,    35,     7,    30,     7,    87,
428         7,     5,     7,    90,    11,    89,    -1,    37,     7,     5,        -1,    40,     7,     5,     7,    90,    11,    89,    -1,    37,
429         7,     5,     7,    90,    11,    89,    -1,    54,     7,     5,         7,     5,     7,     5,     7,    90,    11,    89,    -1,    54,
430         7,    90,    11,    89,    -1,    55,     7,     5,     7,     5,         7,     5,     7,    90,    11,    89,    -1,    55,     7,     5,
431         7,    90,    11,    89,    -1,    25,     7,    71,    -1,    38,         7,     5,     7,    90,    11,    89,    -1,    25,     7,    71,
432         7,    90,     7,    72,    -1,    38,     7,    90,    -1,    52,        -1,    38,     7,    90,     7,    72,    -1,    38,     7,    90,
433         7,    90,     7,    72,    -1,    52,     7,    90,    -1,    38,        -1,    52,     7,    90,     7,    72,    -1,    52,     7,    90,
434         7,     5,    -1,    52,     7,     5,    -1,    34,     7,    75,        -1,    38,     7,     5,    -1,    52,     7,     5,    -1,    34,
435        -1,    35,     7,    76,    -1,    38,     7,    85,     7,    77,         7,    75,    -1,    35,     7,    76,    -1,    38,     7,    85,
436        -1,    36,     7,    85,     7,    78,     7,    78,    -1,    43,         7,    77,    -1,    36,     7,    85,     7,    78,     7,    78,
437         7,    85,     7,    79,    -1,    44,     7,    85,     7,    80,        -1,    43,     7,    85,     7,    79,    -1,    44,     7,    85,
438         7,    81,     7,    82,    -1,    52,     7,    85,     7,    80,         7,    80,     7,    81,     7,    82,    -1,    52,     7,    85,
439        -1,    46,     7,    85,     7,    81,    -1,    47,     7,    85,         7,    80,    -1,    46,     7,    85,     7,    81,    -1,    47,
440         7,    82,    -1,    45,     7,    85,     7,    83,    -1,    48,         7,    85,     7,    82,    -1,    45,     7,    85,     7,    83,
441         7,    85,     7,    84,    -1,    90,    11,    89,    -1,    72,        -1,    48,     7,    85,     7,    84,    -1,    90,    11,    89,
442         7,    90,    11,    89,    -1,    56,    -1,    57,    -1,    39,        -1,    72,     7,    90,    11,    89,    -1,    56,    -1,    57,
443        -1,    53,    -1,    88,     7,    86,     7,    85,    -1,    18,        -1,    39,    -1,    53,    -1,    88,     7,    86,     7,    85,
444         7,    88,     7,    86,     7,    85,    -1,    87,     7,    85,        -1,    18,     7,    88,     7,    86,     7,    85,    -1,    87,
445        -1,     5,    -1,     5,    -1,    90,    -1,     5,    -1,     5,         7,    85,    -1,     5,    -1,     5,    -1,    90,    -1,     5,
446        -1,     5,    -1,    90,    -1,     4,    -1,     5,    -1,     5,        -1,     5,    -1,     5,    -1,    90,    -1,     4,    -1,     5,
447        -1,     5,    -1,    90,    -1,     6,    -1,     6,    -1,     5,        -1,     5,    -1,     5,    -1,    90,    -1,     6,    -1,     6,
448        -1,     4,    -1,     3,    -1,    90,     3,    -1        -1,     5,    -1,     4,    -1,     3,    -1,    90,     3,    -1
449  };  };
450    
451  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
452  static const unsigned char yyrline[] =  static const unsigned char yyrline[] =
453  {  {
454         0,    78,    78,    79,    80,    83,    84,    85,    86,    89,         0,    79,    79,    81,    82,    83,    84,    87,    88,    89,
455        90,    91,    92,    93,    96,    97,    98,    99,   100,   101,        90,    91,    94,    95,    96,    97,    98,    99,   100,   101,
456       102,   103,   104,   105,   106,   107,   110,   111,   112,   113,       102,   103,   104,   105,   108,   109,   110,   111,   112,   113,
457       114,   115,   118,   119,   120,   121,   122,   123,   126,   127,       116,   117,   118,   119,   120,   121,   124,   125,   126,   127,
458       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
459       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       138,   139,   140,   141,   142,   143,   144,   145,   146,   149,
460       150,   151,   152,   153,   154,   157,   158,   159,   160,   163,       150,   151,   152,   153,   156,   157,   158,   159,   162,   163,
461       164,   167,   168,   171,   172,   173,   174,   175,   176,   177,       166,   167,   170,   171,   172,   173,   174,   175,   176,   177,
462       178,   179,   182,   183,   186,   187,   190,   191,   194,   195,       178,   181,   182,   185,   186,   189,   190,   193,   194,   197,
463       198,   201,   204,   207,   210,   213,   216,   219,   222,   223,       200,   203,   206,   209,   212,   215,   218,   221,   222,   225,
464       226,   229,   232,   235,   238,   239,   240,   243,   244       228,   231,   234,   237,   238,   239,   242,   243
465  };  };
466  #endif  #endif
467    
# Line 513  static const unsigned short yytoknum[] = Line 514  static const unsigned short yytoknum[] =
514  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
515  static const unsigned char yyr1[] =  static const unsigned char yyr1[] =
516  {  {
517         0,    59,    60,    60,    60,    61,    61,    61,    61,    62,         0,    59,    60,    61,    61,    61,    61,    62,    62,    62,
518        62,    62,    62,    62,    63,    63,    63,    63,    63,    63,        62,    62,    63,    63,    63,    63,    63,    63,    63,    63,
519        63,    63,    63,    63,    63,    63,    64,    64,    64,    64,        63,    63,    63,    63,    64,    64,    64,    64,    64,    64,
520        64,    64,    65,    65,    65,    65,    65,    65,    66,    66,        65,    65,    65,    65,    65,    65,    66,    66,    66,    66,
521        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,
522        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,        66,    66,    66,    66,    66,    66,    66,    66,    66,    67,
523        67,    67,    67,    67,    67,    68,    68,    68,    68,    69,        67,    67,    67,    67,    68,    68,    68,    68,    69,    69,
524        69,    70,    70,    71,    71,    71,    71,    71,    71,    71,        70,    70,    71,    71,    71,    71,    71,    71,    71,    71,
525        71,    71,    72,    72,    73,    73,    74,    74,    75,    75,        71,    72,    72,    73,    73,    74,    74,    75,    75,    76,
526        76,    77,    78,    79,    80,    81,    82,    83,    84,    84,        77,    78,    79,    80,    81,    82,    83,    84,    84,    85,
527        85,    86,    87,    88,    89,    89,    89,    90,    90        86,    87,    88,    89,    89,    89,    90,    90
528  };  };
529    
530  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
531  static const unsigned char yyr2[] =  static const unsigned char yyr2[] =
532  {  {
533         0,     2,     1,     3,     4,     0,     1,     1,     1,     1,         0,     2,     2,     0,     1,     1,     1,     1,     2,     2,
534         2,     2,     2,     2,     3,     3,     3,     3,     3,     3,         2,     2,     3,     3,     3,     3,     3,     3,     5,     3,
535         5,     3,     3,     3,     5,     1,     1,     1,     1,     1,         3,     3,     5,     1,     1,     1,     1,     1,     1,     1,
536           1,     1,     1,     1,     1,     1,     1,     1,     5,     7,
537           9,     1,     5,     7,     9,     1,     1,     5,     5,     7,
538           9,     7,     9,     1,     5,     7,     5,     5,     5,     7,
539           9,     7,     9,     3,     5,     3,     5,     3,     3,     3,
540           3,     3,     5,     7,     5,     9,     5,     5,     5,     5,
541           5,     3,     5,     1,     1,     1,     1,     5,     7,     3,
542         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
543         5,     7,     9,     1,     5,     7,     9,     1,     1,     5,         1,     1,     1,     1,     1,     1,     1,     2
        5,     7,     7,     9,     1,     5,     7,     5,     5,     5,  
        7,     9,     7,     9,     3,     5,     3,     5,     3,     3,  
        3,     3,     3,     5,     7,     5,     9,     5,     5,     5,  
        5,     5,     3,     5,     1,     1,     1,     1,     5,     7,  
        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,  
        1,     1,     1,     1,     1,     1,     1,     1,     2  
544  };  };
545    
546  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
# Line 547  static const unsigned char yyr2[] = Line 548  static const unsigned char yyr2[] =
548     means the default is an error.  */     means the default is an error.  */
549  static const unsigned char yydefact[] =  static const unsigned char yydefact[] =
550  {  {
551         0,     8,     9,     0,     0,     0,     0,     0,     0,     0,         0,     6,     7,     0,     0,     0,     0,     0,     0,     0,
552         0,     0,     0,     0,    25,     0,     2,     6,     7,     0,         0,     0,     0,     0,    23,     0,     0,     4,     5,     0,
553           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
554           1,     2,   106,    10,     9,     8,    11,    12,     0,    36,
555          41,    53,     0,     0,     0,     0,    45,     0,     0,     0,
556           0,     0,    37,     0,    46,     0,    13,     0,     0,    14,
557           0,     0,    15,    85,    86,    16,     0,     0,    17,     0,
558           0,     0,     0,     0,     0,    19,    24,    28,    27,    26,
559          25,    29,    20,    30,    34,    33,    32,    31,    35,    21,
560           0,   107,     0,     0,     0,     0,     0,     0,     0,     0,
561           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
562         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        1,     0,     0,   107,    12,    11,    10,    13,    14,     0,  
       38,    43,    54,     0,     0,     0,     0,    47,     0,     0,  
        0,     0,     0,    39,     0,    48,    15,     0,     0,    16,  
        0,     0,    17,    86,    87,    18,     0,     0,    19,     0,  
        0,     0,     0,     0,     0,    21,    26,    30,    29,    28,  
       27,    31,    22,    32,    36,    35,    34,    33,    37,    23,  
        0,     3,     0,   108,     0,     0,     0,     0,     0,     0,  
563         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
564         0,     0,     0,     0,     0,     0,     0,     0,     4,     0,         0,     0,    65,    67,    68,    69,   102,     0,    70,     0,
565          71,     0,   101,    99,    18,     0,     0,     0,     0,     0,
566           0,     0,     0,     0,    63,     0,     0,     0,     0,    22,
567         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
        0,     0,     0,    66,    68,    69,    70,   103,     0,    71,  
        0,    72,     0,   102,   100,    20,     0,     0,     0,     0,  
        0,     0,     0,     0,     0,    64,     0,     0,     0,     0,  
       24,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
568         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
569         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
570         0,     0,     0,    55,    84,    85,     0,    57,    58,    59,         0,     0,     0,    54,    83,    84,     0,    56,    57,    58,
571         0,     0,    49,    44,     0,     0,    40,     0,    50,    65,         0,     0,    47,    42,     0,     0,    38,     0,    48,     0,
572         0,    67,     0,   101,     0,    90,     0,     0,     0,     0,        64,     0,    66,     0,   100,     0,    89,     0,     0,     0,
573         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
574         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
575         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
576         0,     0,    56,    52,     0,    45,    51,    41,     0,   106,         0,     0,     0,     0,    55,    51,     0,    43,    49,    39,
577       105,   104,    82,     0,    88,    92,     0,    91,    73,    75,         0,     0,   105,   104,   103,    81,     0,    87,    91,     0,
578        93,    94,     0,    80,    97,    95,    78,    96,    79,    98,        90,    72,    74,    92,    93,     0,    79,    96,    94,    77,
579        99,    81,    77,     0,    60,    62,     0,     0,     0,     0,        95,    78,    97,    98,    80,    76,     0,    59,    61,     0,
580         0,     0,     0,     0,     0,     0,    53,    46,    42,    83,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
581        89,    74,     0,    61,    63,     0,    76        52,    44,    40,    50,    82,    88,    73,     0,    60,    62,
582           0,    75
583  };  };
584    
585  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
586  static const short yydefgoto[] =  static const short yydefgoto[] =
587  {  {
588        -1,    15,    16,    17,    18,    82,    89,    56,    75,    59,        -1,    15,    16,    17,    18,    82,    89,    56,    75,    59,
589        62,    68,   155,   209,   196,    65,   139,   141,   268,   266,        62,    68,   154,   210,   196,    65,   138,   140,   271,   269,
590       269,   272,   276,   278,   273,   281,   145,   214,   142,   140,       272,   275,   279,   281,   276,   284,   144,   215,   141,   139,
591       262,   210       265,   211
592  };  };
593    
594  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
595     STATE-NUM.  */     STATE-NUM.  */
596  #define YYPACT_NINF -245  #define YYPACT_NINF -249
597  static const short yypact[] =  static const short yypact[] =
598  {  {
599       168,  -245,  -245,    30,    51,    68,   101,   105,   109,   129,        81,  -249,  -249,     3,    16,    27,    83,   104,   126,   128,
600       130,   131,   132,   133,  -245,    34,  -245,    52,  -245,    16,       139,   141,   142,   143,  -249,    13,    30,   124,  -249,    15,
601        82,   -21,    -8,    -1,   -27,    55,   -22,    -9,    -4,    70,       -20,   -32,   -27,   -25,    45,   131,   -13,    23,    28,   132,
602      -245,   168,    90,  -245,  -245,  -245,  -245,    93,  -245,   134,      -249,  -249,  -249,  -249,  -249,  -249,   150,  -249,   151,  -249,
603      -245,  -245,  -245,   135,   136,   137,   138,  -245,   139,   140,      -249,  -249,   152,   153,   154,   155,  -249,   156,   157,   158,
604       142,   143,   144,  -245,   147,  -245,  -245,   150,   151,  -245,       159,   160,  -249,   161,  -249,   162,  -249,   163,   164,  -249,
605       152,   153,  -245,  -245,  -245,  -245,   154,   155,  -245,   156,       165,   168,  -249,  -249,  -249,  -249,   169,   170,  -249,   171,
606       157,   158,   159,   160,   163,  -245,  -245,  -245,  -245,  -245,       172,   174,   175,   176,   177,  -249,  -249,  -249,  -249,  -249,
607      -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,      -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
608       164,  -245,   168,  -245,    73,   149,   165,   166,   167,   169,       178,  -249,   107,   166,   167,   173,   179,   180,   181,   182,
609       170,   171,   172,   173,   174,   183,   183,   188,   189,    -2,       183,   184,   185,   187,   186,   186,   188,   189,    31,   186,
610       183,   193,    38,   200,   201,   202,   203,   193,  -245,   204,       190,    76,   193,   194,   195,   196,   190,   197,   198,   199,
611       205,   206,   207,   209,   212,   213,   214,   215,   216,   218,       200,   201,   212,   214,   215,   216,   217,   218,   220,   222,
612       220,   221,   222,     6,     7,  -245,  -245,  -245,   223,  -245,       223,   224,    36,    71,  -249,  -249,  -249,   225,  -249,   227,
613       225,  -245,   226,    93,  -245,  -245,   228,   229,   230,   231,      -249,   228,   150,  -249,  -249,   230,   231,   232,   233,   234,
614       232,   233,   234,   235,   236,  -245,   237,   238,   239,   240,       235,   236,   237,   238,  -249,   239,   240,   241,   242,  -249,
615      -245,   193,    21,   193,   193,   183,   243,   244,   245,   183,       190,     6,   190,   190,   186,   245,   246,   247,   186,   186,
616       183,   246,   183,   183,   247,   183,   183,   248,   250,   193,       248,   186,   186,   249,   250,   186,   186,   251,   253,   190,
617       193,   193,   193,   193,   193,   193,   193,   193,   193,   251,       190,   190,   190,   190,   190,   190,   190,   190,   190,   254,
618       183,   183,   252,  -245,  -245,  -245,   253,  -245,  -245,  -245,       186,   186,   255,  -249,  -249,  -249,   256,  -249,  -249,  -249,
619       254,   255,  -245,    93,    32,   256,    93,    33,  -245,   257,       257,   258,  -249,   150,   103,   259,   150,   106,  -249,   260,
620         8,   257,   258,  -245,   259,  -245,   260,   261,   262,   264,       261,    33,   261,   262,  -249,   263,  -249,   264,   265,   267,
621       265,   266,   267,   268,   269,   270,    50,    76,   271,   193,       268,   270,   271,   272,   273,   274,   275,    72,    73,   276,
622       274,   275,   183,   276,   183,   183,   121,   250,   193,   277,       190,   279,   280,   186,   281,   186,   282,   186,   137,   253,
623       278,   183,   279,   183,   280,   281,   125,   279,   183,   121,       190,   283,   284,   186,   285,   186,   286,   287,   140,   285,
624       121,   183,  -245,  -245,   282,    53,  -245,    94,    88,  -245,       186,   137,   137,   186,  -249,  -249,   288,   123,  -249,   129,
625      -245,  -245,  -245,   283,  -245,  -245,   284,  -245,  -245,  -245,       289,    74,  -249,  -249,  -249,  -249,   290,  -249,  -249,   291,
626        93,  -245,   285,  -245,    93,  -245,  -245,  -245,  -245,  -245,      -249,  -249,  -249,   150,  -249,   292,  -249,   150,  -249,  -249,
627      -245,  -245,  -245,    89,  -245,  -245,    91,   183,   183,   183,      -249,  -249,  -249,  -249,  -249,  -249,    96,  -249,  -249,   105,
628       121,   193,   277,   280,   121,   121,    93,   257,   257,  -245,       186,   186,   186,   186,   137,   190,   283,   286,   137,   137,
629      -245,  -245,   286,  -245,  -245,   281,  -245       150,   261,   261,   150,  -249,  -249,  -249,   293,  -249,  -249,
630         287,  -249
631  };  };
632    
633  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
634  static const short yypgoto[] =  static const short yypgoto[] =
635  {  {
636      -245,  -245,   -19,  -245,  -245,  -245,  -245,  -245,  -245,  -245,      -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,  -249,
637      -245,  -245,  -245,  -174,  -245,  -245,  -245,  -245,  -245,  -120,      -249,  -249,  -249,  -174,  -249,  -249,  -249,  -249,  -249,  -110,
638      -245,   -38,   -83,   -52,  -245,  -245,  -116,    22,   122,    81,      -249,   -62,  -109,  -120,  -249,  -249,  -115,   -48,    38,    79,
639      -244,   -17      -248,   -17
640  };  };
641    
642  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
643     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
644     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
645     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
646  #define YYTABLE_NINF -6  #define YYTABLE_NINF -4
647  static const short yytable[] =  static const short yytable[] =
648  {  {
649        37,   160,   211,    70,   137,   284,   285,    66,    67,    93,        36,   159,   212,   287,   288,    38,    57,    39,    40,    41,
650        93,    93,    91,   175,   176,    71,   138,    57,    72,   236,        19,    60,    70,    30,    63,    42,    43,    44,    45,    46,
651        76,    77,    78,    79,    80,    83,    84,    85,    86,    87,        58,    47,    48,    20,    71,    61,    49,    72,    64,    50,
652        60,    58,    73,    74,    30,    93,    93,    19,    63,   232,        51,    52,    53,    54,    21,    55,    91,   136,    31,    91,
653       234,    38,    31,    32,    61,   193,   299,   197,   198,    81,        37,    73,    74,   175,   238,   193,   304,   197,   198,   137,
654       303,   304,    64,    93,    88,    33,    93,    34,    20,    35,       308,   309,    76,    77,    78,    79,    80,    83,    84,    85,
655       288,   249,    36,   215,   216,   217,   218,   219,   220,   221,        86,    87,   194,   195,   216,   217,   218,   219,   220,   221,
656       222,   223,   224,   118,   146,    21,   147,   194,   195,    93,       222,   223,   224,   225,    91,    91,    91,    91,   176,    66,
657        69,   148,   149,   150,   151,   152,   153,   250,   133,   134,        67,    81,     1,   251,   252,   294,    88,   132,   133,    -3,
658       154,    93,    93,   143,    93,    90,    93,    93,    92,   290,        22,     2,   142,     3,     4,     5,     6,     7,     8,    91,
659       294,   289,   295,   119,   120,   121,   122,    39,    22,    40,         9,    10,    11,    12,    13,    14,    91,   298,    91,    91,
660        41,    42,    23,   252,   297,   298,    24,    43,    44,    45,       233,    23,   145,   235,   146,   254,   299,   301,   302,   147,
661        46,    47,   264,    48,    49,   259,   260,   261,    50,   279,       148,   149,   150,   151,   152,   267,    91,    32,   153,    33,
662       280,    51,    52,    53,    54,    55,    25,    26,    27,    28,       291,    34,    91,    24,    35,    25,   292,   117,   118,   119,
663        29,    94,    95,    96,    97,    98,    99,   100,   143,   101,       120,   262,   263,   264,   282,   283,    26,   142,    27,    28,
664       102,   103,   203,   204,   104,   206,   207,   105,   106,   107,        29,   203,   204,    91,   206,   207,    69,    90,    92,    93,
665       108,   109,   110,   111,   112,   113,   114,   115,    -5,     1,        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
666       116,   117,   301,   226,   227,   300,    -5,    -5,     2,   123,       104,   105,   106,   227,   228,   107,   108,   109,   110,   111,
667         3,     4,     5,     6,     7,     8,    33,     9,    10,    11,       305,   112,   113,   114,   115,   116,   306,   285,   307,    32,
668        12,    13,    14,   135,   136,   124,   125,   126,   144,   127,       311,   266,     0,   134,   135,   143,   121,   122,   155,   156,
669       128,   129,   130,   131,   132,   156,   157,   158,   159,   282,       157,   158,   199,   123,   160,   161,   162,   163,   164,   124,
670       302,   161,   162,   163,   164,   255,   165,   257,   258,   166,       125,   126,   127,   128,   129,   130,   257,   131,   259,   165,
671       167,   168,   169,   170,   270,   171,   274,   172,   173,   174,       261,   166,   167,   168,   169,   170,   273,   171,   277,   172,
672       177,   283,   178,   179,   286,   180,   181,   182,   183,   184,       173,   174,   177,   286,   178,   179,   289,   180,   181,   182,
673       185,   186,   187,   188,   189,   190,   191,   192,   200,   201,       183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
674       202,   205,   208,   306,   137,   213,   225,   228,   212,   263,       200,   201,   202,   205,   208,   209,   213,   136,   214,   226,
675       229,   230,   231,   233,   235,   237,   238,   239,   240,   241,       229,     0,     0,   230,   231,   232,   234,   236,   237,   239,
676       296,   242,   243,   244,   245,   246,   247,   248,   251,   253,       240,   241,   242,   300,   243,   244,   303,   245,   246,   247,
677       254,   256,   265,   267,   271,   275,   277,   199,     0,   287,       248,   249,   250,   253,   255,   256,   258,   260,   268,   270,
678       291,   292,   293,   305       274,   278,   280,     0,     0,   290,   293,   295,   296,   297,
679         310
680  };  };
681    
682  static const short yycheck[] =  static const short yycheck[] =
683  {  {
684        17,   117,   176,    25,     6,   249,   250,    34,    35,     3,        17,   116,   176,   251,   252,    25,    38,    27,    28,    29,
685         3,     3,    31,     7,     7,    37,    18,    38,    40,    11,         7,    38,    25,     0,    39,    35,    36,    37,    38,    39,
686        29,    30,    31,    32,    33,    29,    30,    31,    32,    33,        52,    41,    42,     7,    37,    52,    46,    40,    53,    49,
687        38,    52,    54,    55,     0,     3,     3,     7,    39,     7,        50,    51,    52,    53,     7,    55,     3,     6,     8,     3,
688         7,    25,     8,     9,    52,   161,   290,   163,   164,    58,        25,    54,    55,     7,    11,   160,   294,   162,   163,    18,
689       294,   295,    53,     3,    58,     3,     3,     5,     7,     7,       298,   299,    29,    30,    31,    32,    33,    29,    30,    31,
690         7,    11,    10,   179,   180,   181,   182,   183,   184,   185,        32,    33,    56,    57,   179,   180,   181,   182,   183,   184,
691       186,   187,   188,    92,    36,     7,    38,    56,    57,     3,       185,   186,   187,   188,     3,     3,     3,     3,     7,    34,
692        25,    43,    44,    45,    46,    47,    48,    11,   105,   106,        35,    58,     1,    11,    11,    11,    58,   104,   105,     8,
693        52,     3,     3,   110,     3,    25,     3,     3,     8,    11,         7,    10,   109,    12,    13,    14,    15,    16,    17,     3,
694        11,     7,    11,    30,    31,    32,    33,    25,     7,    27,        19,    20,    21,    22,    23,    24,     3,    11,     3,     3,
695        28,    29,     7,   229,   288,   289,     7,    35,    36,    37,         7,     7,    36,     7,    38,   230,    11,   291,   292,    43,
696        38,    39,   238,    41,    42,     4,     5,     6,    46,     4,        44,    45,    46,    47,    48,   240,     3,     3,    52,     5,
697         5,    49,    50,    51,    52,    53,     7,     7,     7,     7,         7,     7,     3,     7,    10,     7,     7,    30,    31,    32,
698         7,     7,     7,     7,     7,     7,     7,     7,   165,     7,        33,     4,     5,     6,     4,     5,     7,   164,     7,     7,
699         7,     7,   169,   170,     7,   172,   173,     7,     7,     7,         7,   168,   169,     3,   171,   172,    25,    25,     7,     7,
700         7,     7,     7,     7,     7,     7,     7,     7,     0,     1,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
701         7,     7,   292,   190,   191,   291,     8,     9,    10,    30,         7,     7,     7,   190,   191,     7,     7,     7,     7,     7,
702        12,    13,    14,    15,    16,    17,     3,    19,    20,    21,       295,     7,     7,     7,     7,     7,   296,   249,   297,     3,
703        22,    23,    24,     5,     5,    30,    30,    30,     5,    30,       310,   239,    -1,     5,     5,     5,    30,    30,     5,     5,
704        30,    30,    30,    30,    30,     5,     5,     5,     5,   247,         5,     5,   164,    30,     7,     7,     7,     7,     7,    30,
705       293,     7,     7,     7,     7,   232,     7,   234,   235,     7,        30,    30,    30,    30,    30,    30,   233,    30,   235,     7,
706         7,     7,     7,     7,   241,     7,   243,     7,     7,     7,       237,     7,     7,     7,     7,     7,   243,     7,   245,     7,
707         7,   248,     7,     7,   251,     7,     7,     7,     7,     7,         7,     7,     7,   250,     7,     7,   253,     7,     7,     7,
        7,     7,     7,     7,     7,     7,     7,     7,     5,     5,  
        5,     5,     5,   305,     6,     5,     5,     5,   177,   237,  
708         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
709       287,     7,     7,     7,     7,     7,     7,     7,     7,     5,         5,     5,     5,     5,     5,     5,   177,     6,     5,     5,
710         5,     5,     5,     5,     5,     5,     5,   165,    -1,     7,         5,    -1,    -1,     7,     7,     7,     7,     7,     7,     7,
711         7,     7,     7,     7         7,     7,     7,   290,     7,     7,   293,     7,     7,     7,
712           7,     7,     7,     7,     5,     5,     5,     5,     5,     5,
713           5,     5,     5,    -1,    -1,     7,     7,     7,     7,     7,
714           7
715  };  };
716    
717  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
# Line 716  static const unsigned char yystos[] = Line 721  static const unsigned char yystos[] =
721         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,
722        20,    21,    22,    23,    24,    60,    61,    62,    63,     7,        20,    21,    22,    23,    24,    60,    61,    62,    63,     7,
723         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
724         0,     8,     9,     3,     5,     7,    10,    90,    25,    25,         0,     8,     3,     5,     7,    10,    90,    25,    25,    27,
725        27,    28,    29,    35,    36,    37,    38,    39,    41,    42,        28,    29,    35,    36,    37,    38,    39,    41,    42,    46,
726        46,    49,    50,    51,    52,    53,    66,    38,    52,    68,        49,    50,    51,    52,    53,    55,    66,    38,    52,    68,
727        38,    52,    69,    39,    53,    74,    34,    35,    70,    25,        38,    52,    69,    39,    53,    74,    34,    35,    70,    25,
728        25,    37,    40,    54,    55,    67,    29,    30,    31,    32,        25,    37,    40,    54,    55,    67,    29,    30,    31,    32,
729        33,    58,    64,    29,    30,    31,    32,    33,    58,    65,        33,    58,    64,    29,    30,    31,    32,    33,    58,    65,
730        25,    61,     8,     3,     7,     7,     7,     7,     7,     7,        25,     3,     7,     7,     7,     7,     7,     7,     7,     7,
731           7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
732           7,     7,     7,     7,     7,     7,     7,    30,    31,    32,
733          33,    30,    30,    30,    30,    30,    30,    30,    30,    30,
734          30,    30,    90,    90,     5,     5,     6,    18,    75,    88,
735          76,    87,    90,     5,    85,    36,    38,    43,    44,    45,
736          46,    47,    48,    52,    71,     5,     5,     5,     5,    85,
737         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
        7,     7,     7,     7,     7,     7,     7,     7,    61,    30,  
       31,    32,    33,    30,    30,    30,    30,    30,    30,    30,  
       30,    30,    30,    90,    90,     5,     5,     6,    18,    75,  
       88,    76,    87,    90,     5,    85,    36,    38,    43,    44,  
       45,    46,    47,    48,    52,    71,     5,     5,     5,     5,  
       85,     7,     7,     7,     7,     7,     7,     7,     7,     7,  
738         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
739         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
740         7,     7,     7,    85,    56,    57,    73,    85,    85,    87,         7,     7,     7,    85,    56,    57,    73,    85,    85,    87,
741         5,     5,     5,    90,    90,     5,    90,    90,     5,    72,         5,     5,     5,    90,    90,     5,    90,    90,     5,     5,
742        90,    72,    88,     5,    86,    85,    85,    85,    85,    85,        72,    90,    72,    88,     5,    86,    85,    85,    85,    85,
743        85,    85,    85,    85,    85,     5,    90,    90,     5,     7,        85,    85,    85,    85,    85,    85,     5,    90,    90,     5,
744         7,     7,     7,     7,     7,     7,    11,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,    11,     7,
745         7,     7,     7,     7,     7,     7,     7,     7,     7,    11,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
746        11,     7,    85,     5,     5,    90,     5,    90,    90,     4,         7,    11,    11,     7,    85,     5,     5,    90,     5,    90,
747         5,     6,    89,    86,    85,     5,    78,     5,    77,    79,         5,    90,     4,     5,     6,    89,    86,    85,     5,    78,
748        90,     5,    80,    83,    90,     5,    81,     5,    82,     4,         5,    77,    79,    90,     5,    80,    83,    90,     5,    81,
749         5,    84,    80,    90,    89,    89,    90,     7,     7,     7,         5,    82,     4,     5,    84,    80,    90,    89,    89,    90,
750        11,     7,     7,     7,    11,    11,    90,    72,    72,    89,         7,     7,     7,     7,    11,     7,     7,     7,    11,    11,
751        85,    78,    81,    89,    89,     7,    82        90,    72,    72,    90,    89,    85,    78,    81,    89,    89,
752           7,    82
753  };  };
754    
755  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 771  static const unsigned char yystos[] = Line 777  static const unsigned char yystos[] =
777  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
778  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrlab1
779    
780    
781  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
782     to ease the transition to the new meaning of YYERROR, for GCC.     to ease the transition to the new meaning of YYERROR, for GCC.
783     Once GCC version 2 has supplanted version 1, this can go.  */     Once GCC version 2 has supplanted version 1, this can go.  */
# Line 1352  yyreduce: Line 1359  yyreduce:
1359    YY_REDUCE_PRINT (yyn);    YY_REDUCE_PRINT (yyn);
1360    switch (yyn)    switch (yyn)
1361      {      {
1362          case 7:          case 3:
1363  #line 85 "lscp.y"  #line 81 "lscp.y"
1364      { LSCPSERVER->AnswerClient(yyvsp[0].String); }      { return LSCP_DONE; }
1365      break;      break;
1366    
1367    case 8:    case 4:
1368  #line 86 "lscp.y"  #line 82 "lscp.y"
1369        { return LSCP_DONE; }
1370        break;
1371    
1372      case 5:
1373    #line 83 "lscp.y"
1374        { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }
1375        break;
1376    
1377      case 6:
1378    #line 84 "lscp.y"
1379      { 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; }
1380      break;      break;
1381    
1382      case 12:
1383    #line 94 "lscp.y"
1384        { yyval.String = LSCPSERVER->AddChannel();                  }
1385        break;
1386    
1387      case 13:
1388    #line 95 "lscp.y"
1389        { yyval.String = yyvsp[0].String;                                        }
1390        break;
1391    
1392    case 14:    case 14:
1393  #line 96 "lscp.y"  #line 96 "lscp.y"
1394      { yyval.String = LSCPSERVER->AddChannel();                  }      { yyval.String = yyvsp[0].String;                                        }
1395      break;      break;
1396    
1397    case 15:    case 15:
# Line 1384  yyreduce: Line 1411  yyreduce:
1411    
1412    case 18:    case 18:
1413  #line 100 "lscp.y"  #line 100 "lscp.y"
1414      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }
1415      break;      break;
1416    
1417    case 19:    case 19:
# Line 1394  yyreduce: Line 1421  yyreduce:
1421    
1422    case 20:    case 20:
1423  #line 102 "lscp.y"  #line 102 "lscp.y"
1424      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }      { yyval.String = yyvsp[0].String;                                        }
1425      break;      break;
1426    
1427    case 21:    case 21:
# Line 1404  yyreduce: Line 1431  yyreduce:
1431    
1432    case 22:    case 22:
1433  #line 104 "lscp.y"  #line 104 "lscp.y"
1434      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }
1435      break;      break;
1436    
1437    case 23:    case 23:
1438  #line 105 "lscp.y"  #line 105 "lscp.y"
1439      { yyval.String = yyvsp[0].String;                                        }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
1440      break;      break;
1441    
1442    case 24:    case 24:
1443  #line 106 "lscp.y"  #line 108 "lscp.y"
1444      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels); }
1445      break;      break;
1446    
1447    case 25:    case 25:
1448  #line 107 "lscp.y"  #line 109 "lscp.y"
1449      { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count); }
1450      break;      break;
1451    
1452    case 26:    case 26:
1453  #line 110 "lscp.y"  #line 110 "lscp.y"
1454      { yyval.String = LSCPSERVER->SubscribeNotification(event_channels); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }
1455      break;      break;
1456    
1457    case 27:    case 27:
1458  #line 111 "lscp.y"  #line 111 "lscp.y"
1459      { yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill); }
1460      break;      break;
1461    
1462    case 28:    case 28:
1463  #line 112 "lscp.y"  #line 112 "lscp.y"
1464      { yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info); }
1465      break;      break;
1466    
1467    case 29:    case 29:
1468  #line 113 "lscp.y"  #line 113 "lscp.y"
1469      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc); }
1470      break;      break;
1471    
1472    case 30:    case 30:
1473  #line 114 "lscp.y"  #line 116 "lscp.y"
1474      { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels); }
1475      break;      break;
1476    
1477    case 31:    case 31:
1478  #line 115 "lscp.y"  #line 117 "lscp.y"
1479      { yyval.String = LSCPSERVER->SubscribeNotification(event_misc); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count); }
1480      break;      break;
1481    
1482    case 32:    case 32:
1483  #line 118 "lscp.y"  #line 118 "lscp.y"
1484      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }
1485      break;      break;
1486    
1487    case 33:    case 33:
1488  #line 119 "lscp.y"  #line 119 "lscp.y"
1489      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill); }
1490      break;      break;
1491    
1492    case 34:    case 34:
1493  #line 120 "lscp.y"  #line 120 "lscp.y"
1494      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info); }
1495      break;      break;
1496    
1497    case 35:    case 35:
1498  #line 121 "lscp.y"  #line 121 "lscp.y"
1499      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc); }
1500      break;      break;
1501    
1502    case 36:    case 36:
1503  #line 122 "lscp.y"  #line 124 "lscp.y"
1504      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); }      { yyval.String = LSCPSERVER->GetAvailableEngines();       }
1505      break;      break;
1506    
1507    case 37:    case 37:
1508  #line 123 "lscp.y"  #line 125 "lscp.y"
1509      { yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); }      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();       }
1510      break;      break;
1511    
1512    case 38:    case 38:
1513  #line 126 "lscp.y"  #line 126 "lscp.y"
1514      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);       }
1515      break;      break;
1516    
1517    case 39:    case 39:
1518  #line 127 "lscp.y"  #line 127 "lscp.y"
1519      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();               }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }
1520      break;      break;
1521    
1522    case 40:    case 40:
1523  #line 128 "lscp.y"  #line 128 "lscp.y"
1524      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);       }
1525      break;      break;
1526    
1527    case 41:    case 41:
1528  #line 129 "lscp.y"  #line 129 "lscp.y"
1529      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();       }
1530      break;      break;
1531    
1532    case 42:    case 42:
1533  #line 130 "lscp.y"  #line 130 "lscp.y"
1534      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);       }
1535      break;      break;
1536    
1537    case 43:    case 43:
1538  #line 131 "lscp.y"  #line 131 "lscp.y"
1539      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }
1540      break;      break;
1541    
1542    case 44:    case 44:
1543  #line 132 "lscp.y"  #line 132 "lscp.y"
1544      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);       }
1545      break;      break;
1546    
1547    case 45:    case 45:
1548  #line 133 "lscp.y"  #line 133 "lscp.y"
1549      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();       }
1550      break;      break;
1551    
1552    case 46:    case 46:
1553  #line 134 "lscp.y"  #line 134 "lscp.y"
1554      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();       }
1555      break;      break;
1556    
1557    case 47:    case 47:
1558  #line 135 "lscp.y"  #line 135 "lscp.y"
1559      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);       }
1560      break;      break;
1561    
1562    case 48:    case 48:
1563  #line 136 "lscp.y"  #line 136 "lscp.y"
1564      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);       }
1565      break;      break;
1566    
1567    case 49:    case 49:
1568  #line 137 "lscp.y"  #line 137 "lscp.y"
1569      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);       }
1570      break;      break;
1571    
1572    case 50:    case 50:
1573  #line 138 "lscp.y"  #line 138 "lscp.y"
1574      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);       }
1575      break;      break;
1576    
1577    case 51:    case 51:
1578  #line 139 "lscp.y"  #line 139 "lscp.y"
1579      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);       }
1580      break;      break;
1581    
1582    case 52:    case 52:
1583  #line 140 "lscp.y"  #line 140 "lscp.y"
1584      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);       }
1585      break;      break;
1586    
1587    case 53:    case 53:
1588  #line 141 "lscp.y"  #line 141 "lscp.y"
1589      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { yyval.String = LSCPSERVER->GetChannels();       }
1590      break;      break;
1591    
1592    case 54:    case 54:
1593  #line 142 "lscp.y"  #line 142 "lscp.y"
1594      { yyval.String = LSCPSERVER->GetChannels();                                  }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);       }
1595      break;      break;
1596    
1597    case 55:    case 55:
1598  #line 143 "lscp.y"  #line 143 "lscp.y"
1599      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);       }
1600      break;      break;
1601    
1602    case 56:    case 56:
1603  #line 144 "lscp.y"  #line 144 "lscp.y"
1604      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);       }
1605      break;      break;
1606    
1607    case 57:    case 57:
1608  #line 145 "lscp.y"  #line 145 "lscp.y"
1609      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);       }
1610      break;      break;
1611    
1612    case 58:    case 58:
1613  #line 146 "lscp.y"  #line 146 "lscp.y"
1614      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);       }
1615      break;      break;
1616    
1617    case 59:    case 59:
1618  #line 147 "lscp.y"  #line 149 "lscp.y"
1619      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1620      break;      break;
1621    
1622    case 60:    case 60:
1623  #line 150 "lscp.y"  #line 150 "lscp.y"
1624      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1625      break;      break;
1626    
1627    case 61:    case 61:
1628  #line 151 "lscp.y"  #line 151 "lscp.y"
1629      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1630      break;      break;
1631    
1632    case 62:    case 62:
1633  #line 152 "lscp.y"  #line 152 "lscp.y"
1634      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }
1635      break;      break;
1636    
1637    case 63:    case 63:
1638  #line 153 "lscp.y"  #line 153 "lscp.y"
1639      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = yyvsp[0].String;                                                         }
1640      break;      break;
1641    
1642    case 64:    case 64:
1643  #line 154 "lscp.y"  #line 156 "lscp.y"
1644      { yyval.String = yyvsp[0].String;                                                         }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
1645      break;      break;
1646    
1647    case 65:    case 65:
1648  #line 157 "lscp.y"  #line 157 "lscp.y"
1649      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }
1650      break;      break;
1651    
1652    case 66:    case 66:
1653  #line 158 "lscp.y"  #line 158 "lscp.y"
1654      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }
1655      break;      break;
1656    
1657    case 67:    case 67:
1658  #line 159 "lscp.y"  #line 159 "lscp.y"
1659      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }
1660      break;      break;
1661    
1662    case 68:    case 68:
1663  #line 160 "lscp.y"  #line 162 "lscp.y"
1664      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number);       }
1665      break;      break;
1666    
1667    case 69:    case 69:
1668  #line 163 "lscp.y"  #line 163 "lscp.y"
1669      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);         }
1670      break;      break;
1671    
1672    case 70:    case 70:
1673  #line 164 "lscp.y"  #line 166 "lscp.y"
1674      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number); }      { yyval.String = yyvsp[0].String; }
1675      break;      break;
1676    
1677    case 71:    case 71:
# Line 1653  yyreduce: Line 1680  yyreduce:
1680      break;      break;
1681    
1682    case 72:    case 72:
1683  #line 168 "lscp.y"  #line 170 "lscp.y"
1684      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
1685      break;      break;
1686    
1687    case 73:    case 73:
1688  #line 171 "lscp.y"  #line 171 "lscp.y"
1689      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
1690      break;      break;
1691    
1692    case 74:    case 74:
1693  #line 172 "lscp.y"  #line 172 "lscp.y"
1694      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }
1695      break;      break;
1696    
1697    case 75:    case 75:
1698  #line 173 "lscp.y"  #line 173 "lscp.y"
1699      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);  }
1700      break;      break;
1701    
1702    case 76:    case 76:
1703  #line 174 "lscp.y"  #line 174 "lscp.y"
1704      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);  }      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }
1705      break;      break;
1706    
1707    case 77:    case 77:
1708  #line 175 "lscp.y"  #line 175 "lscp.y"
1709      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }
1710      break;      break;
1711    
1712    case 78:    case 78:
1713  #line 176 "lscp.y"  #line 176 "lscp.y"
1714      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
1715      break;      break;
1716    
1717    case 79:    case 79:
1718  #line 177 "lscp.y"  #line 177 "lscp.y"
1719      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
1720      break;      break;
1721    
1722    case 80:    case 80:
1723  #line 178 "lscp.y"  #line 178 "lscp.y"
1724      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
1725      break;      break;
1726    
1727    case 81:    case 81:
1728  #line 179 "lscp.y"  #line 181 "lscp.y"
1729      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
1730      break;      break;
1731    
1732    case 82:    case 82:
1733  #line 182 "lscp.y"  #line 182 "lscp.y"
1734      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
1735      break;      break;
1736    
1737    case 83:    case 83:
1738  #line 183 "lscp.y"  #line 185 "lscp.y"
1739      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { yyval.FillResponse = fill_response_bytes;      }
1740      break;      break;
1741    
1742    case 84:    case 84:
1743  #line 186 "lscp.y"  #line 186 "lscp.y"
1744      { yyval.FillResponse = fill_response_bytes;      }      { yyval.FillResponse = fill_response_percentage; }
1745      break;      break;
1746    
1747    case 85:    case 85:
1748  #line 187 "lscp.y"  #line 189 "lscp.y"
1749      { yyval.FillResponse = fill_response_percentage; }      { yyval.String = LSCPSERVER->GetAudioOutputDevices();       }
1750      break;      break;
1751    
1752    case 86:    case 86:
1753  #line 190 "lscp.y"  #line 190 "lscp.y"
1754      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { yyval.String = LSCPSERVER->GetMidiInputDevices();       }
1755      break;      break;
1756    
1757    case 87:    case 87:
1758  #line 191 "lscp.y"  #line 193 "lscp.y"
1759      { yyval.String = LSCPSERVER->GetMidiInputDevices(); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }
1760      break;      break;
1761    
1762    case 88:    case 88:
1763  #line 194 "lscp.y"  #line 194 "lscp.y"
1764      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true);       }
1765      break;      break;
1766    
1767    case 89:    case 89:
1768  #line 195 "lscp.y"  #line 197 "lscp.y"
1769      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number);       }
1770      break;      break;
1771    
1772    case 90:    case 98:
1773  #line 198 "lscp.y"  #line 222 "lscp.y"
1774      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }      { yyval.Dotnum = yyvsp[0].Number; }
1775      break;      break;
1776    
1777    case 99:    case 103:
1778  #line 223 "lscp.y"  #line 237 "lscp.y"
1779      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.String = yyvsp[0].String;                                             }
1780      break;      break;
1781    
1782    case 104:    case 104:
1783  #line 238 "lscp.y"  #line 238 "lscp.y"
1784      { yyval.String = yyvsp[0].String;                                             }      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }
1785      break;      break;
1786    
1787    case 105:    case 105:
1788  #line 239 "lscp.y"  #line 239 "lscp.y"
1789      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }
1790      break;      break;
1791    
1792    case 106:    case 106:
1793  #line 240 "lscp.y"  #line 242 "lscp.y"
1794      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }      { std::string s; s = yyvsp[0].Char; yyval.String = s; }
1795      break;      break;
1796    
1797    case 107:    case 107:
1798  #line 243 "lscp.y"  #line 243 "lscp.y"
     { std::string s; s = yyvsp[0].Char; yyval.String = s; }  
     break;  
   
   case 108:  
 #line 244 "lscp.y"  
1799      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }
1800      break;      break;
1801    
1802    
1803      }      }
1804    
1805  /* Line 991 of yacc.c.  */  /* Line 999 of yacc.c.  */
1806  #line 1784 "y.tab.c"  #line 1806 "y.tab.c"
1807    
1808    yyvsp -= yylen;    yyvsp -= yylen;
1809    yyssp -= yylen;    yyssp -= yylen;
# Line 1895  yyerrlab: Line 1917  yyerrlab:
1917    
1918    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse lookahead token after shifting the error
1919       token.  */       token.  */
1920    goto yyerrlab2;    goto yyerrlab1;
1921    
1922    
1923  /*----------------------------------------------------.  /*----------------------------------------------------.
1924  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrlab1 -- error raised explicitly by an action.  |
1925  `----------------------------------------------------*/  `----------------------------------------------------*/
1926  yyerrlab1:  yyerrlab1:
   
   /* Suppress GCC warning that yyerrlab1 is unused when no action  
      invokes YYERROR.  */  
 #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) \  
     && !defined __cplusplus  
   __attribute__ ((__unused__))  
 #endif  
   
   
   goto yyerrlab2;  
   
   
 /*---------------------------------------------------------------.  
 | yyerrlab2 -- pop states until the error token can be shifted.  |  
 `---------------------------------------------------------------*/  
 yyerrlab2:  
1927    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
1928    
1929    for (;;)    for (;;)
# Line 1991  yyreturn: Line 1997  yyreturn:
1997  }  }
1998    
1999    
2000  #line 247 "lscp.y"  #line 79 "lscp.y"
2001    
2002    
2003  /**  /**
# Line 2007  void yyerror(const char* s) { Line 2013  void yyerror(const char* s) {
2013  void restart(yyparse_param_t* pparam, int& yychar) {  void restart(yyparse_param_t* pparam, int& yychar) {
2014      // restart scanner      // restart scanner
2015      yyrestart(stdin, pparam->pScanner);      yyrestart(stdin, pparam->pScanner);
     // flush input buffer  
     static char buf[1024];  
     while(recv(hSession, buf, 1024, MSG_DONTWAIT) > 0);  
2016      // reset lookahead symbol      // reset lookahead symbol
2017      yyclearin;      yyclearin;
2018  }  }

Legend:
Removed from v.160  
changed lines
  Added in v.185

  ViewVC Help
Powered by ViewVC