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

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

  ViewVC Help
Powered by ViewVC