/[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 170 by senkov, Sat Jul 3 20:08:07 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   287
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  106
336  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
337  #define YYNSTATES  307  #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
# 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,   187,   197,   199,   205,   213,   219,   225,   231,   239,
394       239,   247,   257,   265,   275,   279,   285,   289,   295,   299,       249,   257,   267,   271,   277,   281,   287,   291,   295,   299,
395       303,   307,   311,   315,   321,   329,   335,   345,   351,   357,       303,   307,   313,   321,   327,   337,   343,   349,   355,   361,
396       363,   369,   375,   379,   385,   387,   389,   391,   393,   399,       367,   371,   377,   379,   381,   383,   385,   391,   399,   403,
397       407,   411,   413,   415,   417,   419,   421,   423,   425,   427,       405,   407,   409,   411,   413,   415,   417,   419,   421,   423,
398       429,   431,   433,   435,   437,   439,   441,   443,   445       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        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,    36,
422         7,    30,     7,     5,     7,     5,    -1,    36,     7,    30,         7,    30,     7,     5,     7,     5,    -1,    37,     7,    30,
423         7,     5,     7,     5,    -1,    37,     7,    30,     7,     5,         7,     5,     7,     5,     7,    90,    -1,    29,    -1,    25,
424         7,     5,     7,    90,    -1,    29,    -1,    25,     7,    30,         7,    30,     7,    85,    -1,    25,     7,    31,     7,    73,
425         7,    85,    -1,    25,     7,    31,     7,    73,     7,    85,         7,    85,    -1,    25,     7,    32,     7,    85,    -1,    25,
426        -1,    25,     7,    32,     7,    85,    -1,    25,     7,    33,         7,    33,     7,    85,    -1,    35,     7,    30,     7,    87,
427         7,    85,    -1,    35,     7,    30,     7,    87,    -1,    40,        -1,    40,     7,     5,     7,    90,    11,    89,    -1,    37,
428         7,     5,     7,    90,    11,    89,    -1,    37,     7,     5,         7,     5,     7,     5,     7,    90,    11,    89,    -1,    54,
429         7,     5,     7,    90,    11,    89,    -1,    54,     7,     5,         7,     5,     7,    90,    11,    89,    -1,    55,     7,     5,
430         7,    90,    11,    89,    -1,    55,     7,     5,     7,     5,         7,     5,     7,    90,    11,    89,    -1,    25,     7,    71,
431         7,    90,    11,    89,    -1,    25,     7,    71,    -1,    38,        -1,    38,     7,    90,     7,    72,    -1,    38,     7,    90,
432         7,    90,     7,    72,    -1,    38,     7,    90,    -1,    52,        -1,    52,     7,    90,     7,    72,    -1,    52,     7,    90,
433         7,    90,     7,    72,    -1,    52,     7,    90,    -1,    38,        -1,    38,     7,     5,    -1,    52,     7,     5,    -1,    34,
434         7,     5,    -1,    52,     7,     5,    -1,    34,     7,    75,         7,    75,    -1,    35,     7,    76,    -1,    38,     7,    85,
435        -1,    35,     7,    76,    -1,    38,     7,    85,     7,    77,         7,    77,    -1,    36,     7,    85,     7,    78,     7,    78,
436        -1,    36,     7,    85,     7,    78,     7,    78,    -1,    43,        -1,    43,     7,    85,     7,    79,    -1,    44,     7,    85,
437         7,    85,     7,    79,    -1,    44,     7,    85,     7,    80,         7,    80,     7,    81,     7,    82,    -1,    52,     7,    85,
438         7,    81,     7,    82,    -1,    52,     7,    85,     7,    80,         7,    80,    -1,    46,     7,    85,     7,    81,    -1,    47,
439        -1,    46,     7,    85,     7,    81,    -1,    47,     7,    85,         7,    85,     7,    82,    -1,    45,     7,    85,     7,    83,
440         7,    82,    -1,    45,     7,    85,     7,    83,    -1,    48,        -1,    48,     7,    85,     7,    84,    -1,    90,    11,    89,
441         7,    85,     7,    84,    -1,    90,    11,    89,    -1,    72,        -1,    72,     7,    90,    11,    89,    -1,    56,    -1,    57,
442         7,    90,    11,    89,    -1,    56,    -1,    57,    -1,    39,        -1,    39,    -1,    53,    -1,    88,     7,    86,     7,    85,
443        -1,    53,    -1,    88,     7,    86,     7,    85,    -1,    18,        -1,    18,     7,    88,     7,    86,     7,    85,    -1,    87,
444         7,    88,     7,    86,     7,    85,    -1,    87,     7,    85,         7,    85,    -1,     5,    -1,     5,    -1,    90,    -1,     5,
445        -1,     5,    -1,     5,    -1,    90,    -1,     5,    -1,     5,        -1,     5,    -1,     5,    -1,    90,    -1,     4,    -1,     5,
446        -1,     5,    -1,    90,    -1,     4,    -1,     5,    -1,     5,        -1,     5,    -1,     5,    -1,    90,    -1,     6,    -1,     6,
447        -1,     5,    -1,    90,    -1,     6,    -1,     6,    -1,     5,        -1,     5,    -1,     4,    -1,     3,    -1,    90,     3,    -1
       -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,    78,    78,    79,    80,    83,    84,    85,    86,    89,         0,    79,    79,    81,    82,    83,    84,    87,    88,    89,
454        90,    91,    92,    93,    96,    97,    98,    99,   100,   101,        90,    91,    94,    95,    96,    97,    98,    99,   100,   101,
455       102,   103,   104,   105,   106,   107,   110,   111,   112,   113,       102,   103,   104,   105,   108,   109,   110,   111,   112,   113,
456       114,   115,   118,   119,   120,   121,   122,   123,   126,   127,       116,   117,   118,   119,   120,   121,   124,   125,   126,   127,
457       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
458       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,       138,   139,   140,   141,   142,   143,   144,   145,   148,   149,
459       150,   151,   152,   153,   154,   157,   158,   159,   160,   163,       150,   151,   152,   155,   156,   157,   158,   161,   162,   165,
460       164,   167,   168,   171,   172,   173,   174,   175,   176,   177,       166,   169,   170,   171,   172,   173,   174,   175,   176,   177,
461       178,   179,   182,   183,   186,   187,   190,   191,   194,   195,       180,   181,   184,   185,   188,   189,   192,   193,   196,   199,
462       198,   201,   204,   207,   210,   213,   216,   219,   222,   223,       202,   205,   208,   211,   214,   217,   220,   221,   224,   227,
463       226,   229,   232,   235,   238,   239,   240,   243,   244       230,   233,   236,   237,   238,   241,   242
464  };  };
465  #endif  #endif
466    
# Line 513  static const unsigned short yytoknum[] = Line 513  static const unsigned short yytoknum[] =
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,    59,    60,    60,    60,    61,    61,    61,    61,    62,         0,    59,    60,    61,    61,    61,    61,    62,    62,    62,
517        62,    62,    62,    62,    63,    63,    63,    63,    63,    63,        62,    62,    63,    63,    63,    63,    63,    63,    63,    63,
518        63,    63,    63,    63,    63,    63,    64,    64,    64,    64,        63,    63,    63,    63,    64,    64,    64,    64,    64,    64,
519        64,    64,    65,    65,    65,    65,    65,    65,    66,    66,        65,    65,    65,    65,    65,    65,    66,    66,    66,    66,
520        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,
521        66,    66,    66,    66,    66,    66,    66,    66,    66,    66,        66,    66,    66,    66,    66,    66,    66,    66,    67,    67,
522        67,    67,    67,    67,    67,    68,    68,    68,    68,    69,        67,    67,    67,    68,    68,    68,    68,    69,    69,    70,
523        69,    70,    70,    71,    71,    71,    71,    71,    71,    71,        70,    71,    71,    71,    71,    71,    71,    71,    71,    71,
524        71,    71,    72,    72,    73,    73,    74,    74,    75,    75,        72,    72,    73,    73,    74,    74,    75,    75,    76,    77,
525        76,    77,    78,    79,    80,    81,    82,    83,    84,    84,        78,    79,    80,    81,    82,    83,    84,    84,    85,    86,
526        85,    86,    87,    88,    89,    89,    89,    90,    90        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,     1,     5,         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  
543  };  };
544    
545  /* 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 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,
        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,  
552         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
553         0,     0,     0,     0,     0,     0,     0,     0,     4,     0,         1,     2,   105,    10,     9,     8,    11,    12,     0,    36,
554          41,    52,     0,     0,     0,     0,    45,     0,     0,     0,
555           0,     0,    37,     0,    46,    13,     0,     0,    14,     0,
556           0,    15,    84,    85,    16,     0,     0,    17,     0,     0,
557           0,     0,     0,     0,    19,    24,    28,    27,    26,    25,
558          29,    20,    30,    34,    33,    32,    31,    35,    21,     0,
559         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,
        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,  
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,     0,     0,     0,     0,     0,     0,    64,
563          66,    67,    68,   101,     0,    69,     0,    70,     0,   100,
564          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,
        0,     0,     0,    55,    84,    85,     0,    57,    58,    59,  
        0,     0,    49,    44,     0,     0,    40,     0,    50,    65,  
        0,    67,     0,   101,     0,    90,     0,     0,     0,     0,  
567         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
568           0,     0,     0,     0,     0,     0,     0,     0,     0,    53,
569          82,    83,     0,    55,    56,    57,     0,     0,    47,    42,
570           0,     0,    38,     0,    48,    63,     0,    65,     0,    99,
571           0,    88,     0,     0,     0,     0,     0,     0,     0,     0,
572         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     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,    56,    52,     0,    45,    51,    41,     0,   106,         0,     0,     0,     0,     0,     0,     0,     0,    54,    50,
575       105,   104,    82,     0,    88,    92,     0,    91,    73,    75,         0,    43,    49,    39,     0,   104,   103,   102,    80,     0,
576        93,    94,     0,    80,    97,    95,    78,    96,    79,    98,        86,    90,     0,    89,    71,    73,    91,    92,     0,    78,
577        99,    81,    77,     0,    60,    62,     0,     0,     0,     0,        95,    93,    76,    94,    77,    96,    97,    79,    75,     0,
578         0,     0,     0,     0,     0,     0,    53,    46,    42,    83,        58,    60,     0,     0,     0,     0,     0,     0,     0,     0,
579        89,    74,     0,    61,    63,     0,    76         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,    82,    89,    56,    75,    59,        -1,    15,    16,    17,    18,    81,    88,    55,    74,    58,
587        62,    68,   155,   209,   196,    65,   139,   141,   268,   266,        61,    67,   151,   205,   192,    64,   135,   137,   264,   262,
588       269,   272,   276,   278,   273,   281,   145,   214,   142,   140,       265,   268,   272,   274,   269,   277,   141,   210,   138,   136,
589       262,   210       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 -245  #define YYPACT_NINF -242
595  static const short yypact[] =  static const short yypact[] =
596  {  {
597       168,  -245,  -245,    30,    51,    68,   101,   105,   109,   129,       163,  -242,  -242,     6,    20,    71,    82,    86,    90,   100,
598       130,   131,   132,   133,  -245,    34,  -245,    52,  -245,    16,       120,   122,   123,   124,  -242,   128,   125,    51,  -242,   107,
599        82,   -21,    -8,    -1,   -27,    55,   -22,    -9,    -4,    70,        67,   -27,   -26,   -25,    41,   109,   -22,   -23,   -10,   110,
600      -245,   168,    90,  -245,  -245,  -245,  -245,    93,  -245,   134,      -242,  -242,  -242,  -242,  -242,  -242,   133,  -242,   130,  -242,
601      -245,  -245,  -245,   135,   136,   137,   138,  -245,   139,   140,      -242,  -242,   131,   132,   134,   135,  -242,   136,   138,   139,
602       142,   143,   144,  -245,   147,  -245,  -245,   150,   151,  -245,       140,   143,  -242,   146,  -242,  -242,   147,   148,  -242,   149,
603       152,   153,  -245,  -245,  -245,  -245,   154,   155,  -245,   156,       150,  -242,  -242,  -242,  -242,   151,   152,  -242,   153,   154,
604       157,   158,   159,   160,   163,  -245,  -245,  -245,  -245,  -245,       155,   156,   158,   159,  -242,  -242,  -242,  -242,  -242,  -242,
605      -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,  -245,      -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,   160,
606       164,  -245,   168,  -245,    73,   149,   165,   166,   167,   169,      -242,    68,   142,   161,   162,   164,   165,   166,   167,   168,
607       170,   171,   172,   173,   174,   183,   183,   188,   189,    -2,       169,   170,   137,   137,   176,   183,    11,   137,   184,    36,
608       183,   193,    38,   200,   201,   202,   203,   193,  -245,   204,       185,   188,   196,   197,   184,   198,   199,   200,   201,   202,
609       205,   206,   207,   209,   212,   213,   214,   215,   216,   218,       203,   205,   208,   209,   210,   211,   212,   214,   216,    33,
610       220,   221,   222,     6,     7,  -245,  -245,  -245,   223,  -245,        34,  -242,  -242,  -242,   217,  -242,   218,  -242,   219,   133,
611       225,  -245,   226,    93,  -245,  -245,   228,   229,   230,   231,      -242,  -242,   221,   222,   224,   225,   226,   227,   228,   229,
612       232,   233,   234,   235,   236,  -245,   237,   238,   239,   240,       230,  -242,   231,   232,   233,   234,  -242,   184,    54,   184,
613      -245,   193,    21,   193,   193,   183,   243,   244,   245,   183,       184,   137,   237,   238,   239,   137,   137,   240,   137,   137,
614       183,   246,   183,   183,   247,   183,   183,   248,   250,   193,       241,   137,   137,   242,   244,   184,   184,   184,   184,   184,
615       193,   193,   193,   193,   193,   193,   193,   193,   193,   251,       184,   184,   184,   184,   184,   245,   137,   137,   246,  -242,
616       183,   183,   252,  -245,  -245,  -245,   253,  -245,  -245,  -245,      -242,  -242,   247,  -242,  -242,  -242,   248,   249,  -242,   133,
617       254,   255,  -245,    93,    32,   256,    93,    33,  -245,   257,        50,   250,   133,    52,  -242,   251,    13,   251,   252,  -242,
618         8,   257,   258,  -245,   259,  -245,   260,   261,   262,   264,       253,  -242,   254,   255,   256,   257,   258,   260,   261,   262,
619       265,   266,   267,   268,   269,   270,    50,    76,   271,   193,       263,   264,    27,    28,   265,   184,   268,   269,   137,   270,
620       274,   275,   183,   276,   183,   183,   121,   250,   193,   277,       137,   137,   118,   244,   184,   271,   272,   137,   273,   137,
621       278,   183,   279,   183,   280,   281,   125,   279,   183,   121,       274,   275,   121,   273,   137,   118,   118,   137,  -242,  -242,
622       121,   183,  -245,  -245,   282,    53,  -245,    94,    88,  -245,       276,    70,  -242,    84,    31,  -242,  -242,  -242,  -242,   277,
623      -245,  -245,  -245,   283,  -245,  -245,   284,  -245,  -245,  -245,      -242,  -242,   278,  -242,  -242,  -242,   133,  -242,   279,  -242,
624        93,  -245,   285,  -245,    93,  -245,  -245,  -245,  -245,  -245,       133,  -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,    40,
625      -245,  -245,  -245,    89,  -245,  -245,    91,   183,   183,   183,      -242,  -242,    49,   137,   137,   137,   118,   184,   271,   274,
626       121,   193,   277,   280,   121,   121,    93,   257,   257,  -245,       118,   118,   133,   251,   251,  -242,  -242,  -242,   280,  -242,
627      -245,  -245,   286,  -245,  -245,   281,  -245      -242,   275,  -242
628  };  };
629    
630  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
631  static const short yypgoto[] =  static const short yypgoto[] =
632  {  {
633      -245,  -245,   -19,  -245,  -245,  -245,  -245,  -245,  -245,  -245,      -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,  -242,
634      -245,  -245,  -245,  -174,  -245,  -245,  -245,  -245,  -245,  -120,      -242,  -242,  -242,  -170,  -242,  -242,  -242,  -242,  -242,  -120,
635      -245,   -38,   -83,   -52,  -245,  -245,  -116,    22,   122,    81,      -242,   -40,   -85,   -54,  -242,  -242,  -113,    19,    92,   108,
636      -244,   -17      -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,   160,   211,    70,   137,   284,   285,    66,    67,    93,        36,   156,   207,    69,   280,   281,    75,    76,    77,    78,
647        93,    93,    91,   175,   176,    71,   138,    57,    72,   236,        79,    56,    59,    19,    62,    70,    90,   133,    71,    82,
648        76,    77,    78,    79,    80,    83,    84,    85,    86,    87,        83,    84,    85,    86,   232,    57,    60,    20,    63,   134,
649        60,    58,    73,    74,    30,    93,    93,    19,    63,   232,        90,    90,    72,    73,    90,    80,    90,    90,   245,   246,
650       234,    38,    31,    32,    61,   193,   299,   197,   198,    81,       171,   172,   286,    90,   189,   295,   193,   194,    87,   299,
651       303,   304,    64,    93,    88,    33,    93,    34,    20,    35,       300,   290,    90,    90,    32,    90,    33,   228,    34,   230,
652       288,   249,    36,   215,   216,   217,   218,   219,   220,   221,       291,    35,   211,   212,   213,   214,   215,   216,   217,   218,
653       222,   223,   224,   118,   146,    21,   147,   194,   195,    93,       219,   220,   142,    90,   143,    65,    66,   284,    21,   144,
654        69,   148,   149,   150,   151,   152,   153,   250,   133,   134,       145,   146,   147,   148,   149,   129,   130,    90,   150,    22,
655       154,    93,    93,   143,    93,    90,    93,    93,    92,   290,       139,   285,    38,    23,    39,    40,    41,    24,   115,   116,
656       294,   289,   295,   119,   120,   121,   122,    39,    22,    40,       117,   118,    42,    43,    44,    45,    46,    25,    47,    48,
657        41,    42,    23,   252,   297,   298,    24,    43,    44,    45,       190,   191,   248,    49,   293,   294,    50,    51,    52,    53,
658        46,    47,   264,    48,    49,   259,   260,   261,    50,   279,        54,   260,   255,   256,   257,   275,   276,    26,    30,    27,
659       280,    51,    52,    53,    54,    55,    25,    26,    27,    28,        28,    29,    37,    31,    68,    89,    90,    91,    92,    93,
660        29,    94,    95,    96,    97,    98,    99,   100,   143,   101,        32,    94,    95,    96,   139,    97,    98,    99,   199,   200,
661       102,   103,   203,   204,   104,   206,   207,   105,   106,   107,       100,   202,   203,   101,   102,   103,   104,   105,   106,   107,
662       108,   109,   110,   111,   112,   113,   114,   115,    -5,     1,       108,   109,   110,   111,     1,   112,   113,   114,   297,   222,
663       116,   117,   301,   226,   227,   300,    -5,    -5,     2,   123,       223,    -3,   119,     2,   296,     3,     4,     5,     6,     7,
664         3,     4,     5,     6,     7,     8,    33,     9,    10,    11,         8,   131,     9,    10,    11,    12,    13,    14,   132,   140,
665        12,    13,    14,   135,   136,   124,   125,   126,   144,   127,       152,   120,   121,   153,   122,   123,   124,   125,   126,   127,
666       128,   129,   130,   131,   132,   156,   157,   158,   159,   282,       128,   154,   155,   278,   298,   157,   158,   159,   160,   161,
667       302,   161,   162,   163,   164,   255,   165,   257,   258,   166,       162,   251,   163,   253,   254,   164,   165,   166,   167,   168,
668       167,   168,   169,   170,   270,   171,   274,   172,   173,   174,       266,   169,   270,   170,   173,   174,   175,   279,   176,   177,
669       177,   283,   178,   179,   286,   180,   181,   182,   183,   184,       282,   178,   179,   180,   181,   182,   183,   184,   185,   186,
670       185,   186,   187,   188,   189,   190,   191,   192,   200,   201,       187,   188,   196,   197,   198,   201,   204,   302,   133,   209,
671       202,   205,   208,   306,   137,   213,   225,   228,   212,   263,       221,   224,   259,   195,   225,   226,   227,   229,   231,   233,
672       229,   230,   231,   233,   235,   237,   238,   239,   240,   241,       234,   235,   236,   237,   238,   239,   292,   240,   241,   242,
673       296,   242,   243,   244,   245,   246,   247,   248,   251,   253,       243,   244,   247,   249,   250,   252,   261,   263,   267,   271,
674       254,   256,   265,   267,   271,   275,   277,   199,     0,   287,       273,   208,     0,   283,   287,   288,   289,   301
      291,   292,   293,   305  
675  };  };
676    
677  static const short yycheck[] =  static const short yycheck[] =
678  {  {
679        17,   117,   176,    25,     6,   249,   250,    34,    35,     3,        17,   114,   172,    25,   245,   246,    29,    30,    31,    32,
680         3,     3,    31,     7,     7,    37,    18,    38,    40,    11,        33,    38,    38,     7,    39,    37,     3,     6,    40,    29,
681        29,    30,    31,    32,    33,    29,    30,    31,    32,    33,        30,    31,    32,    33,    11,    52,    52,     7,    53,    18,
682        38,    52,    54,    55,     0,     3,     3,     7,    39,     7,         3,     3,    54,    55,     3,    58,     3,     3,    11,    11,
683         7,    25,     8,     9,    52,   161,   290,   163,   164,    58,         7,     7,    11,     3,   157,   286,   159,   160,    58,   290,
684       294,   295,    53,     3,    58,     3,     3,     5,     7,     7,       291,    11,     3,     3,     3,     3,     5,     7,     7,     7,
685         7,    11,    10,   179,   180,   181,   182,   183,   184,   185,        11,    10,   175,   176,   177,   178,   179,   180,   181,   182,
686       186,   187,   188,    92,    36,     7,    38,    56,    57,     3,       183,   184,    36,     3,    38,    34,    35,     7,     7,    43,
687        25,    43,    44,    45,    46,    47,    48,    11,   105,   106,        44,    45,    46,    47,    48,   102,   103,     3,    52,     7,
688        52,     3,     3,   110,     3,    25,     3,     3,     8,    11,       107,     7,    25,     7,    27,    28,    29,     7,    30,    31,
689        11,     7,    11,    30,    31,    32,    33,    25,     7,    27,        32,    33,    35,    36,    37,    38,    39,     7,    41,    42,
690        28,    29,     7,   229,   288,   289,     7,    35,    36,    37,        56,    57,   225,    46,   284,   285,    49,    50,    51,    52,
691        38,    39,   238,    41,    42,     4,     5,     6,    46,     4,        53,   234,     4,     5,     6,     4,     5,     7,     0,     7,
692         5,    49,    50,    51,    52,    53,     7,     7,     7,     7,         7,     7,    25,     8,    25,    25,     3,     7,     7,     7,
693         7,     7,     7,     7,     7,     7,     7,     7,   165,     7,         3,     7,     7,     7,   161,     7,     7,     7,   165,   166,
694         7,     7,   169,   170,     7,   172,   173,     7,     7,     7,         7,   168,   169,     7,     7,     7,     7,     7,     7,     7,
695         7,     7,     7,     7,     7,     7,     7,     7,     0,     1,         7,     7,     7,     7,     1,     7,     7,     7,   288,   186,
696         7,     7,   292,   190,   191,   291,     8,     9,    10,    30,       187,     8,    30,    10,   287,    12,    13,    14,    15,    16,
697        12,    13,    14,    15,    16,    17,     3,    19,    20,    21,        17,     5,    19,    20,    21,    22,    23,    24,     5,     5,
698        22,    23,    24,     5,     5,    30,    30,    30,     5,    30,         5,    30,    30,     5,    30,    30,    30,    30,    30,    30,
699        30,    30,    30,    30,    30,     5,     5,     5,     5,   247,        30,     5,     5,   243,   289,     7,     7,     7,     7,     7,
700       293,     7,     7,     7,     7,   232,     7,   234,   235,     7,         7,   228,     7,   230,   231,     7,     7,     7,     7,     7,
701         7,     7,     7,     7,   241,     7,   243,     7,     7,     7,       237,     7,   239,     7,     7,     7,     7,   244,     7,     7,
702         7,   248,     7,     7,   251,     7,     7,     7,     7,     7,       247,     7,     7,     7,     7,     7,     7,     7,     7,     7,
703         7,     7,     7,     7,     7,     7,     7,     7,     5,     5,         7,     7,     5,     5,     5,     5,     5,   301,     6,     5,
704         5,     5,     5,   305,     6,     5,     5,     5,   177,   237,         5,     5,   233,   161,     7,     7,     7,     7,     7,     7,
705         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,   283,     7,     7,     7,
706       287,     7,     7,     7,     7,     7,     7,     7,     7,     5,         7,     7,     7,     5,     5,     5,     5,     5,     5,     5,
707         5,     5,     5,     5,     5,     5,     5,   165,    -1,     7,         5,   173,    -1,     7,     7,     7,     7,     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 716  static const unsigned char yystos[] = Line 714  static const unsigned char yystos[] =
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,    60,    61,    62,    63,     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,    90,    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        46,    49,    50,    51,    52,    53,    66,    38,    52,    68,        49,    50,    51,    52,    53,    66,    38,    52,    68,    38,
720        38,    52,    69,    39,    53,    74,    34,    35,    70,    25,        52,    69,    39,    53,    74,    34,    35,    70,    25,    25,
721        25,    37,    40,    54,    55,    67,    29,    30,    31,    32,        37,    40,    54,    55,    67,    29,    30,    31,    32,    33,
722        33,    58,    64,    29,    30,    31,    32,    33,    58,    65,        58,    64,    29,    30,    31,    32,    33,    58,    65,    25,
723        25,    61,     8,     3,     7,     7,     7,     7,     7,     7,         3,     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,     7,     7,     7,     7,     7,    61,    30,         7,     7,     7,     7,     7,    30,    31,    32,    33,    30,
726        31,    32,    33,    30,    30,    30,    30,    30,    30,    30,        30,    30,    30,    30,    30,    30,    30,    30,    30,    90,
727        30,    30,    30,    90,    90,     5,     5,     6,    18,    75,        90,     5,     5,     6,    18,    75,    88,    76,    87,    90,
728        88,    76,    87,    90,     5,    85,    36,    38,    43,    44,         5,    85,    36,    38,    43,    44,    45,    46,    47,    48,
729        45,    46,    47,    48,    52,    71,     5,     5,     5,     5,        52,    71,     5,     5,     5,     5,    85,     7,     7,     7,
       85,     7,     7,     7,     7,     7,     7,     7,     7,     7,  
730         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
731         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,
732         7,     7,     7,    85,    56,    57,    73,    85,    85,    87,         7,     7,     7,     7,     7,     7,     7,     7,     7,    85,
733         5,     5,     5,    90,    90,     5,    90,    90,     5,    72,        56,    57,    73,    85,    85,    87,     5,     5,     5,    90,
734        90,    72,    88,     5,    86,    85,    85,    85,    85,    85,        90,     5,    90,    90,     5,    72,    90,    72,    88,     5,
735        85,    85,    85,    85,    85,     5,    90,    90,     5,     7,        86,    85,    85,    85,    85,    85,    85,    85,    85,    85,
736         7,     7,     7,     7,     7,     7,    11,     7,     7,     7,        85,     5,    90,    90,     5,     7,     7,     7,     7,     7,
737         7,     7,     7,     7,     7,     7,     7,     7,     7,    11,         7,     7,    11,     7,     7,     7,     7,     7,     7,     7,
738        11,     7,    85,     5,     5,    90,     5,    90,    90,     4,         7,     7,     7,     7,     7,    11,    11,     7,    85,     5,
739         5,     6,    89,    86,    85,     5,    78,     5,    77,    79,         5,    90,     5,    90,    90,     4,     5,     6,    89,    86,
740        90,     5,    80,    83,    90,     5,    81,     5,    82,     4,        85,     5,    78,     5,    77,    79,    90,     5,    80,    83,
741         5,    84,    80,    90,    89,    89,    90,     7,     7,     7,        90,     5,    81,     5,    82,     4,     5,    84,    80,    90,
742        11,     7,     7,     7,    11,    11,    90,    72,    72,    89,        89,    89,    90,     7,     7,     7,    11,     7,     7,     7,
743        85,    78,    81,    89,    89,     7,    82        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 771  static const unsigned char yystos[] = Line 769  static const unsigned char yystos[] =
769  #define YYABORT         goto yyabortlab  #define YYABORT         goto yyabortlab
770  #define YYERROR         goto yyerrlab1  #define YYERROR         goto yyerrlab1
771    
772    
773  /* Like YYERROR except do call yyerror.  This remains here temporarily  /* Like YYERROR except do call yyerror.  This remains here temporarily
774     to ease the transition to the new meaning of YYERROR, for GCC.     to ease the transition to the new meaning of YYERROR, for GCC.
775     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 1351  yyreduce:
1351    YY_REDUCE_PRINT (yyn);    YY_REDUCE_PRINT (yyn);
1352    switch (yyn)    switch (yyn)
1353      {      {
1354          case 7:          case 3:
1355  #line 85 "lscp.y"  #line 81 "lscp.y"
1356      { LSCPSERVER->AnswerClient(yyvsp[0].String); }      { return LSCP_DONE; }
1357        break;
1358    
1359      case 4:
1360    #line 82 "lscp.y"
1361        { return LSCP_DONE; }
1362      break;      break;
1363    
1364    case 8:    case 5:
1365  #line 86 "lscp.y"  #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 12:
1375    #line 94 "lscp.y"
1376        { yyval.String = LSCPSERVER->AddChannel();                  }
1377        break;
1378    
1379      case 13:
1380    #line 95 "lscp.y"
1381        { yyval.String = yyvsp[0].String;                                        }
1382        break;
1383    
1384    case 14:    case 14:
1385  #line 96 "lscp.y"  #line 96 "lscp.y"
1386      { yyval.String = LSCPSERVER->AddChannel();                  }      { yyval.String = yyvsp[0].String;                                        }
1387      break;      break;
1388    
1389    case 15:    case 15:
# Line 1384  yyreduce: Line 1403  yyreduce:
1403    
1404    case 18:    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 19:    case 19:
# Line 1394  yyreduce: Line 1413  yyreduce:
1413    
1414    case 20:    case 20:
1415  #line 102 "lscp.y"  #line 102 "lscp.y"
1416      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }      { yyval.String = yyvsp[0].String;                                        }
1417      break;      break;
1418    
1419    case 21:    case 21:
# Line 1404  yyreduce: Line 1423  yyreduce:
1423    
1424    case 22:    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 23:    case 23:
1430  #line 105 "lscp.y"  #line 105 "lscp.y"
1431      { yyval.String = yyvsp[0].String;                                        }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
1432      break;      break;
1433    
1434    case 24:    case 24:
1435  #line 106 "lscp.y"  #line 108 "lscp.y"
1436      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels); }
1437      break;      break;
1438    
1439    case 25:    case 25:
1440  #line 107 "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 110 "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 111 "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 112 "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 113 "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 114 "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 115 "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 118 "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 119 "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 120 "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 121 "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 122 "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 123 "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 126 "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 127 "lscp.y"  #line 127 "lscp.y"
1511      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();               }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }
1512      break;      break;
1513    
1514    case 40:    case 40:
1515  #line 128 "lscp.y"  #line 128 "lscp.y"
1516      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(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 129 "lscp.y"  #line 129 "lscp.y"
1521      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();       }
1522      break;      break;
1523    
1524    case 42:    case 42:
1525  #line 130 "lscp.y"  #line 130 "lscp.y"
1526      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(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 131 "lscp.y"  #line 131 "lscp.y"
1531      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }
1532      break;      break;
1533    
1534    case 44:    case 44:
1535  #line 132 "lscp.y"  #line 132 "lscp.y"
1536      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);       }
1537      break;      break;
1538    
1539    case 45:    case 45:
1540  #line 133 "lscp.y"  #line 133 "lscp.y"
1541      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();       }
1542      break;      break;
1543    
1544    case 46:    case 46:
1545  #line 134 "lscp.y"  #line 134 "lscp.y"
1546      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();       }
1547      break;      break;
1548    
1549    case 47:    case 47:
1550  #line 135 "lscp.y"  #line 135 "lscp.y"
1551      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);       }
1552      break;      break;
1553    
1554    case 48:    case 48:
1555  #line 136 "lscp.y"  #line 136 "lscp.y"
1556      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                    }      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);       }
1557      break;      break;
1558    
1559    case 49:    case 49:
1560  #line 137 "lscp.y"  #line 137 "lscp.y"
1561      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);       }
1562      break;      break;
1563    
1564    case 50:    case 50:
1565  #line 138 "lscp.y"  #line 138 "lscp.y"
1566      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                   }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);       }
1567      break;      break;
1568    
1569    case 51:    case 51:
1570  #line 139 "lscp.y"  #line 139 "lscp.y"
1571      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, 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 140 "lscp.y"  #line 140 "lscp.y"
1576      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }      { yyval.String = LSCPSERVER->GetChannels();       }
1577      break;      break;
1578    
1579    case 53:    case 53:
1580  #line 141 "lscp.y"  #line 141 "lscp.y"
1581      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);       }
1582      break;      break;
1583    
1584    case 54:    case 54:
1585  #line 142 "lscp.y"  #line 142 "lscp.y"
1586      { yyval.String = LSCPSERVER->GetChannels();                                  }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);       }
1587      break;      break;
1588    
1589    case 55:    case 55:
1590  #line 143 "lscp.y"  #line 143 "lscp.y"
1591      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);       }
1592      break;      break;
1593    
1594    case 56:    case 56:
1595  #line 144 "lscp.y"  #line 144 "lscp.y"
1596      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);       }
1597      break;      break;
1598    
1599    case 57:    case 57:
1600  #line 145 "lscp.y"  #line 145 "lscp.y"
1601      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);       }
1602      break;      break;
1603    
1604    case 58:    case 58:
1605  #line 146 "lscp.y"  #line 148 "lscp.y"
1606      { yyval.String = LSCPSERVER->GetVoiceCount(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 147 "lscp.y"  #line 149 "lscp.y"
1611      { yyval.String = LSCPSERVER->GetEngineInfo(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 150 "lscp.y"  #line 150 "lscp.y"
1616      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].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 151 "lscp.y"  #line 151 "lscp.y"
1621      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, 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);       }
1622      break;      break;
1623    
1624    case 62:    case 62:
1625  #line 152 "lscp.y"  #line 152 "lscp.y"
1626      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = yyvsp[0].String;                                                         }
1627      break;      break;
1628    
1629    case 63:    case 63:
1630  #line 153 "lscp.y"  #line 155 "lscp.y"
1631      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
1632      break;      break;
1633    
1634    case 64:    case 64:
1635  #line 154 "lscp.y"  #line 156 "lscp.y"
1636      { yyval.String = yyvsp[0].String;                                                         }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }
1637      break;      break;
1638    
1639    case 65:    case 65:
1640  #line 157 "lscp.y"  #line 157 "lscp.y"
1641      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }
1642      break;      break;
1643    
1644    case 66:    case 66:
1645  #line 158 "lscp.y"  #line 158 "lscp.y"
1646      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }
1647      break;      break;
1648    
1649    case 67:    case 67:
1650  #line 159 "lscp.y"  #line 161 "lscp.y"
1651      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number);       }
1652      break;      break;
1653    
1654    case 68:    case 68:
1655  #line 160 "lscp.y"  #line 162 "lscp.y"
1656      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);         }
1657      break;      break;
1658    
1659    case 69:    case 69:
1660  #line 163 "lscp.y"  #line 165 "lscp.y"
1661      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }      { yyval.String = yyvsp[0].String; }
1662      break;      break;
1663    
1664    case 70:    case 70:
1665  #line 164 "lscp.y"  #line 166 "lscp.y"
1666      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number); }      { yyval.String = yyvsp[0].String; }
1667      break;      break;
1668    
1669    case 71:    case 71:
1670  #line 167 "lscp.y"  #line 169 "lscp.y"
1671      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
1672      break;      break;
1673    
1674    case 72:    case 72:
1675  #line 168 "lscp.y"  #line 170 "lscp.y"
1676      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
1677      break;      break;
1678    
1679    case 73:    case 73:
1680  #line 171 "lscp.y"  #line 171 "lscp.y"
1681      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }
1682      break;      break;
1683    
1684    case 74:    case 74:
1685  #line 172 "lscp.y"  #line 172 "lscp.y"
1686      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);  }
1687      break;      break;
1688    
1689    case 75:    case 75:
1690  #line 173 "lscp.y"  #line 173 "lscp.y"
1691      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }
1692      break;      break;
1693    
1694    case 76:    case 76:
1695  #line 174 "lscp.y"  #line 174 "lscp.y"
1696      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);  }      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }
1697      break;      break;
1698    
1699    case 77:    case 77:
1700  #line 175 "lscp.y"  #line 175 "lscp.y"
1701      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
1702      break;      break;
1703    
1704    case 78:    case 78:
1705  #line 176 "lscp.y"  #line 176 "lscp.y"
1706      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
1707      break;      break;
1708    
1709    case 79:    case 79:
1710  #line 177 "lscp.y"  #line 177 "lscp.y"
1711      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
1712      break;      break;
1713    
1714    case 80:    case 80:
1715  #line 178 "lscp.y"  #line 180 "lscp.y"
1716      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
1717      break;      break;
1718    
1719    case 81:    case 81:
1720  #line 179 "lscp.y"  #line 181 "lscp.y"
1721      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
1722      break;      break;
1723    
1724    case 82:    case 82:
1725  #line 182 "lscp.y"  #line 184 "lscp.y"
1726      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { yyval.FillResponse = fill_response_bytes;      }
1727      break;      break;
1728    
1729    case 83:    case 83:
1730  #line 183 "lscp.y"  #line 185 "lscp.y"
1731      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { yyval.FillResponse = fill_response_percentage; }
1732      break;      break;
1733    
1734    case 84:    case 84:
1735  #line 186 "lscp.y"  #line 188 "lscp.y"
1736      { yyval.FillResponse = fill_response_bytes;      }      { yyval.String = LSCPSERVER->GetAudioOutputDevices();       }
1737      break;      break;
1738    
1739    case 85:    case 85:
1740  #line 187 "lscp.y"  #line 189 "lscp.y"
1741      { yyval.FillResponse = fill_response_percentage; }      { yyval.String = LSCPSERVER->GetMidiInputDevices();       }
1742      break;      break;
1743    
1744    case 86:    case 86:
1745  #line 190 "lscp.y"  #line 192 "lscp.y"
1746      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }
1747      break;      break;
1748    
1749    case 87:    case 87:
1750  #line 191 "lscp.y"  #line 193 "lscp.y"
1751      { yyval.String = LSCPSERVER->GetMidiInputDevices(); }      { 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 194 "lscp.y"  #line 196 "lscp.y"
1756      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); }      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number);       }
     break;  
   
   case 89:  
 #line 195 "lscp.y"  
     { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }  
     break;  
   
   case 90:  
 #line 198 "lscp.y"  
     { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }  
1757      break;      break;
1758    
1759    case 99:    case 97:
1760  #line 223 "lscp.y"  #line 221 "lscp.y"
1761      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.Dotnum = yyvsp[0].Number; }
1762      break;      break;
1763    
1764    case 104:    case 102:
1765  #line 238 "lscp.y"  #line 236 "lscp.y"
1766      { yyval.String = yyvsp[0].String;                                             }      { yyval.String = yyvsp[0].String;                                             }
1767      break;      break;
1768    
1769    case 105:    case 103:
1770  #line 239 "lscp.y"  #line 237 "lscp.y"
1771      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }
1772      break;      break;
1773    
1774    case 106:    case 104:
1775  #line 240 "lscp.y"  #line 238 "lscp.y"
1776      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }
1777      break;      break;
1778    
1779    case 107:    case 105:
1780  #line 243 "lscp.y"  #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 108:    case 106:
1785  #line 244 "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    
1789    
1790      }      }
1791    
1792  /* Line 991 of yacc.c.  */  /* Line 999 of yacc.c.  */
1793  #line 1784 "y.tab.c"  #line 1793 "y.tab.c"
1794    
1795    yyvsp -= yylen;    yyvsp -= yylen;
1796    yyssp -= yylen;    yyssp -= yylen;
# Line 1895  yyerrlab: Line 1904  yyerrlab:
1904    
1905    /* Else will try to reuse lookahead token after shifting the error    /* Else will try to reuse lookahead token after shifting the error
1906       token.  */       token.  */
1907    goto yyerrlab2;    goto yyerrlab1;
1908    
1909    
1910  /*----------------------------------------------------.  /*----------------------------------------------------.
1911  | yyerrlab1 -- error raised explicitly by an action.  |  | yyerrlab1 -- error raised explicitly by an action.  |
1912  `----------------------------------------------------*/  `----------------------------------------------------*/
1913  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:  
1914    yyerrstatus = 3;      /* Each real token shifted decrements this.  */    yyerrstatus = 3;      /* Each real token shifted decrements this.  */
1915    
1916    for (;;)    for (;;)
# Line 1991  yyreturn: Line 1984  yyreturn:
1984  }  }
1985    
1986    
1987  #line 247 "lscp.y"  #line 79 "lscp.y"
1988    
1989    
1990  /**  /**
# Line 2007  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.160  
changed lines
  Added in v.170

  ViewVC Help
Powered by ViewVC