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

Legend:
Removed from v.123  
changed lines
  Added in v.556

  ViewVC Help
Powered by ViewVC