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

Legend:
Removed from v.53  
changed lines
  Added in v.483

  ViewVC Help
Powered by ViewVC