/[svn]/linuxsampler/trunk/src/network/lscpparser.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/network/lscpparser.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

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

  ViewVC Help
Powered by ViewVC