--- linuxsampler/trunk/src/network/lscpparser.cpp 2004/06/29 21:44:12 160 +++ linuxsampler/trunk/src/network/lscpparser.cpp 2004/07/03 20:08:07 170 @@ -177,6 +177,7 @@ #include "lscpparser.h" #include "lscpserver.h" +#include "lscpevent.h" // as we need an reentrant scanner, we have to pass the pointer to the scanner with each yylex() call #define YYLEX_PARAM ((yyparse_param_t*) yyparse_param)->pScanner @@ -225,7 +226,7 @@ /* Line 214 of yacc.c. */ -#line 228 "y.tab.c" +#line 229 "y.tab.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE @@ -324,16 +325,16 @@ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 30 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 293 +#define YYLAST 287 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 59 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 32 /* YYNRULES -- Number of rules. */ -#define YYNRULES 108 +#define YYNRULES 106 /* YYNRULES -- Number of states. */ -#define YYNSTATES 307 +#define YYNSTATES 303 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 @@ -384,83 +385,82 @@ YYRHS. */ static const unsigned short yyprhs[] = { - 0, 0, 3, 5, 9, 14, 15, 17, 19, 21, - 23, 26, 29, 32, 35, 39, 43, 47, 51, 55, - 59, 65, 69, 73, 77, 83, 85, 87, 89, 91, - 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, - 113, 119, 127, 137, 139, 145, 153, 163, 165, 167, - 173, 179, 187, 195, 205, 207, 213, 221, 227, 233, - 239, 247, 257, 265, 275, 279, 285, 289, 295, 299, - 303, 307, 311, 315, 321, 329, 335, 345, 351, 357, - 363, 369, 375, 379, 385, 387, 389, 391, 393, 399, - 407, 411, 413, 415, 417, 419, 421, 423, 425, 427, - 429, 431, 433, 435, 437, 439, 441, 443, 445 + 0, 0, 3, 6, 7, 9, 11, 13, 15, 18, + 21, 24, 27, 31, 35, 39, 43, 47, 51, 57, + 61, 65, 69, 75, 77, 79, 81, 83, 85, 87, + 89, 91, 93, 95, 97, 99, 101, 103, 105, 111, + 119, 129, 131, 137, 145, 155, 157, 159, 165, 171, + 179, 187, 197, 199, 205, 213, 219, 225, 231, 239, + 249, 257, 267, 271, 277, 281, 287, 291, 295, 299, + 303, 307, 313, 321, 327, 337, 343, 349, 355, 361, + 367, 371, 377, 379, 381, 383, 385, 391, 399, 403, + 405, 407, 409, 411, 413, 415, 417, 419, 421, 423, + 425, 427, 429, 431, 433, 435, 437 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yysigned_char yyrhs[] = { - 60, 0, -1, 61, -1, 60, 8, 61, -1, 60, - 9, 8, 61, -1, -1, 62, -1, 63, -1, 1, - -1, 10, -1, 62, 10, -1, 62, 7, -1, 62, - 5, -1, 62, 90, -1, 12, 7, 25, -1, 13, - 7, 66, -1, 14, 7, 68, -1, 15, 7, 69, - -1, 16, 7, 74, -1, 17, 7, 70, -1, 19, - 7, 25, 7, 85, -1, 20, 7, 67, -1, 21, - 7, 64, -1, 22, 7, 65, -1, 23, 7, 25, - 7, 85, -1, 24, -1, 29, -1, 33, -1, 32, - -1, 31, -1, 30, -1, 58, -1, 29, -1, 33, - -1, 32, -1, 31, -1, 30, -1, 58, -1, 27, - -1, 51, -1, 49, 7, 30, 7, 90, -1, 50, - 7, 30, 7, 90, 7, 90, -1, 50, 7, 30, - 7, 90, 7, 90, 7, 72, -1, 28, -1, 41, - 7, 30, 7, 90, -1, 42, 7, 30, 7, 90, - 7, 90, -1, 42, 7, 30, 7, 90, 7, 90, - 7, 72, -1, 39, -1, 53, -1, 38, 7, 30, - 7, 5, -1, 52, 7, 30, 7, 5, -1, 46, - 7, 30, 7, 5, 7, 5, -1, 36, 7, 30, - 7, 5, 7, 5, -1, 37, 7, 30, 7, 5, - 7, 5, 7, 90, -1, 29, -1, 25, 7, 30, - 7, 85, -1, 25, 7, 31, 7, 73, 7, 85, - -1, 25, 7, 32, 7, 85, -1, 25, 7, 33, - 7, 85, -1, 35, 7, 30, 7, 87, -1, 40, - 7, 5, 7, 90, 11, 89, -1, 37, 7, 5, - 7, 5, 7, 90, 11, 89, -1, 54, 7, 5, - 7, 90, 11, 89, -1, 55, 7, 5, 7, 5, - 7, 90, 11, 89, -1, 25, 7, 71, -1, 38, - 7, 90, 7, 72, -1, 38, 7, 90, -1, 52, - 7, 90, 7, 72, -1, 52, 7, 90, -1, 38, - 7, 5, -1, 52, 7, 5, -1, 34, 7, 75, - -1, 35, 7, 76, -1, 38, 7, 85, 7, 77, - -1, 36, 7, 85, 7, 78, 7, 78, -1, 43, - 7, 85, 7, 79, -1, 44, 7, 85, 7, 80, - 7, 81, 7, 82, -1, 52, 7, 85, 7, 80, - -1, 46, 7, 85, 7, 81, -1, 47, 7, 85, - 7, 82, -1, 45, 7, 85, 7, 83, -1, 48, - 7, 85, 7, 84, -1, 90, 11, 89, -1, 72, - 7, 90, 11, 89, -1, 56, -1, 57, -1, 39, - -1, 53, -1, 88, 7, 86, 7, 85, -1, 18, - 7, 88, 7, 86, 7, 85, -1, 87, 7, 85, - -1, 5, -1, 5, -1, 90, -1, 5, -1, 5, - -1, 5, -1, 90, -1, 4, -1, 5, -1, 5, - -1, 5, -1, 90, -1, 6, -1, 6, -1, 5, - -1, 4, -1, 3, -1, 90, 3, -1 + 60, 0, -1, 61, 8, -1, -1, 62, -1, 63, + -1, 1, -1, 10, -1, 62, 10, -1, 62, 7, + -1, 62, 5, -1, 62, 90, -1, 12, 7, 25, + -1, 13, 7, 66, -1, 14, 7, 68, -1, 15, + 7, 69, -1, 16, 7, 74, -1, 17, 7, 70, + -1, 19, 7, 25, 7, 85, -1, 20, 7, 67, + -1, 21, 7, 64, -1, 22, 7, 65, -1, 23, + 7, 25, 7, 85, -1, 24, -1, 29, -1, 33, + -1, 32, -1, 31, -1, 30, -1, 58, -1, 29, + -1, 33, -1, 32, -1, 31, -1, 30, -1, 58, + -1, 27, -1, 51, -1, 49, 7, 30, 7, 90, + -1, 50, 7, 30, 7, 90, 7, 90, -1, 50, + 7, 30, 7, 90, 7, 90, 7, 72, -1, 28, + -1, 41, 7, 30, 7, 90, -1, 42, 7, 30, + 7, 90, 7, 90, -1, 42, 7, 30, 7, 90, + 7, 90, 7, 72, -1, 39, -1, 53, -1, 38, + 7, 30, 7, 5, -1, 52, 7, 30, 7, 5, + -1, 46, 7, 30, 7, 5, 7, 5, -1, 36, + 7, 30, 7, 5, 7, 5, -1, 37, 7, 30, + 7, 5, 7, 5, 7, 90, -1, 29, -1, 25, + 7, 30, 7, 85, -1, 25, 7, 31, 7, 73, + 7, 85, -1, 25, 7, 32, 7, 85, -1, 25, + 7, 33, 7, 85, -1, 35, 7, 30, 7, 87, + -1, 40, 7, 5, 7, 90, 11, 89, -1, 37, + 7, 5, 7, 5, 7, 90, 11, 89, -1, 54, + 7, 5, 7, 90, 11, 89, -1, 55, 7, 5, + 7, 5, 7, 90, 11, 89, -1, 25, 7, 71, + -1, 38, 7, 90, 7, 72, -1, 38, 7, 90, + -1, 52, 7, 90, 7, 72, -1, 52, 7, 90, + -1, 38, 7, 5, -1, 52, 7, 5, -1, 34, + 7, 75, -1, 35, 7, 76, -1, 38, 7, 85, + 7, 77, -1, 36, 7, 85, 7, 78, 7, 78, + -1, 43, 7, 85, 7, 79, -1, 44, 7, 85, + 7, 80, 7, 81, 7, 82, -1, 52, 7, 85, + 7, 80, -1, 46, 7, 85, 7, 81, -1, 47, + 7, 85, 7, 82, -1, 45, 7, 85, 7, 83, + -1, 48, 7, 85, 7, 84, -1, 90, 11, 89, + -1, 72, 7, 90, 11, 89, -1, 56, -1, 57, + -1, 39, -1, 53, -1, 88, 7, 86, 7, 85, + -1, 18, 7, 88, 7, 86, 7, 85, -1, 87, + 7, 85, -1, 5, -1, 5, -1, 90, -1, 5, + -1, 5, -1, 5, -1, 90, -1, 4, -1, 5, + -1, 5, -1, 5, -1, 90, -1, 6, -1, 6, + -1, 5, -1, 4, -1, 3, -1, 90, 3, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned char yyrline[] = { - 0, 78, 78, 79, 80, 83, 84, 85, 86, 89, - 90, 91, 92, 93, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, 107, 110, 111, 112, 113, - 114, 115, 118, 119, 120, 121, 122, 123, 126, 127, + 0, 79, 79, 81, 82, 83, 84, 87, 88, 89, + 90, 91, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 108, 109, 110, 111, 112, 113, + 116, 117, 118, 119, 120, 121, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, - 150, 151, 152, 153, 154, 157, 158, 159, 160, 163, - 164, 167, 168, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 182, 183, 186, 187, 190, 191, 194, 195, - 198, 201, 204, 207, 210, 213, 216, 219, 222, 223, - 226, 229, 232, 235, 238, 239, 240, 243, 244 + 138, 139, 140, 141, 142, 143, 144, 145, 148, 149, + 150, 151, 152, 155, 156, 157, 158, 161, 162, 165, + 166, 169, 170, 171, 172, 173, 174, 175, 176, 177, + 180, 181, 184, 185, 188, 189, 192, 193, 196, 199, + 202, 205, 208, 211, 214, 217, 220, 221, 224, 227, + 230, 233, 236, 237, 238, 241, 242 }; #endif @@ -513,33 +513,33 @@ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned char yyr1[] = { - 0, 59, 60, 60, 60, 61, 61, 61, 61, 62, - 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, - 64, 64, 65, 65, 65, 65, 65, 65, 66, 66, + 0, 59, 60, 61, 61, 61, 61, 62, 62, 62, + 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, + 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 67, 67, 67, 67, 67, 68, 68, 68, 68, 69, - 69, 70, 70, 71, 71, 71, 71, 71, 71, 71, - 71, 71, 72, 72, 73, 73, 74, 74, 75, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 84, - 85, 86, 87, 88, 89, 89, 89, 90, 90 + 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, + 67, 67, 67, 68, 68, 68, 68, 69, 69, 70, + 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, + 72, 72, 73, 73, 74, 74, 75, 75, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 84, 85, 86, + 87, 88, 89, 89, 89, 90, 90 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const unsigned char yyr2[] = { - 0, 2, 1, 3, 4, 0, 1, 1, 1, 1, - 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, - 5, 3, 3, 3, 5, 1, 1, 1, 1, 1, + 0, 2, 2, 0, 1, 1, 1, 1, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 3, 5, 3, + 3, 3, 5, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 5, 7, + 9, 1, 5, 7, 9, 1, 1, 5, 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, - 5, 7, 9, 1, 5, 7, 9, 1, 1, 5, - 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 + 1, 1, 1, 1, 1, 1, 2 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -547,166 +547,164 @@ means the default is an error. */ static const unsigned char yydefact[] = { - 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 25, 0, 2, 6, 7, 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, + 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 23, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, + 1, 2, 105, 10, 9, 8, 11, 12, 0, 36, + 41, 52, 0, 0, 0, 0, 45, 0, 0, 0, + 0, 0, 37, 0, 46, 13, 0, 0, 14, 0, + 0, 15, 84, 85, 16, 0, 0, 17, 0, 0, + 0, 0, 0, 0, 19, 24, 28, 27, 26, 25, + 29, 20, 30, 34, 33, 32, 31, 35, 21, 0, + 106, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, + 66, 67, 68, 101, 0, 69, 0, 70, 0, 100, + 98, 18, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 62, 0, 0, 0, 0, 22, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, + 82, 83, 0, 55, 56, 57, 0, 0, 47, 42, + 0, 0, 38, 0, 48, 63, 0, 65, 0, 99, + 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 56, 52, 0, 45, 51, 41, 0, 106, - 105, 104, 82, 0, 88, 92, 0, 91, 73, 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 + 0, 0, 0, 0, 0, 0, 0, 0, 54, 50, + 0, 43, 49, 39, 0, 104, 103, 102, 80, 0, + 86, 90, 0, 89, 71, 73, 91, 92, 0, 78, + 95, 93, 76, 94, 77, 96, 97, 79, 75, 0, + 58, 60, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 51, 44, 40, 81, 87, 72, 0, 59, + 61, 0, 74 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short yydefgoto[] = { - -1, 15, 16, 17, 18, 82, 89, 56, 75, 59, - 62, 68, 155, 209, 196, 65, 139, 141, 268, 266, - 269, 272, 276, 278, 273, 281, 145, 214, 142, 140, - 262, 210 + -1, 15, 16, 17, 18, 81, 88, 55, 74, 58, + 61, 67, 151, 205, 192, 64, 135, 137, 264, 262, + 265, 268, 272, 274, 269, 277, 141, 210, 138, 136, + 258, 206 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ -#define YYPACT_NINF -245 +#define YYPACT_NINF -242 static const short yypact[] = { - 168, -245, -245, 30, 51, 68, 101, 105, 109, 129, - 130, 131, 132, 133, -245, 34, -245, 52, -245, 16, - 82, -21, -8, -1, -27, 55, -22, -9, -4, 70, - -245, 168, 90, -245, -245, -245, -245, 93, -245, 134, - -245, -245, -245, 135, 136, 137, 138, -245, 139, 140, - 142, 143, 144, -245, 147, -245, -245, 150, 151, -245, - 152, 153, -245, -245, -245, -245, 154, 155, -245, 156, - 157, 158, 159, 160, 163, -245, -245, -245, -245, -245, - -245, -245, -245, -245, -245, -245, -245, -245, -245, -245, - 164, -245, 168, -245, 73, 149, 165, 166, 167, 169, - 170, 171, 172, 173, 174, 183, 183, 188, 189, -2, - 183, 193, 38, 200, 201, 202, 203, 193, -245, 204, - 205, 206, 207, 209, 212, 213, 214, 215, 216, 218, - 220, 221, 222, 6, 7, -245, -245, -245, 223, -245, - 225, -245, 226, 93, -245, -245, 228, 229, 230, 231, - 232, 233, 234, 235, 236, -245, 237, 238, 239, 240, - -245, 193, 21, 193, 193, 183, 243, 244, 245, 183, - 183, 246, 183, 183, 247, 183, 183, 248, 250, 193, - 193, 193, 193, 193, 193, 193, 193, 193, 193, 251, - 183, 183, 252, -245, -245, -245, 253, -245, -245, -245, - 254, 255, -245, 93, 32, 256, 93, 33, -245, 257, - 8, 257, 258, -245, 259, -245, 260, 261, 262, 264, - 265, 266, 267, 268, 269, 270, 50, 76, 271, 193, - 274, 275, 183, 276, 183, 183, 121, 250, 193, 277, - 278, 183, 279, 183, 280, 281, 125, 279, 183, 121, - 121, 183, -245, -245, 282, 53, -245, 94, 88, -245, - -245, -245, -245, 283, -245, -245, 284, -245, -245, -245, - 93, -245, 285, -245, 93, -245, -245, -245, -245, -245, - -245, -245, -245, 89, -245, -245, 91, 183, 183, 183, - 121, 193, 277, 280, 121, 121, 93, 257, 257, -245, - -245, -245, 286, -245, -245, 281, -245 + 163, -242, -242, 6, 20, 71, 82, 86, 90, 100, + 120, 122, 123, 124, -242, 128, 125, 51, -242, 107, + 67, -27, -26, -25, 41, 109, -22, -23, -10, 110, + -242, -242, -242, -242, -242, -242, 133, -242, 130, -242, + -242, -242, 131, 132, 134, 135, -242, 136, 138, 139, + 140, 143, -242, 146, -242, -242, 147, 148, -242, 149, + 150, -242, -242, -242, -242, 151, 152, -242, 153, 154, + 155, 156, 158, 159, -242, -242, -242, -242, -242, -242, + -242, -242, -242, -242, -242, -242, -242, -242, -242, 160, + -242, 68, 142, 161, 162, 164, 165, 166, 167, 168, + 169, 170, 137, 137, 176, 183, 11, 137, 184, 36, + 185, 188, 196, 197, 184, 198, 199, 200, 201, 202, + 203, 205, 208, 209, 210, 211, 212, 214, 216, 33, + 34, -242, -242, -242, 217, -242, 218, -242, 219, 133, + -242, -242, 221, 222, 224, 225, 226, 227, 228, 229, + 230, -242, 231, 232, 233, 234, -242, 184, 54, 184, + 184, 137, 237, 238, 239, 137, 137, 240, 137, 137, + 241, 137, 137, 242, 244, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 245, 137, 137, 246, -242, + -242, -242, 247, -242, -242, -242, 248, 249, -242, 133, + 50, 250, 133, 52, -242, 251, 13, 251, 252, -242, + 253, -242, 254, 255, 256, 257, 258, 260, 261, 262, + 263, 264, 27, 28, 265, 184, 268, 269, 137, 270, + 137, 137, 118, 244, 184, 271, 272, 137, 273, 137, + 274, 275, 121, 273, 137, 118, 118, 137, -242, -242, + 276, 70, -242, 84, 31, -242, -242, -242, -242, 277, + -242, -242, 278, -242, -242, -242, 133, -242, 279, -242, + 133, -242, -242, -242, -242, -242, -242, -242, -242, 40, + -242, -242, 49, 137, 137, 137, 118, 184, 271, 274, + 118, 118, 133, 251, 251, -242, -242, -242, 280, -242, + -242, 275, -242 }; /* YYPGOTO[NTERM-NUM]. */ static const short yypgoto[] = { - -245, -245, -19, -245, -245, -245, -245, -245, -245, -245, - -245, -245, -245, -174, -245, -245, -245, -245, -245, -120, - -245, -38, -83, -52, -245, -245, -116, 22, 122, 81, - -244, -17 + -242, -242, -242, -242, -242, -242, -242, -242, -242, -242, + -242, -242, -242, -170, -242, -242, -242, -242, -242, -120, + -242, -40, -85, -54, -242, -242, -113, 19, 92, 108, + -241, -17 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -6 +#define YYTABLE_NINF -4 static const short yytable[] = { - 37, 160, 211, 70, 137, 284, 285, 66, 67, 93, - 93, 93, 91, 175, 176, 71, 138, 57, 72, 236, - 76, 77, 78, 79, 80, 83, 84, 85, 86, 87, - 60, 58, 73, 74, 30, 93, 93, 19, 63, 232, - 234, 38, 31, 32, 61, 193, 299, 197, 198, 81, - 303, 304, 64, 93, 88, 33, 93, 34, 20, 35, - 288, 249, 36, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 118, 146, 21, 147, 194, 195, 93, - 69, 148, 149, 150, 151, 152, 153, 250, 133, 134, - 154, 93, 93, 143, 93, 90, 93, 93, 92, 290, - 294, 289, 295, 119, 120, 121, 122, 39, 22, 40, - 41, 42, 23, 252, 297, 298, 24, 43, 44, 45, - 46, 47, 264, 48, 49, 259, 260, 261, 50, 279, - 280, 51, 52, 53, 54, 55, 25, 26, 27, 28, - 29, 94, 95, 96, 97, 98, 99, 100, 143, 101, - 102, 103, 203, 204, 104, 206, 207, 105, 106, 107, - 108, 109, 110, 111, 112, 113, 114, 115, -5, 1, - 116, 117, 301, 226, 227, 300, -5, -5, 2, 123, - 3, 4, 5, 6, 7, 8, 33, 9, 10, 11, - 12, 13, 14, 135, 136, 124, 125, 126, 144, 127, - 128, 129, 130, 131, 132, 156, 157, 158, 159, 282, - 302, 161, 162, 163, 164, 255, 165, 257, 258, 166, - 167, 168, 169, 170, 270, 171, 274, 172, 173, 174, - 177, 283, 178, 179, 286, 180, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 192, 200, 201, - 202, 205, 208, 306, 137, 213, 225, 228, 212, 263, - 229, 230, 231, 233, 235, 237, 238, 239, 240, 241, - 296, 242, 243, 244, 245, 246, 247, 248, 251, 253, - 254, 256, 265, 267, 271, 275, 277, 199, 0, 287, - 291, 292, 293, 305 + 36, 156, 207, 69, 280, 281, 75, 76, 77, 78, + 79, 56, 59, 19, 62, 70, 90, 133, 71, 82, + 83, 84, 85, 86, 232, 57, 60, 20, 63, 134, + 90, 90, 72, 73, 90, 80, 90, 90, 245, 246, + 171, 172, 286, 90, 189, 295, 193, 194, 87, 299, + 300, 290, 90, 90, 32, 90, 33, 228, 34, 230, + 291, 35, 211, 212, 213, 214, 215, 216, 217, 218, + 219, 220, 142, 90, 143, 65, 66, 284, 21, 144, + 145, 146, 147, 148, 149, 129, 130, 90, 150, 22, + 139, 285, 38, 23, 39, 40, 41, 24, 115, 116, + 117, 118, 42, 43, 44, 45, 46, 25, 47, 48, + 190, 191, 248, 49, 293, 294, 50, 51, 52, 53, + 54, 260, 255, 256, 257, 275, 276, 26, 30, 27, + 28, 29, 37, 31, 68, 89, 90, 91, 92, 93, + 32, 94, 95, 96, 139, 97, 98, 99, 199, 200, + 100, 202, 203, 101, 102, 103, 104, 105, 106, 107, + 108, 109, 110, 111, 1, 112, 113, 114, 297, 222, + 223, -3, 119, 2, 296, 3, 4, 5, 6, 7, + 8, 131, 9, 10, 11, 12, 13, 14, 132, 140, + 152, 120, 121, 153, 122, 123, 124, 125, 126, 127, + 128, 154, 155, 278, 298, 157, 158, 159, 160, 161, + 162, 251, 163, 253, 254, 164, 165, 166, 167, 168, + 266, 169, 270, 170, 173, 174, 175, 279, 176, 177, + 282, 178, 179, 180, 181, 182, 183, 184, 185, 186, + 187, 188, 196, 197, 198, 201, 204, 302, 133, 209, + 221, 224, 259, 195, 225, 226, 227, 229, 231, 233, + 234, 235, 236, 237, 238, 239, 292, 240, 241, 242, + 243, 244, 247, 249, 250, 252, 261, 263, 267, 271, + 273, 208, 0, 283, 287, 288, 289, 301 }; static const short yycheck[] = { - 17, 117, 176, 25, 6, 249, 250, 34, 35, 3, - 3, 3, 31, 7, 7, 37, 18, 38, 40, 11, - 29, 30, 31, 32, 33, 29, 30, 31, 32, 33, - 38, 52, 54, 55, 0, 3, 3, 7, 39, 7, - 7, 25, 8, 9, 52, 161, 290, 163, 164, 58, - 294, 295, 53, 3, 58, 3, 3, 5, 7, 7, - 7, 11, 10, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 92, 36, 7, 38, 56, 57, 3, - 25, 43, 44, 45, 46, 47, 48, 11, 105, 106, - 52, 3, 3, 110, 3, 25, 3, 3, 8, 11, - 11, 7, 11, 30, 31, 32, 33, 25, 7, 27, - 28, 29, 7, 229, 288, 289, 7, 35, 36, 37, - 38, 39, 238, 41, 42, 4, 5, 6, 46, 4, - 5, 49, 50, 51, 52, 53, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 165, 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, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 287, 7, 7, 7, 7, 7, 7, 7, 7, 5, - 5, 5, 5, 5, 5, 5, 5, 165, -1, 7, - 7, 7, 7, 7 + 17, 114, 172, 25, 245, 246, 29, 30, 31, 32, + 33, 38, 38, 7, 39, 37, 3, 6, 40, 29, + 30, 31, 32, 33, 11, 52, 52, 7, 53, 18, + 3, 3, 54, 55, 3, 58, 3, 3, 11, 11, + 7, 7, 11, 3, 157, 286, 159, 160, 58, 290, + 291, 11, 3, 3, 3, 3, 5, 7, 7, 7, + 11, 10, 175, 176, 177, 178, 179, 180, 181, 182, + 183, 184, 36, 3, 38, 34, 35, 7, 7, 43, + 44, 45, 46, 47, 48, 102, 103, 3, 52, 7, + 107, 7, 25, 7, 27, 28, 29, 7, 30, 31, + 32, 33, 35, 36, 37, 38, 39, 7, 41, 42, + 56, 57, 225, 46, 284, 285, 49, 50, 51, 52, + 53, 234, 4, 5, 6, 4, 5, 7, 0, 7, + 7, 7, 25, 8, 25, 25, 3, 7, 7, 7, + 3, 7, 7, 7, 161, 7, 7, 7, 165, 166, + 7, 168, 169, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 1, 7, 7, 7, 288, 186, + 187, 8, 30, 10, 287, 12, 13, 14, 15, 16, + 17, 5, 19, 20, 21, 22, 23, 24, 5, 5, + 5, 30, 30, 5, 30, 30, 30, 30, 30, 30, + 30, 5, 5, 243, 289, 7, 7, 7, 7, 7, + 7, 228, 7, 230, 231, 7, 7, 7, 7, 7, + 237, 7, 239, 7, 7, 7, 7, 244, 7, 7, + 247, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 5, 5, 5, 5, 5, 301, 6, 5, + 5, 5, 233, 161, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 283, 7, 7, 7, + 7, 7, 7, 5, 5, 5, 5, 5, 5, 5, + 5, 173, -1, 7, 7, 7, 7, 7 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -716,34 +714,34 @@ 0, 1, 10, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 60, 61, 62, 63, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 0, 8, 9, 3, 5, 7, 10, 90, 25, 25, - 27, 28, 29, 35, 36, 37, 38, 39, 41, 42, - 46, 49, 50, 51, 52, 53, 66, 38, 52, 68, - 38, 52, 69, 39, 53, 74, 34, 35, 70, 25, - 25, 37, 40, 54, 55, 67, 29, 30, 31, 32, - 33, 58, 64, 29, 30, 31, 32, 33, 58, 65, - 25, 61, 8, 3, 7, 7, 7, 7, 7, 7, + 0, 8, 3, 5, 7, 10, 90, 25, 25, 27, + 28, 29, 35, 36, 37, 38, 39, 41, 42, 46, + 49, 50, 51, 52, 53, 66, 38, 52, 68, 38, + 52, 69, 39, 53, 74, 34, 35, 70, 25, 25, + 37, 40, 54, 55, 67, 29, 30, 31, 32, 33, + 58, 64, 29, 30, 31, 32, 33, 58, 65, 25, + 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 61, 30, - 31, 32, 33, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 90, 90, 5, 5, 6, 18, 75, - 88, 76, 87, 90, 5, 85, 36, 38, 43, 44, - 45, 46, 47, 48, 52, 71, 5, 5, 5, 5, - 85, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 30, 31, 32, 33, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 90, + 90, 5, 5, 6, 18, 75, 88, 76, 87, 90, + 5, 85, 36, 38, 43, 44, 45, 46, 47, 48, + 52, 71, 5, 5, 5, 5, 85, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 85, 56, 57, 73, 85, 85, 87, - 5, 5, 5, 90, 90, 5, 90, 90, 5, 72, - 90, 72, 88, 5, 86, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 5, 90, 90, 5, 7, - 7, 7, 7, 7, 7, 7, 11, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 11, - 11, 7, 85, 5, 5, 90, 5, 90, 90, 4, - 5, 6, 89, 86, 85, 5, 78, 5, 77, 79, - 90, 5, 80, 83, 90, 5, 81, 5, 82, 4, - 5, 84, 80, 90, 89, 89, 90, 7, 7, 7, - 11, 7, 7, 7, 11, 11, 90, 72, 72, 89, - 85, 78, 81, 89, 89, 7, 82 + 7, 7, 7, 7, 7, 7, 7, 7, 7, 85, + 56, 57, 73, 85, 85, 87, 5, 5, 5, 90, + 90, 5, 90, 90, 5, 72, 90, 72, 88, 5, + 86, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 5, 90, 90, 5, 7, 7, 7, 7, 7, + 7, 7, 11, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 11, 11, 7, 85, 5, + 5, 90, 5, 90, 90, 4, 5, 6, 89, 86, + 85, 5, 78, 5, 77, 79, 90, 5, 80, 83, + 90, 5, 81, 5, 82, 4, 5, 84, 80, 90, + 89, 89, 90, 7, 7, 7, 11, 7, 7, 7, + 11, 11, 90, 72, 72, 89, 85, 78, 81, 89, + 89, 7, 82 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) @@ -771,6 +769,7 @@ #define YYABORT goto yyabortlab #define YYERROR goto yyerrlab1 + /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ @@ -1352,19 +1351,39 @@ YY_REDUCE_PRINT (yyn); switch (yyn) { - case 7: -#line 85 "lscp.y" - { LSCPSERVER->AnswerClient(yyvsp[0].String); } + case 3: +#line 81 "lscp.y" + { return LSCP_DONE; } + break; + + case 4: +#line 82 "lscp.y" + { return LSCP_DONE; } break; - case 8: -#line 86 "lscp.y" + case 5: +#line 83 "lscp.y" + { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; } + break; + + case 6: +#line 84 "lscp.y" { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; } break; + case 12: +#line 94 "lscp.y" + { yyval.String = LSCPSERVER->AddChannel(); } + break; + + case 13: +#line 95 "lscp.y" + { yyval.String = yyvsp[0].String; } + break; + case 14: #line 96 "lscp.y" - { yyval.String = LSCPSERVER->AddChannel(); } + { yyval.String = yyvsp[0].String; } break; case 15: @@ -1384,7 +1403,7 @@ case 18: #line 100 "lscp.y" - { yyval.String = yyvsp[0].String; } + { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number); } break; case 19: @@ -1394,7 +1413,7 @@ case 20: #line 102 "lscp.y" - { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number); } + { yyval.String = yyvsp[0].String; } break; case 21: @@ -1404,384 +1423,374 @@ case 22: #line 104 "lscp.y" - { yyval.String = yyvsp[0].String; } + { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number); } break; case 23: #line 105 "lscp.y" - { yyval.String = yyvsp[0].String; } + { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; } break; case 24: -#line 106 "lscp.y" - { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number); } +#line 108 "lscp.y" + { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels); } break; case 25: -#line 107 "lscp.y" - { LSCPSERVER->AnswerClient("Bye!\r\n"); return 0; } +#line 109 "lscp.y" + { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count); } break; case 26: #line 110 "lscp.y" - { yyval.String = LSCPSERVER->SubscribeNotification(event_channels); } + { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); } break; case 27: #line 111 "lscp.y" - { yyval.String = LSCPSERVER->SubscribeNotification(event_voice_count); } + { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill); } break; case 28: #line 112 "lscp.y" - { yyval.String = LSCPSERVER->SubscribeNotification(event_stream_count); } + { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info); } break; case 29: #line 113 "lscp.y" - { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_buffer_fill); } + { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc); } break; case 30: -#line 114 "lscp.y" - { yyval.String = LSCPSERVER->SubscribeNotification(event_channel_info); } +#line 116 "lscp.y" + { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels); } break; case 31: -#line 115 "lscp.y" - { yyval.String = LSCPSERVER->SubscribeNotification(event_misc); } +#line 117 "lscp.y" + { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count); } break; case 32: #line 118 "lscp.y" - { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channels); } + { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); } break; case 33: #line 119 "lscp.y" - { yyval.String = LSCPSERVER->UnsubscribeNotification(event_voice_count); } + { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill); } break; case 34: #line 120 "lscp.y" - { yyval.String = LSCPSERVER->UnsubscribeNotification(event_stream_count); } + { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info); } break; case 35: #line 121 "lscp.y" - { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_buffer_fill); } + { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc); } break; case 36: -#line 122 "lscp.y" - { yyval.String = LSCPSERVER->UnsubscribeNotification(event_channel_info); } +#line 124 "lscp.y" + { yyval.String = LSCPSERVER->GetAvailableEngines(); } break; case 37: -#line 123 "lscp.y" - { yyval.String = LSCPSERVER->UnsubscribeNotification(event_misc); } +#line 125 "lscp.y" + { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers(); } break; case 38: #line 126 "lscp.y" - { yyval.String = LSCPSERVER->GetAvailableEngines(); } + { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String); } break; case 39: #line 127 "lscp.y" - { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers(); } + { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String); } break; case 40: #line 128 "lscp.y" - { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String); } + { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList); } break; case 41: #line 129 "lscp.y" - { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String); } + { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers(); } break; case 42: #line 130 "lscp.y" - { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList); } + { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String); } break; case 43: #line 131 "lscp.y" - { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers(); } + { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String); } break; case 44: #line 132 "lscp.y" - { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String); } + { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList); } break; case 45: #line 133 "lscp.y" - { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String); } + { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount(); } break; case 46: #line 134 "lscp.y" - { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList); } + { yyval.String = LSCPSERVER->GetMidiInputDeviceCount(); } break; case 47: #line 135 "lscp.y" - { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount(); } + { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number); } break; case 48: #line 136 "lscp.y" - { yyval.String = LSCPSERVER->GetMidiInputDeviceCount(); } + { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number); } break; case 49: #line 137 "lscp.y" - { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number); } + { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number); } break; case 50: #line 138 "lscp.y" - { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number); } + { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number); } break; case 51: #line 139 "lscp.y" - { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number); } + { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); } break; case 52: #line 140 "lscp.y" - { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number); } + { yyval.String = LSCPSERVER->GetChannels(); } break; case 53: #line 141 "lscp.y" - { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); } + { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number); } break; case 54: #line 142 "lscp.y" - { yyval.String = LSCPSERVER->GetChannels(); } + { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number); } break; case 55: #line 143 "lscp.y" - { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number); } + { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number); } break; case 56: #line 144 "lscp.y" - { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number); } + { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number); } break; case 57: #line 145 "lscp.y" - { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number); } + { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String); } break; case 58: -#line 146 "lscp.y" - { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number); } +#line 148 "lscp.y" + { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); } break; case 59: -#line 147 "lscp.y" - { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String); } +#line 149 "lscp.y" + { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); } break; case 60: #line 150 "lscp.y" - { 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); } break; case 61: #line 151 "lscp.y" - { 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); } break; case 62: #line 152 "lscp.y" - { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); } + { yyval.String = yyvsp[0].String; } break; case 63: -#line 153 "lscp.y" - { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); } +#line 155 "lscp.y" + { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); } break; case 64: -#line 154 "lscp.y" - { yyval.String = yyvsp[0].String; } +#line 156 "lscp.y" + { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String); } break; case 65: #line 157 "lscp.y" - { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); } + { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); } break; case 66: #line 158 "lscp.y" - { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String); } + { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String); } break; case 67: -#line 159 "lscp.y" - { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); } +#line 161 "lscp.y" + { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); } break; case 68: -#line 160 "lscp.y" - { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String); } +#line 162 "lscp.y" + { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number); } break; case 69: -#line 163 "lscp.y" - { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); } +#line 165 "lscp.y" + { yyval.String = yyvsp[0].String; } break; case 70: -#line 164 "lscp.y" - { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number); } +#line 166 "lscp.y" + { yyval.String = yyvsp[0].String; } break; case 71: -#line 167 "lscp.y" - { yyval.String = yyvsp[0].String; } +#line 169 "lscp.y" + { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number); } break; case 72: -#line 168 "lscp.y" - { yyval.String = yyvsp[0].String; } +#line 170 "lscp.y" + { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); } break; case 73: #line 171 "lscp.y" - { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number); } + { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number); } break; case 74: #line 172 "lscp.y" - { 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); } break; case 75: #line 173 "lscp.y" - { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number); } + { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number); } break; case 76: #line 174 "lscp.y" - { 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); } break; case 77: #line 175 "lscp.y" - { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number); } + { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number); } break; case 78: #line 176 "lscp.y" - { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number); } + { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number); } break; case 79: #line 177 "lscp.y" - { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number); } + { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number); } break; case 80: -#line 178 "lscp.y" - { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number); } +#line 180 "lscp.y" + { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; } break; case 81: -#line 179 "lscp.y" - { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number); } +#line 181 "lscp.y" + { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; } break; case 82: -#line 182 "lscp.y" - { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; } +#line 184 "lscp.y" + { yyval.FillResponse = fill_response_bytes; } break; case 83: -#line 183 "lscp.y" - { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; } +#line 185 "lscp.y" + { yyval.FillResponse = fill_response_percentage; } break; case 84: -#line 186 "lscp.y" - { yyval.FillResponse = fill_response_bytes; } +#line 188 "lscp.y" + { yyval.String = LSCPSERVER->GetAudioOutputDevices(); } break; case 85: -#line 187 "lscp.y" - { yyval.FillResponse = fill_response_percentage; } +#line 189 "lscp.y" + { yyval.String = LSCPSERVER->GetMidiInputDevices(); } break; case 86: -#line 190 "lscp.y" - { yyval.String = LSCPSERVER->GetAudioOutputDevices(); } +#line 192 "lscp.y" + { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number); } break; case 87: -#line 191 "lscp.y" - { yyval.String = LSCPSERVER->GetMidiInputDevices(); } +#line 193 "lscp.y" + { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); } break; case 88: -#line 194 "lscp.y" - { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, 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); } +#line 196 "lscp.y" + { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); } break; - case 99: -#line 223 "lscp.y" + case 97: +#line 221 "lscp.y" { yyval.Dotnum = yyvsp[0].Number; } break; - case 104: -#line 238 "lscp.y" + case 102: +#line 236 "lscp.y" { yyval.String = yyvsp[0].String; } break; - case 105: -#line 239 "lscp.y" + case 103: +#line 237 "lscp.y" { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); } break; - case 106: -#line 240 "lscp.y" + case 104: +#line 238 "lscp.y" { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); } break; - case 107: -#line 243 "lscp.y" + case 105: +#line 241 "lscp.y" { std::string s; s = yyvsp[0].Char; yyval.String = s; } break; - case 108: -#line 244 "lscp.y" + case 106: +#line 242 "lscp.y" { yyval.String = yyvsp[-1].String + yyvsp[0].Char; } break; } -/* Line 991 of yacc.c. */ -#line 1784 "y.tab.c" +/* Line 999 of yacc.c. */ +#line 1793 "y.tab.c" yyvsp -= yylen; yyssp -= yylen; @@ -1895,29 +1904,13 @@ /* Else will try to reuse lookahead token after shifting the error token. */ - goto yyerrlab2; + goto yyerrlab1; /*----------------------------------------------------. | yyerrlab1 -- error raised explicitly by an action. | `----------------------------------------------------*/ 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: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) @@ -1991,7 +1984,7 @@ } -#line 247 "lscp.y" +#line 79 "lscp.y" /** @@ -2007,9 +2000,6 @@ void restart(yyparse_param_t* pparam, int& yychar) { // restart scanner yyrestart(stdin, pparam->pScanner); - // flush input buffer - static char buf[1024]; - while(recv(hSession, buf, 1024, MSG_DONTWAIT) > 0); // reset lookahead symbol yyclearin; }