/[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 210 by schoenebeck, Sat Jul 24 12:33:49 2004 UTC revision 397 by senkov, Mon Feb 21 04:28:50 2005 UTC
# Line 1  Line 1 
1  /* A Bison parser, made by GNU Bison 1.875a.  */  /* A Bison parser, made by GNU Bison 1.875.  */
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, 2003 Free Software Foundation, Inc.     Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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 47  Line 47 
47    
48    
49    
 /* Tokens.  */  
 #ifndef YYTOKENTYPE  
 # define YYTOKENTYPE  
    /* Put the tokens into the symbol table, so that GDB and other debuggers  
       know about them.  */  
    enum yytokentype {  
      CHAR = 258,  
      DOTNUM = 259,  
      NUMBER = 260,  
      STRINGVAL = 261,  
      SP = 262,  
      LF = 263,  
      CR = 264,  
      HASH = 265,  
      EQ = 266,  
      ADD = 267,  
      GET = 268,  
      CREATE = 269,  
      DESTROY = 270,  
      LIST = 271,  
      LOAD = 272,  
      NON_MODAL = 273,  
      REMOVE = 274,  
      SET = 275,  
      SUBSCRIBE = 276,  
      UNSUBSCRIBE = 277,  
      RESET = 278,  
      ECHO = 279,  
      QUIT = 280,  
      CHANNEL = 281,  
      NOTIFICATION = 282,  
      AVAILABLE_ENGINES = 283,  
      AVAILABLE_AUDIO_OUTPUT_DRIVERS = 284,  
      CHANNELS = 285,  
      INFO = 286,  
      BUFFER_FILL = 287,  
      STREAM_COUNT = 288,  
      VOICE_COUNT = 289,  
      INSTRUMENT = 290,  
      ENGINE = 291,  
      AUDIO_OUTPUT_CHANNEL = 292,  
      AUDIO_OUTPUT_CHANNEL_PARAMETER = 293,  
      AUDIO_OUTPUT_DEVICE = 294,  
      AUDIO_OUTPUT_DEVICES = 295,  
      AUDIO_OUTPUT_DEVICE_PARAMETER = 296,  
      AUDIO_OUTPUT_DRIVER = 297,  
      AUDIO_OUTPUT_DRIVER_PARAMETER = 298,  
      AUDIO_OUTPUT_TYPE = 299,  
      MIDI_INPUT = 300,  
      MIDI_INPUT_TYPE = 301,  
      MIDI_INPUT_PORT = 302,  
      MIDI_INPUT_CHANNEL = 303,  
      VOLUME = 304,  
      MIDI_INPUT_DRIVER = 305,  
      MIDI_INPUT_DRIVER_PARAMETER = 306,  
      AVAILABLE_MIDI_INPUT_DRIVERS = 307,  
      MIDI_INPUT_DEVICE = 308,  
      MIDI_INPUT_DEVICES = 309,  
      MIDI_INPUT_DEVICE_PARAMETER = 310,  
      MIDI_INPUT_PORT_PARAMETER = 311,  
      BYTES = 312,  
      PERCENTAGE = 313,  
      MISCELLANEOUS = 314  
    };  
 #endif  
 #define CHAR 258  
 #define DOTNUM 259  
 #define NUMBER 260  
 #define STRINGVAL 261  
 #define SP 262  
 #define LF 263  
 #define CR 264  
 #define HASH 265  
 #define EQ 266  
 #define ADD 267  
 #define GET 268  
 #define CREATE 269  
 #define DESTROY 270  
 #define LIST 271  
 #define LOAD 272  
 #define NON_MODAL 273  
 #define REMOVE 274  
 #define SET 275  
 #define SUBSCRIBE 276  
 #define UNSUBSCRIBE 277  
 #define RESET 278  
 #define ECHO 279  
 #define QUIT 280  
 #define CHANNEL 281  
 #define NOTIFICATION 282  
 #define AVAILABLE_ENGINES 283  
 #define AVAILABLE_AUDIO_OUTPUT_DRIVERS 284  
 #define CHANNELS 285  
 #define INFO 286  
 #define BUFFER_FILL 287  
 #define STREAM_COUNT 288  
 #define VOICE_COUNT 289  
 #define INSTRUMENT 290  
 #define ENGINE 291  
 #define AUDIO_OUTPUT_CHANNEL 292  
 #define AUDIO_OUTPUT_CHANNEL_PARAMETER 293  
 #define AUDIO_OUTPUT_DEVICE 294  
 #define AUDIO_OUTPUT_DEVICES 295  
 #define AUDIO_OUTPUT_DEVICE_PARAMETER 296  
 #define AUDIO_OUTPUT_DRIVER 297  
 #define AUDIO_OUTPUT_DRIVER_PARAMETER 298  
 #define AUDIO_OUTPUT_TYPE 299  
 #define MIDI_INPUT 300  
 #define MIDI_INPUT_TYPE 301  
 #define MIDI_INPUT_PORT 302  
 #define MIDI_INPUT_CHANNEL 303  
 #define VOLUME 304  
 #define MIDI_INPUT_DRIVER 305  
 #define MIDI_INPUT_DRIVER_PARAMETER 306  
 #define AVAILABLE_MIDI_INPUT_DRIVERS 307  
 #define MIDI_INPUT_DEVICE 308  
 #define MIDI_INPUT_DEVICES 309  
 #define MIDI_INPUT_DEVICE_PARAMETER 310  
 #define MIDI_INPUT_PORT_PARAMETER 311  
 #define BYTES 312  
 #define PERCENTAGE 313  
 #define MISCELLANEOUS 314  
   
50    
51    
52    
# Line 181  Line 58 
58  #include "lscpserver.h"  #include "lscpserver.h"
59  #include "lscpevent.h"  #include "lscpevent.h"
60    
 // 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  
   
61  // to save us typing work in the rules action definitions  // to save us typing work in the rules action definitions
62  #define LSCPSERVER ((yyparse_param_t*) yyparse_param)->pServer  #define LSCPSERVER ((yyparse_param_t*) yyparse_param)->pServer
63    
64  // clears input buffer and restarts scanner.  // clears input buffer
65  void restart(yyparse_param_t* pparam, int& yychar);  void restart(yyparse_param_t* pparam, int& yychar);
66  #define RESTART restart((yyparse_param_t*) YYPARSE_PARAM, yychar)  #define RESTART restart((yyparse_param_t*) YYPARSE_PARAM, yychar)
67    
 // external reference to the main scanner function yylex()  
 extern YY_DECL;  
   
 // external reference to restart the lex scanner  
 extern void yyrestart(FILE* input_file, yyscan_t yyscanner);  
   
68  // we provide our own version of yyerror() so we don't have to link against the yacc library  // we provide our own version of yyerror() so we don't have to link against the yacc library
69  void yyerror(const char* s);  void yyerror(const char* s);
70    
71    static char buf[1024]; // input buffer to feed the parser with new characters
72    static int bytes = 0;  // current number of characters in the input buffer
73    static int ptr   = 0;  // current position in the input buffer
74    
75    // external reference to the function which actually reads from the socket
76    extern int GetLSCPCommand( void *buf, int max_size);
77    
78    // custom scanner function which reads from the socket
79    int yylex(YYSTYPE* yylval) {
80        // check if we have to read new characters
81        if (ptr >= bytes) {
82            bytes = GetLSCPCommand(buf, 1023);
83            ptr   = 0;
84            if (bytes < 0) {
85                bytes = 0;
86                return 0;
87            }
88        }
89        return (int) buf[ptr++];
90    }
91    
92    
93    
94  /* Enabling traces.  */  /* Enabling traces.  */
# Line 228  typedef int YYSTYPE; Line 117  typedef int YYSTYPE;
117    
118    
119  /* Line 214 of yacc.c.  */  /* Line 214 of yacc.c.  */
120  #line 232 "y.tab.c"  #line 120 "y.tab.c"
121    
122  #if ! defined (yyoverflow) || YYERROR_VERBOSE  #if ! defined (yyoverflow) || YYERROR_VERBOSE
123    
# Line 325  union yyalloc Line 214  union yyalloc
214  #endif  #endif
215    
216  /* YYFINAL -- State number of the termination state. */  /* YYFINAL -- State number of the termination state. */
217  #define YYFINAL  30  #define YYFINAL  40
218  /* YYLAST -- Last index in YYTABLE.  */  /* YYLAST -- Last index in YYTABLE.  */
219  #define YYLAST   306  #define YYLAST   3997
220    
221  /* YYNTOKENS -- Number of terminals. */  /* YYNTOKENS -- Number of terminals. */
222  #define YYNTOKENS  60  #define YYNTOKENS  227
223  /* YYNNTS -- Number of nonterminals. */  /* YYNNTS -- Number of nonterminals. */
224  #define YYNNTS  33  #define YYNNTS  91
225  /* YYNRULES -- Number of rules. */  /* YYNRULES -- Number of rules. */
226  #define YYNRULES  111  #define YYNRULES  417
227  /* YYNRULES -- Number of states. */  /* YYNRULES -- Number of states. */
228  #define YYNSTATES  318  #define YYNSTATES  1144
229    
230  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
231  #define YYUNDEFTOK  2  #define YYUNDEFTOK  2
232  #define YYMAXUTOK   314  #define YYMAXUTOK   257
233    
234  #define YYTRANSLATE(YYX)                                                \  #define YYTRANSLATE(YYX)                                                \
235    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 349  union yyalloc Line 238  union yyalloc
238  static const unsigned char yytranslate[] =  static const unsigned char yytranslate[] =
239  {  {
240         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
241         225,     2,     2,   226,     2,     2,     2,     2,     2,     2,
242         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
243         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,         2,     2,   224,    70,   223,     3,    71,    72,    73,   222,
244         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        74,    75,    76,     6,    77,     7,     5,    78,     8,     9,
245         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        10,    11,    12,    13,    14,    15,    16,    17,    79,    80,
246         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        81,     4,    82,    83,    84,    18,    19,    20,    21,    22,
247         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
248         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
249         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        43,    85,    86,    87,    88,    89,     2,    44,    45,    46,
250         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
251         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
252         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        67,    68,    69,    90,    91,    92,    93,     2,    94,    95,
253         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,        96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
254         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
255         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
256         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
257         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
258         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
259         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
260         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
261         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
262         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
263         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
264         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
265         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,       216,   217,   218,   219,   220,   221,     1,     2
        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,  
        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,  
       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,  
       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,  
       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,  
       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,  
       55,    56,    57,    58,    59  
266  };  };
267    
268  #if YYDEBUG  #if YYDEBUG
# Line 387  static const unsigned char yytranslate[] Line 270  static const unsigned char yytranslate[]
270     YYRHS.  */     YYRHS.  */
271  static const unsigned short yyprhs[] =  static const unsigned short yyprhs[] =
272  {  {
273         0,     0,     3,     6,     7,     9,    11,    13,    15,    18,         0,     0,     3,     6,    10,    11,    13,    15,    17,    19,
274        21,    24,    27,    31,    35,    39,    43,    47,    51,    57,        22,    25,    28,    31,    35,    39,    43,    47,    51,    55,
275        61,    65,    69,    75,    77,    79,    81,    83,    85,    87,        61,    65,    69,    73,    77,    83,    85,    87,    89,    91,
276        89,    91,    93,    95,    97,    99,   101,   103,   105,   111,        93,    95,    97,    99,   101,   103,   105,   107,   109,   111,
277       119,   129,   131,   137,   145,   155,   157,   159,   165,   171,       113,   115,   121,   129,   139,   141,   147,   155,   165,   167,
278       179,   189,   197,   207,   209,   215,   223,   229,   235,   241,       169,   175,   181,   189,   199,   207,   217,   219,   225,   233,
279       249,   259,   267,   277,   281,   285,   291,   295,   301,   305,       239,   245,   251,   259,   269,   277,   287,   291,   295,   301,
280       309,   313,   317,   321,   327,   335,   341,   351,   357,   363,       305,   311,   315,   319,   323,   327,   331,   337,   345,   351,
281       369,   375,   381,   385,   391,   393,   395,   397,   399,   401,       361,   367,   373,   379,   385,   391,   395,   401,   403,   405,
282       407,   415,   419,   421,   423,   425,   427,   429,   431,   433,       407,   409,   411,   417,   425,   429,   431,   433,   435,   437,
283       435,   437,   439,   441,   443,   445,   447,   449,   451,   453,       439,   441,   443,   445,   447,   449,   451,   453,   455,   457,
284       455,   457       459,   461,   463,   465,   467,   469,   472,   476,   481,   486,
285         488,   491,   493,   495,   497,   499,   501,   503,   505,   507,
286         509,   511,   513,   516,   519,   522,   525,   528,   531,   534,
287         537,   540,   542,   544,   546,   548,   550,   552,   554,   556,
288         558,   560,   562,   564,   566,   568,   570,   572,   574,   576,
289         578,   580,   582,   584,   586,   588,   590,   592,   594,   596,
290         598,   600,   602,   604,   606,   608,   610,   612,   614,   616,
291         618,   620,   622,   624,   626,   628,   630,   632,   634,   636,
292         638,   640,   642,   644,   646,   648,   650,   652,   654,   656,
293         658,   660,   662,   664,   666,   668,   670,   672,   674,   676,
294         678,   680,   682,   684,   686,   688,   690,   692,   694,   696,
295         698,   700,   702,   704,   706,   708,   710,   712,   714,   716,
296         718,   720,   722,   724,   726,   728,   730,   732,   734,   736,
297         738,   740,   742,   744,   746,   748,   750,   752,   754,   756,
298         758,   760,   762,   764,   766,   768,   770,   772,   774,   776,
299         778,   780,   782,   784,   786,   788,   790,   792,   794,   796,
300         798,   800,   802,   804,   806,   808,   810,   812,   814,   816,
301         818,   820,   822,   824,   826,   828,   830,   832,   834,   836,
302         838,   840,   842,   844,   846,   848,   850,   852,   854,   856,
303         858,   860,   862,   864,   866,   868,   870,   872,   874,   876,
304         878,   880,   882,   884,   886,   888,   890,   892,   894,   896,
305         898,   900,   902,   904,   906,   908,   910,   912,   914,   916,
306         918,   920,   922,   924,   926,   928,   930,   932,   934,   936,
307         938,   940,   942,   944,   946,   948,   950,   952,   954,   956,
308         958,   960,   962,   964,   966,   968,   970,   972,   974,   976,
309         978,   980,   982,   985,   988,   992,   996,   998,  1000,  1002,
310        1006,  1010,  1017,  1025,  1030,  1035,  1039,  1049,  1056,  1060,
311        1070,  1082,  1089,  1097,  1115,  1146,  1155,  1160,  1172,  1185,
312        1197,  1208,  1215,  1245,  1266,  1286,  1316,  1336,  1367,  1388,
313        1406,  1435,  1463,  1489,  1508,  1526,  1554,  1572,  1588,  1607,
314        1623,  1634,  1641,  1647,  1658,  1664,  1678,  1683
315  };  };
316    
317  /* YYRHS -- A `-1'-separated list of the rules' RHS. */  /* YYRHS -- A `-1'-separated list of the rules' RHS. */
318  static const yysigned_char yyrhs[] =  static const short yyrhs[] =
319  {  {
320        61,     0,    -1,    62,     8,    -1,    -1,    63,    -1,    64,       228,     0,    -1,   229,   267,    -1,   229,   268,   267,    -1,
321        -1,     1,    -1,    10,    -1,    63,    10,    -1,    63,     7,        -1,   230,    -1,   231,    -1,     1,    -1,     3,    -1,   230,
322        -1,    63,     5,    -1,    63,    92,    -1,    12,     7,    26,         3,    -1,   230,   266,    -1,   230,   262,    -1,   230,   258,
323        -1,    13,     7,    67,    -1,    14,     7,    69,    -1,    15,        -1,   269,   266,   282,    -1,   270,   266,   234,    -1,   271,
324         7,    70,    -1,    16,     7,    75,    -1,    17,     7,    71,       266,   236,    -1,   272,   266,   237,    -1,   273,   266,   242,
325        -1,    19,     7,    26,     7,    86,    -1,    20,     7,    68,        -1,   274,   266,   238,    -1,   277,   266,   282,   266,   252,
326        -1,    21,     7,    65,    -1,    22,     7,    66,    -1,    23,        -1,   278,   266,   235,    -1,   279,   266,   232,    -1,   280,
327         7,    26,     7,    86,    -1,    25,    -1,    30,    -1,    34,       266,   233,    -1,   281,   266,   264,    -1,   314,   266,   282,
328        -1,    33,    -1,    32,    -1,    31,    -1,    59,    -1,    30,       266,   252,    -1,   314,    -1,   317,    -1,   285,    -1,   289,
329        -1,    34,    -1,    33,    -1,    32,    -1,    31,    -1,    59,        -1,   288,    -1,   287,    -1,   286,    -1,   315,    -1,   285,
330        -1,    28,    -1,    52,    -1,    50,     7,    31,     7,    92,        -1,   289,    -1,   288,    -1,   287,    -1,   286,    -1,   315,
331        -1,    51,     7,    31,     7,    92,     7,    92,    -1,    51,        -1,   283,    -1,   300,    -1,   306,   266,   286,   266,   258,
332         7,    31,     7,    92,     7,    92,     7,    73,    -1,    29,        -1,   305,   266,   286,   266,   258,   266,   258,    -1,   305,
333        -1,    42,     7,    31,     7,    92,    -1,    43,     7,    31,       266,   286,   266,   258,   266,   258,   266,   240,    -1,   284,
334         7,    92,     7,    92,    -1,    43,     7,    31,     7,    92,        -1,   296,   266,   286,   266,   258,    -1,   295,   266,   286,
335         7,    92,     7,    73,    -1,    40,    -1,    54,    -1,    39,       266,   258,   266,   258,    -1,   295,   266,   286,   266,   258,
336         7,    31,     7,     5,    -1,    53,     7,    31,     7,     5,       266,   258,   266,   240,    -1,   293,    -1,   303,    -1,   294,
337        -1,    47,     7,    31,     7,     5,     7,     5,    -1,    56,       266,   286,   266,   262,    -1,   304,   266,   286,   266,   262,
338         7,    31,     7,     5,     7,     5,     7,    92,    -1,    37,        -1,   307,   266,   286,   266,   262,   266,   262,    -1,   302,
339         7,    31,     7,     5,     7,     5,    -1,    38,     7,    31,       266,   286,   266,   262,   266,   262,   266,   258,    -1,   298,
340         7,     5,     7,     5,     7,    92,    -1,    30,    -1,    26,       266,   286,   266,   262,   266,   262,    -1,   297,   266,   286,
341         7,    31,     7,    86,    -1,    26,     7,    32,     7,    74,       266,   262,   266,   262,   266,   258,    -1,   285,    -1,   282,
342         7,    86,    -1,    26,     7,    33,     7,    86,    -1,    26,       266,   286,   266,   252,    -1,   282,   266,   287,   266,   241,
343         7,    34,     7,    86,    -1,    36,     7,    31,     7,    88,       266,   252,    -1,   282,   266,   288,   266,   252,    -1,   282,
344        -1,    41,     7,     5,     7,    92,    11,    90,    -1,    38,       266,   289,   266,   252,    -1,   291,   266,   286,   266,   254,
345         7,     5,     7,     5,     7,    92,    11,    90,    -1,    55,        -1,   292,   266,   262,   266,   258,     4,   256,    -1,   297,
346         7,     5,     7,    92,    11,    90,    -1,    56,     7,     5,       266,   262,   266,   262,   266,   258,     4,   256,    -1,   301,
347         7,     5,     7,    92,    11,    90,    -1,    26,     7,    72,       266,   262,   266,   258,     4,   256,    -1,   302,   266,   262,
348        -1,    24,     7,    91,    -1,    39,     7,    92,     7,    73,       266,   262,   266,   258,     4,   256,    -1,   282,   266,   239,
349        -1,    39,     7,    92,    -1,    53,     7,    92,     7,    73,        -1,   316,   266,   257,    -1,   294,   266,   258,   266,   240,
350        -1,    53,     7,    92,    -1,    39,     7,     5,    -1,    53,        -1,   294,   266,   258,    -1,   304,   266,   258,   266,   240,
351         7,     5,    -1,    35,     7,    76,    -1,    36,     7,    77,        -1,   304,   266,   258,    -1,   294,   266,   262,    -1,   304,
352        -1,    39,     7,    86,     7,    78,    -1,    37,     7,    86,       266,   262,    -1,   290,   266,   243,    -1,   291,   266,   244,
353         7,    79,     7,    79,    -1,    44,     7,    86,     7,    80,        -1,   294,   266,   252,   266,   245,    -1,   298,   266,   252,
354        -1,    45,     7,    86,     7,    81,     7,    82,     7,    83,       266,   246,   266,   246,    -1,   299,   266,   252,   266,   247,
355        -1,    53,     7,    86,     7,    81,    -1,    47,     7,    86,        -1,   310,   266,   252,   266,   245,   266,   248,   266,   249,
356         7,    82,    -1,    48,     7,    86,     7,    83,    -1,    46,        -1,   304,   266,   252,   266,   245,    -1,   307,   266,   252,
357         7,    86,     7,    84,    -1,    49,     7,    86,     7,    85,       266,   248,    -1,   308,   266,   252,   266,   249,    -1,   309,
358        -1,    92,    11,    90,    -1,    73,     7,    92,    11,    90,       266,   252,   266,   250,    -1,   311,   266,   252,   266,   251,
359        -1,    57,    -1,    58,    -1,    40,    -1,    54,    -1,    30,        -1,   258,     4,   256,    -1,   240,   266,   258,     4,   256,
360        -1,    89,     7,    87,     7,    86,    -1,    18,     7,    89,        -1,   312,    -1,   313,    -1,   293,    -1,   303,    -1,   285,
361         7,    87,     7,    86,    -1,    88,     7,    86,    -1,     5,        -1,   255,   266,   253,   266,   252,    -1,   276,   266,   255,
362        -1,     5,    -1,    92,    -1,     5,    -1,     5,    -1,     5,       266,   253,   266,   252,    -1,   254,   266,   252,    -1,   262,
363        -1,    92,    -1,     4,    -1,     5,    -1,     5,    -1,     5,        -1,   262,    -1,   258,    -1,   262,    -1,   262,    -1,   275,
364        -1,    92,    -1,     6,    -1,     6,    -1,     5,    -1,     4,        -1,   258,    -1,   259,    -1,   262,    -1,   262,    -1,   262,
365        -1,     5,    -1,    92,    -1,     3,    -1,    92,     3,    -1        -1,   258,    -1,   265,    -1,   258,    -1,   265,    -1,   262,
366          -1,   259,    -1,   262,    -1,   258,    -1,   263,    -1,   258,
367         263,    -1,   260,     5,   260,    -1,     6,   260,     5,   260,
368          -1,     7,   260,     5,   260,    -1,   261,    -1,   260,   261,
369          -1,     8,    -1,     9,    -1,    10,    -1,    11,    -1,    12,
370          -1,    13,    -1,    14,    -1,    15,    -1,    16,    -1,    17,
371          -1,   261,    -1,     9,   260,    -1,    10,   260,    -1,    11,
372         260,    -1,    12,   260,    -1,    13,   260,    -1,    14,   260,
373          -1,    15,   260,    -1,    16,   260,    -1,    17,   260,    -1,
374          18,    -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,
375          23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1,
376          28,    -1,    29,    -1,    30,    -1,    31,    -1,    32,    -1,
377          33,    -1,    34,    -1,    35,    -1,    36,    -1,    37,    -1,
378          38,    -1,    39,    -1,    40,    -1,    41,    -1,    42,    -1,
379          43,    -1,    44,    -1,    45,    -1,    46,    -1,    47,    -1,
380          48,    -1,    49,    -1,    50,    -1,    51,    -1,    52,    -1,
381          53,    -1,    54,    -1,    55,    -1,    56,    -1,    57,    -1,
382          58,    -1,    59,    -1,    60,    -1,    61,    -1,    62,    -1,
383          63,    -1,    64,    -1,    65,    -1,    66,    -1,    67,    -1,
384          68,    -1,    69,    -1,     8,    -1,     9,    -1,    10,    -1,
385          11,    -1,    12,    -1,    13,    -1,    14,    -1,    15,    -1,
386          16,    -1,    17,    -1,    70,    -1,     3,    -1,    71,    -1,
387          72,    -1,    73,    -1,    74,    -1,    75,    -1,    76,    -1,
388           6,    -1,     7,    -1,     5,    -1,    77,    -1,    78,    -1,
389          79,    -1,    80,    -1,    81,    -1,     4,    -1,    82,    -1,
390          83,    -1,    84,    -1,    85,    -1,    86,    -1,    87,    -1,
391          88,    -1,    89,    -1,    90,    -1,    91,    -1,    92,    -1,
392          93,    -1,    94,    -1,    95,    -1,    96,    -1,    97,    -1,
393          98,    -1,    99,    -1,   100,    -1,   101,    -1,   102,    -1,
394         103,    -1,   104,    -1,   105,    -1,   106,    -1,   107,    -1,
395         108,    -1,   109,    -1,   110,    -1,   111,    -1,   112,    -1,
396         113,    -1,   114,    -1,   115,    -1,   116,    -1,   117,    -1,
397         118,    -1,   119,    -1,   120,    -1,   121,    -1,   122,    -1,
398         123,    -1,   124,    -1,   125,    -1,   126,    -1,   127,    -1,
399         128,    -1,   129,    -1,   130,    -1,   131,    -1,   132,    -1,
400         133,    -1,   134,    -1,   135,    -1,   136,    -1,   137,    -1,
401         138,    -1,   139,    -1,   140,    -1,   141,    -1,   142,    -1,
402         143,    -1,   144,    -1,   145,    -1,   146,    -1,   147,    -1,
403         148,    -1,   149,    -1,   150,    -1,   151,    -1,   152,    -1,
404         153,    -1,   154,    -1,   155,    -1,   156,    -1,   157,    -1,
405         158,    -1,   159,    -1,   160,    -1,   161,    -1,   162,    -1,
406         163,    -1,   164,    -1,   165,    -1,   166,    -1,   167,    -1,
407         168,    -1,   169,    -1,   170,    -1,   171,    -1,   172,    -1,
408         173,    -1,   174,    -1,   175,    -1,   176,    -1,   177,    -1,
409         178,    -1,   179,    -1,   180,    -1,   181,    -1,   182,    -1,
410         183,    -1,   184,    -1,   185,    -1,   186,    -1,   187,    -1,
411         188,    -1,   189,    -1,   190,    -1,   191,    -1,   192,    -1,
412         193,    -1,   194,    -1,   195,    -1,   196,    -1,   197,    -1,
413         198,    -1,   199,    -1,   200,    -1,   201,    -1,   202,    -1,
414         203,    -1,   204,    -1,   205,    -1,   206,    -1,   207,    -1,
415         208,    -1,   209,    -1,   210,    -1,   211,    -1,   212,    -1,
416         213,    -1,   214,    -1,   215,    -1,   216,    -1,   217,    -1,
417         218,    -1,   219,    -1,   220,    -1,   221,    -1,   266,    -1,
418         258,    -1,   264,   266,    -1,   264,   258,    -1,   222,   264,
419         222,    -1,   223,   264,   223,    -1,   224,    -1,   225,    -1,
420         226,    -1,    18,    21,    21,    -1,    24,    22,    37,    -1,
421          20,    35,    22,    18,    37,    22,    -1,    21,    22,    36,
422          37,    35,    32,    42,    -1,    29,    26,    36,    37,    -1,
423          29,    32,    18,    21,    -1,    18,    29,    29,    -1,    31,
424          32,    31,    89,    30,    32,    21,    18,    29,    -1,    35,
425          22,    30,    32,    39,    22,    -1,    36,    22,    37,    -1,
426          36,    38,    19,    36,    20,    35,    26,    19,    22,    -1,
427          38,    31,    36,    38,    19,    36,    20,    35,    26,    19,
428          22,    -1,    36,    22,    29,    22,    20,    37,    -1,    20,
429          25,    18,    31,    31,    22,    29,    -1,    18,    39,    18,
430          26,    29,    18,    19,    29,    22,    89,    22,    31,    24,
431          26,    31,    22,    36,    -1,    18,    39,    18,    26,    29,
432          18,    19,    29,    22,    89,    18,    38,    21,    26,    32,
433          89,    32,    38,    37,    33,    38,    37,    89,    21,    35,
434          26,    39,    22,    35,    36,    -1,    20,    25,    18,    31,
435          31,    22,    29,    36,    -1,    26,    31,    23,    32,    -1,
436          19,    38,    23,    23,    22,    35,    89,    23,    26,    29,
437          29,    -1,    36,    37,    35,    22,    18,    30,    89,    20,
438          32,    38,    31,    37,    -1,    39,    32,    26,    20,    22,
439          89,    20,    32,    38,    31,    37,    -1,    26,    31,    36,
440          37,    35,    38,    30,    22,    31,    37,    -1,    22,    31,
441          24,    26,    31,    22,    -1,    18,    38,    21,    26,    32,
442          89,    32,    38,    37,    33,    38,    37,    89,    21,    22,
443          39,    26,    20,    22,    89,    33,    18,    35,    18,    30,
444          22,    37,    22,    35,    -1,    18,    38,    21,    26,    32,
445          89,    32,    38,    37,    33,    38,    37,    89,    21,    22,
446          39,    26,    20,    22,    36,    -1,    18,    38,    21,    26,
447          32,    89,    32,    38,    37,    33,    38,    37,    89,    21,
448          22,    39,    26,    20,    22,    -1,    18,    38,    21,    26,
449          32,    89,    32,    38,    37,    33,    38,    37,    89,    21,
450          35,    26,    39,    22,    35,    89,    33,    18,    35,    18,
451          30,    22,    37,    22,    35,    -1,    18,    38,    21,    26,
452          32,    89,    32,    38,    37,    33,    38,    37,    89,    21,
453          35,    26,    39,    22,    35,    -1,    18,    38,    21,    26,
454          32,    89,    32,    38,    37,    33,    38,    37,    89,    20,
455          25,    18,    31,    31,    22,    29,    89,    33,    18,    35,
456          18,    30,    22,    37,    22,    35,    -1,    18,    38,    21,
457          26,    32,    89,    32,    38,    37,    33,    38,    37,    89,
458          20,    25,    18,    31,    31,    22,    29,    -1,    18,    38,
459          21,    26,    32,    89,    32,    38,    37,    33,    38,    37,
460          89,    37,    42,    33,    22,    -1,    18,    39,    18,    26,
461          29,    18,    19,    29,    22,    89,    30,    26,    21,    26,
462          89,    26,    31,    33,    38,    37,    89,    21,    35,    26,
463          39,    22,    35,    36,    -1,    30,    26,    21,    26,    89,
464          26,    31,    33,    38,    37,    89,    21,    22,    39,    26,
465          20,    22,    89,    33,    18,    35,    18,    30,    22,    37,
466          22,    35,    -1,    30,    26,    21,    26,    89,    26,    31,
467          33,    38,    37,    89,    33,    32,    35,    37,    89,    33,
468          18,    35,    18,    30,    22,    37,    22,    35,    -1,    30,
469          26,    21,    26,    89,    26,    31,    33,    38,    37,    89,
470          21,    22,    39,    26,    20,    22,    36,    -1,    30,    26,
471          21,    26,    89,    26,    31,    33,    38,    37,    89,    21,
472          22,    39,    26,    20,    22,    -1,    30,    26,    21,    26,
473          89,    26,    31,    33,    38,    37,    89,    21,    35,    26,
474          39,    22,    35,    89,    33,    18,    35,    18,    30,    22,
475          37,    22,    35,    -1,    30,    26,    21,    26,    89,    26,
476          31,    33,    38,    37,    89,    21,    35,    26,    39,    22,
477          35,    -1,    30,    26,    21,    26,    89,    26,    31,    33,
478          38,    37,    89,    33,    32,    35,    37,    -1,    30,    26,
479          21,    26,    89,    26,    31,    33,    38,    37,    89,    20,
480          25,    18,    31,    31,    22,    29,    -1,    30,    26,    21,
481          26,    89,    26,    31,    33,    38,    37,    89,    37,    42,
482          33,    22,    -1,    30,    26,    21,    26,    89,    26,    31,
483          33,    38,    37,    -1,    39,    32,    29,    38,    30,    22,
484          -1,    19,    42,    37,    22,    36,    -1,    33,    22,    35,
485          20,    22,    31,    37,    18,    24,    22,    -1,    35,    22,
486          36,    22,    37,    -1,    30,    26,    36,    20,    22,    29,
487          29,    18,    31,    22,    32,    38,    36,    -1,    22,    20,
488          25,    32,    -1,    34,    38,    26,    37,    -1
489  };  };
490    
491  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
492  static const unsigned char yyrline[] =  static const unsigned short yyrline[] =
493  {  {
494         0,    82,    82,    84,    85,    86,    87,    90,    91,    92,         0,    81,    81,    82,    85,    86,    87,    88,    91,    92,
495        93,    94,    97,    98,    99,   100,   101,   102,   103,   104,        93,    94,    95,    98,    99,   100,   101,   102,   103,   104,
496       105,   106,   107,   108,   111,   112,   113,   114,   115,   116,       105,   106,   107,   108,   109,   110,   111,   114,   115,   116,
497       119,   120,   121,   122,   123,   124,   127,   128,   129,   130,       117,   118,   119,   122,   123,   124,   125,   126,   127,   130,
498       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,       131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
499       141,   142,   143,   144,   145,   146,   147,   148,   149,   152,       141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
500       153,   154,   155,   156,   157,   160,   161,   162,   163,   166,       151,   152,   155,   156,   157,   158,   159,   160,   163,   164,
501       167,   170,   171,   174,   175,   176,   177,   178,   179,   180,       165,   166,   169,   170,   173,   174,   177,   178,   179,   180,
502       181,   182,   185,   186,   189,   190,   193,   194,   195,   198,       181,   182,   183,   184,   185,   188,   189,   192,   193,   196,
503       199,   202,   205,   208,   211,   214,   217,   220,   223,   226,       197,   198,   201,   202,   205,   208,   211,   214,   217,   220,
504       227,   230,   233,   236,   239,   242,   243,   244,   247,   248,       221,   224,   227,   228,   231,   234,   237,   240,   243,   244,
505       251,   252       245,   246,   252,   253,   256,   257,   260,   261,   262,   266,
506         267,   270,   271,   272,   273,   274,   275,   276,   277,   278,
507         279,   282,   283,   284,   285,   286,   287,   288,   289,   290,
508         291,   293,   293,   293,   293,   293,   293,   293,   293,   293,
509         293,   293,   293,   293,   293,   293,   293,   293,   293,   293,
510         293,   293,   293,   293,   293,   293,   293,   294,   294,   294,
511         294,   294,   294,   294,   294,   294,   294,   294,   294,   294,
512         294,   294,   294,   294,   294,   294,   294,   294,   294,   294,
513         294,   294,   294,   295,   295,   295,   295,   295,   295,   295,
514         295,   295,   295,   296,   296,   296,   296,   296,   296,   296,
515         296,   296,   296,   296,   296,   296,   297,   297,   297,   297,
516         297,   297,   297,   298,   298,   298,   298,   298,   299,   299,
517         299,   299,   300,   300,   300,   301,   301,   301,   302,   302,
518         302,   303,   303,   303,   304,   304,   304,   305,   305,   305,
519         306,   306,   306,   307,   307,   307,   308,   308,   308,   309,
520         309,   309,   310,   310,   310,   311,   311,   311,   312,   312,
521         312,   313,   313,   313,   314,   314,   314,   315,   315,   315,
522         316,   316,   316,   317,   317,   317,   318,   318,   318,   319,
523         319,   319,   320,   320,   320,   321,   321,   321,   322,   322,
524         322,   323,   323,   323,   324,   324,   324,   325,   325,   325,
525         326,   326,   326,   327,   327,   327,   328,   328,   328,   329,
526         329,   329,   330,   330,   330,   331,   331,   331,   332,   332,
527         332,   333,   333,   333,   334,   334,   334,   335,   335,   335,
528         336,   336,   336,   337,   337,   337,   338,   338,   338,   339,
529         339,   339,   340,   340,   340,   341,   341,   341,   342,   342,
530         345,   346,   347,   348,   351,   352,   358,   361,   364,   367,
531         370,   373,   376,   379,   382,   385,   388,   391,   394,   397,
532         400,   403,   406,   409,   412,   415,   418,   421,   424,   427,
533         430,   433,   436,   439,   442,   445,   448,   451,   454,   457,
534         460,   463,   466,   469,   472,   475,   478,   481,   484,   487,
535         490,   493,   496,   499,   502,   505,   508,   511
536  };  };
537  #endif  #endif
538    
# Line 475  static const unsigned char yyrline[] = Line 541  static const unsigned char yyrline[] =
541     First, the terminals, then, starting at YYNTOKENS, nonterminals. */     First, the terminals, then, starting at YYNTOKENS, nonterminals. */
542  static const char *const yytname[] =  static const char *const yytname[] =
543  {  {
544    "$end", "error", "$undefined", "CHAR", "DOTNUM", "NUMBER", "STRINGVAL",    "$end", "error", "$undefined", "'#'", "'='", "'.'", "'+'", "'-'", "'0'",
545    "SP", "LF", "CR", "HASH", "EQ", "ADD", "GET", "CREATE", "DESTROY",    "'1'", "'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "'A'",
546    "LIST", "LOAD", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",    "'B'", "'C'", "'D'", "'E'", "'F'", "'G'", "'H'", "'I'", "'J'", "'K'",
547    "UNSUBSCRIBE", "RESET", "ECHO", "QUIT", "CHANNEL", "NOTIFICATION",    "'L'", "'M'", "'N'", "'O'", "'P'", "'Q'", "'R'", "'S'", "'T'", "'U'",
548    "AVAILABLE_ENGINES", "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS",    "'V'", "'W'", "'X'", "'Y'", "'Z'", "'a'", "'b'", "'c'", "'d'", "'e'",
549    "INFO", "BUFFER_FILL", "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT",    "'f'", "'g'", "'h'", "'i'", "'j'", "'k'", "'l'", "'m'", "'n'", "'o'",
550    "ENGINE", "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_CHANNEL_PARAMETER",    "'p'", "'q'", "'r'", "'s'", "'t'", "'u'", "'v'", "'w'", "'x'", "'y'",
551    "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DEVICES",    "'z'", "'!'", "'$'", "'%'", "'&'", "'('", "')'", "'*'", "','", "'/'",
552    "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DRIVER",    "':'", "';'", "'<'", "'>'", "'?'", "'@'", "'['", "'\\\\'", "']'", "'^'",
553    "AUDIO_OUTPUT_DRIVER_PARAMETER", "AUDIO_OUTPUT_TYPE", "MIDI_INPUT",    "'_'", "'{'", "'|'", "'}'", "'~'", "'\\200'", "'\\201'", "'\\202'",
554    "MIDI_INPUT_TYPE", "MIDI_INPUT_PORT", "MIDI_INPUT_CHANNEL", "VOLUME",    "'\\203'", "'\\204'", "'\\205'", "'\\206'", "'\\207'", "'\\210'",
555    "MIDI_INPUT_DRIVER", "MIDI_INPUT_DRIVER_PARAMETER",    "'\\211'", "'\\212'", "'\\213'", "'\\214'", "'\\215'", "'\\216'",
556    "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE",    "'\\217'", "'\\220'", "'\\221'", "'\\222'", "'\\223'", "'\\224'",
557    "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE_PARAMETER",    "'\\225'", "'\\226'", "'\\227'", "'\\230'", "'\\231'", "'\\232'",
558    "MIDI_INPUT_PORT_PARAMETER", "BYTES", "PERCENTAGE", "MISCELLANEOUS",    "'\\233'", "'\\234'", "'\\235'", "'\\236'", "'\\237'", "' '", "'¡'",
559      "'¢'", "'£'", "'¤'", "'¥'", "'¦'", "'§'", "'¨'", "'©'", "'ª'", "'«'",
560      "'¬'", "'­'", "'®'", "'¯'", "'°'", "'±'", "'²'", "'³'", "'´'", "'µ'",
561      "'¶'", "'·'", "'¸'", "'¹'", "'º'", "'»'", "'¼'", "'½'", "'¾'", "'¿'",
562      "'À'", "'Á'", "'Â'", "'Ã'", "'Ä'", "'Å'", "'Æ'", "'Ç'", "'È'", "'É'",
563      "'Ê'", "'Ë'", "'Ì'", "'Í'", "'Î'", "'Ï'", "'Ð'", "'Ñ'", "'Ò'", "'Ó'",
564      "'Ô'", "'Õ'", "'Ö'", "'×'", "'Ø'", "'Ù'", "'Ú'", "'Û'", "'Ü'", "'Ý'",
565      "'Þ'", "'ß'", "'à'", "'á'", "'â'", "'ã'", "'ä'", "'å'", "'æ'", "'ç'",
566      "'è'", "'é'", "'ê'", "'ë'", "'ì'", "'í'", "'î'", "'ï'", "'ð'", "'ñ'",
567      "'ò'", "'ó'", "'ô'", "'õ'", "'ö'", "'÷'", "'ø'", "'ù'", "'ú'", "'û'",
568      "'ü'", "'ý'", "'þ'", "'ÿ'", "'''", "'\"'", "' '", "'\\n'", "'\\r'",
569    "$accept", "input", "line", "comment", "command", "subscribe_event",    "$accept", "input", "line", "comment", "command", "subscribe_event",
570    "unsubscribe_event", "get_instruction", "set_instruction",    "unsubscribe_event", "get_instruction", "set_instruction",
571    "create_instruction", "destroy_instruction", "load_instruction",    "create_instruction", "destroy_instruction", "load_instruction",
572    "set_chan_instruction", "key_val_list", "buffer_size_type",    "set_chan_instruction", "key_val_list", "buffer_size_type",
573    "list_instruction", "load_instr_args", "load_engine_args",    "list_instruction", "load_instr_args", "load_engine_args",
574    "audio_output_device", "audio_output_channel", "audio_output_type",    "device_index", "audio_channel_index", "audio_output_type_name",
575    "midi_input_device", "midi_input_port", "midi_input_channel",    "midi_input_port_index", "midi_input_channel_index",
576    "midi_input_type", "volume", "sampler_channel", "instrument_index",    "midi_input_type_name", "volume_value", "sampler_channel",
577    "engine_name", "filename", "param_val", "boolean", "string", 0    "instrument_index", "engine_name", "filename", "param_val", "boolean",
578      "string", "dotnum", "digits", "digit", "number", "char", "text",
579      "stringval", "SP", "LF", "CR", "ADD", "GET", "CREATE", "DESTROY",
580      "LIST", "LOAD", "ALL", "NON_MODAL", "REMOVE", "SET", "SUBSCRIBE",
581      "UNSUBSCRIBE", "SELECT", "CHANNEL", "AVAILABLE_ENGINES",
582      "AVAILABLE_AUDIO_OUTPUT_DRIVERS", "CHANNELS", "INFO", "BUFFER_FILL",
583      "STREAM_COUNT", "VOICE_COUNT", "INSTRUMENT", "ENGINE",
584      "AUDIO_OUTPUT_DEVICE_PARAMETER", "AUDIO_OUTPUT_DEVICES",
585      "AUDIO_OUTPUT_DEVICE", "AUDIO_OUTPUT_DRIVER_PARAMETER",
586      "AUDIO_OUTPUT_DRIVER", "AUDIO_OUTPUT_CHANNEL_PARAMETER",
587      "AUDIO_OUTPUT_CHANNEL", "AUDIO_OUTPUT_TYPE",
588      "AVAILABLE_MIDI_INPUT_DRIVERS", "MIDI_INPUT_DEVICE_PARAMETER",
589      "MIDI_INPUT_PORT_PARAMETER", "MIDI_INPUT_DEVICES", "MIDI_INPUT_DEVICE",
590      "MIDI_INPUT_DRIVER_PARAMETER", "MIDI_INPUT_DRIVER", "MIDI_INPUT_PORT",
591      "MIDI_INPUT_CHANNEL", "MIDI_INPUT_TYPE", "MIDI_INPUT", "VOLUME",
592      "BYTES", "PERCENTAGE", "RESET", "MISCELLANEOUS", "ECHO", "QUIT", 0
593  };  };
594  #endif  #endif
595    
# Line 507  static const char *const yytname[] = Line 598  static const char *const yytname[] =
598     token YYLEX-NUM.  */     token YYLEX-NUM.  */
599  static const unsigned short yytoknum[] =  static const unsigned short yytoknum[] =
600  {  {
601         0,   256,   257,   258,   259,   260,   261,   262,   263,   264,         0,   256,   257,    35,    61,    46,    43,    45,    48,    49,
602       265,   266,   267,   268,   269,   270,   271,   272,   273,   274,        50,    51,    52,    53,    54,    55,    56,    57,    65,    66,
603       275,   276,   277,   278,   279,   280,   281,   282,   283,   284,        67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
604       285,   286,   287,   288,   289,   290,   291,   292,   293,   294,        77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
605       295,   296,   297,   298,   299,   300,   301,   302,   303,   304,        87,    88,    89,    90,    97,    98,    99,   100,   101,   102,
606       305,   306,   307,   308,   309,   310,   311,   312,   313,   314       103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
607         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
608          33,    36,    37,    38,    40,    41,    42,    44,    47,    58,
609          59,    60,    62,    63,    64,    91,    92,    93,    94,    95,
610         123,   124,   125,   126,   128,   129,   130,   131,   132,   133,
611         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
612         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
613         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
614         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
615         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
616         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
617         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
618         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
619         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
620         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
621         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
622         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
623         254,   255,    39,    34,    32,    10,    13
624  };  };
625  # endif  # endif
626    
627  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
628  static const unsigned char yyr1[] =  static const unsigned short yyr1[] =
629  {  {
630         0,    60,    61,    62,    62,    62,    62,    63,    63,    63,         0,   227,   228,   228,   229,   229,   229,   229,   230,   230,
631        63,    63,    64,    64,    64,    64,    64,    64,    64,    64,       230,   230,   230,   231,   231,   231,   231,   231,   231,   231,
632        64,    64,    64,    64,    65,    65,    65,    65,    65,    65,       231,   231,   231,   231,   231,   231,   231,   232,   232,   232,
633        66,    66,    66,    66,    66,    66,    67,    67,    67,    67,       232,   232,   232,   233,   233,   233,   233,   233,   233,   234,
634        67,    67,    67,    67,    67,    67,    67,    67,    67,    67,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
635        67,    67,    67,    67,    67,    67,    67,    67,    67,    68,       234,   234,   234,   234,   234,   234,   234,   234,   234,   234,
636        68,    68,    68,    68,    68,    69,    69,    69,    69,    70,       234,   234,   235,   235,   235,   235,   235,   235,   236,   236,
637        70,    71,    71,    72,    72,    72,    72,    72,    72,    72,       236,   236,   237,   237,   238,   238,   239,   239,   239,   239,
638        72,    72,    73,    73,    74,    74,    75,    75,    75,    76,       239,   239,   239,   239,   239,   240,   240,   241,   241,   242,
639        76,    77,    78,    79,    80,    81,    82,    83,    84,    85,       242,   242,   243,   243,   244,   245,   246,   247,   248,   249,
640        85,    86,    87,    88,    89,    90,    90,    90,    91,    91,       249,   250,   251,   251,   252,   253,   254,   255,   256,   256,
641        92,    92       256,   256,   257,   257,   258,   258,   259,   259,   259,   260,
642         260,   261,   261,   261,   261,   261,   261,   261,   261,   261,
643         261,   262,   262,   262,   262,   262,   262,   262,   262,   262,
644         262,   263,   263,   263,   263,   263,   263,   263,   263,   263,
645         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
646         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
647         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
648         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
649         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
650         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
651         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
652         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
653         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
654         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
655         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
656         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
657         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
658         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
659         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
660         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
661         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
662         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
663         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
664         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
665         263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
666         264,   264,   264,   264,   265,   265,   266,   267,   268,   269,
667         270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
668         280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
669         290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
670         300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
671         310,   311,   312,   313,   314,   315,   316,   317
672  };  };
673    
674  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
675  static const unsigned char yyr2[] =  static const unsigned char yyr2[] =
676  {  {
677         0,     2,     2,     0,     1,     1,     1,     1,     2,     2,         0,     2,     2,     3,     0,     1,     1,     1,     1,     2,
678         2,     2,     3,     3,     3,     3,     3,     3,     5,     3,         2,     2,     2,     3,     3,     3,     3,     3,     3,     5,
679         3,     3,     5,     1,     1,     1,     1,     1,     1,     1,         3,     3,     3,     3,     5,     1,     1,     1,     1,     1,
680         1,     1,     1,     1,     1,     1,     1,     1,     5,     7,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
681         9,     1,     5,     7,     9,     1,     1,     5,     5,     7,         1,     5,     7,     9,     1,     5,     7,     9,     1,     1,
682         9,     7,     9,     1,     5,     7,     5,     5,     5,     7,         5,     5,     7,     9,     7,     9,     1,     5,     7,     5,
683         9,     7,     9,     3,     3,     5,     3,     5,     3,     3,         5,     5,     7,     9,     7,     9,     3,     3,     5,     3,
684         3,     3,     3,     5,     7,     5,     9,     5,     5,     5,         5,     3,     3,     3,     3,     3,     5,     7,     5,     9,
685         5,     5,     3,     5,     1,     1,     1,     1,     1,     5,         5,     5,     5,     5,     5,     3,     5,     1,     1,     1,
686         7,     3,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     5,     7,     3,     1,     1,     1,     1,     1,
687           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
688           1,     1,     1,     1,     1,     2,     3,     4,     4,     1,
689           2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
690           1,     1,     2,     2,     2,     2,     2,     2,     2,     2,
691           2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
692           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
693           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
694           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
695           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
696           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
697           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
698           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
699           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
700           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
701         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
702         1,     2         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
703           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
704           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
705           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
706           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
707           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
708           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
709           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
710           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
711           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
712           1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
713           1,     1,     2,     2,     3,     3,     1,     1,     1,     3,
714           3,     6,     7,     4,     4,     3,     9,     6,     3,     9,
715          11,     6,     7,    17,    30,     8,     4,    11,    12,    11,
716          10,     6,    29,    20,    19,    29,    19,    30,    20,    17,
717          28,    27,    25,    18,    17,    27,    17,    15,    18,    15,
718          10,     6,     5,    10,     5,    13,     4,     4
719  };  };
720    
721  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
722     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero     STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
723     means the default is an error.  */     means the default is an error.  */
724  static const unsigned char yydefact[] =  static const unsigned short yydefact[] =
725  {  {
726         0,     6,     7,     0,     0,     0,     0,     0,     0,     0,         0,     7,     8,     0,     0,     0,     0,     0,     0,     0,
727         0,     0,     0,     0,    23,     0,     0,     4,     5,     0,         0,     0,     0,     0,     5,     6,     0,     0,     0,     0,
728           0,     0,     0,     0,     0,     0,     0,    25,    26,     0,
729           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
730           1,   367,   368,     2,     0,     9,   219,   213,   211,   212,
731         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
732         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
733         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
734         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
735         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
736         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
737         191,   192,   203,   205,   206,   207,   208,   209,   210,   214,
738         215,   216,   217,   218,   220,   221,   222,   223,   224,   225,
739         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
740         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
741         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
742         256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
743         266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
744         276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
745         286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
746         296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
747         306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
748         316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
749         326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
750         336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
751         346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
752         356,   357,   358,   359,   366,    12,   131,    11,   114,    10,
753           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
754           0,     0,   369,     0,     0,   370,     0,     0,     0,     0,
755           0,     0,   378,     0,     0,     3,   121,   122,   123,   124,
756         125,   126,   127,   128,   129,   130,   132,   119,   133,   134,
757         135,   136,   137,   138,   139,   140,   204,   193,   194,   195,
758         196,   197,   198,   199,   200,   201,   202,   115,     0,    13,
759           0,     0,     0,     0,    14,     0,    39,    44,    56,     0,
760          48,     0,     0,     0,     0,     0,    40,     0,    49,     0,
761           0,     0,     0,     0,     0,    15,     0,     0,    16,     0,
762           0,     0,     0,     0,    17,    91,    89,    90,     0,    18,
763           0,     0,     0,     0,     0,     0,    20,     0,     0,     0,
764           0,     0,     0,     0,     0,     0,     0,     0,    21,    27,
765          31,    30,    29,    28,    32,    22,    33,    37,    36,    35,
766          34,    38,   361,    23,   360,     0,     0,     0,   373,   374,
767         417,     0,     0,     0,     0,     0,   120,     0,     0,     0,
768           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
769           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
770           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
771           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
772           0,     0,   363,   362,     0,     0,     0,     0,   414,     0,
773           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
774           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
775           0,     0,     0,     0,     0,    69,    71,   122,   123,   124,
776         125,   126,   127,   128,   129,   130,    72,    73,     0,     0,
777           0,     0,     0,     0,     0,    74,     0,   107,     0,    75,
778           0,   106,    19,   104,     0,     0,     0,     0,     0,     0,
779          66,     0,     0,     0,     0,     0,     0,     0,     0,     0,
780           0,     0,     0,     0,    67,   113,   112,     0,     0,     0,
781           0,     0,    24,   371,     0,   377,   381,     0,     0,     0,
782           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
783           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
784           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
785           0,     0,     0,     0,     0,   416,     0,     0,     0,     0,
786         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
787         1,     2,   110,    10,     9,     8,    11,    12,     0,    36,         0,     0,     0,     0,   386,     0,     0,     0,   372,     0,
788        41,    53,     0,     0,     0,     0,    45,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,    57,     0,     0,
789         0,     0,    37,     0,    46,     0,    13,     0,     0,    14,         0,    87,    88,    59,    60,    61,    50,     0,    45,     0,
790         0,     0,    15,    88,    86,    87,    16,     0,     0,    17,         0,     0,    51,     0,    41,     0,     0,     0,    68,     0,
791         0,     0,     0,     0,     0,     0,     0,    19,    24,    28,        70,     0,     0,     0,     0,     0,   364,   365,     0,   105,
792        27,    26,    25,    29,    20,    30,    34,    33,    32,    31,         0,    94,     0,     0,     0,     0,     0,     0,     0,     0,
       35,    21,     0,   111,     0,     0,     0,     0,     0,     0,  
793         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
794         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
795         391,     0,     0,     0,     0,     0,     0,     0,     0,     0,
796         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,    66,    68,    69,    70,   104,  
        0,    71,     0,    72,     0,   103,   101,    18,   108,    64,  
      109,     0,     0,     0,     0,     0,     0,     0,     0,     0,  
       63,     0,     0,     0,     0,    22,     0,     0,     0,     0,  
797         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
798         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
799         0,     0,     0,     0,     0,     0,     0,     0,     0,    54,         0,     0,     0,     0,   379,     0,   382,     0,     0,   382,
800        84,    85,     0,    56,    57,    58,     0,     0,    47,    42,         0,     0,     0,    58,    46,     0,    54,     0,    42,    52,
801         0,     0,    38,     0,    48,     0,    65,     0,    67,     0,         0,     0,     0,   211,   212,    85,   108,   111,     0,   119,
802       102,     0,    91,     0,     0,     0,     0,     0,     0,     0,       110,   109,     0,     0,     0,     0,     0,    92,     0,     0,
803           0,     0,     0,     0,    76,    95,     0,    96,    78,    97,
804          80,    81,    98,     0,    82,    99,   100,    83,   101,     0,
805           0,     0,    84,   102,   103,    62,     0,    64,     0,     0,
806           0,     0,     0,     0,     0,     0,   385,     0,     0,     0,
807         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
808           0,     0,     0,     0,     0,     0,     0,     0,     0,   411,
809           0,     0,     0,     0,     0,     0,     0,     0,     0,   380,
810           0,     0,     0,   412,     0,    47,    55,    53,    43,     0,
811           0,    86,     0,     0,   116,     0,     0,     0,     0,    93,
812           0,     0,     0,     0,    77,   375,     0,    63,    65,     0,
813           0,     0,     0,     0,     0,     0,     0,     0,     0,   117,
814         118,     0,     0,   390,     0,     0,     0,     0,     0,     0,
815         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
816           0,     0,     0,     0,   376,     0,     0,     0,     0,    79,
817         387,     0,     0,   389,     0,     0,     0,     0,     0,     0,
818           0,     0,     0,     0,     0,     0,     0,     0,     0,   410,
819           0,   388,     0,     0,     0,     0,     0,     0,     0,     0,
820           0,     0,     0,     0,     0,     0,     0,     0,     0,   415,
821           0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
822         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
823        55,    51,     0,    43,    49,    39,     0,     0,   107,   106,         0,     0,     0,     0,     0,     0,     0,     0,     0,   407,
824       105,    82,     0,    89,    93,     0,    92,    73,    75,    94,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
825        95,     0,    80,    98,    96,    78,    97,    79,    99,   100,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
826        81,    77,     0,    59,    61,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
827         0,     0,     0,     0,     0,     0,    52,    44,    40,    50,         0,     0,     0,     0,     0,     0,     0,   383,     0,   404,
828        83,    90,    74,     0,    60,    62,     0,    76       406,     0,     0,   404,     0,     0,     0,     0,     0,     0,
829           0,     0,   407,   409,     0,     0,     0,     0,     0,   403,
830           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
831           0,   394,   396,     0,     0,     0,     0,   394,     0,     0,
832           0,     0,     0,   399,     0,   398,   393,     0,     0,     0,
833           0,     0,     0,     0,     0,     0,   408,     0,     0,     0,
834           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
835           0,     0,     0,     0,   398,     0,     0,     0,     0,     0,
836           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
837           0,     0,     0,     0,     0,     0,   402,     0,     0,     0,
838           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
839         405,     0,   401,     0,     0,     0,   400,     0,     0,   395,
840           0,   392,   397,   384
841  };  };
842    
843  /* YYDEFGOTO[NTERM-NUM]. */  /* YYDEFGOTO[NTERM-NUM]. */
844  static const short yydefgoto[] =  static const short yydefgoto[] =
845  {  {
846        -1,    15,    16,    17,    18,    84,    91,    56,    77,    59,        -1,    12,    13,    14,    15,   388,   395,   334,   376,   355,
847        62,    69,   160,   216,   202,    66,   141,   143,   277,   275,       358,   369,   530,   648,   630,   364,   515,   519,   774,   776,
848       278,   281,   285,   287,   282,   290,   147,   221,   144,   142,       778,   781,   784,   787,   792,   522,   658,   520,   516,   755,
849       271,   149,   217       544,   756,   757,   758,   266,   523,   268,   403,   761,   703,
850          43,    44,    16,    17,    18,    19,    20,    21,   786,   518,
851          22,    23,    24,    25,    26,   329,   336,   337,   338,   390,
852         391,   392,   393,   370,   339,   378,   340,   341,   342,   343,
853         344,   345,   533,   346,   380,   347,   348,   349,   350,   351,
854         352,   536,   537,   538,   539,   631,   632,    27,   394,   382,
855          28
856  };  };
857    
858  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
859     STATE-NUM.  */     STATE-NUM.  */
860  #define YYPACT_NINF -252  #define YYPACT_NINF -705
861  static const short yypact[] =  static const short yypact[] =
862  {  {
863        85,  -252,  -252,    24,    39,    54,    73,    81,   105,   108,        55,  -705,  -705,    12,    25,    33,    80,    31,    39,    82,
864       128,   144,   147,   148,  -252,    92,   109,   124,  -252,   126,         1,   101,   109,  -173,  1578,  -705,   -64,   -64,   -64,   -64,
865       -14,   -26,    -9,   -22,   110,   133,   -21,    25,    32,   136,       -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,  -705,   182,
866      -252,  -252,  -252,  -252,  -252,  -252,   153,  -252,   156,  -252,       171,   194,   207,   209,   228,   221,    97,    -1,   252,   234,
867      -252,  -252,   157,   158,   159,   160,  -252,   161,   162,   163,      -705,  -705,  -705,  -705,    47,  -705,  -705,  -705,  -705,  -705,
868       164,   165,  -252,   166,  -252,   167,  -252,   168,   169,  -252,      -705,   241,   241,   241,   241,   241,   241,   241,   241,   241,
869       170,   171,  -252,  -252,  -252,  -252,  -252,   174,   175,  -252,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
870       177,   178,   179,   180,   181,   182,   183,  -252,  -252,  -252,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
871      -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
872      -252,  -252,   184,  -252,   107,   172,   173,   176,   185,   186,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
873       187,   188,   189,   190,   192,   194,   191,   191,   193,   195,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
874         3,   191,   196,    78,    77,   197,   200,   201,   203,   196,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
875       202,   204,   205,   206,   207,   208,   220,   221,   222,   223,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
876       224,   226,   228,   229,   230,    38,    40,  -252,  -252,  -252,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
877       231,  -252,   233,  -252,   234,   153,  -252,  -252,  -252,  -252,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
878       153,   236,   237,   238,   239,   240,   241,   242,   243,   244,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
879      -252,   245,   246,   247,   248,  -252,   196,    90,   196,   196,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
880       191,   251,   252,   253,   191,   191,   254,   191,   191,   255,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
881       256,   191,   191,   257,   259,   196,   196,   196,   196,   196,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
882       196,   196,   196,   196,   196,   260,   191,   191,   261,  -252,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
883      -252,  -252,   262,  -252,  -252,  -252,   263,   264,  -252,   153,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
884        75,   265,   153,   106,  -252,   266,   267,    -1,   267,   268,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
885      -252,   269,  -252,   270,   271,   273,   274,   276,   277,   278,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
886       279,   280,   281,     8,    49,   282,   196,   285,   286,   191,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
887       287,   191,   288,   191,   138,   259,   196,   289,   290,   191,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
888       291,   191,   292,   293,   145,   291,   191,   138,   138,   191,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
889      -252,  -252,   294,   129,  -252,   130,   295,    74,  -252,  -252,      -705,  -705,  -705,  -705,  -705,  2243,  -705,  -705,  -705,  -705,
890      -252,  -252,   296,  -252,  -252,   297,  -252,  -252,  -252,   153,       253,     7,    78,    78,    65,   200,   253,   106,    62,    62,
891      -252,   298,  -252,   153,  -252,  -252,  -252,  -252,  -252,  -252,      1800,   253,  -705,   256,   238,  -705,   239,   257,   240,   247,
892      -252,  -252,    76,  -252,  -252,   100,   191,   191,   191,   191,       260,   261,  -705,   248,   249,  -705,  -705,  -705,  -705,  -705,
893       138,   196,   289,   292,   138,   138,   153,   267,   267,   153,      -705,  -705,  -705,  -705,  -705,  -705,   241,  -705,   241,   241,
894      -252,  -252,  -252,   299,  -252,  -252,   293,  -252       241,   241,   241,   241,   241,   241,  -705,  -705,  -705,  -705,
895        -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   263,  -705,
896          96,   264,   254,   265,  -705,   -64,  -705,  -705,  -705,   -64,
897        -705,   -64,   -64,   -64,   -64,   -64,  -705,   -64,  -705,   -64,
898         -64,   -64,   -64,   255,   266,  -705,   -64,   -64,  -705,   -64,
899         -64,   259,   269,   280,  -705,  -705,  -705,  -705,   276,  -705,
900         -64,   -64,   -64,   270,   275,   283,  -705,   -64,   -64,   -64,
901         -64,   -64,   -64,   272,   281,   285,   278,   258,  -705,  -705,
902        -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
903        -705,  -705,  2243,  1800,  -705,   -64,   279,   282,  -705,  -705,
904        -705,   274,   284,   294,   298,   267,  -705,   301,   299,   304,
905         305,   302,   306,    61,   303,   303,   303,   303,   303,   303,
906         303,   303,   303,   303,   303,   314,   321,  2243,  2243,   251,
907         251,   322,   307,   326,   308,   -27,  2243,   251,   329,   327,
908         330,    20,   251,   251,   251,   251,  2462,   331,   332,   317,
909         328,   338,  2243,  -705,   251,   334,   325,   336,  -705,   335,
910         339,   337,   344,   350,   351,   347,   353,   354,   -64,   -64,
911         -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
912         -64,   -64,   -64,   355,   356,  1800,  1800,   241,   241,   241,
913         241,   241,   241,   241,   241,   241,  -705,  -705,   357,   358,
914         359,   349,   333,  1800,  1800,  -705,   -64,  -705,   -64,  -705,
915         -64,  2243,  -705,  -705,   361,   352,   362,   360,   364,   363,
916        -705,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,   -64,
917         -64,   -64,   -64,   -64,  -705,  2243,  -705,   368,   365,   373,
918         374,   379,  -705,  -705,   366,  -705,  -705,   375,   380,   371,
919         372,   376,   378,   381,   318,   251,    21,   251,   251,  2243,
920         251,  2243,  2243,   251,   251,   251,   251,  2243,  2243,   251,
921         382,   324,  2243,  2243,   383,   385,   340,   384,   386,  1134,
922        1356,   251,   -44,   251,   388,  -705,   341,   389,   390,   377,
923         251,   251,   251,   251,   251,   251,   251,   251,   251,  2243,
924         251,  2243,   251,   396,  -705,   399,   404,   401,  -705,   405,
925         392,   406,   342,   414,   411,   412,   409,  -705,   394,   415,
926         -64,  -705,  -705,  -705,  -705,  -705,  -705,  1800,  2243,   -64,
927         -64,   -64,  -705,  1800,  2243,   -64,   367,   417,   -64,  2681,
928         -64,   369,   422,   419,   408,   370,  -705,  -705,   -64,  -705,
929         -64,  -705,   393,   421,   423,   424,   410,   -64,   -64,   -64,
930         -64,   -64,   -64,   -64,   -64,   -64,  2900,   -64,  3119,   -64,
931         416,   425,   427,   397,   430,   429,   431,   432,   434,   433,
932        -705,   435,   426,   448,   251,  2243,   251,   251,   251,  2243,
933         251,   464,   466,  2243,  2022,   467,   436,   469,   468,   471,
934         251,   251,   472,   475,   476,   444,   489,   251,   251,  2243,
935         251,   251,   225,  2243,   251,   201,  2022,  2243,  2022,  2243,
936         445,   506,   447,   441,  -705,   518,  -705,   500,   510,   504,
937         508,   521,   524,  -705,  1800,   -64,  -705,   -64,  1800,  -705,
938         507,   513,  3338,   241,   241,  -705,  2243,  -705,   105,   -34,
939        -705,  -705,   509,   504,   515,   527,   519,  -705,   -64,   512,
940         520,   463,   528,   533,  -705,  -705,   -64,  -705,  -705,  2243,
941        -705,  -705,  -705,   529,  -705,  -705,  -705,  -705,  2243,   -64,
942         241,   241,  -705,  -705,  -705,  -705,  3557,  -705,  3776,   534,
943         545,   544,   535,   546,   532,   548,  -705,   536,   530,   549,
944        2243,  2243,  2243,  2243,   538,   542,  2022,   142,   172,   241,
945         539,   543,   541,   552,   251,   547,   550,   551,   554,  -705,
946         251,   553,   251,  2022,  2022,   560,   556,   557,   555,  -705,
947         558,   501,   562,  -705,   561,   -64,  2243,  2243,   -64,   564,
948         563,  -705,   241,   241,   241,   568,   565,   567,   576,  -705,
949         572,   569,   570,   574,  -705,  -705,   -64,  -705,  -705,   566,
950         587,   573,   579,   575,   176,   523,   577,   578,   526,   241,
951         241,   580,   531,  -705,   588,   583,   559,   585,   586,   225,
952         594,   593,   596,   598,   599,   595,   600,   611,    90,   620,
953         602,   619,   604,   621,  -705,   606,   104,   612,   607,  -705,
954        -705,   608,   613,  -705,   581,   630,   628,   632,    64,   622,
955         631,   582,   643,   584,   645,   589,   647,   640,   636,   591,
956         639,  -705,   128,   650,   651,   655,   646,   661,   653,   667,
957         670,   654,   671,   656,   181,   657,   663,   662,    41,  -705,
958         675,    72,   669,   674,   624,   676,   678,   672,  -705,   697,
959         694,   699,   696,   698,   702,   701,   688,   641,   703,   700,
960         687,   713,   706,   709,   649,   718,   715,   722,   724,   658,
961         710,   730,   712,   732,   735,   716,   734,   658,    14,   738,
962         723,   726,   731,   737,   725,   736,   739,   740,   748,   741,
963         744,   756,   752,   757,   762,   754,   760,   765,   763,   747,
964         759,   755,   769,   764,   773,   772,   758,  -705,   766,   761,
965         711,   783,   785,  -705,   790,   761,   780,   792,   728,   795,
966         781,   784,  -705,  -705,   799,   803,   791,   793,   789,  -705,
967         796,   798,   806,   809,   812,   813,   805,   808,   818,   819,
968         816,   810,   767,   814,   811,   831,   832,  -705,   810,   822,
969         768,   834,   823,  -705,   824,   770,  -705,   825,   826,   771,
970         827,   833,   770,   828,   836,   845,  -705,   835,   854,   837,
971         852,   858,   855,   860,   861,   851,   863,   847,   794,   849,
972         856,   848,   853,   857,  -705,   862,   871,   869,   865,   874,
973         876,   875,   877,   884,   873,   872,   870,   867,   881,   878,
974         880,   888,   889,   893,   900,   901,  -705,   902,   903,   905,
975         891,   890,   895,   896,   898,   904,   899,   911,   915,   906,
976        -705,   916,  -705,   918,   908,   909,  -705,   910,   912,  -705,
977         913,  -705,  -705,  -705
978  };  };
979    
980  /* YYPGOTO[NTERM-NUM].  */  /* YYPGOTO[NTERM-NUM].  */
981  static const short yypgoto[] =  static const short yypgoto[] =
982  {  {
983      -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,  -252,      -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
984      -252,  -252,  -252,  -178,  -252,  -252,  -252,  -252,  -252,  -110,      -705,  -705,  -705,  -582,  -705,  -705,  -705,  -705,  -497,  -427,
985      -252,   -62,  -108,  -120,  -252,  -252,  -118,   -48,    29,    27,      -705,   114,    52,  -705,  -705,  -462,   199,   387,   391,  -704,
986      -251,  -252,   -17      -705,   323,   223,    13,   -10,   -14,   277,  -293,  -419,   -11,
987         907,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,  -705,
988        -705,  -705,  -705,  -705,  -705,   -52,  -705,  -705,   -74,  -262,
989        -249,  -248,  -247,  -705,   677,  -705,   680,  -254,  -705,  -705,
990         673,   511,  -705,  -705,  -705,   681,   683,  -252,  -705,  -705,
991         514,  -705,  -705,  -705,  -705,  -705,  -705,  -705,   682,  -705,
992        -705
993  };  };
994    
995  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
996     positive, shift that token.  If negative, reduce the rule which     positive, shift that token.  If negative, reduce the rule which
997     number is the opposite.  If zero, do what YYDEFACT says.     number is the opposite.  If zero, do what YYDEFACT says.
998     If YYTABLE_NINF, syntax error.  */     If YYTABLE_NINF, syntax error.  */
999  #define YYTABLE_NINF -4  #define YYTABLE_NINF -132
1000  static const short yytable[] =  static const short yytable[] =
1001  {  {
1002        36,   165,    93,    71,   218,    72,   293,   294,    63,   139,       267,   650,   552,   269,   512,   270,   271,   272,   273,   274,
1003       244,    93,    38,    57,    39,    40,    41,    73,    64,   257,       275,   276,   277,   278,   279,   280,   281,   397,   356,   359,
1004        74,   140,    42,    43,    44,    45,    46,    58,    47,    48,       357,   360,   795,    37,   797,   330,   517,   331,   291,   332,
1005        60,    19,    65,    49,    75,    76,    50,    51,    52,    53,       398,   399,   400,    29,  1008,   959,   292,   333,   527,    38,
1006        54,    93,    55,    93,    61,   181,    20,   182,   199,   310,       628,   307,   307,   307,   307,   307,   307,   307,   307,   307,
1007       203,   204,    93,   314,   315,    78,    79,    80,    81,    82,       528,  1009,    41,    42,   629,    31,     1,    33,     2,   529,
1008       258,    21,    85,    86,    87,    88,    89,   222,   223,   224,        30,   968,   922,    34,   306,   308,   309,   310,   311,   312,
1009       225,   226,   227,   228,   229,   230,   231,    93,    93,    93,       313,   314,   315,     3,   969,     4,     5,    35,   970,     6,
1010        22,    32,   239,   148,    83,   300,     1,   304,    23,   135,       383,   383,   362,   361,     7,   362,   936,   384,   384,     8,
1011       136,    90,    30,    -3,   145,     2,   150,     3,     4,     5,         9,    10,   385,    11,   972,   363,   353,   386,   386,   937,
1012         6,     7,     8,    93,     9,    10,    11,    12,    13,    93,       387,   387,    32,   627,    36,   633,   634,   973,   354,    40,
1013        14,   305,    24,   241,   151,    25,   152,    31,   260,   307,       819,   918,   851,   296,   297,   298,   299,   300,   301,   302,
1014       308,   153,   154,   155,   156,   157,   158,    32,   273,    33,       303,   304,   305,   919,   373,   926,   328,   289,   374,   867,
1015       159,    34,    93,    93,    35,    26,   297,   298,   120,   121,       868,   661,    39,   290,   418,   419,   375,   927,   667,   668,
1016       122,   123,   268,   269,   270,    67,    68,   200,   201,   288,       669,   670,   671,   672,   673,   674,   675,   852,   950,   951,
1017       289,    27,    37,   145,    28,    29,    93,   209,   210,    70,       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
1018       212,   213,    92,    94,    95,    96,    97,    98,    99,   100,       264,   478,   482,   483,   484,   485,   486,   487,   488,   489,
1019       101,   102,   103,   104,   105,   106,   107,   108,   109,   233,       490,   491,   492,   517,   479,   480,   481,   853,   513,   514,
1020       234,   110,   111,   311,   112,   113,   114,   115,   116,   117,       296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
1021       118,   119,   312,   291,    32,   313,   317,   272,   137,   205,      -131,  -131,  -131,   283,   895,   513,   514,   531,   896,   534,
1022       138,   146,   161,   124,   125,   162,   163,   126,   164,   166,       365,   963,   964,   282,   389,   396,   897,   790,   791,   296,
1023       219,   167,   168,   169,   170,   171,   127,   128,   129,   130,       497,   498,   499,   500,   501,   502,   503,   504,   505,   335,
1024       131,   132,   263,   133,   265,   134,   267,   172,   173,   174,       589,   590,   332,   780,   372,   377,   368,   789,   845,   405,
1025       175,   176,   279,   177,   283,   178,   179,   180,   183,   292,       284,   848,   743,   296,   497,   498,   499,   500,   501,   502,
1026       184,   185,   295,   186,   187,   188,   189,   190,   191,   192,       503,   504,   505,   783,   285,   286,   287,   288,   767,   296,
1027       193,   194,   195,   196,   197,   198,   206,   207,   208,   211,       297,   298,   299,   300,   301,   302,   303,   304,   305,   296,
1028       214,   215,     0,   139,   220,   232,   235,     0,     0,   236,       497,   498,   499,   500,   501,   502,   503,   504,   505,   404,
1029       237,   238,   240,   242,   243,   245,   246,   247,   248,   306,       294,   293,    41,   328,   406,   407,   408,   410,   409,   411,
1030       249,   250,   309,   251,   252,   253,   254,   255,   256,   259,        -4,    -4,   412,   413,   414,   421,   471,   415,   417,   420,
1031       261,   262,   264,   266,   274,   276,   280,   284,   286,     0,       461,   422,   436,   435,   442,   449,   416,   441,   416,   416,
1032         0,   296,   299,   301,   302,   303,   316       416,   416,   416,   416,   416,   416,   443,   444,   448,   450,
1033         457,   459,   458,   467,   469,   460,   465,   466,   470,   472,
1034         473,   468,   474,   475,   423,   509,   476,   477,   424,   384,
1035         425,   426,   427,   428,   429,   493,   430,   265,   431,   432,
1036         433,   434,   494,   508,   511,   437,   438,   510,   439,   440,
1037         524,   526,   525,   549,   547,   548,   553,   554,   555,   445,
1038         446,   447,   859,   550,   551,   588,   451,   452,   453,   454,
1039         455,   456,   556,   558,   557,   559,   560,   561,   562,   563,
1040         564,   580,   581,   584,   595,   586,   587,   594,   596,   585,
1041         598,   613,   463,   615,   464,   599,   616,   614,   597,   617,
1042         620,   619,   621,   864,   622,   623,   666,   626,   618,   624,
1043         664,   665,   625,   647,   646,   651,   652,   655,   680,   654,
1044         662,   681,   682,   683,   684,   506,   507,   685,   686,   653,
1045         663,   687,   688,   689,   690,   691,   692,   693,   540,   541,
1046         542,   543,   546,   702,   706,   707,   708,   713,   716,   714,
1047         715,   730,   734,   738,   731,   735,   701,   732,   705,   709,
1048         736,   802,   739,   741,   737,   763,   740,   565,   566,   567,
1049         568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
1050         578,   579,   712,   742,   582,   583,   733,   307,   307,   307,
1051         307,   307,   307,   307,   307,   307,   750,   751,   765,   762,
1052         764,   766,   404,   404,   769,   591,   770,   592,   771,   593,
1053         306,   308,   309,   310,   311,   312,   313,   314,   315,   773,
1054         600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
1055         610,   611,   612,   772,   799,   800,   801,   803,   804,   805,
1056         806,   807,   327,   808,   809,   814,   815,   820,   821,   822,
1057         825,   823,   827,   826,   828,   829,   636,   835,   831,   639,
1058         640,   641,   642,   836,   837,   645,   843,   838,   839,   840,
1059         841,   844,   857,   858,   842,   849,   855,   659,   463,   463,
1060         850,   856,   865,   862,   860,   863,   869,   870,   861,   871,
1061         874,   873,   876,   872,   884,   890,   677,   877,   679,   875,
1062         878,   881,   882,   402,   883,   885,   886,   888,   887,   891,
1063         893,   892,   898,   894,   899,   901,   900,   904,   902,   694,
1064         903,   905,   907,   910,   908,   911,   695,   912,   696,   697,
1065         698,   916,   699,   915,   700,   913,   914,   917,   920,   921,
1066         922,   923,   924,   925,   929,   928,   930,   710,   906,   711,
1067         931,   933,   934,   935,   938,   939,   717,   718,   719,   720,
1068         721,   722,   723,   724,   725,   941,   727,   943,   729,   945,
1069         932,   940,   946,   942,   947,   949,   952,   953,   944,   327,
1070         948,   954,   745,   746,   747,   955,   749,   956,   957,   958,
1071         760,   959,   961,   960,   759,   962,   965,   659,   966,   967,
1072         971,   974,   977,   775,   777,   975,   775,   782,   785,   979,
1073         775,   794,   760,   976,   760,   759,   759,   978,   759,   980,
1074         981,   982,   983,   984,   985,   987,   462,   986,   989,   991,
1075         988,   992,   990,   810,   811,   994,   812,   813,   995,   327,
1076         996,   997,   998,   307,   307,   993,   999,  1000,   416,  1001,
1077        1002,  1003,  1004,  1005,  1007,  1006,  1010,   824,  1011,  1012,
1078         495,   496,  1013,  1014,  1015,   830,   817,   818,  1016,   521,
1079        1019,  1018,   327,   327,  1023,  1017,  1020,  1021,   832,   545,
1080         307,   307,  1022,  1024,  1025,  1026,  1027,  1028,  1029,  1030,
1081        1031,  1033,  1032,  1035,  1036,  1034,  1037,  1039,   327,  1038,
1082        1040,  1041,   760,   817,   818,  1042,   759,   416,   416,   307,
1083        1043,  1044,  1045,  1047,  1048,  1049,   777,  1046,   782,   760,
1084         760,  1050,   327,   759,   759,  1051,  1052,  1054,  1057,  1055,
1085        1053,  1058,   854,  1056,  1059,  1060,   402,   402,  1061,  1062,
1086        1063,  1064,   307,   307,   416,  1065,  1066,  1068,  1069,  1070,
1087        1071,  1072,  1074,  1076,  1075,   889,  1067,  1073,  1078,  1077,
1088        1080,  1083,  1081,  1082,  1079,   879,   880,  1085,  1086,   416,
1089         416,  1084,  1087,  1089,  1088,   785,  1090,  1091,  1092,  1093,
1090        1094,  1095,  1096,  1097,  1098,  1100,  1099,  1102,  1101,  1104,
1091        1105,  1106,   521,  1109,   637,   638,  1107,  1103,  1108,  1110,
1092         643,   644,  1111,  1112,  1115,   649,   649,  1113,  1117,  1114,
1093         768,  1120,   462,   462,   327,   327,  1116,  1118,  1119,  1121,
1094         327,   327,  1122,  1123,  1124,  1125,   327,  1126,  1127,  1128,
1095        1129,  1130,   676,  1134,   678,  1131,  1133,  1135,  1137,  1132,
1096        1138,   909,  1136,  1139,  1140,  1141,   866,  1142,   793,  1143,
1097         379,   295,   371,   327,   366,   327,   635,   367,   381,     0,
1098           0,   401,   532,     0,     0,   535,     0,     0,     0,     0,
1099           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1100           0,     0,     0,   660,     0,     0,     0,     0,     0,     0,
1101           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1102           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1103           0,     0,     0,     0,     0,     0,     0,     0,   744,     0,
1104           0,   327,   748,     0,     0,   327,   752,     0,     0,   327,
1105           0,     0,     0,   327,     0,     0,     0,     0,     0,     0,
1106           0,     0,   779,     0,     0,     0,   788,     0,     0,     0,
1107         796,     0,   798,     0,     0,     0,   327,     0,     0,     0,
1108           0,     0,     0,     0,     0,   327,     0,     0,     0,     0,
1109           0,     0,     0,   327,     0,   327,     0,     0,     0,     0,
1110           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1111           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1112           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1113           0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1114           0,     0,     0,   327,   327,     0,     0,     0,     0,     0,
1115           0,     0,     0,   649,   846,   847,   649,   316,    46,    47,
1116          48,    49,   317,   318,   319,   320,   321,   322,   323,   324,
1117         325,   326,    60,    61,    62,    63,    64,    65,    66,    67,
1118          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1119          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1120          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1121          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1122         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1123         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1124         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1125         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1126         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1127         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1128         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1129         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1130         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1131         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1132         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1133         218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
1134         228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
1135         238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
1136         248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
1137         258,   259,   260,   261,   262,   263,   656,     0,   264,   316,
1138          46,    47,    48,    49,   317,   318,   319,   320,   321,   322,
1139         323,   324,   325,   326,    60,    61,    62,    63,    64,    65,
1140          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1141          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1142          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1143          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1144         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1145         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1146         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1147         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1148         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1149         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1150         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1151         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1152         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1153         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1154         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1155         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1156         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1157         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1158         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1159         256,   257,   258,   259,   260,   261,   262,   263,     0,   657,
1160         264,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1161          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1162          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1163          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1164          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1165          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1166         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1167         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1168         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1169         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1170         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1171         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1172         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1173         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1174         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1175         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1176         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1177         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1178         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1179         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1180         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1181         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1182           0,     0,   264,   316,    46,    47,    48,    49,   317,   318,
1183         319,   320,   321,   322,   323,   324,   325,   326,    60,    61,
1184          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1185          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1186          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1187          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1188         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1189         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1190         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1191         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1192         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1193         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1194         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1195         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1196         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1197         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1198         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1199         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1200         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1201         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1202         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1203         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1204         262,   263,     0,     0,   264,   316,    46,    47,   753,   754,
1205          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1206          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1207          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1208          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1209          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1210         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1211         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1212         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1213         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1214         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1215         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1216         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1217         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1218         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1219         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1220         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1221         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1222         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1223         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1224         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1225         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1226         260,   261,   262,   263,   513,   514,   316,    46,    47,    48,
1227          49,   317,   318,   319,   320,   321,   322,   323,   324,   325,
1228         326,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1229          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1230          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1231          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1232          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1233         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1234         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1235         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1236         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1237         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1238         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1239         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1240         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1241         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1242         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1243         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1244         219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
1245         229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
1246         239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
1247         249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
1248         259,   260,   261,   262,   263,   316,    46,    47,    48,    49,
1249          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1250          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1251          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1252          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1253          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1254         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1255         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1256         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1257         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1258         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1259         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1260         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1261         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1262         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1263         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1264         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1265         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1266         220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1267         230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
1268         240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
1269         250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
1270         260,   261,   262,   263,   316,   704,    47,    48,    49,   317,
1271         318,   319,   320,   321,   322,   323,   324,   325,   326,    60,
1272          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1273          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1274          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1275          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1276         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1277         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1278         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1279         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1280         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1281         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1282         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1283         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1284         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1285         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1286         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1287         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1288         221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
1289         231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
1290         241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
1291         251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1292         261,   262,   263,   316,   726,    47,    48,    49,   317,   318,
1293         319,   320,   321,   322,   323,   324,   325,   326,    60,    61,
1294          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1295          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1296          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1297          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1298         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1299         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1300         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1301         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1302         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1303         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1304         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1305         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1306         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1307         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1308         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1309         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1310         222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
1311         232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
1312         242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
1313         252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
1314         262,   263,   316,   728,    47,    48,    49,   317,   318,   319,
1315         320,   321,   322,   323,   324,   325,   326,    60,    61,    62,
1316          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1317          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1318          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1319          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1320         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1321         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1322         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1323         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1324         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1325         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1326         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1327         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1328         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1329         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1330         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1331         213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
1332         223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
1333         233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
1334         243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1335         253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
1336         263,   316,   816,    47,    48,    49,   317,   318,   319,   320,
1337         321,   322,   323,   324,   325,   326,    60,    61,    62,    63,
1338          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1339          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1340          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1341          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1342         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1343         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1344         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1345         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1346         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1347         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1348         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1349         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1350         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1351         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1352         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1353         214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
1354         224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
1355         234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
1356         244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1357         254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
1358         316,   833,    47,    48,    49,   317,   318,   319,   320,   321,
1359         322,   323,   324,   325,   326,    60,    61,    62,    63,    64,
1360          65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1361          75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1362          85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1363          95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1364         105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1365         115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1366         125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1367         135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1368         145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1369         155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1370         165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1371         175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1372         185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1373         195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1374         205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1375         215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1376         225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1377         235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1378         245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1379         255,   256,   257,   258,   259,   260,   261,   262,   263,   316,
1380         834,    47,    48,    49,   317,   318,   319,   320,   321,   322,
1381         323,   324,   325,   326,    60,    61,    62,    63,    64,    65,
1382          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1383          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1384          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1385          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1386         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1387         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1388         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1389         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1390         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1391         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1392         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1393         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1394         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1395         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1396         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1397         216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1398         226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1399         236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
1400         246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
1401         256,   257,   258,   259,   260,   261,   262,   263
1402  };  };
1403    
1404  static const short yycheck[] =  static const short yycheck[] =
1405  {  {
1406        17,   119,     3,    24,   182,    26,   257,   258,    30,     6,        14,   583,   464,    14,    31,    16,    17,    18,    19,    20,
1407        11,     3,    26,    39,    28,    29,    30,    38,    40,    11,        21,    22,    23,    24,    25,    26,    27,   279,   272,   273,
1408        41,    18,    36,    37,    38,    39,    40,    53,    42,    43,       272,   273,   726,    22,   728,    18,   445,    20,    29,    22,
1409        39,     7,    54,    47,    55,    56,    50,    51,    52,    53,       279,   279,   279,    21,    20,    21,    37,    30,    18,    38,
1410        54,     3,    56,     3,    53,     7,     7,     7,   166,   300,        19,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1411       168,   169,     3,   304,   305,    30,    31,    32,    33,    34,        30,    37,   225,   226,    33,    22,     1,    26,     3,    39,
1412        11,     7,    30,    31,    32,    33,    34,   185,   186,   187,        35,    20,    21,    32,    51,    52,    53,    54,    55,    56,
1413       188,   189,   190,   191,   192,   193,   194,     3,     3,     3,        57,    58,    59,    18,    33,    20,    21,    38,    37,    24,
1414         7,     3,     7,     5,    59,    11,     1,    11,     7,   106,        19,    19,    20,    18,    29,    20,    22,    26,    26,    34,
1415       107,    59,     0,     8,   111,    10,   113,    12,    13,    14,        35,    36,    30,    38,    22,    30,    18,    36,    36,    35,
1416        15,    16,    17,     3,    19,    20,    21,    22,    23,     3,        39,    39,    22,   565,    22,   567,   568,    35,    30,     0,
1417        25,    11,     7,     7,    37,     7,    39,     8,   236,   297,         5,    21,   816,     8,     9,    10,    11,    12,    13,    14,
1418       298,    44,    45,    46,    47,    48,    49,     3,   246,     5,        15,    16,    17,    33,    18,    21,    20,    30,    22,   833,
1419        53,     7,     3,     3,    10,     7,     7,     7,    31,    32,       834,   593,    31,    36,    38,    39,    30,    33,   600,   601,
1420        33,    34,     4,     5,     6,    35,    36,    57,    58,     4,       602,   603,   604,   605,   606,   607,   608,     5,    20,    21,
1421         5,     7,    26,   170,     7,     7,     3,   174,   175,    26,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1422       177,   178,    26,     7,     7,     7,     7,     7,     7,     7,       224,   423,   424,   425,   426,   427,   428,   429,   430,   431,
1423         7,     7,     7,     7,     7,     7,     7,     7,     7,   196,       432,   433,   434,   592,   423,   423,   423,     5,   222,   223,
1424       197,     7,     7,   301,     7,     7,     7,     7,     7,     7,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1425         7,     7,   302,   255,     3,   303,   316,   245,     5,   170,       224,   225,   226,    22,    18,   222,   223,   451,    22,   451,
1426         5,     5,     5,    31,    31,     5,     5,    31,     5,     7,       274,    20,    21,    21,   278,   279,    30,     6,     7,     8,
1427       183,     7,     7,     7,     7,     7,    31,    31,    31,    31,         9,    10,    11,    12,    13,    14,    15,    16,    17,   271,
1428        31,    31,   239,    31,   241,    31,   243,     7,     7,     7,       513,   514,    22,   720,   276,   277,    26,   724,   810,   281,
1429         7,     7,   249,     7,   251,     7,     7,     7,     7,   256,        36,   813,   694,     8,     9,    10,    11,    12,    13,    14,
1430         7,     7,   259,     7,     7,     7,     7,     7,     7,     7,        15,    16,    17,    18,    37,    36,    18,    26,   710,     8,
1431         7,     7,     7,     7,     7,     7,     5,     5,     5,     5,         9,    10,    11,    12,    13,    14,    15,    16,    17,     8,
1432         5,     5,    -1,     6,     5,     5,     5,    -1,    -1,     7,         9,    10,    11,    12,    13,    14,    15,    16,    17,   280,
1433         7,     7,     7,     7,     7,     7,     7,     7,     7,   296,        36,    19,   225,    20,    18,    37,    37,    37,    21,    32,
1434         7,     7,   299,     7,     7,     7,     7,     7,     7,     7,       225,   226,    22,    22,    36,    31,    19,    38,    25,    25,
1435         5,     5,     5,     5,     5,     5,     5,     5,     5,    -1,        32,    26,    26,    38,    25,    20,   306,    38,   308,   309,
1436        -1,     7,     7,     7,     7,     7,     7       310,   311,   312,   313,   314,   315,    26,    31,    38,    26,
1437          38,    26,    31,    39,    20,    37,    37,    35,    20,    18,
1438          21,    37,    18,    18,   335,    18,    24,    21,   339,    26,
1439         341,   342,   343,   344,   345,    21,   347,    14,   349,   350,
1440         351,   352,    21,    21,    36,   356,   357,    21,   359,   360,
1441          21,    21,    25,    36,    23,    23,    22,    32,    22,   370,
1442         371,   372,   824,    35,    26,    32,   377,   378,   379,   380,
1443         381,   382,    37,    36,    35,    31,    26,    26,    31,    26,
1444          26,    26,    26,    26,    32,    26,    37,    26,    26,    31,
1445          26,    23,   403,    20,   405,    32,    22,    32,    38,    20,
1446          20,    26,    31,   830,    32,    29,    29,    89,    42,    31,
1447          21,    21,    31,    89,    32,    32,    31,    31,    22,    35,
1448          32,    22,    18,    22,    19,   439,   440,    35,    22,    89,
1449          89,    89,    18,    22,    22,    26,    42,    22,   452,   453,
1450         454,   455,   456,    26,    22,    26,    38,    26,    38,    26,
1451          26,    35,    22,    19,    29,    26,    89,    30,    89,    89,
1452          29,    20,    29,    37,    32,    29,    31,   478,   479,   480,
1453         481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
1454         491,   492,    89,    35,   495,   496,    89,   497,   498,   499,
1455         500,   501,   502,   503,   504,   505,    32,    31,    30,    32,
1456          31,    30,   513,   514,    32,   516,    31,   518,    32,   520,
1457         497,   498,   499,   500,   501,   502,   503,   504,   505,    30,
1458         531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
1459         541,   542,   543,    89,    89,    29,    89,    19,    38,    29,
1460          36,    33,   265,    22,    20,    38,    33,    38,    33,    22,
1461          38,    32,    89,    33,    26,    22,   570,    23,    29,   573,
1462         574,   575,   576,    18,    20,   579,    36,    32,    22,    37,
1463          22,    22,    31,    21,    38,    37,    37,   591,   589,   590,
1464          38,    38,    29,    32,    37,    31,    26,    31,    38,    32,
1465          89,    33,    31,    38,    18,    29,   610,    33,   612,    37,
1466          37,    33,    37,   280,    37,    33,    37,    33,    38,    22,
1467          31,    38,    89,    38,    37,    89,    38,    29,    38,   630,
1468          89,    38,    37,    29,    38,    32,   637,    31,   639,   640,
1469         641,    31,   643,    38,   645,    37,    37,    26,    18,    37,
1470          21,    37,    21,    37,    37,    33,    38,   658,    89,   660,
1471          37,    21,    24,    21,    32,    24,   667,   668,   669,   670,
1472         671,   672,   673,   674,   675,    22,   677,    22,   679,    22,
1473          89,    89,    32,    89,    38,    36,    26,    26,    89,   402,
1474          89,    26,   696,   697,   698,    39,   700,    26,    35,    22,
1475         704,    21,    21,    39,   704,    39,    39,   711,    35,    37,
1476          25,    32,    26,   717,   718,    31,   720,   721,   722,    37,
1477         724,   725,   726,    89,   728,   725,   726,    39,   728,    22,
1478          26,    22,    26,    25,    22,    37,   403,    26,    25,    42,
1479          89,    18,    32,   744,   745,    26,   747,   748,    89,   462,
1480          22,    26,    20,   753,   754,    39,    22,    89,   758,    39,
1481          20,    39,    20,    18,    20,    39,    18,   768,    35,    33,
1482         437,   438,    31,    26,    39,   776,   753,   754,    32,   446,
1483          22,    31,   495,   496,    22,    36,    35,    33,   789,   456,
1484         790,   791,    26,    26,    22,    31,    26,    22,    25,    42,
1485          31,    22,    37,    20,    22,    31,    38,    36,   521,    33,
1486          89,    18,   816,   790,   791,    20,   816,   817,   818,   819,
1487          20,    31,    20,    18,    33,    31,   830,    89,   832,   833,
1488         834,    22,   545,   833,   834,    22,    35,    38,    22,    33,
1489          37,    22,   819,    35,    22,    22,   513,   514,    33,    31,
1490          22,    22,   852,   853,   854,    29,    36,    33,    37,    18,
1491          18,    29,    18,    29,    31,   866,    89,    89,    33,    89,
1492          89,    33,    35,    30,    38,   852,   853,    22,    33,   879,
1493         880,    35,    18,    21,    37,   889,    18,    22,    18,    18,
1494          29,    18,    35,    89,    35,    37,    30,    30,    35,    18,
1495          21,    26,   569,    18,   571,   572,    22,    35,    22,    22,
1496         577,   578,    18,    30,    37,   582,   583,    35,    30,    39,
1497         711,    22,   589,   590,   637,   638,    35,    37,    30,    26,
1498         643,   644,    22,    22,    22,    22,   649,    22,    37,    39,
1499          35,    35,   609,    22,   611,    37,    37,    22,    22,    35,
1500          22,   889,    36,    35,    35,    35,   832,    35,   725,    36,
1501         277,    44,   275,   676,   274,   678,   569,   274,   277,    -1,
1502          -1,   279,   451,    -1,    -1,   451,    -1,    -1,    -1,    -1,
1503          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1504          -1,    -1,    -1,   592,    -1,    -1,    -1,    -1,    -1,    -1,
1505          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1506          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1507          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   695,    -1,
1508          -1,   744,   699,    -1,    -1,   748,   703,    -1,    -1,   752,
1509          -1,    -1,    -1,   756,    -1,    -1,    -1,    -1,    -1,    -1,
1510          -1,    -1,   719,    -1,    -1,    -1,   723,    -1,    -1,    -1,
1511         727,    -1,   729,    -1,    -1,    -1,   779,    -1,    -1,    -1,
1512          -1,    -1,    -1,    -1,    -1,   788,    -1,    -1,    -1,    -1,
1513          -1,    -1,    -1,   796,    -1,   798,    -1,    -1,    -1,    -1,
1514          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1515          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1516          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1517          -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1518          -1,    -1,    -1,   846,   847,    -1,    -1,    -1,    -1,    -1,
1519          -1,    -1,    -1,   810,   811,   812,   813,     3,     4,     5,
1520           6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
1521          16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
1522          26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
1523          36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
1524          46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
1525          56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
1526          66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
1527          76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
1528          86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
1529          96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1530         106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
1531         116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
1532         126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
1533         136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
1534         146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
1535         156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
1536         166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1537         176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1538         186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1539         196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1540         206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1541         216,   217,   218,   219,   220,   221,   222,    -1,   224,     3,
1542           4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
1543          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1544          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1545          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1546          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1547          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1548          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1549          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1550          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1551          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1552         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1553         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1554         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1555         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1556         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1557         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1558         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1559         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1560         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1561         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1562         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1563         214,   215,   216,   217,   218,   219,   220,   221,    -1,   223,
1564         224,     3,     4,     5,     6,     7,     8,     9,    10,    11,
1565          12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1566          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1567          32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1568          42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1569          52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1570          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1571          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1572          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1573          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1574         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1575         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1576         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1577         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1578         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1579         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1580         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1581         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1582         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1583         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1584         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1585         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1586          -1,    -1,   224,     3,     4,     5,     6,     7,     8,     9,
1587          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1588          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1589          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1590          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1591          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1592          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1593          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1594          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1595          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1596         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1597         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1598         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1599         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1600         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1601         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1602         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1603         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1604         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1605         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1606         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1607         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1608         220,   221,    -1,    -1,   224,     3,     4,     5,     6,     7,
1609           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1610          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1611          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1612          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1613          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1614          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1615          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1616          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1617          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1618          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1619         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1620         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1621         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1622         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1623         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1624         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1625         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1626         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1627         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1628         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1629         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1630         218,   219,   220,   221,   222,   223,     3,     4,     5,     6,
1631           7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
1632          17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
1633          27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
1634          37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
1635          47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
1636          57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
1637          67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
1638          77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
1639          87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
1640          97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1641         107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
1642         117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
1643         127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
1644         137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
1645         147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
1646         157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
1647         167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1648         177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1649         187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1650         197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1651         207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
1652         217,   218,   219,   220,   221,     3,     4,     5,     6,     7,
1653           8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1654          18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1655          28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1656          38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1657          48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1658          58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1659          68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1660          78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1661          88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1662          98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1663         108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1664         118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1665         128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1666         138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1667         148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1668         158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1669         168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1670         178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1671         188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1672         198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1673         208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1674         218,   219,   220,   221,     3,     4,     5,     6,     7,     8,
1675           9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
1676          19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
1677          29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
1678          39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
1679          49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
1680          59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
1681          69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
1682          79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
1683          89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
1684          99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
1685         109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
1686         119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
1687         129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
1688         139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
1689         149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
1690         159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
1691         169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
1692         179,   180,   181,   182,   183,   184,   185,   186,   187,   188,
1693         189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
1694         199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
1695         209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
1696         219,   220,   221,     3,     4,     5,     6,     7,     8,     9,
1697          10,    11,    12,    13,    14,    15,    16,    17,    18,    19,
1698          20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
1699          30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
1700          40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
1701          50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
1702          60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
1703          70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
1704          80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
1705          90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
1706         100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
1707         110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
1708         120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
1709         130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
1710         140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
1711         150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
1712         160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
1713         170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
1714         180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1715         190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1716         200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1717         210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1718         220,   221,     3,     4,     5,     6,     7,     8,     9,    10,
1719          11,    12,    13,    14,    15,    16,    17,    18,    19,    20,
1720          21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
1721          31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
1722          41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
1723          51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
1724          61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
1725          71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
1726          81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
1727          91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
1728         101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
1729         111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
1730         121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
1731         131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
1732         141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
1733         151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
1734         161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
1735         171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
1736         181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
1737         191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
1738         201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
1739         211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
1740         221,     3,     4,     5,     6,     7,     8,     9,    10,    11,
1741          12,    13,    14,    15,    16,    17,    18,    19,    20,    21,
1742          22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
1743          32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
1744          42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
1745          52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
1746          62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
1747          72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
1748          82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
1749          92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
1750         102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
1751         112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
1752         122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
1753         132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
1754         142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
1755         152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
1756         162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
1757         172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
1758         182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
1759         192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
1760         202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
1761         212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
1762           3,     4,     5,     6,     7,     8,     9,    10,    11,    12,
1763          13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
1764          23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
1765          33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
1766          43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
1767          53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
1768          63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
1769          73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
1770          83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
1771          93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1772         103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1773         113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
1774         123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
1775         133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
1776         143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
1777         153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
1778         163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
1779         173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
1780         183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
1781         193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
1782         203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
1783         213,   214,   215,   216,   217,   218,   219,   220,   221,     3,
1784           4,     5,     6,     7,     8,     9,    10,    11,    12,    13,
1785          14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
1786          24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
1787          34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
1788          44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
1789          54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
1790          64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
1791          74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
1792          84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
1793          94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1794         104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
1795         114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
1796         124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
1797         134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
1798         144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
1799         154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
1800         164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1801         174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1802         184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1803         194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1804         204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
1805         214,   215,   216,   217,   218,   219,   220,   221
1806  };  };
1807    
1808  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1809     symbol of state STATE-NUM.  */     symbol of state STATE-NUM.  */
1810  static const unsigned char yystos[] =  static const unsigned short yystos[] =
1811  {  {
1812         0,     1,    10,    12,    13,    14,    15,    16,    17,    19,         0,     1,     3,    18,    20,    21,    24,    29,    34,    35,
1813        20,    21,    22,    23,    25,    61,    62,    63,    64,     7,        36,    38,   228,   229,   230,   231,   269,   270,   271,   272,
1814         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       273,   274,   277,   278,   279,   280,   281,   314,   317,    21,
1815         0,     8,     3,     5,     7,    10,    92,    26,    26,    28,        35,    22,    22,    26,    32,    38,    22,    22,    38,    31,
1816        29,    30,    36,    37,    38,    39,    40,    42,    43,    47,         0,   225,   226,   267,   268,     3,     4,     5,     6,     7,
1817        50,    51,    52,    53,    54,    56,    67,    39,    53,    69,         8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
1818        39,    53,    70,    30,    40,    54,    75,    35,    36,    71,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
1819        26,    24,    26,    38,    41,    55,    56,    68,    30,    31,        28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
1820        32,    33,    34,    59,    65,    30,    31,    32,    33,    34,        38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
1821        59,    66,    26,     3,     7,     7,     7,     7,     7,     7,        48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
1822         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,        58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
1823         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,        68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
1824        31,    32,    33,    34,    31,    31,    31,    31,    31,    31,        78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
1825        31,    31,    31,    31,    31,    92,    92,     5,     5,     6,        88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
1826        18,    76,    89,    77,    88,    92,     5,    86,     5,    91,        98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1827        92,    37,    39,    44,    45,    46,    47,    48,    49,    53,       108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
1828        72,     5,     5,     5,     5,    86,     7,     7,     7,     7,       118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
1829         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
1830         7,     7,     7,     7,     7,     7,     7,     7,     7,     7,       138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
1831         7,     7,     7,     7,     7,     7,     7,     7,     7,    86,       148,   149,   150,   151,   152,   153,   154,   155,   156,   157,
1832        57,    58,    74,    86,    86,    88,     5,     5,     5,    92,       158,   159,   160,   161,   162,   163,   164,   165,   166,   167,
1833        92,     5,    92,    92,     5,     5,    73,    92,    73,    89,       168,   169,   170,   171,   172,   173,   174,   175,   176,   177,
1834         5,    87,    86,    86,    86,    86,    86,    86,    86,    86,       178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
1835        86,    86,     5,    92,    92,     5,     7,     7,     7,     7,       188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
1836         7,     7,     7,     7,    11,     7,     7,     7,     7,     7,       198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
1837         7,     7,     7,     7,     7,     7,     7,    11,    11,     7,       208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
1838        86,     5,     5,    92,     5,    92,     5,    92,     4,     5,       218,   219,   220,   221,   224,   258,   261,   262,   263,   266,
1839         6,    90,    87,    86,     5,    79,     5,    78,    80,    92,       266,   266,   266,   266,   266,   266,   266,   266,   266,   266,
1840         5,    81,    84,    92,     5,    82,     5,    83,     4,     5,       266,   266,    21,    22,    36,    37,    36,    18,    26,    30,
1841        85,    81,    92,    90,    90,    92,     7,     7,     7,     7,        36,    29,    37,    19,    36,   267,     8,     9,    10,    11,
1842        11,     7,     7,     7,    11,    11,    92,    73,    73,    92,        12,    13,    14,    15,    16,    17,   260,   261,   260,   260,
1843        90,    86,    79,    82,    90,    90,     7,    83       260,   260,   260,   260,   260,   260,     3,     8,     9,    10,
1844          11,    12,    13,    14,    15,    16,    17,   263,    20,   282,
1845          18,    20,    22,    30,   234,   282,   283,   284,   285,   291,
1846         293,   294,   295,   296,   297,   298,   300,   302,   303,   304,
1847         305,   306,   307,    18,    30,   236,   294,   304,   237,   294,
1848         304,    18,    20,    30,   242,   285,   293,   303,    26,   238,
1849         290,   291,   282,    18,    22,    30,   235,   282,   292,   297,
1850         301,   302,   316,    19,    26,    30,    36,    39,   232,   285,
1851         286,   287,   288,   289,   315,   233,   285,   286,   287,   288,
1852         289,   315,   258,   264,   266,   282,    18,    37,    37,    21,
1853          37,    32,    22,    22,    36,    38,   261,    25,    38,    39,
1854          25,    31,    26,   266,   266,   266,   266,   266,   266,   266,
1855         266,   266,   266,   266,   266,    38,    26,   266,   266,   266,
1856         266,    38,    25,    26,    31,   266,   266,   266,    38,    20,
1857          26,   266,   266,   266,   266,   266,   266,    38,    31,    26,
1858          37,    32,   258,   266,   266,    37,    35,    39,    37,    20,
1859          20,    19,    18,    21,    18,    18,    24,    21,   286,   287,
1860         288,   289,   286,   286,   286,   286,   286,   286,   286,   286,
1861         286,   286,   286,    21,    21,   258,   258,     9,    10,    11,
1862          12,    13,    14,    15,    16,    17,   262,   262,    21,    18,
1863          21,    36,    31,   222,   223,   243,   255,   265,   276,   244,
1864         254,   258,   252,   262,    21,    25,    21,    18,    30,    39,
1865         239,   294,   298,   299,   304,   307,   308,   309,   310,   311,
1866         262,   262,   262,   262,   257,   258,   262,    23,    23,    36,
1867          35,    26,   252,    22,    32,    22,    37,    35,    36,    31,
1868          26,    26,    31,    26,    26,   266,   266,   266,   266,   266,
1869         266,   266,   266,   266,   266,   266,   266,   266,   266,   266,
1870          26,    26,   266,   266,    26,    31,    26,    37,    32,   264,
1871         264,   266,   266,   266,    26,    32,    26,    38,    26,    32,
1872         266,   266,   266,   266,   266,   266,   266,   266,   266,   266,
1873         266,   266,   266,    23,    32,    20,    22,    20,    42,    26,
1874          20,    31,    32,    29,    31,    31,    89,   252,    19,    33,
1875         241,   312,   313,   252,   252,   254,   262,   258,   258,   262,
1876         262,   262,   262,   258,   258,   262,    32,    89,   240,   258,
1877         240,    32,    31,    89,    35,    31,   222,   223,   253,   262,
1878         255,   252,    32,    89,    21,    21,    29,   252,   252,   252,
1879         252,   252,   252,   252,   252,   252,   258,   262,   258,   262,
1880          22,    22,    18,    22,    19,    35,    22,    89,    18,    22,
1881          22,    26,    42,    22,   266,   266,   266,   266,   266,   266,
1882         266,    89,    26,   266,     4,    89,    22,    26,    38,    89,
1883         266,   266,    89,    26,    26,    26,    38,   266,   266,   266,
1884         266,   266,   266,   266,   266,   266,     4,   266,     4,   266,
1885          35,    29,    30,    89,    22,    26,    29,    32,    19,    29,
1886          31,    37,    35,   252,   258,   262,   262,   262,   258,   262,
1887          32,    31,   258,     6,     7,   256,   258,   259,   260,   261,
1888         262,   265,    32,    29,    31,    30,    30,   252,   253,    32,
1889          31,    32,    89,    30,   245,   262,   246,   262,   247,   258,
1890         245,   248,   262,    18,   249,   262,   275,   250,   258,   245,
1891           6,     7,   251,   259,   262,   256,   258,   256,   258,    89,
1892          29,    89,    20,    19,    38,    29,    36,    33,    22,    20,
1893         266,   266,   266,   266,    38,    33,     4,   260,   260,     5,
1894          38,    33,    22,    32,   266,    38,    33,    89,    26,    22,
1895         266,    29,   266,     4,     4,    23,    18,    20,    32,    22,
1896          37,    22,    38,    36,    22,   240,   258,   258,   240,    37,
1897          38,   256,     5,     5,   260,    37,    38,    31,    21,   252,
1898          37,    38,    32,    31,   246,    29,   248,   256,   256,    26,
1899          31,    32,    38,    33,    89,    37,    31,    33,    37,   260,
1900         260,    33,    37,    37,    18,    33,    37,    38,    33,   266,
1901          29,    22,    38,    31,    38,    18,    22,    30,    89,    37,
1902          38,    89,    38,    89,    29,    38,    89,    37,    38,   249,
1903          29,    32,    31,    37,    37,    38,    31,    26,    21,    33,
1904          18,    37,    21,    37,    21,    37,    21,    33,    33,    37,
1905          38,    37,    89,    21,    24,    21,    22,    35,    32,    24,
1906          89,    22,    89,    22,    89,    22,    32,    38,    89,    36,
1907          20,    21,    26,    26,    26,    39,    26,    35,    22,    21,
1908          39,    21,    39,    20,    21,    39,    35,    37,    20,    33,
1909          37,    25,    22,    35,    32,    31,    89,    26,    39,    37,
1910          22,    26,    22,    26,    25,    22,    26,    37,    89,    25,
1911          32,    42,    18,    39,    26,    89,    22,    26,    20,    22,
1912          89,    39,    20,    39,    20,    18,    39,    20,    20,    37,
1913          18,    35,    33,    31,    26,    39,    32,    36,    31,    22,
1914          35,    33,    26,    22,    26,    22,    31,    26,    22,    25,
1915          42,    31,    37,    22,    31,    20,    22,    38,    33,    36,
1916          89,    18,    20,    20,    31,    20,    89,    18,    33,    31,
1917          22,    22,    35,    37,    38,    33,    35,    22,    22,    22,
1918          22,    33,    31,    22,    22,    29,    36,    89,    33,    37,
1919          18,    18,    29,    89,    18,    31,    29,    89,    33,    38,
1920          89,    35,    30,    33,    35,    22,    33,    18,    37,    21,
1921          18,    22,    18,    18,    29,    18,    35,    89,    35,    30,
1922          37,    35,    30,    35,    18,    21,    26,    22,    22,    18,
1923          22,    18,    30,    35,    39,    37,    35,    30,    37,    30,
1924          22,    26,    22,    22,    22,    22,    22,    37,    39,    35,
1925          35,    37,    35,    37,    22,    22,    36,    22,    22,    35,
1926          35,    35,    35,    36
1927  };  };
1928    
1929  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)  #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
# Line 1366  yyreduce: Line 2533  yyreduce:
2533    YY_REDUCE_PRINT (yyn);    YY_REDUCE_PRINT (yyn);
2534    switch (yyn)    switch (yyn)
2535      {      {
2536          case 3:          case 4:
 #line 84 "lscp.y"  
     { return LSCP_DONE; }  
     break;  
   
   case 4:  
2537  #line 85 "lscp.y"  #line 85 "lscp.y"
2538      { return LSCP_DONE; }      { return LSCP_DONE; }
2539      break;      break;
2540    
2541    case 5:    case 5:
2542  #line 86 "lscp.y"  #line 86 "lscp.y"
2543      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }      { return LSCP_DONE; }
2544      break;      break;
2545    
2546    case 6:    case 6:
2547  #line 87 "lscp.y"  #line 87 "lscp.y"
2548      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }      { LSCPSERVER->AnswerClient(yyvsp[0].String); return LSCP_DONE; }
2549      break;      break;
2550    
2551    case 12:    case 7:
2552  #line 97 "lscp.y"  #line 88 "lscp.y"
2553      { yyval.String = LSCPSERVER->AddChannel();                  }      { LSCPSERVER->AnswerClient("Err:0:Unknown command.\r\n"); RESTART; return LSCP_SYNTAX_ERROR; }
2554      break;      break;
2555    
2556    case 13:    case 13:
2557  #line 98 "lscp.y"  #line 98 "lscp.y"
2558      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = LSCPSERVER->AddChannel();                          }
2559      break;      break;
2560    
2561    case 14:    case 14:
2562  #line 99 "lscp.y"  #line 99 "lscp.y"
2563      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                                }
2564      break;      break;
2565    
2566    case 15:    case 15:
2567  #line 100 "lscp.y"  #line 100 "lscp.y"
2568      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                                }
2569      break;      break;
2570    
2571    case 16:    case 16:
2572  #line 101 "lscp.y"  #line 101 "lscp.y"
2573      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                                }
2574      break;      break;
2575    
2576    case 17:    case 17:
2577  #line 102 "lscp.y"  #line 102 "lscp.y"
2578      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                                }
2579      break;      break;
2580    
2581    case 18:    case 18:
2582  #line 103 "lscp.y"  #line 103 "lscp.y"
2583      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);             }      { yyval.String = yyvsp[0].String;                                                }
2584      break;      break;
2585    
2586    case 19:    case 19:
2587  #line 104 "lscp.y"  #line 104 "lscp.y"
2588      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = LSCPSERVER->RemoveChannel(yyvsp[0].Number);                     }
2589      break;      break;
2590    
2591    case 20:    case 20:
2592  #line 105 "lscp.y"  #line 105 "lscp.y"
2593      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                                }
2594      break;      break;
2595    
2596    case 21:    case 21:
2597  #line 106 "lscp.y"  #line 106 "lscp.y"
2598      { yyval.String = yyvsp[0].String;                                        }      { yyval.String = yyvsp[0].String;                                                }
2599      break;      break;
2600    
2601    case 22:    case 22:
2602  #line 107 "lscp.y"  #line 107 "lscp.y"
2603      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);              }      { yyval.String = yyvsp[0].String;                                                }
2604      break;      break;
2605    
2606    case 23:    case 23:
2607  #line 108 "lscp.y"  #line 108 "lscp.y"
2608      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }      { yyval.String = LSCPSERVER->QueryDatabase(yyvsp[0].String);                     }
2609      break;      break;
2610    
2611    case 24:    case 24:
2612  #line 111 "lscp.y"  #line 109 "lscp.y"
2613      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels); }      { yyval.String = LSCPSERVER->ResetChannel(yyvsp[0].Number);                      }
2614      break;      break;
2615    
2616    case 25:    case 25:
2617  #line 112 "lscp.y"  #line 110 "lscp.y"
2618      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count); }      { yyval.String = LSCPSERVER->ResetSampler();                        }
2619      break;      break;
2620    
2621    case 26:    case 26:
2622  #line 113 "lscp.y"  #line 111 "lscp.y"
2623      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }      { LSCPSERVER->AnswerClient("Bye!\r\n"); return LSCP_QUIT; }
2624      break;      break;
2625    
2626    case 27:    case 27:
2627  #line 114 "lscp.y"  #line 114 "lscp.y"
2628      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_channels);     }
2629      break;      break;
2630    
2631    case 28:    case 28:
2632  #line 115 "lscp.y"  #line 115 "lscp.y"
2633      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_voice_count);  }
2634      break;      break;
2635    
2636    case 29:    case 29:
2637  #line 116 "lscp.y"  #line 116 "lscp.y"
2638      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_stream_count); }
2639      break;      break;
2640    
2641    case 30:    case 30:
2642  #line 119 "lscp.y"  #line 117 "lscp.y"
2643      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_buffer_fill);  }
2644      break;      break;
2645    
2646    case 31:    case 31:
2647  #line 120 "lscp.y"  #line 118 "lscp.y"
2648      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_info);         }
2649      break;      break;
2650    
2651    case 32:    case 32:
2652  #line 121 "lscp.y"  #line 119 "lscp.y"
2653      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }      { yyval.String = LSCPSERVER->SubscribeNotification(LSCPEvent::event_misc);         }
2654      break;      break;
2655    
2656    case 33:    case 33:
2657  #line 122 "lscp.y"  #line 122 "lscp.y"
2658      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_channels);     }
2659      break;      break;
2660    
2661    case 34:    case 34:
2662  #line 123 "lscp.y"  #line 123 "lscp.y"
2663      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_voice_count);  }
2664      break;      break;
2665    
2666    case 35:    case 35:
2667  #line 124 "lscp.y"  #line 124 "lscp.y"
2668      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc); }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_stream_count); }
2669      break;      break;
2670    
2671    case 36:    case 36:
2672  #line 127 "lscp.y"  #line 125 "lscp.y"
2673      { yyval.String = LSCPSERVER->GetAvailableEngines();       }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_buffer_fill);  }
2674      break;      break;
2675    
2676    case 37:    case 37:
2677  #line 128 "lscp.y"  #line 126 "lscp.y"
2678      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();       }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_info);         }
2679      break;      break;
2680    
2681    case 38:    case 38:
2682  #line 129 "lscp.y"  #line 127 "lscp.y"
2683      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);       }      { yyval.String = LSCPSERVER->UnsubscribeNotification(LSCPEvent::event_misc);         }
2684      break;      break;
2685    
2686    case 39:    case 39:
2687  #line 130 "lscp.y"  #line 130 "lscp.y"
2688      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }      { yyval.String = LSCPSERVER->GetAvailableEngines();                          }
2689      break;      break;
2690    
2691    case 40:    case 40:
2692  #line 131 "lscp.y"  #line 131 "lscp.y"
2693      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);       }      { yyval.String = LSCPSERVER->GetAvailableMidiInputDrivers();                 }
2694      break;      break;
2695    
2696    case 41:    case 41:
2697  #line 132 "lscp.y"  #line 132 "lscp.y"
2698      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();       }      { yyval.String = LSCPSERVER->GetMidiInputDriverInfo(yyvsp[0].String);                     }
2699      break;      break;
2700    
2701    case 42:    case 42:
2702  #line 133 "lscp.y"  #line 133 "lscp.y"
2703      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);       }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);        }
2704      break;      break;
2705    
2706    case 43:    case 43:
2707  #line 134 "lscp.y"  #line 134 "lscp.y"
2708      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);       }      { yyval.String = LSCPSERVER->GetMidiInputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);    }
2709      break;      break;
2710    
2711    case 44:    case 44:
2712  #line 135 "lscp.y"  #line 135 "lscp.y"
2713      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);       }      { yyval.String = LSCPSERVER->GetAvailableAudioOutputDrivers();               }
2714      break;      break;
2715    
2716    case 45:    case 45:
2717  #line 136 "lscp.y"  #line 136 "lscp.y"
2718      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();       }      { yyval.String = LSCPSERVER->GetAudioOutputDriverInfo(yyvsp[0].String);                   }
2719      break;      break;
2720    
2721    case 46:    case 46:
2722  #line 137 "lscp.y"  #line 137 "lscp.y"
2723      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();       }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-2].String, yyvsp[0].String);      }
2724      break;      break;
2725    
2726    case 47:    case 47:
2727  #line 138 "lscp.y"  #line 138 "lscp.y"
2728      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->GetAudioOutputDriverParameterInfo(yyvsp[-4].String, yyvsp[-2].String, yyvsp[0].KeyValList);  }
2729      break;      break;
2730    
2731    case 48:    case 48:
2732  #line 139 "lscp.y"  #line 139 "lscp.y"
2733      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceCount();                    }
2734      break;      break;
2735    
2736    case 49:    case 49:
2737  #line 140 "lscp.y"  #line 140 "lscp.y"
2738      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->GetMidiInputDeviceCount();                      }
2739      break;      break;
2740    
2741    case 50:    case 50:
2742  #line 141 "lscp.y"  #line 141 "lscp.y"
2743      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);       }      { yyval.String = LSCPSERVER->GetAudioOutputDeviceInfo(yyvsp[0].Number);                   }
2744      break;      break;
2745    
2746    case 51:    case 51:
2747  #line 142 "lscp.y"  #line 142 "lscp.y"
2748      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->GetMidiInputDeviceInfo(yyvsp[0].Number);                     }
2749      break;      break;
2750    
2751    case 52:    case 52:
2752  #line 143 "lscp.y"  #line 143 "lscp.y"
2753      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);       }      { yyval.String = LSCPSERVER->GetMidiInputPortInfo(yyvsp[-2].Number, yyvsp[0].Number);                   }
2754      break;      break;
2755    
2756    case 53:    case 53:
2757  #line 144 "lscp.y"  #line 144 "lscp.y"
2758      { yyval.String = LSCPSERVER->GetChannels();       }      { yyval.String = LSCPSERVER->GetMidiInputPortParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String);      }
2759      break;      break;
2760    
2761    case 54:    case 54:
2762  #line 145 "lscp.y"  #line 145 "lscp.y"
2763      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->GetAudioOutputChannelInfo(yyvsp[-2].Number, yyvsp[0].Number);              }
2764      break;      break;
2765    
2766    case 55:    case 55:
2767  #line 146 "lscp.y"  #line 146 "lscp.y"
2768      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->GetAudioOutputChannelParameterInfo(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].String); }
2769      break;      break;
2770    
2771    case 56:    case 56:
2772  #line 147 "lscp.y"  #line 147 "lscp.y"
2773      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->GetChannels();                                  }
2774      break;      break;
2775    
2776    case 57:    case 57:
2777  #line 148 "lscp.y"  #line 148 "lscp.y"
2778      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->GetChannelInfo(yyvsp[0].Number);                             }
2779      break;      break;
2780    
2781    case 58:    case 58:
2782  #line 149 "lscp.y"  #line 149 "lscp.y"
2783      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);       }      { yyval.String = LSCPSERVER->GetBufferFill(yyvsp[-2].FillResponse, yyvsp[0].Number);                          }
2784      break;      break;
2785    
2786    case 59:    case 59:
2787  #line 152 "lscp.y"  #line 150 "lscp.y"
2788      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }      { yyval.String = LSCPSERVER->GetStreamCount(yyvsp[0].Number);                             }
2789      break;      break;
2790    
2791    case 60:    case 60:
2792  #line 153 "lscp.y"  #line 151 "lscp.y"
2793      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }      { yyval.String = LSCPSERVER->GetVoiceCount(yyvsp[0].Number);                              }
2794      break;      break;
2795    
2796    case 61:    case 61:
2797  #line 154 "lscp.y"  #line 152 "lscp.y"
2798      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }      { yyval.String = LSCPSERVER->GetEngineInfo(yyvsp[0].String);                              }
2799      break;      break;
2800    
2801    case 62:    case 62:
2802  #line 155 "lscp.y"  #line 155 "lscp.y"
2803      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);       }      { yyval.String = LSCPSERVER->SetAudioOutputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
2804      break;      break;
2805    
2806    case 63:    case 63:
2807  #line 156 "lscp.y"  #line 156 "lscp.y"
2808      { yyval.String = yyvsp[0].String;                                                         }      { yyval.String = LSCPSERVER->SetAudioOutputChannelParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String); }
2809      break;      break;
2810    
2811    case 64:    case 64:
2812  #line 157 "lscp.y"  #line 157 "lscp.y"
2813      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }      { yyval.String = LSCPSERVER->SetMidiInputDeviceParameter(yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);        }
2814      break;      break;
2815    
2816    case 65:    case 65:
2817  #line 160 "lscp.y"  #line 158 "lscp.y"
2818      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }      { yyval.String = LSCPSERVER->SetMidiInputPortParameter(yyvsp[-6].Number, yyvsp[-4].Number, yyvsp[-2].String, yyvsp[0].String);      }
2819      break;      break;
2820    
2821    case 66:    case 66:
2822  #line 161 "lscp.y"  #line 159 "lscp.y"
2823      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }      { yyval.String = yyvsp[0].String;                                                         }
2824      break;      break;
2825    
2826    case 67:    case 67:
2827  #line 162 "lscp.y"  #line 160 "lscp.y"
2828      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }      { yyval.String = LSCPSERVER->SetEcho((yyparse_param_t*) yyparse_param, yyvsp[0].Dotnum);  }
2829      break;      break;
2830    
2831    case 68:    case 68:
2832  #line 163 "lscp.y"  #line 163 "lscp.y"
2833      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[-2].String,yyvsp[0].KeyValList); }
2834      break;      break;
2835    
2836    case 69:    case 69:
2837  #line 166 "lscp.y"  #line 164 "lscp.y"
2838      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->CreateAudioOutputDevice(yyvsp[0].String);    }
2839      break;      break;
2840    
2841    case 70:    case 70:
2842  #line 167 "lscp.y"  #line 165 "lscp.y"
2843      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);         }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[-2].String,yyvsp[0].KeyValList);   }
2844      break;      break;
2845    
2846    case 71:    case 71:
2847  #line 170 "lscp.y"  #line 166 "lscp.y"
2848      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->CreateMidiInputDevice(yyvsp[0].String);      }
2849      break;      break;
2850    
2851    case 72:    case 72:
2852  #line 171 "lscp.y"  #line 169 "lscp.y"
2853      { yyval.String = yyvsp[0].String; }      { yyval.String = LSCPSERVER->DestroyAudioOutputDevice(yyvsp[0].Number); }
2854      break;      break;
2855    
2856    case 73:    case 73:
2857  #line 174 "lscp.y"  #line 170 "lscp.y"
2858      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }      { yyval.String = LSCPSERVER->DestroyMidiInputDevice(yyvsp[0].Number);   }
2859      break;      break;
2860    
2861    case 74:    case 74:
2862  #line 175 "lscp.y"  #line 173 "lscp.y"
2863      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }      { yyval.String = yyvsp[0].String; }
2864      break;      break;
2865    
2866    case 75:    case 75:
2867  #line 176 "lscp.y"  #line 174 "lscp.y"
2868      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }      { yyval.String = yyvsp[0].String; }
2869      break;      break;
2870    
2871    case 76:    case 76:
2872  #line 177 "lscp.y"  #line 177 "lscp.y"
2873      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);  }      { yyval.String = LSCPSERVER->SetAudioOutputDevice(yyvsp[0].Number, yyvsp[-2].Number);      }
2874      break;      break;
2875    
2876    case 77:    case 77:
2877  #line 178 "lscp.y"  #line 178 "lscp.y"
2878      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }      { yyval.String = LSCPSERVER->SetAudioOutputChannel(yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-4].Number); }
2879      break;      break;
2880    
2881    case 78:    case 78:
2882  #line 179 "lscp.y"  #line 179 "lscp.y"
2883      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetAudioOutputType(yyvsp[0].String, yyvsp[-2].Number);        }
2884      break;      break;
2885    
2886    case 79:    case 79:
2887  #line 180 "lscp.y"  #line 180 "lscp.y"
2888      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }      { yyval.String = LSCPSERVER->SetMIDIInput(yyvsp[-4].Number, yyvsp[-2].Number, yyvsp[0].Number, yyvsp[-6].Number);      }
2889      break;      break;
2890    
2891    case 80:    case 80:
2892  #line 181 "lscp.y"  #line 181 "lscp.y"
2893      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }      { yyval.String = LSCPSERVER->SetMIDIInputDevice(yyvsp[0].Number, yyvsp[-2].Number);        }
2894      break;      break;
2895    
2896    case 81:    case 81:
2897  #line 182 "lscp.y"  #line 182 "lscp.y"
2898      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }      { yyval.String = LSCPSERVER->SetMIDIInputPort(yyvsp[0].Number, yyvsp[-2].Number);          }
2899      break;      break;
2900    
2901    case 82:    case 82:
2902  #line 185 "lscp.y"  #line 183 "lscp.y"
2903      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }      { yyval.String = LSCPSERVER->SetMIDIInputChannel(yyvsp[0].Number, yyvsp[-2].Number);       }
2904      break;      break;
2905    
2906    case 83:    case 83:
2907  #line 186 "lscp.y"  #line 184 "lscp.y"
2908      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }      { yyval.String = LSCPSERVER->SetMIDIInputType(yyvsp[0].String, yyvsp[-2].Number);          }
2909      break;      break;
2910    
2911    case 84:    case 84:
2912  #line 189 "lscp.y"  #line 185 "lscp.y"
2913      { yyval.FillResponse = fill_response_bytes;      }      { yyval.String = LSCPSERVER->SetVolume(yyvsp[0].Dotnum, yyvsp[-2].Number);                 }
2914      break;      break;
2915    
2916    case 85:    case 85:
2917  #line 190 "lscp.y"  #line 188 "lscp.y"
2918      { yyval.FillResponse = fill_response_percentage; }      { yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String;          }
2919      break;      break;
2920    
2921    case 86:    case 86:
2922  #line 193 "lscp.y"  #line 189 "lscp.y"
2923      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }      { yyval.KeyValList = yyvsp[-4].KeyValList; yyval.KeyValList[yyvsp[-2].String] = yyvsp[0].String; }
2924      break;      break;
2925    
2926    case 87:    case 87:
2927  #line 194 "lscp.y"  #line 192 "lscp.y"
2928      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }      { yyval.FillResponse = fill_response_bytes;      }
2929      break;      break;
2930    
2931    case 88:    case 88:
2932  #line 195 "lscp.y"  #line 193 "lscp.y"
2933      { yyval.String = LSCPSERVER->ListChannels();          }      { yyval.FillResponse = fill_response_percentage; }
2934      break;      break;
2935    
2936    case 89:    case 89:
2937  #line 198 "lscp.y"  #line 196 "lscp.y"
2938      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->GetAudioOutputDevices(); }
2939      break;      break;
2940    
2941    case 90:    case 90:
2942  #line 199 "lscp.y"  #line 197 "lscp.y"
2943      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true);       }      { yyval.String = LSCPSERVER->GetMidiInputDevices();   }
2944      break;      break;
2945    
2946    case 91:    case 91:
2947    #line 198 "lscp.y"
2948        { yyval.String = LSCPSERVER->ListChannels();          }
2949        break;
2950    
2951      case 92:
2952    #line 201 "lscp.y"
2953        { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number);       }
2954        break;
2955    
2956      case 93:
2957  #line 202 "lscp.y"  #line 202 "lscp.y"
2958      { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number);       }      { yyval.String = LSCPSERVER->LoadInstrument(yyvsp[-4].String, yyvsp[-2].Number, yyvsp[0].Number, true); }
2959        break;
2960    
2961      case 94:
2962    #line 205 "lscp.y"
2963        { yyval.String = LSCPSERVER->LoadEngine(yyvsp[-2].String, yyvsp[0].Number); }
2964      break;      break;
2965    
2966    case 100:    case 100:
2967  #line 227 "lscp.y"  #line 221 "lscp.y"
2968      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.Number = 16; }
2969      break;      break;
2970    
2971    case 105:    case 103:
2972  #line 242 "lscp.y"  #line 228 "lscp.y"
2973      { yyval.String = yyvsp[0].String;                                             }      { yyval.Dotnum = yyvsp[0].Number; }
2974      break;      break;
2975    
2976    case 106:    case 110:
2977  #line 243 "lscp.y"  #line 245 "lscp.y"
2978      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str();       }      { std::stringstream ss; ss << yyvsp[0].Number; yyval.String = ss.str(); }
2979      break;      break;
2980    
2981    case 107:    case 111:
2982  #line 244 "lscp.y"  #line 246 "lscp.y"
2983      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str();       }      { std::stringstream ss; ss << yyvsp[0].Dotnum; yyval.String = ss.str(); }
2984      break;      break;
2985    
2986    case 108:    case 112:
2987  #line 247 "lscp.y"  #line 252 "lscp.y"
2988      { yyval.Dotnum = yyvsp[0].Number; }      { yyval.Dotnum = yyvsp[0].Number; }
2989      break;      break;
2990    
2991    case 109:    case 113:
2992  #line 248 "lscp.y"  #line 253 "lscp.y"
2993      { yyval.Dotnum = -1; }      { yyval.Dotnum = -1; }
2994      break;      break;
2995    
2996    case 110:    case 114:
2997  #line 251 "lscp.y"  #line 256 "lscp.y"
2998      { std::string s; s = yyvsp[0].Char; yyval.String = s; }      { std::string s; s = yyvsp[0].Char; yyval.String = s; }
2999      break;      break;
3000    
3001    case 111:    case 115:
3002  #line 252 "lscp.y"  #line 257 "lscp.y"
3003      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }      { yyval.String = yyvsp[-1].String + yyvsp[0].Char;                  }
3004      break;      break;
3005    
3006      case 116:
3007    #line 260 "lscp.y"
3008        { yyval.Dotnum = atof(String(yyvsp[-2].String + "." + yyvsp[0].String).c_str());                         }
3009        break;
3010    
3011      case 117:
3012    #line 261 "lscp.y"
3013        { String s = "+"; s += yyvsp[-2].String; s += "."; s += yyvsp[0].String; yyval.Dotnum = atof(s.c_str()); }
3014        break;
3015    
3016      case 118:
3017    #line 262 "lscp.y"
3018        { yyval.Dotnum = atof(String("-" + yyvsp[-2].String + "." + yyvsp[0].String).c_str());                   }
3019        break;
3020    
3021      case 119:
3022    #line 266 "lscp.y"
3023        { yyval.String = yyvsp[0].Char;      }
3024        break;
3025    
3026      case 120:
3027    #line 267 "lscp.y"
3028        { yyval.String = yyvsp[-1].String + yyvsp[0].Char; }
3029        break;
3030    
3031      case 121:
3032    #line 270 "lscp.y"
3033        { yyval.Char = '0'; }
3034        break;
3035    
3036      case 122:
3037    #line 271 "lscp.y"
3038        { yyval.Char = '1'; }
3039        break;
3040    
3041      case 123:
3042    #line 272 "lscp.y"
3043        { yyval.Char = '2'; }
3044        break;
3045    
3046      case 124:
3047    #line 273 "lscp.y"
3048        { yyval.Char = '3'; }
3049        break;
3050    
3051      case 125:
3052    #line 274 "lscp.y"
3053        { yyval.Char = '4'; }
3054        break;
3055    
3056      case 126:
3057    #line 275 "lscp.y"
3058        { yyval.Char = '5'; }
3059        break;
3060    
3061      case 127:
3062    #line 276 "lscp.y"
3063        { yyval.Char = '6'; }
3064        break;
3065    
3066      case 128:
3067    #line 277 "lscp.y"
3068        { yyval.Char = '7'; }
3069        break;
3070    
3071      case 129:
3072    #line 278 "lscp.y"
3073        { yyval.Char = '8'; }
3074        break;
3075    
3076      case 130:
3077    #line 279 "lscp.y"
3078        { yyval.Char = '9'; }
3079        break;
3080    
3081      case 131:
3082    #line 282 "lscp.y"
3083        { yyval.Number = atoi(String(1, yyvsp[0].Char).c_str());      }
3084        break;
3085    
3086      case 132:
3087    #line 283 "lscp.y"
3088        { yyval.Number = atoi(String(String("1") + yyvsp[0].String).c_str()); }
3089        break;
3090    
3091      case 133:
3092    #line 284 "lscp.y"
3093        { yyval.Number = atoi(String(String("2") + yyvsp[0].String).c_str()); }
3094        break;
3095    
3096      case 134:
3097    #line 285 "lscp.y"
3098        { yyval.Number = atoi(String(String("3") + yyvsp[0].String).c_str()); }
3099        break;
3100    
3101      case 135:
3102    #line 286 "lscp.y"
3103        { yyval.Number = atoi(String(String("4") + yyvsp[0].String).c_str()); }
3104        break;
3105    
3106      case 136:
3107    #line 287 "lscp.y"
3108        { yyval.Number = atoi(String(String("5") + yyvsp[0].String).c_str()); }
3109        break;
3110    
3111      case 137:
3112    #line 288 "lscp.y"
3113        { yyval.Number = atoi(String(String("6") + yyvsp[0].String).c_str()); }
3114        break;
3115    
3116      case 138:
3117    #line 289 "lscp.y"
3118        { yyval.Number = atoi(String(String("7") + yyvsp[0].String).c_str()); }
3119        break;
3120    
3121      case 139:
3122    #line 290 "lscp.y"
3123        { yyval.Number = atoi(String(String("8") + yyvsp[0].String).c_str()); }
3124        break;
3125    
3126      case 140:
3127    #line 291 "lscp.y"
3128        { yyval.Number = atoi(String(String("9") + yyvsp[0].String).c_str()); }
3129        break;
3130    
3131      case 141:
3132    #line 293 "lscp.y"
3133        { yyval.Char = 'A'; }
3134        break;
3135    
3136      case 142:
3137    #line 293 "lscp.y"
3138        { yyval.Char = 'B'; }
3139        break;
3140    
3141      case 143:
3142    #line 293 "lscp.y"
3143        { yyval.Char = 'C'; }
3144        break;
3145    
3146      case 144:
3147    #line 293 "lscp.y"
3148        { yyval.Char = 'D'; }
3149        break;
3150    
3151      case 145:
3152    #line 293 "lscp.y"
3153        { yyval.Char = 'E'; }
3154        break;
3155    
3156      case 146:
3157    #line 293 "lscp.y"
3158        { yyval.Char = 'F'; }
3159        break;
3160    
3161      case 147:
3162    #line 293 "lscp.y"
3163        { yyval.Char = 'G'; }
3164        break;
3165    
3166      case 148:
3167    #line 293 "lscp.y"
3168        { yyval.Char = 'H'; }
3169        break;
3170    
3171      case 149:
3172    #line 293 "lscp.y"
3173        { yyval.Char = 'I'; }
3174        break;
3175    
3176      case 150:
3177    #line 293 "lscp.y"
3178        { yyval.Char = 'J'; }
3179        break;
3180    
3181      case 151:
3182    #line 293 "lscp.y"
3183        { yyval.Char = 'K'; }
3184        break;
3185    
3186      case 152:
3187    #line 293 "lscp.y"
3188        { yyval.Char = 'L'; }
3189        break;
3190    
3191      case 153:
3192    #line 293 "lscp.y"
3193        { yyval.Char = 'M'; }
3194        break;
3195    
3196      case 154:
3197    #line 293 "lscp.y"
3198        { yyval.Char = 'N'; }
3199        break;
3200    
3201      case 155:
3202    #line 293 "lscp.y"
3203        { yyval.Char = 'O'; }
3204        break;
3205    
3206      case 156:
3207    #line 293 "lscp.y"
3208        { yyval.Char = 'P'; }
3209        break;
3210    
3211      case 157:
3212    #line 293 "lscp.y"
3213        { yyval.Char = 'Q'; }
3214        break;
3215    
3216      case 158:
3217    #line 293 "lscp.y"
3218        { yyval.Char = 'R'; }
3219        break;
3220    
3221      case 159:
3222    #line 293 "lscp.y"
3223        { yyval.Char = 'S'; }
3224        break;
3225    
3226      case 160:
3227    #line 293 "lscp.y"
3228        { yyval.Char = 'T'; }
3229        break;
3230    
3231      case 161:
3232    #line 293 "lscp.y"
3233        { yyval.Char = 'U'; }
3234        break;
3235    
3236      case 162:
3237    #line 293 "lscp.y"
3238        { yyval.Char = 'V'; }
3239        break;
3240    
3241      case 163:
3242    #line 293 "lscp.y"
3243        { yyval.Char = 'W'; }
3244        break;
3245    
3246      case 164:
3247    #line 293 "lscp.y"
3248        { yyval.Char = 'X'; }
3249        break;
3250    
3251      case 165:
3252    #line 293 "lscp.y"
3253        { yyval.Char = 'Y'; }
3254        break;
3255    
3256      case 166:
3257    #line 293 "lscp.y"
3258        { yyval.Char = 'Z'; }
3259        break;
3260    
3261      case 167:
3262    #line 294 "lscp.y"
3263        { yyval.Char = 'a'; }
3264        break;
3265    
3266      case 168:
3267    #line 294 "lscp.y"
3268        { yyval.Char = 'b'; }
3269        break;
3270    
3271      case 169:
3272    #line 294 "lscp.y"
3273        { yyval.Char = 'c'; }
3274        break;
3275    
3276      case 170:
3277    #line 294 "lscp.y"
3278        { yyval.Char = 'd'; }
3279        break;
3280    
3281      case 171:
3282    #line 294 "lscp.y"
3283        { yyval.Char = 'e'; }
3284        break;
3285    
3286      case 172:
3287    #line 294 "lscp.y"
3288        { yyval.Char = 'f'; }
3289        break;
3290    
3291      case 173:
3292    #line 294 "lscp.y"
3293        { yyval.Char = 'g'; }
3294        break;
3295    
3296      case 174:
3297    #line 294 "lscp.y"
3298        { yyval.Char = 'h'; }
3299        break;
3300    
3301      case 175:
3302    #line 294 "lscp.y"
3303        { yyval.Char = 'i'; }
3304        break;
3305    
3306      case 176:
3307    #line 294 "lscp.y"
3308        { yyval.Char = 'j'; }
3309        break;
3310    
3311      case 177:
3312    #line 294 "lscp.y"
3313        { yyval.Char = 'k'; }
3314        break;
3315    
3316      case 178:
3317    #line 294 "lscp.y"
3318        { yyval.Char = 'l'; }
3319        break;
3320    
3321      case 179:
3322    #line 294 "lscp.y"
3323        { yyval.Char = 'm'; }
3324        break;
3325    
3326      case 180:
3327    #line 294 "lscp.y"
3328        { yyval.Char = 'n'; }
3329        break;
3330    
3331      case 181:
3332    #line 294 "lscp.y"
3333        { yyval.Char = 'o'; }
3334        break;
3335    
3336      case 182:
3337    #line 294 "lscp.y"
3338        { yyval.Char = 'p'; }
3339        break;
3340    
3341      case 183:
3342    #line 294 "lscp.y"
3343        { yyval.Char = 'q'; }
3344        break;
3345    
3346      case 184:
3347    #line 294 "lscp.y"
3348        { yyval.Char = 'r'; }
3349        break;
3350    
3351      case 185:
3352    #line 294 "lscp.y"
3353        { yyval.Char = 's'; }
3354        break;
3355    
3356      case 186:
3357    #line 294 "lscp.y"
3358        { yyval.Char = 't'; }
3359        break;
3360    
3361      case 187:
3362    #line 294 "lscp.y"
3363        { yyval.Char = 'u'; }
3364        break;
3365    
3366      case 188:
3367    #line 294 "lscp.y"
3368        { yyval.Char = 'v'; }
3369        break;
3370    
3371      case 189:
3372    #line 294 "lscp.y"
3373        { yyval.Char = 'w'; }
3374        break;
3375    
3376      case 190:
3377    #line 294 "lscp.y"
3378        { yyval.Char = 'x'; }
3379        break;
3380    
3381      case 191:
3382    #line 294 "lscp.y"
3383        { yyval.Char = 'y'; }
3384        break;
3385    
3386      case 192:
3387    #line 294 "lscp.y"
3388        { yyval.Char = 'z'; }
3389        break;
3390    
3391      case 193:
3392    #line 295 "lscp.y"
3393        { yyval.Char = '0'; }
3394        break;
3395    
3396      case 194:
3397    #line 295 "lscp.y"
3398        { yyval.Char = '1'; }
3399        break;
3400    
3401      case 195:
3402    #line 295 "lscp.y"
3403        { yyval.Char = '2'; }
3404        break;
3405    
3406      case 196:
3407    #line 295 "lscp.y"
3408        { yyval.Char = '3'; }
3409        break;
3410    
3411      case 197:
3412    #line 295 "lscp.y"
3413        { yyval.Char = '4'; }
3414        break;
3415    
3416      case 198:
3417    #line 295 "lscp.y"
3418        { yyval.Char = '5'; }
3419        break;
3420    
3421      case 199:
3422    #line 295 "lscp.y"
3423        { yyval.Char = '6'; }
3424        break;
3425    
3426      case 200:
3427    #line 295 "lscp.y"
3428        { yyval.Char = '7'; }
3429        break;
3430    
3431      case 201:
3432    #line 295 "lscp.y"
3433        { yyval.Char = '8'; }
3434        break;
3435    
3436      case 202:
3437    #line 295 "lscp.y"
3438        { yyval.Char = '9'; }
3439        break;
3440    
3441      case 203:
3442    #line 296 "lscp.y"
3443        { yyval.Char = '!'; }
3444        break;
3445    
3446      case 204:
3447    #line 296 "lscp.y"
3448        { yyval.Char = '#'; }
3449        break;
3450    
3451      case 205:
3452    #line 296 "lscp.y"
3453        { yyval.Char = '$'; }
3454        break;
3455    
3456      case 206:
3457    #line 296 "lscp.y"
3458        { yyval.Char = '%'; }
3459        break;
3460    
3461      case 207:
3462    #line 296 "lscp.y"
3463        { yyval.Char = '&'; }
3464        break;
3465    
3466      case 208:
3467    #line 296 "lscp.y"
3468        { yyval.Char = '('; }
3469        break;
3470    
3471      case 209:
3472    #line 296 "lscp.y"
3473        { yyval.Char = ')'; }
3474        break;
3475    
3476      case 210:
3477    #line 296 "lscp.y"
3478        { yyval.Char = '*'; }
3479        break;
3480    
3481      case 211:
3482    #line 296 "lscp.y"
3483        { yyval.Char = '+'; }
3484        break;
3485    
3486      case 212:
3487    #line 296 "lscp.y"
3488        { yyval.Char = '-'; }
3489        break;
3490    
3491      case 213:
3492    #line 296 "lscp.y"
3493        { yyval.Char = '.'; }
3494        break;
3495    
3496      case 214:
3497    #line 296 "lscp.y"
3498        { yyval.Char = ','; }
3499        break;
3500    
3501      case 215:
3502    #line 296 "lscp.y"
3503        { yyval.Char = '/'; }
3504        break;
3505    
3506      case 216:
3507    #line 297 "lscp.y"
3508        { yyval.Char = ':'; }
3509        break;
3510    
3511      case 217:
3512    #line 297 "lscp.y"
3513        { yyval.Char = ';'; }
3514        break;
3515    
3516      case 218:
3517    #line 297 "lscp.y"
3518        { yyval.Char = '<'; }
3519        break;
3520    
3521      case 219:
3522    #line 297 "lscp.y"
3523        { yyval.Char = '='; }
3524        break;
3525    
3526      case 220:
3527    #line 297 "lscp.y"
3528        { yyval.Char = '>'; }
3529        break;
3530    
3531      case 221:
3532    #line 297 "lscp.y"
3533        { yyval.Char = '?'; }
3534        break;
3535    
3536      case 222:
3537    #line 297 "lscp.y"
3538        { yyval.Char = '@'; }
3539        break;
3540    
3541      case 223:
3542    #line 298 "lscp.y"
3543        { yyval.Char = '['; }
3544        break;
3545    
3546      case 224:
3547    #line 298 "lscp.y"
3548        { yyval.Char = '\\'; }
3549        break;
3550    
3551      case 225:
3552    #line 298 "lscp.y"
3553        { yyval.Char = ']'; }
3554        break;
3555    
3556      case 226:
3557    #line 298 "lscp.y"
3558        { yyval.Char = '^'; }
3559        break;
3560    
3561      case 227:
3562    #line 298 "lscp.y"
3563        { yyval.Char = '_'; }
3564        break;
3565    
3566      case 228:
3567    #line 299 "lscp.y"
3568        { yyval.Char = '{'; }
3569        break;
3570    
3571      case 229:
3572    #line 299 "lscp.y"
3573        { yyval.Char = '|'; }
3574        break;
3575    
3576      case 230:
3577    #line 299 "lscp.y"
3578        { yyval.Char = '}'; }
3579        break;
3580    
3581      case 231:
3582    #line 299 "lscp.y"
3583        { yyval.Char = '~'; }
3584        break;
3585    
3586      case 232:
3587    #line 300 "lscp.y"
3588        { yyval.Char = '\200'; }
3589        break;
3590    
3591      case 233:
3592    #line 300 "lscp.y"
3593        { yyval.Char = '\201'; }
3594        break;
3595    
3596      case 234:
3597    #line 300 "lscp.y"
3598        { yyval.Char = '\202'; }
3599        break;
3600    
3601      case 235:
3602    #line 301 "lscp.y"
3603        { yyval.Char = '\203'; }
3604        break;
3605    
3606      case 236:
3607    #line 301 "lscp.y"
3608        { yyval.Char = '\204'; }
3609        break;
3610    
3611      case 237:
3612    #line 301 "lscp.y"
3613        { yyval.Char = '\205'; }
3614        break;
3615    
3616      case 238:
3617    #line 302 "lscp.y"
3618        { yyval.Char = '\206'; }
3619        break;
3620    
3621      case 239:
3622    #line 302 "lscp.y"
3623        { yyval.Char = '\207'; }
3624        break;
3625    
3626      case 240:
3627    #line 302 "lscp.y"
3628        { yyval.Char = '\210'; }
3629        break;
3630    
3631      case 241:
3632    #line 303 "lscp.y"
3633        { yyval.Char = '\211'; }
3634        break;
3635    
3636      case 242:
3637    #line 303 "lscp.y"
3638        { yyval.Char = '\212'; }
3639        break;
3640    
3641      case 243:
3642    #line 303 "lscp.y"
3643        { yyval.Char = '\213'; }
3644        break;
3645    
3646      case 244:
3647    #line 304 "lscp.y"
3648        { yyval.Char = '\214'; }
3649        break;
3650    
3651      case 245:
3652    #line 304 "lscp.y"
3653        { yyval.Char = '\215'; }
3654        break;
3655    
3656      case 246:
3657    #line 304 "lscp.y"
3658        { yyval.Char = '\216'; }
3659        break;
3660    
3661      case 247:
3662    #line 305 "lscp.y"
3663        { yyval.Char = '\217'; }
3664        break;
3665    
3666      case 248:
3667    #line 305 "lscp.y"
3668        { yyval.Char = '\220'; }
3669        break;
3670    
3671      case 249:
3672    #line 305 "lscp.y"
3673        { yyval.Char = '\221'; }
3674        break;
3675    
3676      case 250:
3677    #line 306 "lscp.y"
3678        { yyval.Char = '\222'; }
3679        break;
3680    
3681      case 251:
3682    #line 306 "lscp.y"
3683        { yyval.Char = '\223'; }
3684        break;
3685    
3686      case 252:
3687    #line 306 "lscp.y"
3688        { yyval.Char = '\224'; }
3689        break;
3690    
3691      case 253:
3692    #line 307 "lscp.y"
3693        { yyval.Char = '\225'; }
3694        break;
3695    
3696      case 254:
3697    #line 307 "lscp.y"
3698        { yyval.Char = '\226'; }
3699        break;
3700    
3701      case 255:
3702    #line 307 "lscp.y"
3703        { yyval.Char = '\227'; }
3704        break;
3705    
3706      case 256:
3707    #line 308 "lscp.y"
3708        { yyval.Char = '\230'; }
3709        break;
3710    
3711      case 257:
3712    #line 308 "lscp.y"
3713        { yyval.Char = '\231'; }
3714        break;
3715    
3716      case 258:
3717    #line 308 "lscp.y"
3718        { yyval.Char = '\232'; }
3719        break;
3720    
3721      case 259:
3722    #line 309 "lscp.y"
3723        { yyval.Char = '\233'; }
3724        break;
3725    
3726      case 260:
3727    #line 309 "lscp.y"
3728        { yyval.Char = '\234'; }
3729        break;
3730    
3731      case 261:
3732    #line 309 "lscp.y"
3733        { yyval.Char = '\235'; }
3734        break;
3735    
3736      case 262:
3737    #line 310 "lscp.y"
3738        { yyval.Char = '\236'; }
3739        break;
3740    
3741      case 263:
3742    #line 310 "lscp.y"
3743        { yyval.Char = '\237'; }
3744        break;
3745    
3746      case 264:
3747    #line 310 "lscp.y"
3748        { yyval.Char = '\240'; }
3749        break;
3750    
3751      case 265:
3752    #line 311 "lscp.y"
3753        { yyval.Char = '\241'; }
3754        break;
3755    
3756      case 266:
3757    #line 311 "lscp.y"
3758        { yyval.Char = '\242'; }
3759        break;
3760    
3761      case 267:
3762    #line 311 "lscp.y"
3763        { yyval.Char = '\243'; }
3764        break;
3765    
3766      case 268:
3767    #line 312 "lscp.y"
3768        { yyval.Char = '\244'; }
3769        break;
3770    
3771      case 269:
3772    #line 312 "lscp.y"
3773        { yyval.Char = '\245'; }
3774        break;
3775    
3776      case 270:
3777    #line 312 "lscp.y"
3778        { yyval.Char = '\246'; }
3779        break;
3780    
3781      case 271:
3782    #line 313 "lscp.y"
3783        { yyval.Char = '\247'; }
3784        break;
3785    
3786      case 272:
3787    #line 313 "lscp.y"
3788        { yyval.Char = '\250'; }
3789        break;
3790    
3791      case 273:
3792    #line 313 "lscp.y"
3793        { yyval.Char = '\251'; }
3794        break;
3795    
3796      case 274:
3797    #line 314 "lscp.y"
3798        { yyval.Char = '\252'; }
3799        break;
3800    
3801      case 275:
3802    #line 314 "lscp.y"
3803        { yyval.Char = '\253'; }
3804        break;
3805    
3806      case 276:
3807    #line 314 "lscp.y"
3808        { yyval.Char = '\254'; }
3809        break;
3810    
3811      case 277:
3812    #line 315 "lscp.y"
3813        { yyval.Char = '\255'; }
3814        break;
3815    
3816      case 278:
3817    #line 315 "lscp.y"
3818        { yyval.Char = '\256'; }
3819        break;
3820    
3821      case 279:
3822    #line 315 "lscp.y"
3823        { yyval.Char = '\257'; }
3824        break;
3825    
3826      case 280:
3827    #line 316 "lscp.y"
3828        { yyval.Char = '\260'; }
3829        break;
3830    
3831      case 281:
3832    #line 316 "lscp.y"
3833        { yyval.Char = '\261'; }
3834        break;
3835    
3836      case 282:
3837    #line 316 "lscp.y"
3838        { yyval.Char = '\262'; }
3839        break;
3840    
3841      case 283:
3842    #line 317 "lscp.y"
3843        { yyval.Char = '\263'; }
3844        break;
3845    
3846      case 284:
3847    #line 317 "lscp.y"
3848        { yyval.Char = '\264'; }
3849        break;
3850    
3851      case 285:
3852    #line 317 "lscp.y"
3853        { yyval.Char = '\265'; }
3854        break;
3855    
3856      case 286:
3857    #line 318 "lscp.y"
3858        { yyval.Char = '\266'; }
3859        break;
3860    
3861      case 287:
3862    #line 318 "lscp.y"
3863        { yyval.Char = '\267'; }
3864        break;
3865    
3866      case 288:
3867    #line 318 "lscp.y"
3868        { yyval.Char = '\270'; }
3869        break;
3870    
3871      case 289:
3872    #line 319 "lscp.y"
3873        { yyval.Char = '\271'; }
3874        break;
3875    
3876      case 290:
3877    #line 319 "lscp.y"
3878        { yyval.Char = '\272'; }
3879        break;
3880    
3881      case 291:
3882    #line 319 "lscp.y"
3883        { yyval.Char = '\273'; }
3884        break;
3885    
3886      case 292:
3887    #line 320 "lscp.y"
3888        { yyval.Char = '\274'; }
3889        break;
3890    
3891      case 293:
3892    #line 320 "lscp.y"
3893        { yyval.Char = '\275'; }
3894        break;
3895    
3896      case 294:
3897    #line 320 "lscp.y"
3898        { yyval.Char = '\276'; }
3899        break;
3900    
3901      case 295:
3902    #line 321 "lscp.y"
3903        { yyval.Char = '\277'; }
3904        break;
3905    
3906      case 296:
3907    #line 321 "lscp.y"
3908        { yyval.Char = '\300'; }
3909        break;
3910    
3911      case 297:
3912    #line 321 "lscp.y"
3913        { yyval.Char = '\301'; }
3914        break;
3915    
3916      case 298:
3917    #line 322 "lscp.y"
3918        { yyval.Char = '\302'; }
3919        break;
3920    
3921      case 299:
3922    #line 322 "lscp.y"
3923        { yyval.Char = '\303'; }
3924        break;
3925    
3926      case 300:
3927    #line 322 "lscp.y"
3928        { yyval.Char = '\304'; }
3929        break;
3930    
3931      case 301:
3932    #line 323 "lscp.y"
3933        { yyval.Char = '\305'; }
3934        break;
3935    
3936      case 302:
3937    #line 323 "lscp.y"
3938        { yyval.Char = '\306'; }
3939        break;
3940    
3941      case 303:
3942    #line 323 "lscp.y"
3943        { yyval.Char = '\307'; }
3944        break;
3945    
3946      case 304:
3947    #line 324 "lscp.y"
3948        { yyval.Char = '\310'; }
3949        break;
3950    
3951      case 305:
3952    #line 324 "lscp.y"
3953        { yyval.Char = '\311'; }
3954        break;
3955    
3956      case 306:
3957    #line 324 "lscp.y"
3958        { yyval.Char = '\312'; }
3959        break;
3960    
3961      case 307:
3962    #line 325 "lscp.y"
3963        { yyval.Char = '\313'; }
3964        break;
3965    
3966      case 308:
3967    #line 325 "lscp.y"
3968        { yyval.Char = '\314'; }
3969        break;
3970    
3971      case 309:
3972    #line 325 "lscp.y"
3973        { yyval.Char = '\315'; }
3974        break;
3975    
3976      case 310:
3977    #line 326 "lscp.y"
3978        { yyval.Char = '\316'; }
3979        break;
3980    
3981      case 311:
3982    #line 326 "lscp.y"
3983        { yyval.Char = '\317'; }
3984        break;
3985    
3986      case 312:
3987    #line 326 "lscp.y"
3988        { yyval.Char = '\320'; }
3989        break;
3990    
3991      case 313:
3992    #line 327 "lscp.y"
3993        { yyval.Char = '\321'; }
3994        break;
3995    
3996      case 314:
3997    #line 327 "lscp.y"
3998        { yyval.Char = '\322'; }
3999        break;
4000    
4001      case 315:
4002    #line 327 "lscp.y"
4003        { yyval.Char = '\323'; }
4004        break;
4005    
4006      case 316:
4007    #line 328 "lscp.y"
4008        { yyval.Char = '\324'; }
4009        break;
4010    
4011      case 317:
4012    #line 328 "lscp.y"
4013        { yyval.Char = '\325'; }
4014        break;
4015    
4016      case 318:
4017    #line 328 "lscp.y"
4018        { yyval.Char = '\326'; }
4019        break;
4020    
4021      case 319:
4022    #line 329 "lscp.y"
4023        { yyval.Char = '\327'; }
4024        break;
4025    
4026      case 320:
4027    #line 329 "lscp.y"
4028        { yyval.Char = '\330'; }
4029        break;
4030    
4031      case 321:
4032    #line 329 "lscp.y"
4033        { yyval.Char = '\331'; }
4034        break;
4035    
4036      case 322:
4037    #line 330 "lscp.y"
4038        { yyval.Char = '\332'; }
4039        break;
4040    
4041      case 323:
4042    #line 330 "lscp.y"
4043        { yyval.Char = '\333'; }
4044        break;
4045    
4046      case 324:
4047    #line 330 "lscp.y"
4048        { yyval.Char = '\334'; }
4049        break;
4050    
4051      case 325:
4052    #line 331 "lscp.y"
4053        { yyval.Char = '\335'; }
4054        break;
4055    
4056      case 326:
4057    #line 331 "lscp.y"
4058        { yyval.Char = '\336'; }
4059        break;
4060    
4061      case 327:
4062    #line 331 "lscp.y"
4063        { yyval.Char = '\337'; }
4064        break;
4065    
4066      case 328:
4067    #line 332 "lscp.y"
4068        { yyval.Char = '\340'; }
4069        break;
4070    
4071      case 329:
4072    #line 332 "lscp.y"
4073        { yyval.Char = '\341'; }
4074        break;
4075    
4076      case 330:
4077    #line 332 "lscp.y"
4078        { yyval.Char = '\342'; }
4079        break;
4080    
4081      case 331:
4082    #line 333 "lscp.y"
4083        { yyval.Char = '\343'; }
4084        break;
4085    
4086      case 332:
4087    #line 333 "lscp.y"
4088        { yyval.Char = '\344'; }
4089        break;
4090    
4091      case 333:
4092    #line 333 "lscp.y"
4093        { yyval.Char = '\345'; }
4094        break;
4095    
4096      case 334:
4097    #line 334 "lscp.y"
4098        { yyval.Char = '\346'; }
4099        break;
4100    
4101      case 335:
4102    #line 334 "lscp.y"
4103        { yyval.Char = '\347'; }
4104        break;
4105    
4106      case 336:
4107    #line 334 "lscp.y"
4108        { yyval.Char = '\350'; }
4109        break;
4110    
4111      case 337:
4112    #line 335 "lscp.y"
4113        { yyval.Char = '\351'; }
4114        break;
4115    
4116      case 338:
4117    #line 335 "lscp.y"
4118        { yyval.Char = '\352'; }
4119        break;
4120    
4121      case 339:
4122    #line 335 "lscp.y"
4123        { yyval.Char = '\353'; }
4124        break;
4125    
4126      case 340:
4127    #line 336 "lscp.y"
4128        { yyval.Char = '\354'; }
4129        break;
4130    
4131      case 341:
4132    #line 336 "lscp.y"
4133        { yyval.Char = '\355'; }
4134        break;
4135    
4136      case 342:
4137    #line 336 "lscp.y"
4138        { yyval.Char = '\356'; }
4139        break;
4140    
4141      case 343:
4142    #line 337 "lscp.y"
4143        { yyval.Char = '\357'; }
4144        break;
4145    
4146      case 344:
4147    #line 337 "lscp.y"
4148        { yyval.Char = '\360'; }
4149        break;
4150    
4151      case 345:
4152    #line 337 "lscp.y"
4153        { yyval.Char = '\361'; }
4154        break;
4155    
4156      case 346:
4157    #line 338 "lscp.y"
4158        { yyval.Char = '\362'; }
4159        break;
4160    
4161      case 347:
4162    #line 338 "lscp.y"
4163        { yyval.Char = '\363'; }
4164        break;
4165    
4166      case 348:
4167    #line 338 "lscp.y"
4168        { yyval.Char = '\364'; }
4169        break;
4170    
4171      case 349:
4172    #line 339 "lscp.y"
4173        { yyval.Char = '\365'; }
4174        break;
4175    
4176      case 350:
4177    #line 339 "lscp.y"
4178        { yyval.Char = '\366'; }
4179        break;
4180    
4181      case 351:
4182    #line 339 "lscp.y"
4183        { yyval.Char = '\367'; }
4184        break;
4185    
4186      case 352:
4187    #line 340 "lscp.y"
4188        { yyval.Char = '\370'; }
4189        break;
4190    
4191      case 353:
4192    #line 340 "lscp.y"
4193        { yyval.Char = '\371'; }
4194        break;
4195    
4196      case 354:
4197    #line 340 "lscp.y"
4198        { yyval.Char = '\372'; }
4199        break;
4200    
4201      case 355:
4202    #line 341 "lscp.y"
4203        { yyval.Char = '\373'; }
4204        break;
4205    
4206      case 356:
4207    #line 341 "lscp.y"
4208        { yyval.Char = '\374'; }
4209        break;
4210    
4211      case 357:
4212    #line 341 "lscp.y"
4213        { yyval.Char = '\375'; }
4214        break;
4215    
4216      case 358:
4217    #line 342 "lscp.y"
4218        { yyval.Char = '\376'; }
4219        break;
4220    
4221      case 359:
4222    #line 342 "lscp.y"
4223        { yyval.Char = '\377'; }
4224        break;
4225    
4226      case 360:
4227    #line 345 "lscp.y"
4228        { yyval.String = " ";      }
4229        break;
4230    
4231      case 362:
4232    #line 347 "lscp.y"
4233        { yyval.String = yyvsp[-1].String + " "; }
4234        break;
4235    
4236      case 363:
4237    #line 348 "lscp.y"
4238        { yyval.String = yyvsp[-1].String + yyvsp[0].String;  }
4239        break;
4240    
4241      case 364:
4242    #line 351 "lscp.y"
4243        { yyval.String = yyvsp[-1].String; }
4244        break;
4245    
4246      case 365:
4247    #line 352 "lscp.y"
4248        { yyval.String = yyvsp[-1].String; }
4249        break;
4250    
4251    
4252      }      }
4253    
4254  /* Line 999 of yacc.c.  */  /* Line 999 of yacc.c.  */
4255  #line 1834 "y.tab.c"  #line 4255 "y.tab.c"
4256    
4257    yyvsp -= yylen;    yyvsp -= yylen;
4258    yyssp -= yylen;    yyssp -= yylen;
# Line 2024  yyreturn: Line 4446  yyreturn:
4446  }  }
4447    
4448    
4449  #line 255 "lscp.y"  #line 514 "lscp.y"
4450    
4451    
4452  /**  /**
# Line 2035  void yyerror(const char* s) { Line 4457  void yyerror(const char* s) {
4457  }  }
4458    
4459  /**  /**
4460   * Clears input buffer and restarts scanner.   * Clears input buffer.
4461   */   */
4462  void restart(yyparse_param_t* pparam, int& yychar) {  void restart(yyparse_param_t* pparam, int& yychar) {
4463      // restart scanner      bytes = 0;
4464      yyrestart(stdin, pparam->pScanner);      ptr   = 0;
     // reset lookahead symbol  
     yyclearin;  
4465  }  }
4466    
4467    

Legend:
Removed from v.210  
changed lines
  Added in v.397

  ViewVC Help
Powered by ViewVC