OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [java/] [parse-scan.c] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 jlechner
/* A Bison parser, made by GNU Bison 2.0.  */
2
 
3
/* Skeleton parser for Yacc-like parsing with Bison,
4
   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
7
   it under the terms of the GNU General Public License as published by
8
   the Free Software Foundation; either version 2, or (at your option)
9
   any later version.
10
 
11
   This program is distributed in the hope that it will be useful,
12
   but WITHOUT ANY WARRANTY; without even the implied warranty of
13
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
   GNU General Public License for more details.
15
 
16
   You should have received a copy of the GNU General Public License
17
   along with this program; if not, write to the Free Software
18
   Foundation, Inc., 59 Temple Place - Suite 330,
19
   Boston, MA 02111-1307, USA.  */
20
 
21
/* As a special exception, when this file is copied by Bison into a
22
   Bison output file, you may use that output file without restriction.
23
   This special exception was added by the Free Software Foundation
24
   in version 1.24 of Bison.  */
25
 
26
/* Written by Richard Stallman by simplifying the original so called
27
   ``semantic'' parser.  */
28
 
29
/* All symbols defined below should begin with yy or YY, to avoid
30
   infringing on user name space.  This should be done even for local
31
   variables, as they might otherwise be expanded by user macros.
32
   There are some unavoidable exceptions within include files to
33
   define necessary library symbols; they are noted "INFRINGES ON
34
   USER NAME SPACE" below.  */
35
 
36
/* Identify Bison output.  */
37
#define YYBISON 1
38
 
39
/* Skeleton name.  */
40
#define YYSKELETON_NAME "yacc.c"
41
 
42
/* Pure parsers.  */
43
#define YYPURE 1
44
 
45
/* Using locations.  */
46
#define YYLSP_NEEDED 0
47
 
48
 
49
 
50
/* Tokens.  */
51
#ifndef YYTOKENTYPE
52
# define YYTOKENTYPE
53
   /* Put the tokens into the symbol table, so that GDB and other debuggers
54
      know about them.  */
55
   enum yytokentype {
56
     PLUS_TK = 258,
57
     MINUS_TK = 259,
58
     MULT_TK = 260,
59
     DIV_TK = 261,
60
     REM_TK = 262,
61
     LS_TK = 263,
62
     SRS_TK = 264,
63
     ZRS_TK = 265,
64
     AND_TK = 266,
65
     XOR_TK = 267,
66
     OR_TK = 268,
67
     BOOL_AND_TK = 269,
68
     BOOL_OR_TK = 270,
69
     EQ_TK = 271,
70
     NEQ_TK = 272,
71
     GT_TK = 273,
72
     GTE_TK = 274,
73
     LT_TK = 275,
74
     LTE_TK = 276,
75
     PLUS_ASSIGN_TK = 277,
76
     MINUS_ASSIGN_TK = 278,
77
     MULT_ASSIGN_TK = 279,
78
     DIV_ASSIGN_TK = 280,
79
     REM_ASSIGN_TK = 281,
80
     LS_ASSIGN_TK = 282,
81
     SRS_ASSIGN_TK = 283,
82
     ZRS_ASSIGN_TK = 284,
83
     AND_ASSIGN_TK = 285,
84
     XOR_ASSIGN_TK = 286,
85
     OR_ASSIGN_TK = 287,
86
     PUBLIC_TK = 288,
87
     PRIVATE_TK = 289,
88
     PROTECTED_TK = 290,
89
     STATIC_TK = 291,
90
     FINAL_TK = 292,
91
     SYNCHRONIZED_TK = 293,
92
     VOLATILE_TK = 294,
93
     TRANSIENT_TK = 295,
94
     NATIVE_TK = 296,
95
     PAD_TK = 297,
96
     ABSTRACT_TK = 298,
97
     MODIFIER_TK = 299,
98
     STRICT_TK = 300,
99
     DECR_TK = 301,
100
     INCR_TK = 302,
101
     DEFAULT_TK = 303,
102
     IF_TK = 304,
103
     THROW_TK = 305,
104
     BOOLEAN_TK = 306,
105
     DO_TK = 307,
106
     IMPLEMENTS_TK = 308,
107
     THROWS_TK = 309,
108
     BREAK_TK = 310,
109
     IMPORT_TK = 311,
110
     ELSE_TK = 312,
111
     INSTANCEOF_TK = 313,
112
     RETURN_TK = 314,
113
     VOID_TK = 315,
114
     CATCH_TK = 316,
115
     INTERFACE_TK = 317,
116
     CASE_TK = 318,
117
     EXTENDS_TK = 319,
118
     FINALLY_TK = 320,
119
     SUPER_TK = 321,
120
     WHILE_TK = 322,
121
     CLASS_TK = 323,
122
     SWITCH_TK = 324,
123
     CONST_TK = 325,
124
     TRY_TK = 326,
125
     FOR_TK = 327,
126
     NEW_TK = 328,
127
     CONTINUE_TK = 329,
128
     GOTO_TK = 330,
129
     PACKAGE_TK = 331,
130
     THIS_TK = 332,
131
     ASSERT_TK = 333,
132
     BYTE_TK = 334,
133
     SHORT_TK = 335,
134
     INT_TK = 336,
135
     LONG_TK = 337,
136
     CHAR_TK = 338,
137
     INTEGRAL_TK = 339,
138
     FLOAT_TK = 340,
139
     DOUBLE_TK = 341,
140
     FP_TK = 342,
141
     ID_TK = 343,
142
     REL_QM_TK = 344,
143
     REL_CL_TK = 345,
144
     NOT_TK = 346,
145
     NEG_TK = 347,
146
     ASSIGN_ANY_TK = 348,
147
     ASSIGN_TK = 349,
148
     OP_TK = 350,
149
     CP_TK = 351,
150
     OCB_TK = 352,
151
     CCB_TK = 353,
152
     OSB_TK = 354,
153
     CSB_TK = 355,
154
     SC_TK = 356,
155
     C_TK = 357,
156
     DOT_TK = 358,
157
     STRING_LIT_TK = 359,
158
     CHAR_LIT_TK = 360,
159
     INT_LIT_TK = 361,
160
     FP_LIT_TK = 362,
161
     TRUE_TK = 363,
162
     FALSE_TK = 364,
163
     BOOL_LIT_TK = 365,
164
     NULL_TK = 366
165
   };
166
#endif
167
#define PLUS_TK 258
168
#define MINUS_TK 259
169
#define MULT_TK 260
170
#define DIV_TK 261
171
#define REM_TK 262
172
#define LS_TK 263
173
#define SRS_TK 264
174
#define ZRS_TK 265
175
#define AND_TK 266
176
#define XOR_TK 267
177
#define OR_TK 268
178
#define BOOL_AND_TK 269
179
#define BOOL_OR_TK 270
180
#define EQ_TK 271
181
#define NEQ_TK 272
182
#define GT_TK 273
183
#define GTE_TK 274
184
#define LT_TK 275
185
#define LTE_TK 276
186
#define PLUS_ASSIGN_TK 277
187
#define MINUS_ASSIGN_TK 278
188
#define MULT_ASSIGN_TK 279
189
#define DIV_ASSIGN_TK 280
190
#define REM_ASSIGN_TK 281
191
#define LS_ASSIGN_TK 282
192
#define SRS_ASSIGN_TK 283
193
#define ZRS_ASSIGN_TK 284
194
#define AND_ASSIGN_TK 285
195
#define XOR_ASSIGN_TK 286
196
#define OR_ASSIGN_TK 287
197
#define PUBLIC_TK 288
198
#define PRIVATE_TK 289
199
#define PROTECTED_TK 290
200
#define STATIC_TK 291
201
#define FINAL_TK 292
202
#define SYNCHRONIZED_TK 293
203
#define VOLATILE_TK 294
204
#define TRANSIENT_TK 295
205
#define NATIVE_TK 296
206
#define PAD_TK 297
207
#define ABSTRACT_TK 298
208
#define MODIFIER_TK 299
209
#define STRICT_TK 300
210
#define DECR_TK 301
211
#define INCR_TK 302
212
#define DEFAULT_TK 303
213
#define IF_TK 304
214
#define THROW_TK 305
215
#define BOOLEAN_TK 306
216
#define DO_TK 307
217
#define IMPLEMENTS_TK 308
218
#define THROWS_TK 309
219
#define BREAK_TK 310
220
#define IMPORT_TK 311
221
#define ELSE_TK 312
222
#define INSTANCEOF_TK 313
223
#define RETURN_TK 314
224
#define VOID_TK 315
225
#define CATCH_TK 316
226
#define INTERFACE_TK 317
227
#define CASE_TK 318
228
#define EXTENDS_TK 319
229
#define FINALLY_TK 320
230
#define SUPER_TK 321
231
#define WHILE_TK 322
232
#define CLASS_TK 323
233
#define SWITCH_TK 324
234
#define CONST_TK 325
235
#define TRY_TK 326
236
#define FOR_TK 327
237
#define NEW_TK 328
238
#define CONTINUE_TK 329
239
#define GOTO_TK 330
240
#define PACKAGE_TK 331
241
#define THIS_TK 332
242
#define ASSERT_TK 333
243
#define BYTE_TK 334
244
#define SHORT_TK 335
245
#define INT_TK 336
246
#define LONG_TK 337
247
#define CHAR_TK 338
248
#define INTEGRAL_TK 339
249
#define FLOAT_TK 340
250
#define DOUBLE_TK 341
251
#define FP_TK 342
252
#define ID_TK 343
253
#define REL_QM_TK 344
254
#define REL_CL_TK 345
255
#define NOT_TK 346
256
#define NEG_TK 347
257
#define ASSIGN_ANY_TK 348
258
#define ASSIGN_TK 349
259
#define OP_TK 350
260
#define CP_TK 351
261
#define OCB_TK 352
262
#define CCB_TK 353
263
#define OSB_TK 354
264
#define CSB_TK 355
265
#define SC_TK 356
266
#define C_TK 357
267
#define DOT_TK 358
268
#define STRING_LIT_TK 359
269
#define CHAR_LIT_TK 360
270
#define INT_LIT_TK 361
271
#define FP_LIT_TK 362
272
#define TRUE_TK 363
273
#define FALSE_TK 364
274
#define BOOL_LIT_TK 365
275
#define NULL_TK 366
276
 
277
 
278
 
279
 
280
/* Copy the first part of user declarations.  */
281
#line 38 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
282
 
283
#define JC1_LITE
284
 
285
#include "config.h"
286
#include "system.h"
287
#include "coretypes.h"
288
#include "tm.h"
289
#include "obstack.h"
290
#include "toplev.h"
291
 
292
extern FILE *finput, *out;
293
 
294
 const char *main_input_filename;
295
 
296
/* Obstack for the lexer.  */
297
struct obstack temporary_obstack;
298
 
299
/* The current parser context.  */
300
struct parser_ctxt *ctxp;
301
 
302
/* Error and warning counts, because they're used elsewhere  */
303
int java_error_count;
304
int java_warning_count;
305
 
306
/* Tweak default rules when necessary.  */
307
static int absorber;
308
#define USE_ABSORBER absorber = 0
309
 
310
/* Keep track of the current package name.  */
311
static const char *package_name;
312
 
313
/* Keep track of whether things have be listed before.  */
314
static int previous_output;
315
 
316
/* Record modifier uses  */
317
static int modifier_value;
318
 
319
/* Record (almost) cyclomatic complexity.  */
320
static int complexity;
321
 
322
/* Keeps track of number of bracket pairs after a variable declarator
323
   id.  */
324
static int bracket_count;
325
 
326
/* Numbers anonymous classes */
327
static int anonymous_count;
328
 
329
/* This is used to record the current class context.  */
330
struct class_context
331
{
332
  char *name;
333
  struct class_context *next;
334
};
335
 
336
/* The global class context.  */
337
static struct class_context *current_class_context;
338
 
339
/* A special constant used to represent an anonymous context.  */
340
static const char *anonymous_context = "ANONYMOUS";
341
 
342
/* Count of method depth.  */
343
static int method_depth;
344
 
345
/* Record a method declaration  */
346
struct method_declarator {
347
  const char *method_name;
348
  const char *args;
349
};
350
#define NEW_METHOD_DECLARATOR(D,N,A)                                         \
351
{                                                                            \
352
  (D) = xmalloc (sizeof (struct method_declarator));                         \
353
  (D)->method_name = (N);                                                    \
354
  (D)->args = (A);                                                           \
355
}
356
 
357
/* Two actions for this grammar */
358
static int make_class_name_recursive (struct obstack *stack,
359
                                      struct class_context *ctx);
360
static char *get_class_name (void);
361
static void report_class_declaration (const char *);
362
static void report_main_declaration (struct method_declarator *);
363
static void push_class_context (const char *);
364
static void pop_class_context (void);
365
 
366
void report (void);
367
 
368
#include "lex.h"
369
#include "parse.h"
370
 
371
 
372
/* Enabling traces.  */
373
#ifndef YYDEBUG
374
# define YYDEBUG 1
375
#endif
376
 
377
/* Enabling verbose error messages.  */
378
#ifdef YYERROR_VERBOSE
379
# undef YYERROR_VERBOSE
380
# define YYERROR_VERBOSE 1
381
#else
382
# define YYERROR_VERBOSE 0
383
#endif
384
 
385
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
386
#line 128 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
387
typedef union YYSTYPE {
388
  char *node;
389
  struct method_declarator *declarator;
390
  int value;                    /* For modifiers */
391
} YYSTYPE;
392
/* Line 190 of yacc.c.  */
393
#line 394 "java/parse-scan.c"
394
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
395
# define YYSTYPE_IS_DECLARED 1
396
# define YYSTYPE_IS_TRIVIAL 1
397
#endif
398
 
399
 
400
 
401
/* Copy the second part of user declarations.  */
402
#line 134 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
403
 
404
extern int flag_assert;
405
 
406
#include "lex.c"
407
 
408
 
409
/* Line 213 of yacc.c.  */
410
#line 411 "java/parse-scan.c"
411
 
412
#if ! defined (yyoverflow) || YYERROR_VERBOSE
413
 
414
# ifndef YYFREE
415
#  define YYFREE free
416
# endif
417
# ifndef YYMALLOC
418
#  define YYMALLOC malloc
419
# endif
420
 
421
/* The parser invokes alloca or malloc; define the necessary symbols.  */
422
 
423
# ifdef YYSTACK_USE_ALLOCA
424
#  if YYSTACK_USE_ALLOCA
425
#   ifdef __GNUC__
426
#    define YYSTACK_ALLOC __builtin_alloca
427
#   else
428
#    define YYSTACK_ALLOC alloca
429
#   endif
430
#  endif
431
# endif
432
 
433
# ifdef YYSTACK_ALLOC
434
   /* Pacify GCC's `empty if-body' warning. */
435
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
436
# else
437
#  if defined (__STDC__) || defined (__cplusplus)
438
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
439
#   define YYSIZE_T size_t
440
#  endif
441
#  define YYSTACK_ALLOC YYMALLOC
442
#  define YYSTACK_FREE YYFREE
443
# endif
444
#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */
445
 
446
 
447
#if (! defined (yyoverflow) \
448
     && (! defined (__cplusplus) \
449
         || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL)))
450
 
451
/* A type that is properly aligned for any stack member.  */
452
union yyalloc
453
{
454
  short int yyss;
455
  YYSTYPE yyvs;
456
  };
457
 
458
/* The size of the maximum gap between one aligned stack and the next.  */
459
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
460
 
461
/* The size of an array large to enough to hold all stacks, each with
462
   N elements.  */
463
# define YYSTACK_BYTES(N) \
464
     ((N) * (sizeof (short int) + sizeof (YYSTYPE))                     \
465
      + YYSTACK_GAP_MAXIMUM)
466
 
467
/* Copy COUNT objects from FROM to TO.  The source and destination do
468
   not overlap.  */
469
# ifndef YYCOPY
470
#  if defined (__GNUC__) && 1 < __GNUC__
471
#   define YYCOPY(To, From, Count) \
472
      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
473
#  else
474
#   define YYCOPY(To, From, Count)              \
475
      do                                        \
476
        {                                       \
477
          register YYSIZE_T yyi;                \
478
          for (yyi = 0; yyi < (Count); yyi++)    \
479
            (To)[yyi] = (From)[yyi];            \
480
        }                                       \
481
      while (0)
482
#  endif
483
# endif
484
 
485
/* Relocate STACK from its old location to the new one.  The
486
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
487
   elements in the stack, and YYPTR gives the new location of the
488
   stack.  Advance YYPTR to a properly aligned location for the next
489
   stack.  */
490
# define YYSTACK_RELOCATE(Stack)                                        \
491
    do                                                                  \
492
      {                                                                 \
493
        YYSIZE_T yynewbytes;                                            \
494
        YYCOPY (&yyptr->Stack, Stack, yysize);                          \
495
        Stack = &yyptr->Stack;                                          \
496
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
497
        yyptr += yynewbytes / sizeof (*yyptr);                          \
498
      }                                                                 \
499
    while (0)
500
 
501
#endif
502
 
503
#if defined (__STDC__) || defined (__cplusplus)
504
   typedef signed char yysigned_char;
505
#else
506
   typedef short int yysigned_char;
507
#endif
508
 
509
/* YYFINAL -- State number of the termination state. */
510
#define YYFINAL  28
511
/* YYLAST -- Last index in YYTABLE.  */
512
#define YYLAST   3393
513
 
514
/* YYNTOKENS -- Number of terminals. */
515
#define YYNTOKENS  112
516
/* YYNNTS -- Number of nonterminals. */
517
#define YYNNTS  154
518
/* YYNRULES -- Number of rules. */
519
#define YYNRULES  358
520
/* YYNRULES -- Number of states. */
521
#define YYNSTATES  617
522
 
523
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
524
#define YYUNDEFTOK  2
525
#define YYMAXUTOK   366
526
 
527
#define YYTRANSLATE(YYX)                                                \
528
  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
529
 
530
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
531
static const unsigned char yytranslate[] =
532
{
533
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
534
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
535
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
536
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
537
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
538
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
539
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
540
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
541
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
542
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
543
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
544
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
545
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
546
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
547
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
548
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
549
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
550
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
551
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
552
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
553
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
554
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
555
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
556
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
557
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
558
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
559
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
560
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
561
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
562
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
563
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
564
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
565
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
566
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
567
      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
568
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
569
     105,   106,   107,   108,   109,   110,   111
570
};
571
 
572
#if YYDEBUG
573
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
574
   YYRHS.  */
575
static const unsigned short int yyprhs[] =
576
{
577
       0,     0,     3,     5,     7,     9,    11,    13,    15,    17,
578
      19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
579
      40,    43,    45,    47,    49,    53,    55,    56,    58,    60,
580
      62,    65,    68,    71,    75,    77,    80,    82,    85,    89,
581
      91,    93,    97,   103,   105,   107,   109,   111,   114,   115,
582
     123,   124,   131,   132,   135,   136,   139,   141,   145,   148,
583
     152,   154,   157,   159,   161,   163,   165,   167,   169,   171,
584
     173,   175,   179,   184,   186,   190,   192,   196,   198,   202,
585
     204,   206,   207,   211,   215,   219,   224,   229,   233,   238,
586
     242,   244,   248,   251,   255,   256,   259,   261,   265,   267,
587
     269,   272,   274,   278,   283,   288,   294,   298,   303,   306,
588
     310,   314,   319,   324,   330,   338,   345,   347,   349,   350,
589
     355,   356,   362,   363,   369,   370,   377,   380,   384,   387,
590
     391,   393,   396,   398,   400,   402,   404,   406,   408,   411,
591
     414,   418,   422,   427,   429,   433,   436,   440,   442,   445,
592
     447,   449,   451,   454,   457,   461,   463,   465,   467,   469,
593
     471,   473,   475,   477,   479,   481,   483,   485,   487,   489,
594
     491,   493,   495,   497,   499,   501,   503,   505,   507,   509,
595
     512,   515,   518,   521,   523,   525,   527,   529,   531,   533,
596
     535,   541,   549,   557,   563,   566,   570,   574,   579,   581,
597
     584,   587,   589,   592,   596,   599,   604,   607,   610,   612,
598
     620,   628,   635,   643,   650,   653,   656,   657,   659,   661,
599
     662,   664,   666,   670,   673,   677,   680,   684,   687,   691,
600
     695,   701,   705,   708,   712,   718,   724,   726,   730,   734,
601
     739,   741,   744,   750,   753,   755,   757,   759,   761,   765,
602
     767,   769,   771,   773,   775,   779,   783,   787,   791,   795,
603
     801,   806,   808,   813,   819,   825,   832,   833,   840,   841,
604
     849,   853,   857,   859,   863,   867,   871,   875,   880,   885,
605
     890,   895,   897,   900,   904,   907,   911,   915,   919,   923,
606
     928,   934,   941,   947,   954,   959,   964,   966,   968,   970,
607
     972,   975,   978,   980,   982,   985,   988,   990,   993,   996,
608
     998,  1001,  1004,  1006,  1012,  1017,  1022,  1028,  1030,  1034,
609
    1038,  1042,  1044,  1048,  1052,  1054,  1058,  1062,  1066,  1068,
610
    1072,  1076,  1080,  1084,  1088,  1090,  1094,  1098,  1100,  1104,
611
    1106,  1110,  1112,  1116,  1118,  1122,  1124,  1128,  1130,  1136,
612
    1138,  1140,  1144,  1146,  1148,  1150,  1152,  1154,  1156
613
};
614
 
615
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
616
static const short int yyrhs[] =
617
{
618
     113,     0,    -1,   126,    -1,   106,    -1,   107,    -1,   110,
619
      -1,   105,    -1,   104,    -1,   111,    -1,   116,    -1,   117,
620
      -1,    84,    -1,    87,    -1,    51,    -1,   118,    -1,   121,
621
      -1,   122,    -1,   118,    -1,   118,    -1,   116,   237,    -1,
622
     122,   237,    -1,   123,    -1,   124,    -1,   125,    -1,   122,
623
     103,   125,    -1,    88,    -1,    -1,   129,    -1,   127,    -1,
624
     128,    -1,   129,   127,    -1,   129,   128,    -1,   127,   128,
625
      -1,   129,   127,   128,    -1,   130,    -1,   127,   130,    -1,
626
     133,    -1,   128,   133,    -1,    76,   122,   101,    -1,   131,
627
      -1,   132,    -1,    56,   122,   101,    -1,    56,   122,   103,
628
       5,   101,    -1,   135,    -1,   166,    -1,   187,    -1,    44,
629
      -1,   134,    44,    -1,    -1,   134,    68,   125,   138,   139,
630
     136,   141,    -1,    -1,    68,   125,   138,   139,   137,   141,
631
      -1,    -1,    64,   119,    -1,    -1,    53,   140,    -1,   120,
632
      -1,   140,   102,   120,    -1,    97,    98,    -1,    97,   142,
633
      98,    -1,   143,    -1,   142,   143,    -1,   144,    -1,   159,
634
      -1,   161,    -1,   179,    -1,   145,    -1,   150,    -1,   135,
635
      -1,   166,    -1,   187,    -1,   115,   146,   101,    -1,   134,
636
     115,   146,   101,    -1,   147,    -1,   146,   102,   147,    -1,
637
     148,    -1,   148,    94,   149,    -1,   125,    -1,   148,    99,
638
     100,    -1,   264,    -1,   177,    -1,    -1,   152,   151,   158,
639
      -1,   115,   153,   156,    -1,    60,   153,   156,    -1,   134,
640
     115,   153,   156,    -1,   134,    60,   153,   156,    -1,   125,
641
      95,    96,    -1,   125,    95,   154,    96,    -1,   153,    99,
642
     100,    -1,   155,    -1,   154,   102,   155,    -1,   115,   148,
643
      -1,   134,   115,   148,    -1,    -1,    54,   157,    -1,   119,
644
      -1,   157,   102,   119,    -1,   179,    -1,   101,    -1,   160,
645
     179,    -1,    44,    -1,   162,   156,   163,    -1,   134,   162,
646
     156,   163,    -1,   162,   156,   163,   101,    -1,   134,   162,
647
     156,   163,   101,    -1,   123,    95,    96,    -1,   123,    95,
648
     154,    96,    -1,    97,    98,    -1,    97,   164,    98,    -1,
649
      97,   180,    98,    -1,    97,   164,   180,    98,    -1,   165,
650
      95,    96,   101,    -1,   165,    95,   233,    96,   101,    -1,
651
     122,   103,    66,    95,   233,    96,   101,    -1,   122,   103,
652
      66,    95,    96,   101,    -1,    77,    -1,    66,    -1,    -1,
653
      62,   125,   167,   172,    -1,    -1,   134,    62,   125,   168,
654
     172,    -1,    -1,    62,   125,   171,   169,   172,    -1,    -1,
655
     134,    62,   125,   171,   170,   172,    -1,    64,   120,    -1,
656
     171,   102,   120,    -1,    97,    98,    -1,    97,   173,    98,
657
      -1,   174,    -1,   173,   174,    -1,   175,    -1,   176,    -1,
658
     135,    -1,   166,    -1,   187,    -1,   145,    -1,   152,   101,
659
      -1,    97,    98,    -1,    97,   178,    98,    -1,    97,   102,
660
      98,    -1,    97,   178,   102,    98,    -1,   149,    -1,   178,
661
     102,   149,    -1,    97,    98,    -1,    97,   180,    98,    -1,
662
     181,    -1,   180,   181,    -1,   182,    -1,   184,    -1,   135,
663
      -1,   183,   101,    -1,   115,   146,    -1,   134,   115,   146,
664
      -1,   186,    -1,   189,    -1,   193,    -1,   194,    -1,   203,
665
      -1,   207,    -1,   186,    -1,   190,    -1,   195,    -1,   204,
666
      -1,   208,    -1,   179,    -1,   187,    -1,   191,    -1,   196,
667
      -1,   206,    -1,   214,    -1,   215,    -1,   216,    -1,   219,
668
      -1,   217,    -1,   221,    -1,   218,    -1,   101,    -1,   125,
669
      90,    -1,   188,   184,    -1,   188,   185,    -1,   192,   101,
670
      -1,   261,    -1,   245,    -1,   246,    -1,   242,    -1,   243,
671
      -1,   239,    -1,   228,    -1,    49,    95,   264,    96,   184,
672
      -1,    49,    95,   264,    96,   185,    57,   184,    -1,    49,
673
      95,   264,    96,   185,    57,   185,    -1,    69,    95,   264,
674
      96,   197,    -1,    97,    98,    -1,    97,   200,    98,    -1,
675
      97,   198,    98,    -1,    97,   198,   200,    98,    -1,   199,
676
      -1,   198,   199,    -1,   200,   180,    -1,   201,    -1,   200,
677
     201,    -1,    63,   265,    90,    -1,    48,    90,    -1,    67,
678
      95,   264,    96,    -1,   202,   184,    -1,   202,   185,    -1,
679
      52,    -1,   205,   184,    67,    95,   264,    96,   101,    -1,
680
     210,   101,   264,   101,   212,    96,   184,    -1,   210,   101,
681
     101,   212,    96,   184,    -1,   210,   101,   264,   101,   212,
682
      96,   185,    -1,   210,   101,   101,   212,    96,   185,    -1,
683
      72,    95,    -1,   209,   211,    -1,    -1,   213,    -1,   183,
684
      -1,    -1,   213,    -1,   192,    -1,   213,   102,   192,    -1,
685
      55,   101,    -1,    55,   125,   101,    -1,    74,   101,    -1,
686
      74,   125,   101,    -1,    59,   101,    -1,    59,   264,   101,
687
      -1,    50,   264,   101,    -1,    78,   264,    90,   264,   101,
688
      -1,    78,   264,   101,    -1,    78,     1,    -1,    78,   264,
689
       1,    -1,   220,    95,   264,    96,   179,    -1,   220,    95,
690
     264,    96,     1,    -1,    44,    -1,    71,   179,   222,    -1,
691
      71,   179,   224,    -1,    71,   179,   222,   224,    -1,   223,
692
      -1,   222,   223,    -1,    61,    95,   155,    96,   179,    -1,
693
      65,   179,    -1,   226,    -1,   234,    -1,   114,    -1,    77,
694
      -1,    95,   264,    96,    -1,   228,    -1,   238,    -1,   239,
695
      -1,   240,    -1,   227,    -1,   122,   103,    77,    -1,   122,
696
     103,    68,    -1,   121,   103,    68,    -1,   116,   103,    68,
697
      -1,    60,   103,    68,    -1,    73,   119,    95,   233,    96,
698
      -1,    73,   119,    95,    96,    -1,   229,    -1,   232,   125,
699
      95,    96,    -1,   232,   125,    95,    96,   141,    -1,   232,
700
     125,    95,   233,    96,    -1,   232,   125,    95,   233,    96,
701
     141,    -1,    -1,    73,   119,    95,    96,   230,   141,    -1,
702
      -1,    73,   119,    95,   233,    96,   231,   141,    -1,   122,
703
     103,    73,    -1,   225,   103,    73,    -1,   264,    -1,   233,
704
     102,   264,    -1,   233,   102,     1,    -1,    73,   116,   235,
705
      -1,    73,   118,   235,    -1,    73,   116,   235,   237,    -1,
706
      73,   118,   235,   237,    -1,    73,   118,   237,   177,    -1,
707
      73,   116,   237,   177,    -1,   236,    -1,   235,   236,    -1,
708
      99,   264,   100,    -1,    99,   100,    -1,   237,    99,   100,
709
      -1,   225,   103,   125,    -1,    66,   103,   125,    -1,   122,
710
      95,    96,    -1,   122,    95,   233,    96,    -1,   225,   103,
711
     125,    95,    96,    -1,   225,   103,   125,    95,   233,    96,
712
      -1,    66,   103,   125,    95,    96,    -1,    66,   103,   125,
713
      95,   233,    96,    -1,   122,    99,   264,   100,    -1,   226,
714
      99,   264,   100,    -1,   225,    -1,   122,    -1,   242,    -1,
715
     243,    -1,   241,    47,    -1,   241,    46,    -1,   245,    -1,
716
     246,    -1,     3,   244,    -1,     4,   244,    -1,   247,    -1,
717
      47,   244,    -1,    46,   244,    -1,   241,    -1,    91,   244,
718
      -1,    92,   244,    -1,   248,    -1,    95,   116,   237,    96,
719
     244,    -1,    95,   116,    96,   244,    -1,    95,   264,    96,
720
     247,    -1,    95,   122,   237,    96,   247,    -1,   244,    -1,
721
     249,     5,   244,    -1,   249,     6,   244,    -1,   249,     7,
722
     244,    -1,   249,    -1,   250,     3,   249,    -1,   250,     4,
723
     249,    -1,   250,    -1,   251,     8,   250,    -1,   251,     9,
724
     250,    -1,   251,    10,   250,    -1,   251,    -1,   252,    20,
725
     251,    -1,   252,    18,   251,    -1,   252,    21,   251,    -1,
726
     252,    19,   251,    -1,   252,    58,   117,    -1,   252,    -1,
727
     253,    16,   252,    -1,   253,    17,   252,    -1,   253,    -1,
728
     254,    11,   253,    -1,   254,    -1,   255,    12,   254,    -1,
729
     255,    -1,   256,    13,   255,    -1,   256,    -1,   257,    14,
730
     256,    -1,   257,    -1,   258,    15,   257,    -1,   258,    -1,
731
     258,    89,   264,    90,   259,    -1,   259,    -1,   261,    -1,
732
     262,   263,   260,    -1,   122,    -1,   238,    -1,   240,    -1,
733
      93,    -1,    94,    -1,   260,    -1,   264,    -1
734
};
735
 
736
/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
737
static const unsigned short int yyrline[] =
738
{
739
       0,   208,   208,   213,   214,   215,   216,   217,   218,   223,
740
     224,   228,   233,   238,   246,   247,   251,   255,   259,   263,
741
     268,   277,   278,   282,   286,   293,   297,   298,   299,   300,
742
     301,   302,   303,   304,   308,   309,   313,   314,   318,   323,
743
     324,   328,   332,   336,   337,   338,   345,   353,   366,   365,
744
     372,   371,   376,   377,   380,   381,   385,   387,   392,   394,
745
     399,   400,   404,   405,   406,   407,   411,   412,   413,   414,
746
     415,   420,   422,   428,   429,   433,   434,   438,   440,   445,
747
     446,   452,   451,   458,   460,   461,   463,   471,   477,   483,
748
     487,   488,   495,   510,   526,   527,   531,   533,   538,   539,
749
     544,   548,   558,   559,   562,   564,   571,   573,   578,   579,
750
     580,   581,   586,   587,   590,   592,   597,   598,   605,   604,
751
     608,   607,   611,   610,   614,   613,   619,   620,   624,   626,
752
     631,   632,   636,   637,   638,   639,   640,   644,   648,   653,
753
     654,   655,   656,   660,   661,   666,   667,   671,   672,   676,
754
     677,   678,   682,   686,   688,   693,   694,   695,   696,   697,
755
     698,   702,   703,   704,   705,   706,   710,   711,   712,   713,
756
     714,   715,   716,   717,   718,   719,   720,   721,   725,   729,
757
     734,   738,   744,   748,   749,   750,   751,   752,   753,   754,
758
     758,   762,   767,   772,   776,   777,   778,   779,   783,   784,
759
     788,   793,   794,   798,   799,   803,   807,   811,   815,   819,
760
     824,   825,   829,   830,   834,   838,   840,   841,   842,   845,
761
     846,   850,   851,   855,   856,   862,   863,   867,   868,   872,
762
     876,   877,   878,   880,   884,   885,   889,   894,   895,   896,
763
     900,   901,   905,   909,   914,   915,   919,   920,   921,   922,
764
     923,   924,   925,   926,   930,   935,   937,   939,   941,   946,
765
     947,   948,   949,   950,   951,   952,   957,   956,   960,   959,
766
     965,   967,   971,   972,   973,   977,   978,   979,   980,   983,
767
     984,   988,   989,   993,   997,   999,  1004,  1005,  1012,  1014,
768
    1016,  1017,  1018,  1019,  1023,  1025,  1029,  1030,  1032,  1033,
769
    1037,  1041,  1045,  1046,  1047,  1048,  1049,  1053,  1057,  1061,
770
    1062,  1063,  1064,  1068,  1069,  1070,  1071,  1075,  1076,  1077,
771
    1078,  1082,  1083,  1084,  1088,  1089,  1090,  1091,  1095,  1096,
772
    1097,  1098,  1099,  1100,  1104,  1105,  1106,  1110,  1111,  1115,
773
    1116,  1120,  1121,  1125,  1126,  1131,  1132,  1137,  1138,  1143,
774
    1144,  1148,  1152,  1154,  1155,  1159,  1160,  1164,  1168
775
};
776
#endif
777
 
778
#if YYDEBUG || YYERROR_VERBOSE
779
/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
780
   First, the terminals, then, starting at YYNTOKENS, nonterminals. */
781
static const char *const yytname[] =
782
{
783
  "$end", "error", "$undefined", "PLUS_TK", "MINUS_TK", "MULT_TK",
784
  "DIV_TK", "REM_TK", "LS_TK", "SRS_TK", "ZRS_TK", "AND_TK", "XOR_TK",
785
  "OR_TK", "BOOL_AND_TK", "BOOL_OR_TK", "EQ_TK", "NEQ_TK", "GT_TK",
786
  "GTE_TK", "LT_TK", "LTE_TK", "PLUS_ASSIGN_TK", "MINUS_ASSIGN_TK",
787
  "MULT_ASSIGN_TK", "DIV_ASSIGN_TK", "REM_ASSIGN_TK", "LS_ASSIGN_TK",
788
  "SRS_ASSIGN_TK", "ZRS_ASSIGN_TK", "AND_ASSIGN_TK", "XOR_ASSIGN_TK",
789
  "OR_ASSIGN_TK", "PUBLIC_TK", "PRIVATE_TK", "PROTECTED_TK", "STATIC_TK",
790
  "FINAL_TK", "SYNCHRONIZED_TK", "VOLATILE_TK", "TRANSIENT_TK",
791
  "NATIVE_TK", "PAD_TK", "ABSTRACT_TK", "MODIFIER_TK", "STRICT_TK",
792
  "DECR_TK", "INCR_TK", "DEFAULT_TK", "IF_TK", "THROW_TK", "BOOLEAN_TK",
793
  "DO_TK", "IMPLEMENTS_TK", "THROWS_TK", "BREAK_TK", "IMPORT_TK",
794
  "ELSE_TK", "INSTANCEOF_TK", "RETURN_TK", "VOID_TK", "CATCH_TK",
795
  "INTERFACE_TK", "CASE_TK", "EXTENDS_TK", "FINALLY_TK", "SUPER_TK",
796
  "WHILE_TK", "CLASS_TK", "SWITCH_TK", "CONST_TK", "TRY_TK", "FOR_TK",
797
  "NEW_TK", "CONTINUE_TK", "GOTO_TK", "PACKAGE_TK", "THIS_TK", "ASSERT_TK",
798
  "BYTE_TK", "SHORT_TK", "INT_TK", "LONG_TK", "CHAR_TK", "INTEGRAL_TK",
799
  "FLOAT_TK", "DOUBLE_TK", "FP_TK", "ID_TK", "REL_QM_TK", "REL_CL_TK",
800
  "NOT_TK", "NEG_TK", "ASSIGN_ANY_TK", "ASSIGN_TK", "OP_TK", "CP_TK",
801
  "OCB_TK", "CCB_TK", "OSB_TK", "CSB_TK", "SC_TK", "C_TK", "DOT_TK",
802
  "STRING_LIT_TK", "CHAR_LIT_TK", "INT_LIT_TK", "FP_LIT_TK", "TRUE_TK",
803
  "FALSE_TK", "BOOL_LIT_TK", "NULL_TK", "$accept", "goal", "literal",
804
  "type", "primitive_type", "reference_type", "class_or_interface_type",
805
  "class_type", "interface_type", "array_type", "name", "simple_name",
806
  "qualified_name", "identifier", "compilation_unit",
807
  "import_declarations", "type_declarations", "package_declaration",
808
  "import_declaration", "single_type_import_declaration",
809
  "type_import_on_demand_declaration", "type_declaration", "modifiers",
810
  "class_declaration", "@1", "@2", "super", "interfaces",
811
  "interface_type_list", "class_body", "class_body_declarations",
812
  "class_body_declaration", "class_member_declaration",
813
  "field_declaration", "variable_declarators", "variable_declarator",
814
  "variable_declarator_id", "variable_initializer", "method_declaration",
815
  "@3", "method_header", "method_declarator", "formal_parameter_list",
816
  "formal_parameter", "throws", "class_type_list", "method_body",
817
  "static_initializer", "static", "constructor_declaration",
818
  "constructor_declarator", "constructor_body",
819
  "explicit_constructor_invocation", "this_or_super",
820
  "interface_declaration", "@4", "@5", "@6", "@7", "extends_interfaces",
821
  "interface_body", "interface_member_declarations",
822
  "interface_member_declaration", "constant_declaration",
823
  "abstract_method_declaration", "array_initializer",
824
  "variable_initializers", "block", "block_statements", "block_statement",
825
  "local_variable_declaration_statement", "local_variable_declaration",
826
  "statement", "statement_nsi", "statement_without_trailing_substatement",
827
  "empty_statement", "label_decl", "labeled_statement",
828
  "labeled_statement_nsi", "expression_statement", "statement_expression",
829
  "if_then_statement", "if_then_else_statement",
830
  "if_then_else_statement_nsi", "switch_statement", "switch_block",
831
  "switch_block_statement_groups", "switch_block_statement_group",
832
  "switch_labels", "switch_label", "while_expression", "while_statement",
833
  "while_statement_nsi", "do_statement_begin", "do_statement",
834
  "for_statement", "for_statement_nsi", "for_header", "for_begin",
835
  "for_init", "for_update", "statement_expression_list", "break_statement",
836
  "continue_statement", "return_statement", "throw_statement",
837
  "assert_statement", "synchronized_statement", "synchronized",
838
  "try_statement", "catches", "catch_clause", "finally", "primary",
839
  "primary_no_new_array", "type_literals",
840
  "class_instance_creation_expression", "anonymous_class_creation", "@8",
841
  "@9", "something_dot_new", "argument_list", "array_creation_expression",
842
  "dim_exprs", "dim_expr", "dims", "field_access", "method_invocation",
843
  "array_access", "postfix_expression", "post_increment_expression",
844
  "post_decrement_expression", "unary_expression",
845
  "pre_increment_expression", "pre_decrement_expression",
846
  "unary_expression_not_plus_minus", "cast_expression",
847
  "multiplicative_expression", "additive_expression", "shift_expression",
848
  "relational_expression", "equality_expression", "and_expression",
849
  "exclusive_or_expression", "inclusive_or_expression",
850
  "conditional_and_expression", "conditional_or_expression",
851
  "conditional_expression", "assignment_expression", "assignment",
852
  "left_hand_side", "assignment_operator", "expression",
853
  "constant_expression", 0
854
};
855
#endif
856
 
857
# ifdef YYPRINT
858
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
859
   token YYLEX-NUM.  */
860
static const unsigned short int yytoknum[] =
861
{
862
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
863
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
864
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
865
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
866
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
867
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
868
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
869
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
870
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
871
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
872
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
873
     365,   366
874
};
875
# endif
876
 
877
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
878
static const unsigned short int yyr1[] =
879
{
880
       0,   112,   113,   114,   114,   114,   114,   114,   114,   115,
881
     115,   116,   116,   116,   117,   117,   118,   119,   120,   121,
882
     121,   122,   122,   123,   124,   125,   126,   126,   126,   126,
883
     126,   126,   126,   126,   127,   127,   128,   128,   129,   130,
884
     130,   131,   132,   133,   133,   133,   134,   134,   136,   135,
885
     137,   135,   138,   138,   139,   139,   140,   140,   141,   141,
886
     142,   142,   143,   143,   143,   143,   144,   144,   144,   144,
887
     144,   145,   145,   146,   146,   147,   147,   148,   148,   149,
888
     149,   151,   150,   152,   152,   152,   152,   153,   153,   153,
889
     154,   154,   155,   155,   156,   156,   157,   157,   158,   158,
890
     159,   160,   161,   161,   161,   161,   162,   162,   163,   163,
891
     163,   163,   164,   164,   164,   164,   165,   165,   167,   166,
892
     168,   166,   169,   166,   170,   166,   171,   171,   172,   172,
893
     173,   173,   174,   174,   174,   174,   174,   175,   176,   177,
894
     177,   177,   177,   178,   178,   179,   179,   180,   180,   181,
895
     181,   181,   182,   183,   183,   184,   184,   184,   184,   184,
896
     184,   185,   185,   185,   185,   185,   186,   186,   186,   186,
897
     186,   186,   186,   186,   186,   186,   186,   186,   187,   188,
898
     189,   190,   191,   192,   192,   192,   192,   192,   192,   192,
899
     193,   194,   195,   196,   197,   197,   197,   197,   198,   198,
900
     199,   200,   200,   201,   201,   202,   203,   204,   205,   206,
901
     207,   207,   208,   208,   209,   210,   211,   211,   211,   212,
902
     212,   213,   213,   214,   214,   215,   215,   216,   216,   217,
903
     218,   218,   218,   218,   219,   219,   220,   221,   221,   221,
904
     222,   222,   223,   224,   225,   225,   226,   226,   226,   226,
905
     226,   226,   226,   226,   226,   227,   227,   227,   227,   228,
906
     228,   228,   228,   228,   228,   228,   230,   229,   231,   229,
907
     232,   232,   233,   233,   233,   234,   234,   234,   234,   234,
908
     234,   235,   235,   236,   237,   237,   238,   238,   239,   239,
909
     239,   239,   239,   239,   240,   240,   241,   241,   241,   241,
910
     242,   243,   244,   244,   244,   244,   244,   245,   246,   247,
911
     247,   247,   247,   248,   248,   248,   248,   249,   249,   249,
912
     249,   250,   250,   250,   251,   251,   251,   251,   252,   252,
913
     252,   252,   252,   252,   253,   253,   253,   254,   254,   255,
914
     255,   256,   256,   257,   257,   258,   258,   259,   259,   260,
915
     260,   261,   262,   262,   262,   263,   263,   264,   265
916
};
917
 
918
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
919
static const unsigned char yyr2[] =
920
{
921
       0,     2,     1,     1,     1,     1,     1,     1,     1,     1,
922
       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
923
       2,     1,     1,     1,     3,     1,     0,     1,     1,     1,
924
       2,     2,     2,     3,     1,     2,     1,     2,     3,     1,
925
       1,     3,     5,     1,     1,     1,     1,     2,     0,     7,
926
       0,     6,     0,     2,     0,     2,     1,     3,     2,     3,
927
       1,     2,     1,     1,     1,     1,     1,     1,     1,     1,
928
       1,     3,     4,     1,     3,     1,     3,     1,     3,     1,
929
       1,     0,     3,     3,     3,     4,     4,     3,     4,     3,
930
       1,     3,     2,     3,     0,     2,     1,     3,     1,     1,
931
       2,     1,     3,     4,     4,     5,     3,     4,     2,     3,
932
       3,     4,     4,     5,     7,     6,     1,     1,     0,     4,
933
       0,     5,     0,     5,     0,     6,     2,     3,     2,     3,
934
       1,     2,     1,     1,     1,     1,     1,     1,     2,     2,
935
       3,     3,     4,     1,     3,     2,     3,     1,     2,     1,
936
       1,     1,     2,     2,     3,     1,     1,     1,     1,     1,
937
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
938
       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
939
       2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
940
       5,     7,     7,     5,     2,     3,     3,     4,     1,     2,
941
       2,     1,     2,     3,     2,     4,     2,     2,     1,     7,
942
       7,     6,     7,     6,     2,     2,     0,     1,     1,     0,
943
       1,     1,     3,     2,     3,     2,     3,     2,     3,     3,
944
       5,     3,     2,     3,     5,     5,     1,     3,     3,     4,
945
       1,     2,     5,     2,     1,     1,     1,     1,     3,     1,
946
       1,     1,     1,     1,     3,     3,     3,     3,     3,     5,
947
       4,     1,     4,     5,     5,     6,     0,     6,     0,     7,
948
       3,     3,     1,     3,     3,     3,     3,     4,     4,     4,
949
       4,     1,     2,     3,     2,     3,     3,     3,     3,     4,
950
       5,     6,     5,     6,     4,     4,     1,     1,     1,     1,
951
       2,     2,     1,     1,     2,     2,     1,     2,     2,     1,
952
       2,     2,     1,     5,     4,     4,     5,     1,     3,     3,
953
       3,     1,     3,     3,     1,     3,     3,     3,     1,     3,
954
       3,     3,     3,     3,     1,     3,     3,     1,     3,     1,
955
       3,     1,     3,     1,     3,     1,     3,     1,     5,     1,
956
       1,     3,     1,     1,     1,     1,     1,     1,     1
957
};
958
 
959
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
960
   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
961
   means the default is an error.  */
962
static const unsigned short int yydefact[] =
963
{
964
      26,    46,     0,     0,     0,     0,   178,     0,     2,    28,
965
      29,    27,    34,    39,    40,    36,     0,    43,    44,    45,
966
      25,     0,    21,    22,    23,   118,    52,     0,     1,    32,
967
      35,    37,    30,    31,    47,     0,     0,    41,     0,     0,
968
       0,   122,     0,    54,    38,     0,    33,   120,    52,     0,
969
      24,    18,   126,    16,     0,   119,     0,     0,    17,    53,
970
       0,    50,     0,   124,    54,    42,    13,     0,    11,    12,
971
     128,     0,     9,    10,    14,    15,    16,     0,   134,   137,
972
       0,   135,     0,   130,   132,   133,   136,   127,   123,    56,
973
      55,     0,   121,     0,    48,     0,    94,    77,     0,    73,
974
      75,    94,     0,    19,    20,     0,     0,   138,   129,   131,
975
       0,     0,    51,   125,     0,     0,     0,     0,    84,    71,
976
       0,     0,     0,    83,   284,     0,    94,     0,    94,    57,
977
      46,     0,    58,    21,     0,    68,     0,    60,    62,    66,
978
      67,    81,    63,     0,    64,    94,    69,    65,    70,    49,
979
      87,     0,     0,     0,    90,    96,    95,    89,    77,    74,
980
       0,     0,     0,     0,     0,     0,     0,   247,     0,     0,
981
       0,     0,     7,     6,     3,     4,     5,     8,   246,     0,
982
       0,   297,    76,    80,   296,   244,   253,   249,   261,     0,
983
     245,   250,   251,   252,   309,   298,   299,   317,   302,   303,
984
     306,   312,   321,   324,   328,   334,   337,   339,   341,   343,
985
     345,   347,   349,   357,   350,     0,    79,    78,   285,    86,
986
      72,    85,    46,     0,     0,   208,     0,     0,     0,     0,
987
       0,     0,     0,     0,     0,   145,     0,     9,    15,   297,
988
      23,     0,   151,   166,     0,   147,   149,     0,   150,   155,
989
     167,     0,   156,   168,     0,   157,   158,   169,     0,   159,
990
       0,   170,   160,   216,     0,   171,   172,   173,   175,   177,
991
     174,     0,   176,   249,   251,     0,   186,   187,   184,   185,
992
     183,     0,    94,    59,    61,     0,   100,     0,    92,     0,
993
      88,     0,     0,   297,   250,   252,   304,   305,   308,   307,
994
       0,     0,     0,    17,     0,   310,   311,     0,   297,     0,
995
     139,     0,   143,     0,     0,     0,     0,     0,     0,     0,
996
       0,     0,   301,   300,     0,     0,     0,     0,     0,     0,
997
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
998
       0,     0,     0,     0,     0,   355,   356,     0,     0,     0,
999
     223,     0,   227,     0,     0,     0,     0,   214,   225,     0,
1000
     232,     0,     0,   153,   179,     0,   146,   148,   152,   236,
1001
     180,   182,   206,     0,     0,   218,   221,   215,   217,     0,
1002
       0,   106,     0,     0,    99,    82,    98,     0,   102,    93,
1003
      91,    97,   258,   287,     0,   275,   281,     0,   276,     0,
1004
       0,     0,    19,    20,   248,   141,   140,     0,   257,   256,
1005
     288,     0,   272,     0,   255,   270,   254,   271,   286,     0,
1006
       0,   318,   319,   320,   322,   323,   325,   326,   327,   330,
1007
     332,   329,   331,     0,   333,   335,   336,   338,   340,   342,
1008
     344,   346,     0,   351,     0,   229,   224,   228,     0,     0,
1009
       0,     0,   237,   240,   238,   226,   233,     0,   231,   248,
1010
     154,     0,     0,   219,     0,     0,   107,   103,   117,   247,
1011
     108,   297,     0,     0,     0,   104,     0,     0,   282,   277,
1012
     280,   278,   279,   260,     0,   314,     0,     0,   315,   142,
1013
     144,   289,     0,   294,     0,   295,   262,     0,     0,     0,
1014
     205,     0,     0,   243,   241,   239,     0,     0,   222,     0,
1015
     220,   219,     0,   105,     0,   109,     0,     0,   110,   292,
1016
       0,   283,     0,   259,   313,   316,   274,   273,   290,     0,
1017
     263,   264,   348,     0,   190,     0,   155,     0,   162,   163,
1018
       0,   164,   165,     0,     0,   193,     0,   230,     0,     0,
1019
       0,   235,   234,     0,   111,     0,     0,   293,   267,     0,
1020
     291,   265,     0,     0,   181,   207,     0,     0,     0,   194,
1021
       0,   198,     0,   201,     0,     0,   211,     0,     0,   112,
1022
       0,   269,     0,   191,   219,     0,   204,   358,     0,   196,
1023
     199,     0,   195,   200,   202,   242,   209,   210,     0,     0,
1024
     113,     0,     0,   219,   203,   197,   115,     0,     0,     0,
1025
       0,   114,     0,   213,     0,   192,   212
1026
};
1027
 
1028
/* YYDEFGOTO[NTERM-NUM]. */
1029
static const short int yydefgoto[] =
1030
{
1031
      -1,     7,   178,   236,   179,    73,    74,    59,    52,   180,
1032
     181,    22,    23,    24,     8,     9,    10,    11,    12,    13,
1033
      14,    15,   241,   242,   114,    91,    43,    61,    90,   112,
1034
     136,   137,   138,    79,    98,    99,   100,   182,   140,   285,
1035
      80,    96,   153,   154,   118,   156,   385,   142,   143,   144,
1036
     145,   388,   472,   473,    18,    40,    62,    57,    93,    41,
1037
      55,    82,    83,    84,    85,   183,   313,   243,   593,   245,
1038
     246,   247,   248,   535,   249,   250,   251,   252,   538,   253,
1039
     254,   255,   256,   539,   257,   545,   570,   571,   572,   573,
1040
     258,   259,   541,   260,   261,   262,   542,   263,   264,   377,
1041
     509,   510,   265,   266,   267,   268,   269,   270,   271,   272,
1042
     452,   453,   454,   184,   185,   186,   187,   188,   522,   559,
1043
     189,   411,   190,   395,   396,   104,   191,   192,   193,   194,
1044
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1045
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1046
     215,   347,   412,   588
1047
};
1048
 
1049
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1050
   STATE-NUM.  */
1051
#define YYPACT_NINF -513
1052
static const short int yypact[] =
1053
{
1054
     280,  -513,   -68,   -68,   -68,   -68,  -513,    27,  -513,   108,
1055
     105,   108,  -513,  -513,  -513,  -513,   112,  -513,  -513,  -513,
1056
    -513,   -54,  -513,  -513,  -513,    13,    45,   115,  -513,   105,
1057
    -513,  -513,   108,   105,  -513,   -68,   -68,  -513,     5,   -68,
1058
      42,    18,   -68,    72,  -513,   -68,   105,    13,    45,   165,
1059
    -513,  -513,  -513,   148,   346,  -513,   -68,    42,  -513,  -513,
1060
     -68,  -513,    42,    18,    72,  -513,  -513,   -68,  -513,  -513,
1061
    -513,   -68,   169,  -513,  -513,  -513,    66,   624,  -513,  -513,
1062
     186,  -513,   457,  -513,  -513,  -513,  -513,  -513,  -513,  -513,
1063
     179,   206,  -513,    42,  -513,   235,   -28,   235,   -64,  -513,
1064
     121,   -28,   205,   269,   269,   -68,   -68,  -513,  -513,  -513,
1065
     -68,   295,  -513,  -513,   206,   147,   -68,   303,  -513,  -513,
1066
     -68,  1758,   327,  -513,  -513,   329,   -28,   136,   -28,  -513,
1067
     304,  2670,  -513,   321,   624,  -513,   402,  -513,  -513,  -513,
1068
    -513,  -513,  -513,   339,  -513,   385,  -513,  -513,  -513,  -513,
1069
    -513,   -68,   323,    17,  -513,  -513,   340,  -513,  -513,  -513,
1070
    2466,  2466,  2466,  2466,   342,   345,   185,  -513,  2466,  2466,
1071
    2466,  1626,  -513,  -513,  -513,  -513,  -513,  -513,  -513,    78,
1072
     353,   399,  -513,  -513,   360,   369,  -513,  -513,  -513,   -68,
1073
    -513,   445,  -513,   455,   414,  -513,  -513,  -513,  -513,  -513,
1074
    -513,  -513,   316,   512,   351,   259,   549,   474,   462,   475,
1075
     477,    16,  -513,  -513,  -513,   490,  -513,  -513,  -513,  -513,
1076
    -513,  -513,   400,   409,  2466,  -513,    99,  1810,   417,   427,
1077
     339,   434,   109,  1460,  2466,  -513,   -68,    78,   353,   469,
1078
     407,   463,  -513,  -513,  2738,  -513,  -513,   435,  -513,  -513,
1079
    -513,  3146,  -513,  -513,   439,  -513,  -513,  -513,  3146,  -513,
1080
    3146,  -513,  -513,  1312,   442,  -513,  -513,  -513,  -513,  -513,
1081
    -513,   458,  -513,   174,   268,   414,   547,   550,  -513,  -513,
1082
    -513,   436,   385,  -513,  -513,   301,  -513,   464,   460,   -68,
1083
    -513,   422,   -68,   150,  -513,  -513,  -513,  -513,  -513,  -513,
1084
     505,   -68,   476,   476,   484,  -513,  -513,   -16,   399,   491,
1085
    -513,   493,  -513,   311,   521,   527,  1876,  1928,   220,   117,
1086
    2466,   507,  -513,  -513,  2466,  2466,  2466,  2466,  2466,  2466,
1087
    2466,  2466,  2466,  2466,  2466,  2466,   185,  2466,  2466,  2466,
1088
    2466,  2466,  2466,  2466,  2466,  -513,  -513,  2466,  2466,   499,
1089
    -513,   509,  -513,   511,  2466,  2466,   367,  -513,  -513,   535,
1090
    -513,    10,   541,   536,  -513,   -68,  -513,  -513,  -513,  -513,
1091
    -513,  -513,  -513,   577,   323,  -513,  -513,  -513,   543,  1994,
1092
    2466,  -513,    40,   464,  -513,  -513,  -513,  2806,   545,   460,
1093
    -513,  -513,  -513,   554,  1928,   476,  -513,   159,   476,   159,
1094
    2046,  2466,   196,   239,  3282,  -513,  -513,  1692,  -513,  -513,
1095
    -513,   200,  -513,   551,  -513,  -513,  -513,  -513,   555,   553,
1096
    2112,  -513,  -513,  -513,   316,   316,   512,   512,   512,   351,
1097
     351,   351,   351,   169,  -513,   259,   259,   549,   474,   462,
1098
     475,   477,   566,  -513,   564,  -513,  -513,  -513,   565,   568,
1099
     570,   339,   367,  -513,  -513,  -513,  -513,  2466,  -513,  -513,
1100
     536,   571,  3257,  3257,   569,   582,  -513,   572,   345,   587,
1101
    -513,   483,  2874,   588,  2942,  -513,  2164,   567,  -513,   269,
1102
    -513,   269,  -513,   575,   210,  -513,  2466,  3282,  -513,  -513,
1103
    -513,  -513,  1559,  -513,  2230,  -513,   206,   223,  2466,  3214,
1104
    -513,   591,   422,  -513,  -513,  -513,   584,  2466,  -513,   593,
1105
     543,  3257,     7,  -513,   241,  -513,  3010,  2282,  -513,  -513,
1106
     230,  -513,   206,   598,  -513,  -513,  -513,  -513,  -513,   238,
1107
    -513,   206,  -513,   602,  -513,   641,   642,  3214,  -513,  -513,
1108
    3214,  -513,  -513,   599,    33,  -513,   605,  -513,   608,  3146,
1109
     609,  -513,  -513,   611,  -513,   612,   251,  -513,  -513,   206,
1110
    -513,  -513,  2466,  3146,  -513,  -513,  2348,   619,  2466,  -513,
1111
      95,  -513,  2534,  -513,   339,   613,  -513,  3146,  2400,  -513,
1112
     614,  -513,   622,  -513,  3257,   618,  -513,  -513,   620,  -513,
1113
    -513,  2602,  -513,  3078,  -513,  -513,  -513,  -513,   625,   293,
1114
    -513,  3214,   627,  3257,  -513,  -513,  -513,   626,   664,  3214,
1115
     629,  -513,  3214,  -513,  3214,  -513,  -513
1116
};
1117
 
1118
/* YYPGOTO[NTERM-NUM].  */
1119
static const short int yypgoto[] =
1120
{
1121
    -513,  -513,  -513,   -20,   -37,   395,    28,  -103,   -35,   131,
1122
     289,   -13,  -513,    -3,  -513,   721,   151,  -513,    44,  -513,
1123
    -513,    26,    19,   648,  -513,  -513,   685,   670,  -513,  -105,
1124
    -513,   601,  -513,    15,  -101,   615,  -144,  -167,  -513,  -513,
1125
      30,    97,   459,  -285,   -87,  -513,  -513,  -513,  -513,  -513,
1126
     604,   356,  -513,  -513,    36,  -513,  -513,  -513,  -513,   694,
1127
      -1,  -513,   660,  -513,  -513,  -169,  -513,   -93,  -128,  -242,
1128
    -513,   481,  -236,  -362,  -455,   736,  -430,  -513,  -513,  -513,
1129
    -251,  -513,  -513,  -513,  -513,  -513,  -513,   178,   181,  -512,
1130
    -413,  -513,  -513,  -513,  -513,  -513,  -513,  -513,  -387,  -513,
1131
    -495,   486,  -513,  -513,  -513,  -513,  -513,  -513,  -513,  -513,
1132
    -513,   298,   302,  -513,  -513,  -513,   180,  -513,  -513,  -513,
1133
    -513,  -354,  -513,   450,    23,   -18,  1117,   341,  1141,   411,
1134
     556,   576,   315,   635,   734,  -381,  -513,   307,   197,    53,
1135
     270,   416,   418,   415,   420,   424,  -513,   262,   423,   789,
1136
    -513,  -513,  1033,  -513
1137
};
1138
 
1139
/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1140
   positive, shift that token.  If negative, reduce the rule which
1141
   number is the opposite.  If zero, do what YYDEFACT says.
1142
   If YYTABLE_NINF, syntax error.  */
1143
#define YYTABLE_NINF -355
1144
static const short int yytable[] =
1145
{
1146
      25,    26,   367,   244,   312,   127,   390,   288,   551,   149,
1147
      49,   456,   376,   155,   123,   370,   550,    72,   147,    16,
1148
      20,    87,   372,   488,   373,    89,   116,    28,    16,    16,
1149
      16,   343,    47,    48,    71,    50,    31,   119,   120,   219,
1150
      72,   221,    50,   147,   536,    72,   484,    37,    16,    38,
1151
     286,    16,    16,    30,   103,    31,    88,   106,   287,    31,
1152
     594,    92,    71,   304,    95,    16,   497,    51,    97,   537,
1153
      58,   117,    31,    77,    72,   129,    30,    39,    72,   594,
1154
     401,   567,   536,   102,    51,   536,   540,   314,    51,   602,
1155
      81,    71,   113,    20,   237,   151,   568,    72,   133,    72,
1156
     457,    77,    95,    97,   131,   344,   525,   537,   610,    42,
1157
     537,   458,   543,   290,   106,    72,    71,   158,    81,   291,
1158
      56,   133,   520,   133,   540,    60,   139,   540,   240,   302,
1159
     134,   569,   289,   307,   152,   363,   466,   356,    51,    54,
1160
     529,   141,   291,   567,    58,   389,   536,   146,   158,     1,
1161
     543,   139,     1,   543,   536,   134,    34,   536,   568,   536,
1162
      29,   103,    33,   556,     2,   102,   141,     3,   101,    45,
1163
       3,   537,   146,     4,    35,   564,     4,   102,   565,   537,
1164
      36,   314,   537,    46,   537,    75,   321,    20,   540,   391,
1165
     417,     1,   386,   589,   303,   383,   540,    20,    66,   540,
1166
     350,   540,   126,   128,    72,    20,     6,   237,    75,     6,
1167
     358,   508,   376,    75,   543,   121,    44,   546,    45,   103,
1168
     122,   365,   543,   351,   599,   543,   237,   543,   480,   359,
1169
     482,    68,   367,   158,    69,    20,    66,   220,   120,   608,
1170
     490,   240,    75,   150,    72,   316,    75,   613,   240,   317,
1171
     615,    45,   616,   318,    72,   240,   171,   240,   125,   474,
1172
     376,   151,   238,   534,   460,    75,    65,    75,   102,    68,
1173
    -189,   151,    69,    20,   367,  -189,  -189,   332,   333,   334,
1174
     335,   110,   374,    75,   397,   399,   158,   107,   414,   402,
1175
     403,    21,   486,   415,    27,   125,   491,   416,   393,   433,
1176
     152,   370,   492,   111,   372,   124,   523,   553,    20,   414,
1177
     152,   273,   492,   576,   415,    50,   418,   336,   416,   531,
1178
      58,   324,   325,   326,     1,   492,   557,   583,    53,    20,
1179
     115,    53,   492,   376,   560,   487,     2,    72,   125,   130,
1180
     492,   597,     3,    76,   516,    53,    66,   580,     4,    53,
1181
     237,   367,   376,   492,   365,    67,     5,     3,   503,   329,
1182
     330,   331,   158,     4,  -188,   534,    76,    34,   125,  -188,
1183
    -188,    76,    75,   576,    66,   238,   583,   479,   597,    68,
1184
     481,     6,    69,    20,   240,   429,   430,   431,   432,   607,
1185
       1,   530,   131,   132,   238,   492,     6,    66,   131,    53,
1186
      76,  -101,   384,   157,    76,    53,    67,    68,     3,   406,
1187
      69,    20,    75,   407,     4,   103,   281,   558,   478,   552,
1188
     239,   478,    75,    76,   273,    76,   561,   217,   450,   218,
1189
      68,   273,   451,    69,    20,   237,   131,   237,   273,   116,
1190
     273,    76,   292,   273,    70,   300,   130,     6,   301,   293,
1191
     293,   293,   293,    66,   581,    53,   315,   293,   293,   308,
1192
     322,   323,    67,   319,     3,    72,     1,    75,   320,   240,
1193
       4,   240,   274,    66,   340,   296,   297,   298,   299,   237,
1194
       1,   595,   151,   305,   306,   339,    68,    66,   341,    69,
1195
      20,   342,  -352,  -352,   316,  -236,   240,   364,   317,   131,
1196
     283,     1,   318,     6,   348,    75,    68,    34,    66,    69,
1197
      20,    50,   354,   240,    66,   327,   328,    67,   238,     3,
1198
      68,   152,   355,    69,    20,     4,   426,   427,   428,   357,
1199
      76,    36,   381,   239,   240,   237,   368,   240,  -353,  -353,
1200
     371,    68,   275,   379,    69,    20,   240,    68,  -354,  -354,
1201
      69,    20,   239,   380,   237,   108,   237,   -16,     6,   122,
1202
     240,   387,  -352,  -352,   316,   337,   338,   273,   317,   240,
1203
      76,   -16,   318,   392,   240,   394,  -352,  -352,   316,   400,
1204
      76,    53,   317,   345,   346,   274,   514,   404,   240,   408,
1205
     240,   405,   274,  -298,  -298,   409,  -299,  -299,   240,   274,
1206
     445,   274,   420,   238,   274,   238,   240,   435,   436,   240,
1207
     446,   240,   447,   293,   293,   293,   293,   293,   293,   293,
1208
     293,   293,   293,   293,   293,    76,   293,   293,   293,   293,
1209
     293,   293,   293,    75,   424,   425,   455,   459,   120,   421,
1210
     422,   423,   273,   273,   461,   462,   475,   238,    17,   476,
1211
     494,   493,   273,   495,   273,   275,   498,    17,    17,    17,
1212
     499,   500,   275,    76,   501,   502,   507,   521,    34,   275,
1213
     511,   275,  -266,   513,   275,    66,   471,    17,   512,   273,
1214
      17,    17,  -116,   517,   105,   547,    35,   276,   544,   549,
1215
     293,   273,    36,   293,    17,  -268,   273,   562,   563,  -161,
1216
     566,   574,    78,   238,   575,   577,   578,   277,    68,   586,
1217
     604,    69,    20,   579,   596,   600,   485,   273,   601,   603,
1218
     273,   612,   238,   609,   238,   614,   606,   611,   274,   273,
1219
      78,   434,    32,    64,    94,   159,    19,   284,   282,   467,
1220
     382,    63,   109,   273,   375,    19,    19,    19,   590,   378,
1221
     504,   591,   273,   398,   505,   437,   439,   273,   438,   135,
1222
     532,   239,   440,   239,   273,    19,   278,   441,    19,    19,
1223
     443,   273,     0,   273,     0,   293,   293,     0,     0,     0,
1224
       0,   273,    19,   273,   135,     0,     0,   293,     0,   273,
1225
      86,    76,   273,     0,   273,     0,     0,     0,   275,     0,
1226
     276,   524,     0,   274,   274,   239,     0,   276,     0,     0,
1227
       0,     0,     0,   274,   276,   274,   276,     0,    86,   276,
1228
     277,     0,     0,     0,     0,     0,     0,   277,     0,     0,
1229
       0,     0,     0,     0,   277,     0,   277,     0,     0,   277,
1230
     274,     0,     0,     0,     0,     0,     0,   148,     0,     0,
1231
       0,     0,   274,     0,     0,     0,     0,   274,     0,     0,
1232
       0,   239,     0,     0,     0,   279,     0,     0,     0,     0,
1233
       0,     0,   148,   275,   275,     0,     0,     0,   274,   278,
1234
     239,   274,   239,   275,     0,   275,   278,     0,     0,     0,
1235
     274,     0,     0,   278,     0,   278,     0,     0,   278,     0,
1236
       0,     0,     0,     0,   274,     0,     0,     0,     0,     0,
1237
     275,     0,     0,   274,     0,     0,     0,     0,   274,     0,
1238
     280,     0,   275,     0,     0,   274,     0,   275,     0,     0,
1239
       0,     0,   274,     0,   274,     0,     0,     0,     0,     0,
1240
       0,     0,   274,   276,   274,     0,     0,     0,   275,     0,
1241
     274,   275,     0,   274,     0,   274,     0,     0,     0,     0,
1242
     275,     0,     0,   277,     0,     0,     0,     0,     0,     0,
1243
       0,     0,     0,     0,   275,     0,     0,     0,   279,     0,
1244
       0,     0,     0,   275,     0,   279,     0,     0,   275,     0,
1245
       0,     0,   279,     0,   279,   275,     0,   279,     0,     0,
1246
       0,     0,   275,     0,   275,     0,     0,     0,     0,     0,
1247
       0,     0,   275,     0,   275,     0,     0,     0,   276,   276,
1248
     275,     0,   278,   275,     0,   275,     0,     0,   276,     0,
1249
     276,     0,     0,   280,     0,     0,     0,     0,   277,   277,
1250
     280,     0,     0,     0,     0,     0,     0,   280,   277,   280,
1251
     277,     0,   280,     0,     0,   276,     0,     0,     0,     0,
1252
       0,     0,     0,     0,     0,     0,     0,   276,     0,     0,
1253
       0,     0,   276,     0,     0,   277,     0,     0,     0,     0,
1254
       0,     0,     0,     0,     0,     0,     0,   277,     0,     0,
1255
       0,     0,   277,   276,     0,     0,   276,   278,   278,     0,
1256
       0,     0,     0,     0,     0,   276,     0,   278,     0,   278,
1257
       0,     0,     0,   277,     0,     0,   277,     0,     0,   276,
1258
       0,   279,     0,     0,     0,   277,     0,     0,   276,     0,
1259
       0,     0,     0,   276,   278,     0,     0,     0,     0,   277,
1260
     276,     0,     0,     0,     0,     0,   278,   276,   277,   276,
1261
       0,   278,     0,   277,   216,     0,     0,   276,     0,   276,
1262
     277,     0,     0,     0,     0,   276,     0,   277,   276,   277,
1263
     276,     0,   278,     0,     0,   278,   280,   277,     0,   277,
1264
       0,     0,     0,     0,   278,   277,     0,     0,   277,     0,
1265
     277,     0,     0,     0,     0,     0,   279,   279,   278,     0,
1266
       0,     0,     0,   309,   216,     0,   279,   278,   279,     0,
1267
       0,     0,   278,     0,     0,     0,     0,     0,     0,   278,
1268
       0,     0,     0,     0,     0,     0,   278,     0,   278,     0,
1269
       0,     0,     0,   279,     0,     0,   278,     0,   278,     0,
1270
       0,     0,     0,     0,   278,   279,     0,   278,     0,   278,
1271
     279,   280,   280,     0,     0,     0,     0,   349,     0,     0,
1272
     353,   280,     0,   280,     0,     0,   361,   362,     0,     0,
1273
       0,   279,     0,     0,   279,     0,     0,   294,   294,   294,
1274
     294,     0,     0,   279,     0,   294,   294,     0,   280,     0,
1275
       0,     0,     0,     0,     0,     0,     0,   279,     0,     0,
1276
     280,   295,   295,   295,   295,   280,   279,     0,     0,   295,
1277
     295,   279,     0,     0,     0,     0,     0,     0,   279,     0,
1278
       0,     0,     0,     0,     0,   279,   280,   279,     0,   280,
1279
       0,     0,     0,     0,     0,   279,     0,   279,   280,     0,
1280
       0,     0,     0,   279,     0,     0,   279,     0,   279,     0,
1281
     413,     0,   280,   419,     0,     0,     1,     0,   162,   163,
1282
       0,   280,     0,    66,     0,     0,   280,     0,     0,     0,
1283
       0,     0,   164,   280,     0,     0,     0,   442,   165,     0,
1284
     280,   444,   280,     0,     0,   166,     0,   448,   449,   167,
1285
     280,     0,   280,     0,     0,     0,    68,     0,   280,    69,
1286
      20,   280,     0,   280,     0,     0,     0,   234,     0,     0,
1287
       0,     0,   464,   465,     0,     0,   172,   173,   174,   175,
1288
       0,     0,   176,   177,     0,     0,     0,   477,     0,     0,
1289
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1290
     216,   294,   294,   294,   294,   294,   294,   294,   294,   294,
1291
     294,   294,   294,     0,   294,   294,   294,   294,   294,   294,
1292
     294,   360,     0,   160,   161,   295,   295,   295,   295,   295,
1293
     295,   295,   295,   295,   295,   295,   295,     0,   295,   295,
1294
     295,   295,   295,   295,   295,     0,     0,     0,     0,     0,
1295
     506,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1296
       0,     0,     0,     0,     0,     0,   162,   163,     0,     0,
1297
       0,    66,     0,     0,     0,     0,     0,     0,   294,     0,
1298
     164,   294,     0,     0,     0,   527,   165,     0,     0,     0,
1299
       0,     0,     0,   166,     0,     0,     0,   167,     0,     0,
1300
     548,     0,   295,     0,    68,   295,     0,    69,    20,     0,
1301
       0,   168,   169,     0,     0,   170,     0,     0,     0,     0,
1302
     526,     0,   160,   161,   172,   173,   174,   175,     0,     0,
1303
     176,   177,     0,     0,     0,     0,     0,     0,     0,     0,
1304
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1305
       0,     0,     0,     0,     0,   582,     0,     0,     0,   585,
1306
       0,   587,     0,   294,   294,   162,   163,     0,     0,     0,
1307
      66,     0,     0,     0,     0,   294,     0,     0,     0,   164,
1308
       0,     0,     0,     0,     0,   165,     0,   295,   295,   160,
1309
     161,     0,   166,     0,     0,     0,   167,     0,     0,   295,
1310
       0,     0,     0,    68,     0,     0,    69,    20,     0,     0,
1311
     168,   169,     0,     0,   170,     0,     0,     0,     0,     0,
1312
       0,     0,     0,   172,   173,   174,   175,     0,     0,   176,
1313
     177,     0,   162,   163,     0,     0,     0,    66,     0,     0,
1314
       0,     0,     0,     0,     0,     0,   164,     0,     0,     0,
1315
       0,     0,   165,     0,     0,   160,   161,     0,     0,   166,
1316
       0,     0,     0,   167,     0,     0,     0,     0,     0,     0,
1317
      68,     0,     0,    69,    20,     0,     0,   168,   169,     0,
1318
       0,   170,     0,   171,   310,     0,     0,     0,   311,     0,
1319
     172,   173,   174,   175,     0,     0,   176,   177,   162,   163,
1320
       0,     0,     0,    66,     0,     0,     0,     0,     0,     0,
1321
       0,     0,   164,     0,     0,     0,     0,     0,   165,     0,
1322
       0,   160,   161,     0,     0,   166,     0,     0,     0,   167,
1323
       0,     0,     0,     0,     0,     0,    68,     0,     0,    69,
1324
      20,     0,     0,   168,   169,     0,     0,   170,     0,   171,
1325
     489,     0,     0,     0,     0,     0,   172,   173,   174,   175,
1326
       0,     0,   176,   177,   162,   163,     0,     0,     0,    66,
1327
       0,     0,     0,   160,   161,     0,     0,     0,   164,     0,
1328
       0,     0,     0,     0,   165,     0,     0,     0,     0,     0,
1329
       0,   166,     0,     0,     0,   167,     0,     0,     0,     0,
1330
       0,     0,    68,     0,     0,    69,    20,     0,     0,   168,
1331
     169,     0,     0,   170,     0,   171,   162,   163,     0,     0,
1332
       0,    66,   172,   173,   174,   175,     0,     0,   176,   177,
1333
     164,     0,     0,     0,     0,     0,   165,     0,     0,   160,
1334
     161,     0,     0,   166,     0,     0,     0,   167,     0,     0,
1335
       0,     0,     0,     0,    68,     0,     0,    69,    20,     0,
1336
       0,   168,   169,     0,     0,   170,     0,     0,     0,     0,
1337
       0,   352,     0,     0,   172,   173,   174,   175,     0,     0,
1338
     176,   177,   162,   163,     0,     0,     0,    66,     0,     0,
1339
       0,   160,   161,     0,     0,     0,   164,     0,     0,     0,
1340
       0,     0,   165,     0,     0,     0,     0,     0,     0,   166,
1341
       0,     0,     0,   167,     0,     0,     0,     0,     0,     0,
1342
      68,     0,     0,    69,    20,     0,     0,   168,   169,     0,
1343
       0,   170,   410,     0,   162,   163,     0,     0,     0,    66,
1344
     172,   173,   174,   175,     0,     0,   176,   177,   164,     0,
1345
       0,     0,     0,     0,   165,     0,     0,   160,   161,     0,
1346
       0,   166,     0,     0,     0,   167,     0,     0,     0,     0,
1347
       0,     0,    68,     0,     0,    69,    20,     0,     0,   168,
1348
     169,     0,     0,   170,     0,     0,     0,     0,   124,     0,
1349
       0,     0,   172,   173,   174,   175,     0,     0,   176,   177,
1350
     162,   163,     0,     0,     0,    66,     0,     0,     0,   160,
1351
     161,     0,     0,     0,   164,     0,     0,     0,     0,     0,
1352
     165,     0,     0,     0,     0,     0,     0,   166,     0,     0,
1353
       0,   167,     0,     0,     0,     0,     0,     0,    68,     0,
1354
       0,    69,    20,     0,     0,   168,   169,     0,     0,   170,
1355
       0,     0,   162,   163,     0,   463,     0,    66,   172,   173,
1356
     174,   175,     0,     0,   176,   177,   164,     0,     0,     0,
1357
       0,     0,   165,     0,     0,   160,   161,     0,     0,   166,
1358
       0,     0,     0,   167,     0,     0,     0,     0,     0,     0,
1359
      68,     0,     0,    69,    20,     0,     0,   168,   169,     0,
1360
       0,   170,   483,     0,     0,     0,     0,     0,     0,     0,
1361
     172,   173,   174,   175,     0,     0,   176,   177,   162,   163,
1362
       0,     0,     0,    66,     0,     0,     0,   160,   161,     0,
1363
       0,     0,   164,     0,     0,     0,     0,     0,   165,     0,
1364
       0,     0,     0,     0,     0,   166,     0,     0,     0,   167,
1365
       0,     0,     0,     0,     0,     0,    68,     0,     0,    69,
1366
      20,     0,     0,   168,   169,     0,     0,   170,   496,     0,
1367
     162,   163,     0,     0,     0,    66,   172,   173,   174,   175,
1368
       0,     0,   176,   177,   164,     0,     0,     0,     0,     0,
1369
     165,     0,     0,   160,   161,     0,     0,   166,     0,     0,
1370
       0,   167,     0,     0,     0,     0,     0,     0,    68,     0,
1371
       0,    69,    20,     0,     0,   168,   169,     0,     0,   170,
1372
     519,     0,     0,     0,     0,     0,     0,     0,   172,   173,
1373
     174,   175,     0,     0,   176,   177,   162,   163,     0,     0,
1374
       0,    66,     0,     0,     0,   160,   161,     0,     0,     0,
1375
     164,     0,     0,     0,     0,     0,   165,     0,     0,     0,
1376
       0,     0,     0,   166,     0,     0,     0,   167,     0,     0,
1377
       0,     0,     0,     0,    68,     0,     0,    69,    20,     0,
1378
       0,   168,   169,     0,     0,   170,   528,     0,   162,   163,
1379
       0,     0,     0,    66,   172,   173,   174,   175,     0,     0,
1380
     176,   177,   164,     0,     0,     0,     0,     0,   165,     0,
1381
       0,   160,   161,     0,     0,   166,     0,     0,     0,   167,
1382
       0,     0,     0,     0,     0,     0,    68,     0,     0,    69,
1383
      20,     0,     0,   168,   169,     0,     0,   170,   555,     0,
1384
       0,     0,     0,     0,     0,     0,   172,   173,   174,   175,
1385
       0,     0,   176,   177,   162,   163,     0,     0,     0,    66,
1386
       0,     0,     0,   160,   161,     0,     0,     0,   164,     0,
1387
       0,     0,     0,     0,   165,     0,     0,     0,     0,     0,
1388
       0,   166,     0,     0,     0,   167,     0,     0,     0,     0,
1389
       0,     0,    68,     0,     0,    69,    20,     0,     0,   168,
1390
     169,     0,     0,   170,     0,     0,   162,   163,     0,   584,
1391
       0,    66,   172,   173,   174,   175,     0,     0,   176,   177,
1392
     164,     0,     0,     0,     0,     0,   165,     0,     0,   160,
1393
     161,     0,     0,   166,     0,     0,     0,   167,     0,     0,
1394
       0,     0,     0,     0,    68,     0,     0,    69,    20,     0,
1395
       0,   168,   169,     0,     0,   170,   598,     0,     0,     0,
1396
       0,     0,     0,     0,   172,   173,   174,   175,     0,     0,
1397
     176,   177,   162,   163,     0,     0,     0,    66,     0,     0,
1398
       0,     0,     0,     0,     0,     0,   164,     0,     0,     0,
1399
       0,     0,   165,     0,     0,     0,     0,     0,     0,   166,
1400
       0,     0,     0,   167,     0,     0,     0,     0,     0,     0,
1401
      68,     0,     0,    69,    20,     0,     0,   168,   169,     0,
1402
       0,   170,     0,     0,     0,     0,     0,     0,     0,     0,
1403
     172,   173,   174,   175,     0,     0,   176,   177,   222,     0,
1404
     162,   163,   567,   223,   224,    66,   225,     0,     0,   226,
1405
       0,     0,     0,   227,   164,     0,     0,   568,     0,     0,
1406
     165,   228,     4,   229,     0,   230,   231,   166,   232,     0,
1407
       0,   167,   233,     0,     0,     0,     0,     0,    68,     0,
1408
       0,    69,    20,     0,     0,     0,     0,     0,     0,   234,
1409
       0,   131,   592,     0,     0,     6,     0,     0,   172,   173,
1410
     174,   175,     0,     0,   176,   177,   222,     0,   162,   163,
1411
     567,   223,   224,    66,   225,     0,     0,   226,     0,     0,
1412
       0,   227,   164,     0,     0,   568,     0,     0,   165,   228,
1413
       4,   229,     0,   230,   231,   166,   232,     0,     0,   167,
1414
     233,     0,     0,     0,     0,     0,    68,     0,     0,    69,
1415
      20,     0,     0,     0,     0,     0,     0,   234,     0,   131,
1416
     605,     0,     0,     6,     0,     0,   172,   173,   174,   175,
1417
       0,     0,   176,   177,   222,     0,   162,   163,     0,   223,
1418
     224,    66,   225,     0,     0,   226,     0,     0,     0,   227,
1419
     164,     0,     0,     0,     0,     0,   165,   228,     4,   229,
1420
       0,   230,   231,   166,   232,     0,     0,   167,   233,     0,
1421
       0,     0,     0,     0,    68,     0,     0,    69,    20,     0,
1422
       0,     0,     0,     0,     0,   234,     0,   131,   235,     0,
1423
       0,     6,     0,     0,   172,   173,   174,   175,     0,     0,
1424
     176,   177,   222,     0,   162,   163,     0,   223,   224,    66,
1425
     225,     0,     0,   226,     0,     0,     0,   227,   164,     0,
1426
       0,     0,     0,     0,   165,   228,     4,   229,     0,   230,
1427
     231,   166,   232,     0,     0,   167,   233,     0,     0,     0,
1428
       0,     0,    68,     0,     0,    69,    20,     0,     0,     0,
1429
       0,     0,     0,   234,     0,   131,   366,     0,     0,     6,
1430
       0,     0,   172,   173,   174,   175,     0,     0,   176,   177,
1431
     222,     0,   162,   163,     0,   223,   224,    66,   225,     0,
1432
       0,   226,     0,     0,     0,   227,   164,     0,     0,     0,
1433
       0,     0,   468,   228,     4,   229,     0,   230,   231,   166,
1434
     232,     0,     0,   469,   233,     0,     0,     0,     0,     0,
1435
      68,     0,     0,    69,    20,     0,     0,     0,     0,     0,
1436
       0,   234,     0,   131,   470,     0,     0,     6,     0,     0,
1437
     172,   173,   174,   175,     0,     0,   176,   177,   222,     0,
1438
     162,   163,     0,   223,   224,    66,   225,     0,     0,   226,
1439
       0,     0,     0,   227,   164,     0,     0,     0,     0,     0,
1440
     165,   228,     4,   229,     0,   230,   231,   166,   232,     0,
1441
       0,   167,   233,     0,     0,     0,     0,     0,    68,     0,
1442
       0,    69,    20,     0,     0,     0,     0,     0,     0,   234,
1443
       0,   131,   515,     0,     0,     6,     0,     0,   172,   173,
1444
     174,   175,     0,     0,   176,   177,   222,     0,   162,   163,
1445
       0,   223,   224,    66,   225,     0,     0,   226,     0,     0,
1446
       0,   227,   164,     0,     0,     0,     0,     0,   165,   228,
1447
       4,   229,     0,   230,   231,   166,   232,     0,     0,   167,
1448
     233,     0,     0,     0,     0,     0,    68,     0,     0,    69,
1449
      20,     0,     0,     0,     0,     0,     0,   234,     0,   131,
1450
     518,     0,     0,     6,     0,     0,   172,   173,   174,   175,
1451
       0,     0,   176,   177,   222,     0,   162,   163,     0,   223,
1452
     224,    66,   225,     0,     0,   226,     0,     0,     0,   227,
1453
     164,     0,     0,     0,     0,     0,   165,   228,     4,   229,
1454
       0,   230,   231,   166,   232,     0,     0,   167,   233,     0,
1455
       0,     0,     0,     0,    68,     0,     0,    69,    20,     0,
1456
       0,     0,     0,     0,     0,   234,     0,   131,   554,     0,
1457
       0,     6,     0,     0,   172,   173,   174,   175,     0,     0,
1458
     176,   177,   222,     0,   162,   163,     0,   223,   224,    66,
1459
     225,     0,     0,   226,     0,     0,     0,   227,   164,     0,
1460
       0,     0,     0,     0,   165,   228,     4,   229,     0,   230,
1461
     231,   166,   232,     0,     0,   167,   233,     0,     0,     0,
1462
       0,     0,    68,     0,     0,    69,    20,     0,     0,     0,
1463
       0,     0,     0,   234,     0,   131,     0,     0,     0,     6,
1464
       0,     0,   172,   173,   174,   175,     0,     0,   176,   177,
1465
     369,     0,   162,   163,     0,   223,   224,    66,   225,     0,
1466
       0,   226,     0,     0,     0,   227,   164,     0,     0,     0,
1467
       0,     0,   165,   228,     0,   229,     0,   230,   231,   166,
1468
     232,     0,     0,   167,   233,     0,     0,     0,     0,     0,
1469
      68,     0,     0,    69,    20,     0,     0,     0,     0,     0,
1470
       0,   234,     0,   131,     0,     0,     0,     6,     0,     0,
1471
     172,   173,   174,   175,     0,     0,   176,   177,   369,     0,
1472
     162,   163,     0,   533,   224,    66,   225,     0,     0,   226,
1473
       0,     0,     0,   227,   164,     0,     0,     0,     0,     0,
1474
     165,   228,     0,   229,     0,   230,   231,   166,   232,     0,
1475
       0,   167,   233,     0,     0,     0,     0,     0,    68,     0,
1476
       0,    69,    20,   162,   163,     0,     0,     0,    66,   234,
1477
       0,   131,     0,     0,     0,     6,     0,   164,   172,   173,
1478
     174,   175,     0,   165,   176,   177,     0,     0,     0,     0,
1479
     166,     0,     0,    66,   167,     0,     0,     0,     0,     0,
1480
       0,    68,   164,     0,    69,    20,     0,     0,   165,     0,
1481
       0,     0,   234,     0,     0,   166,     0,     0,     0,   167,
1482
       0,   172,   173,   174,   175,     0,    68,   176,   177,    69,
1483
      20,     0,     0,   168,   169,     0,     0,   170,     0,     0,
1484
       0,     0,     0,     0,     0,     0,   172,   173,   174,   175,
1485
       0,     0,   176,   177
1486
};
1487
 
1488
static const short int yycheck[] =
1489
{
1490
       3,     4,   244,   131,   171,   106,   291,   151,     1,   114,
1491
       5,     1,   263,   116,   101,   251,   511,    54,   111,     0,
1492
      88,    56,   258,   404,   260,    60,    54,     0,     9,    10,
1493
      11,    15,    35,    36,    54,    38,    10,   101,   102,   126,
1494
      77,   128,    45,   136,   499,    82,   400,   101,    29,   103,
1495
     143,    32,    33,     9,    72,    29,    57,    77,   145,    33,
1496
     572,    62,    82,   166,    67,    46,   420,    39,    71,   499,
1497
      42,    99,    46,    54,   111,   110,    32,    64,   115,   591,
1498
      96,    48,   537,    99,    56,   540,   499,   103,    60,   584,
1499
      54,   111,    93,    88,   131,   115,    63,   134,   111,   136,
1500
      90,    82,   105,   106,    97,    89,   487,   537,   603,    64,
1501
     540,   101,   499,    96,   134,   152,   136,   120,    82,   102,
1502
     102,   134,   476,   136,   537,    53,   111,   540,   131,   166,
1503
     111,    98,   152,   170,   115,   236,    96,   230,   110,    97,
1504
     494,   111,   102,    48,   116,   289,   601,   111,   151,    44,
1505
     537,   136,    44,   540,   609,   136,    44,   612,    63,   614,
1506
       9,   179,    11,   517,    56,    99,   136,    62,    71,   103,
1507
      62,   601,   136,    68,    62,   537,    68,    99,   540,   609,
1508
      68,   103,   612,    32,   614,    54,   189,    88,   601,   292,
1509
      73,    44,   285,    98,   166,   282,   609,    88,    51,   612,
1510
     101,   614,   105,   106,   241,    88,   101,   244,    77,   101,
1511
     101,   462,   463,    82,   601,    94,   101,   502,   103,   237,
1512
      99,   241,   609,   226,   578,   612,   263,   614,   397,   232,
1513
     399,    84,   474,   236,    87,    88,    51,   101,   102,   601,
1514
     407,   244,   111,    96,   281,    95,   115,   609,   251,    99,
1515
     612,   103,   614,   103,   291,   258,    97,   260,    99,   387,
1516
     511,   281,   131,   499,   365,   134,   101,   136,    99,    84,
1517
      96,   291,    87,    88,   516,   101,   102,    18,    19,    20,
1518
      21,   102,   263,   152,   302,   303,   289,   101,    68,   307,
1519
     308,     2,    96,    73,     5,    99,    96,    77,   301,   336,
1520
     281,   537,   102,    97,   540,   100,    96,    66,    88,    68,
1521
     291,   131,   102,   549,    73,   318,   319,    58,    77,    96,
1522
     292,     5,     6,     7,    44,   102,    96,   563,    39,    88,
1523
      95,    42,   102,   584,    96,    96,    56,   374,    99,    44,
1524
     102,   577,    62,    54,   472,    56,    51,    96,    68,    60,
1525
     387,   593,   603,   102,   374,    60,    76,    62,   451,     8,
1526
       9,    10,   365,    68,    96,   601,    77,    44,    99,   101,
1527
     102,    82,   241,   609,    51,   244,   612,   395,   614,    84,
1528
     398,   101,    87,    88,   387,   332,   333,   334,   335,    96,
1529
      44,   496,    97,    98,   263,   102,   101,    51,    97,   110,
1530
     111,    97,   101,   100,   115,   116,    60,    84,    62,    98,
1531
      87,    88,   281,   102,    68,   433,    95,   522,   395,   512,
1532
     131,   398,   291,   134,   244,   136,   531,   100,    61,   100,
1533
      84,   251,    65,    87,    88,   472,    97,   474,   258,    54,
1534
     260,   152,   102,   263,    98,   103,    44,   101,   103,   160,
1535
     161,   162,   163,    51,   559,   166,   103,   168,   169,   170,
1536
      46,    47,    60,   103,    62,   502,    44,   336,    99,   472,
1537
      68,   474,   131,    51,    12,   160,   161,   162,   163,   516,
1538
      44,   574,   502,   168,   169,    11,    84,    51,    13,    87,
1539
      88,    14,    93,    94,    95,    95,   499,    90,    99,    97,
1540
      98,    44,   103,   101,    95,   374,    84,    44,    51,    87,
1541
      88,   514,    95,   516,    51,     3,     4,    60,   387,    62,
1542
      84,   502,    95,    87,    88,    68,   329,   330,   331,    95,
1543
     241,    68,    96,   244,   537,   572,   101,   540,    93,    94,
1544
     101,    84,   131,   101,    87,    88,   549,    84,    93,    94,
1545
      87,    88,   263,    95,   591,    98,   593,    88,   101,    99,
1546
     563,    97,    93,    94,    95,    16,    17,   387,    99,   572,
1547
     281,    88,   103,    68,   577,    99,    93,    94,    95,    95,
1548
     291,   292,    99,    93,    94,   244,   103,    96,   591,    68,
1549
     593,    98,   251,    46,    47,    68,    46,    47,   601,   258,
1550
     101,   260,    95,   472,   263,   474,   609,   337,   338,   612,
1551
     101,   614,   101,   324,   325,   326,   327,   328,   329,   330,
1552
     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
1553
     341,   342,   343,   502,   327,   328,   101,    96,   102,   324,
1554
     325,   326,   462,   463,    67,   102,   101,   516,     0,    95,
1555
      95,   100,   472,   100,   474,   244,    90,     9,    10,    11,
1556
      96,    96,   251,   374,    96,    95,    95,   100,    44,   258,
1557
     101,   260,    97,   101,   263,    51,   387,    29,    96,   499,
1558
      32,    33,    95,    95,    60,   101,    62,   131,    97,    96,
1559
     401,   511,    68,   404,    46,    97,   516,    95,    57,    57,
1560
     101,    96,    54,   572,    96,    96,    95,   131,    84,    90,
1561
      90,    87,    88,   101,   101,   101,   401,   537,    96,   101,
1562
     540,    57,   591,    96,   593,    96,   101,   101,   387,   549,
1563
      82,   336,    11,    48,    64,   120,     0,   136,   134,   383,
1564
     281,    47,    82,   563,   263,     9,    10,    11,   570,   263,
1565
     452,   570,   572,   303,   452,   339,   341,   577,   340,   111,
1566
     498,   472,   342,   474,   584,    29,   131,   343,    32,    33,
1567
     347,   591,    -1,   593,    -1,   486,   487,    -1,    -1,    -1,
1568
      -1,   601,    46,   603,   136,    -1,    -1,   498,    -1,   609,
1569
      54,   502,   612,    -1,   614,    -1,    -1,    -1,   387,    -1,
1570
     244,   486,    -1,   462,   463,   516,    -1,   251,    -1,    -1,
1571
      -1,    -1,    -1,   472,   258,   474,   260,    -1,    82,   263,
1572
     244,    -1,    -1,    -1,    -1,    -1,    -1,   251,    -1,    -1,
1573
      -1,    -1,    -1,    -1,   258,    -1,   260,    -1,    -1,   263,
1574
     499,    -1,    -1,    -1,    -1,    -1,    -1,   111,    -1,    -1,
1575
      -1,    -1,   511,    -1,    -1,    -1,    -1,   516,    -1,    -1,
1576
      -1,   572,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,
1577
      -1,    -1,   136,   462,   463,    -1,    -1,    -1,   537,   244,
1578
     591,   540,   593,   472,    -1,   474,   251,    -1,    -1,    -1,
1579
     549,    -1,    -1,   258,    -1,   260,    -1,    -1,   263,    -1,
1580
      -1,    -1,    -1,    -1,   563,    -1,    -1,    -1,    -1,    -1,
1581
     499,    -1,    -1,   572,    -1,    -1,    -1,    -1,   577,    -1,
1582
     131,    -1,   511,    -1,    -1,   584,    -1,   516,    -1,    -1,
1583
      -1,    -1,   591,    -1,   593,    -1,    -1,    -1,    -1,    -1,
1584
      -1,    -1,   601,   387,   603,    -1,    -1,    -1,   537,    -1,
1585
     609,   540,    -1,   612,    -1,   614,    -1,    -1,    -1,    -1,
1586
     549,    -1,    -1,   387,    -1,    -1,    -1,    -1,    -1,    -1,
1587
      -1,    -1,    -1,    -1,   563,    -1,    -1,    -1,   244,    -1,
1588
      -1,    -1,    -1,   572,    -1,   251,    -1,    -1,   577,    -1,
1589
      -1,    -1,   258,    -1,   260,   584,    -1,   263,    -1,    -1,
1590
      -1,    -1,   591,    -1,   593,    -1,    -1,    -1,    -1,    -1,
1591
      -1,    -1,   601,    -1,   603,    -1,    -1,    -1,   462,   463,
1592
     609,    -1,   387,   612,    -1,   614,    -1,    -1,   472,    -1,
1593
     474,    -1,    -1,   244,    -1,    -1,    -1,    -1,   462,   463,
1594
     251,    -1,    -1,    -1,    -1,    -1,    -1,   258,   472,   260,
1595
     474,    -1,   263,    -1,    -1,   499,    -1,    -1,    -1,    -1,
1596
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,    -1,    -1,
1597
      -1,    -1,   516,    -1,    -1,   499,    -1,    -1,    -1,    -1,
1598
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,    -1,    -1,
1599
      -1,    -1,   516,   537,    -1,    -1,   540,   462,   463,    -1,
1600
      -1,    -1,    -1,    -1,    -1,   549,    -1,   472,    -1,   474,
1601
      -1,    -1,    -1,   537,    -1,    -1,   540,    -1,    -1,   563,
1602
      -1,   387,    -1,    -1,    -1,   549,    -1,    -1,   572,    -1,
1603
      -1,    -1,    -1,   577,   499,    -1,    -1,    -1,    -1,   563,
1604
     584,    -1,    -1,    -1,    -1,    -1,   511,   591,   572,   593,
1605
      -1,   516,    -1,   577,   121,    -1,    -1,   601,    -1,   603,
1606
     584,    -1,    -1,    -1,    -1,   609,    -1,   591,   612,   593,
1607
     614,    -1,   537,    -1,    -1,   540,   387,   601,    -1,   603,
1608
      -1,    -1,    -1,    -1,   549,   609,    -1,    -1,   612,    -1,
1609
     614,    -1,    -1,    -1,    -1,    -1,   462,   463,   563,    -1,
1610
      -1,    -1,    -1,   170,   171,    -1,   472,   572,   474,    -1,
1611
      -1,    -1,   577,    -1,    -1,    -1,    -1,    -1,    -1,   584,
1612
      -1,    -1,    -1,    -1,    -1,    -1,   591,    -1,   593,    -1,
1613
      -1,    -1,    -1,   499,    -1,    -1,   601,    -1,   603,    -1,
1614
      -1,    -1,    -1,    -1,   609,   511,    -1,   612,    -1,   614,
1615
     516,   462,   463,    -1,    -1,    -1,    -1,   224,    -1,    -1,
1616
     227,   472,    -1,   474,    -1,    -1,   233,   234,    -1,    -1,
1617
      -1,   537,    -1,    -1,   540,    -1,    -1,   160,   161,   162,
1618
     163,    -1,    -1,   549,    -1,   168,   169,    -1,   499,    -1,
1619
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   563,    -1,    -1,
1620
     511,   160,   161,   162,   163,   516,   572,    -1,    -1,   168,
1621
     169,   577,    -1,    -1,    -1,    -1,    -1,    -1,   584,    -1,
1622
      -1,    -1,    -1,    -1,    -1,   591,   537,   593,    -1,   540,
1623
      -1,    -1,    -1,    -1,    -1,   601,    -1,   603,   549,    -1,
1624
      -1,    -1,    -1,   609,    -1,    -1,   612,    -1,   614,    -1,
1625
     317,    -1,   563,   320,    -1,    -1,    44,    -1,    46,    47,
1626
      -1,   572,    -1,    51,    -1,    -1,   577,    -1,    -1,    -1,
1627
      -1,    -1,    60,   584,    -1,    -1,    -1,   344,    66,    -1,
1628
     591,   348,   593,    -1,    -1,    73,    -1,   354,   355,    77,
1629
     601,    -1,   603,    -1,    -1,    -1,    84,    -1,   609,    87,
1630
      88,   612,    -1,   614,    -1,    -1,    -1,    95,    -1,    -1,
1631
      -1,    -1,   379,   380,    -1,    -1,   104,   105,   106,   107,
1632
      -1,    -1,   110,   111,    -1,    -1,    -1,   394,    -1,    -1,
1633
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1634
     407,   324,   325,   326,   327,   328,   329,   330,   331,   332,
1635
     333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
1636
     343,     1,    -1,     3,     4,   324,   325,   326,   327,   328,
1637
     329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
1638
     339,   340,   341,   342,   343,    -1,    -1,    -1,    -1,    -1,
1639
     457,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1640
      -1,    -1,    -1,    -1,    -1,    -1,    46,    47,    -1,    -1,
1641
      -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,   401,    -1,
1642
      60,   404,    -1,    -1,    -1,   492,    66,    -1,    -1,    -1,
1643
      -1,    -1,    -1,    73,    -1,    -1,    -1,    77,    -1,    -1,
1644
     507,    -1,   401,    -1,    84,   404,    -1,    87,    88,    -1,
1645
      -1,    91,    92,    -1,    -1,    95,    -1,    -1,    -1,    -1,
1646
       1,    -1,     3,     4,   104,   105,   106,   107,    -1,    -1,
1647
     110,   111,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1648
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1649
      -1,    -1,    -1,    -1,    -1,   562,    -1,    -1,    -1,   566,
1650
      -1,   568,    -1,   486,   487,    46,    47,    -1,    -1,    -1,
1651
      51,    -1,    -1,    -1,    -1,   498,    -1,    -1,    -1,    60,
1652
      -1,    -1,    -1,    -1,    -1,    66,    -1,   486,   487,     3,
1653
       4,    -1,    73,    -1,    -1,    -1,    77,    -1,    -1,   498,
1654
      -1,    -1,    -1,    84,    -1,    -1,    87,    88,    -1,    -1,
1655
      91,    92,    -1,    -1,    95,    -1,    -1,    -1,    -1,    -1,
1656
      -1,    -1,    -1,   104,   105,   106,   107,    -1,    -1,   110,
1657
     111,    -1,    46,    47,    -1,    -1,    -1,    51,    -1,    -1,
1658
      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
1659
      -1,    -1,    66,    -1,    -1,     3,     4,    -1,    -1,    73,
1660
      -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,
1661
      84,    -1,    -1,    87,    88,    -1,    -1,    91,    92,    -1,
1662
      -1,    95,    -1,    97,    98,    -1,    -1,    -1,   102,    -1,
1663
     104,   105,   106,   107,    -1,    -1,   110,   111,    46,    47,
1664
      -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,
1665
      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,
1666
      -1,     3,     4,    -1,    -1,    73,    -1,    -1,    -1,    77,
1667
      -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,    -1,    87,
1668
      88,    -1,    -1,    91,    92,    -1,    -1,    95,    -1,    97,
1669
      98,    -1,    -1,    -1,    -1,    -1,   104,   105,   106,   107,
1670
      -1,    -1,   110,   111,    46,    47,    -1,    -1,    -1,    51,
1671
      -1,    -1,    -1,     3,     4,    -1,    -1,    -1,    60,    -1,
1672
      -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
1673
      -1,    73,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
1674
      -1,    -1,    84,    -1,    -1,    87,    88,    -1,    -1,    91,
1675
      92,    -1,    -1,    95,    -1,    97,    46,    47,    -1,    -1,
1676
      -1,    51,   104,   105,   106,   107,    -1,    -1,   110,   111,
1677
      60,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,     3,
1678
       4,    -1,    -1,    73,    -1,    -1,    -1,    77,    -1,    -1,
1679
      -1,    -1,    -1,    -1,    84,    -1,    -1,    87,    88,    -1,
1680
      -1,    91,    92,    -1,    -1,    95,    -1,    -1,    -1,    -1,
1681
      -1,   101,    -1,    -1,   104,   105,   106,   107,    -1,    -1,
1682
     110,   111,    46,    47,    -1,    -1,    -1,    51,    -1,    -1,
1683
      -1,     3,     4,    -1,    -1,    -1,    60,    -1,    -1,    -1,
1684
      -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    73,
1685
      -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,
1686
      84,    -1,    -1,    87,    88,    -1,    -1,    91,    92,    -1,
1687
      -1,    95,    96,    -1,    46,    47,    -1,    -1,    -1,    51,
1688
     104,   105,   106,   107,    -1,    -1,   110,   111,    60,    -1,
1689
      -1,    -1,    -1,    -1,    66,    -1,    -1,     3,     4,    -1,
1690
      -1,    73,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
1691
      -1,    -1,    84,    -1,    -1,    87,    88,    -1,    -1,    91,
1692
      92,    -1,    -1,    95,    -1,    -1,    -1,    -1,   100,    -1,
1693
      -1,    -1,   104,   105,   106,   107,    -1,    -1,   110,   111,
1694
      46,    47,    -1,    -1,    -1,    51,    -1,    -1,    -1,     3,
1695
       4,    -1,    -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,
1696
      66,    -1,    -1,    -1,    -1,    -1,    -1,    73,    -1,    -1,
1697
      -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,
1698
      -1,    87,    88,    -1,    -1,    91,    92,    -1,    -1,    95,
1699
      -1,    -1,    46,    47,    -1,   101,    -1,    51,   104,   105,
1700
     106,   107,    -1,    -1,   110,   111,    60,    -1,    -1,    -1,
1701
      -1,    -1,    66,    -1,    -1,     3,     4,    -1,    -1,    73,
1702
      -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,
1703
      84,    -1,    -1,    87,    88,    -1,    -1,    91,    92,    -1,
1704
      -1,    95,    96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1705
     104,   105,   106,   107,    -1,    -1,   110,   111,    46,    47,
1706
      -1,    -1,    -1,    51,    -1,    -1,    -1,     3,     4,    -1,
1707
      -1,    -1,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,
1708
      -1,    -1,    -1,    -1,    -1,    73,    -1,    -1,    -1,    77,
1709
      -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,    -1,    87,
1710
      88,    -1,    -1,    91,    92,    -1,    -1,    95,    96,    -1,
1711
      46,    47,    -1,    -1,    -1,    51,   104,   105,   106,   107,
1712
      -1,    -1,   110,   111,    60,    -1,    -1,    -1,    -1,    -1,
1713
      66,    -1,    -1,     3,     4,    -1,    -1,    73,    -1,    -1,
1714
      -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,
1715
      -1,    87,    88,    -1,    -1,    91,    92,    -1,    -1,    95,
1716
      96,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,
1717
     106,   107,    -1,    -1,   110,   111,    46,    47,    -1,    -1,
1718
      -1,    51,    -1,    -1,    -1,     3,     4,    -1,    -1,    -1,
1719
      60,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
1720
      -1,    -1,    -1,    73,    -1,    -1,    -1,    77,    -1,    -1,
1721
      -1,    -1,    -1,    -1,    84,    -1,    -1,    87,    88,    -1,
1722
      -1,    91,    92,    -1,    -1,    95,    96,    -1,    46,    47,
1723
      -1,    -1,    -1,    51,   104,   105,   106,   107,    -1,    -1,
1724
     110,   111,    60,    -1,    -1,    -1,    -1,    -1,    66,    -1,
1725
      -1,     3,     4,    -1,    -1,    73,    -1,    -1,    -1,    77,
1726
      -1,    -1,    -1,    -1,    -1,    -1,    84,    -1,    -1,    87,
1727
      88,    -1,    -1,    91,    92,    -1,    -1,    95,    96,    -1,
1728
      -1,    -1,    -1,    -1,    -1,    -1,   104,   105,   106,   107,
1729
      -1,    -1,   110,   111,    46,    47,    -1,    -1,    -1,    51,
1730
      -1,    -1,    -1,     3,     4,    -1,    -1,    -1,    60,    -1,
1731
      -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,
1732
      -1,    73,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
1733
      -1,    -1,    84,    -1,    -1,    87,    88,    -1,    -1,    91,
1734
      92,    -1,    -1,    95,    -1,    -1,    46,    47,    -1,   101,
1735
      -1,    51,   104,   105,   106,   107,    -1,    -1,   110,   111,
1736
      60,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,     3,
1737
       4,    -1,    -1,    73,    -1,    -1,    -1,    77,    -1,    -1,
1738
      -1,    -1,    -1,    -1,    84,    -1,    -1,    87,    88,    -1,
1739
      -1,    91,    92,    -1,    -1,    95,    96,    -1,    -1,    -1,
1740
      -1,    -1,    -1,    -1,   104,   105,   106,   107,    -1,    -1,
1741
     110,   111,    46,    47,    -1,    -1,    -1,    51,    -1,    -1,
1742
      -1,    -1,    -1,    -1,    -1,    -1,    60,    -1,    -1,    -1,
1743
      -1,    -1,    66,    -1,    -1,    -1,    -1,    -1,    -1,    73,
1744
      -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,
1745
      84,    -1,    -1,    87,    88,    -1,    -1,    91,    92,    -1,
1746
      -1,    95,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1747
     104,   105,   106,   107,    -1,    -1,   110,   111,    44,    -1,
1748
      46,    47,    48,    49,    50,    51,    52,    -1,    -1,    55,
1749
      -1,    -1,    -1,    59,    60,    -1,    -1,    63,    -1,    -1,
1750
      66,    67,    68,    69,    -1,    71,    72,    73,    74,    -1,
1751
      -1,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,    -1,
1752
      -1,    87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    95,
1753
      -1,    97,    98,    -1,    -1,   101,    -1,    -1,   104,   105,
1754
     106,   107,    -1,    -1,   110,   111,    44,    -1,    46,    47,
1755
      48,    49,    50,    51,    52,    -1,    -1,    55,    -1,    -1,
1756
      -1,    59,    60,    -1,    -1,    63,    -1,    -1,    66,    67,
1757
      68,    69,    -1,    71,    72,    73,    74,    -1,    -1,    77,
1758
      78,    -1,    -1,    -1,    -1,    -1,    84,    -1,    -1,    87,
1759
      88,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    97,
1760
      98,    -1,    -1,   101,    -1,    -1,   104,   105,   106,   107,
1761
      -1,    -1,   110,   111,    44,    -1,    46,    47,    -1,    49,
1762
      50,    51,    52,    -1,    -1,    55,    -1,    -1,    -1,    59,
1763
      60,    -1,    -1,    -1,    -1,    -1,    66,    67,    68,    69,
1764
      -1,    71,    72,    73,    74,    -1,    -1,    77,    78,    -1,
1765
      -1,    -1,    -1,    -1,    84,    -1,    -1,    87,    88,    -1,
1766
      -1,    -1,    -1,    -1,    -1,    95,    -1,    97,    98,    -1,
1767
      -1,   101,    -1,    -1,   104,   105,   106,   107,    -1,    -1,
1768
     110,   111,    44,    -1,    46,    47,    -1,    49,    50,    51,
1769
      52,    -1,    -1,    55,    -1,    -1,    -1,    59,    60,    -1,
1770
      -1,    -1,    -1,    -1,    66,    67,    68,    69,    -1,    71,
1771
      72,    73,    74,    -1,    -1,    77,    78,    -1,    -1,    -1,
1772
      -1,    -1,    84,    -1,    -1,    87,    88,    -1,    -1,    -1,
1773
      -1,    -1,    -1,    95,    -1,    97,    98,    -1,    -1,   101,
1774
      -1,    -1,   104,   105,   106,   107,    -1,    -1,   110,   111,
1775
      44,    -1,    46,    47,    -1,    49,    50,    51,    52,    -1,
1776
      -1,    55,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,
1777
      -1,    -1,    66,    67,    68,    69,    -1,    71,    72,    73,
1778
      74,    -1,    -1,    77,    78,    -1,    -1,    -1,    -1,    -1,
1779
      84,    -1,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,
1780
      -1,    95,    -1,    97,    98,    -1,    -1,   101,    -1,    -1,
1781
     104,   105,   106,   107,    -1,    -1,   110,   111,    44,    -1,
1782
      46,    47,    -1,    49,    50,    51,    52,    -1,    -1,    55,
1783
      -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    -1,    -1,
1784
      66,    67,    68,    69,    -1,    71,    72,    73,    74,    -1,
1785
      -1,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,    -1,
1786
      -1,    87,    88,    -1,    -1,    -1,    -1,    -1,    -1,    95,
1787
      -1,    97,    98,    -1,    -1,   101,    -1,    -1,   104,   105,
1788
     106,   107,    -1,    -1,   110,   111,    44,    -1,    46,    47,
1789
      -1,    49,    50,    51,    52,    -1,    -1,    55,    -1,    -1,
1790
      -1,    59,    60,    -1,    -1,    -1,    -1,    -1,    66,    67,
1791
      68,    69,    -1,    71,    72,    73,    74,    -1,    -1,    77,
1792
      78,    -1,    -1,    -1,    -1,    -1,    84,    -1,    -1,    87,
1793
      88,    -1,    -1,    -1,    -1,    -1,    -1,    95,    -1,    97,
1794
      98,    -1,    -1,   101,    -1,    -1,   104,   105,   106,   107,
1795
      -1,    -1,   110,   111,    44,    -1,    46,    47,    -1,    49,
1796
      50,    51,    52,    -1,    -1,    55,    -1,    -1,    -1,    59,
1797
      60,    -1,    -1,    -1,    -1,    -1,    66,    67,    68,    69,
1798
      -1,    71,    72,    73,    74,    -1,    -1,    77,    78,    -1,
1799
      -1,    -1,    -1,    -1,    84,    -1,    -1,    87,    88,    -1,
1800
      -1,    -1,    -1,    -1,    -1,    95,    -1,    97,    98,    -1,
1801
      -1,   101,    -1,    -1,   104,   105,   106,   107,    -1,    -1,
1802
     110,   111,    44,    -1,    46,    47,    -1,    49,    50,    51,
1803
      52,    -1,    -1,    55,    -1,    -1,    -1,    59,    60,    -1,
1804
      -1,    -1,    -1,    -1,    66,    67,    68,    69,    -1,    71,
1805
      72,    73,    74,    -1,    -1,    77,    78,    -1,    -1,    -1,
1806
      -1,    -1,    84,    -1,    -1,    87,    88,    -1,    -1,    -1,
1807
      -1,    -1,    -1,    95,    -1,    97,    -1,    -1,    -1,   101,
1808
      -1,    -1,   104,   105,   106,   107,    -1,    -1,   110,   111,
1809
      44,    -1,    46,    47,    -1,    49,    50,    51,    52,    -1,
1810
      -1,    55,    -1,    -1,    -1,    59,    60,    -1,    -1,    -1,
1811
      -1,    -1,    66,    67,    -1,    69,    -1,    71,    72,    73,
1812
      74,    -1,    -1,    77,    78,    -1,    -1,    -1,    -1,    -1,
1813
      84,    -1,    -1,    87,    88,    -1,    -1,    -1,    -1,    -1,
1814
      -1,    95,    -1,    97,    -1,    -1,    -1,   101,    -1,    -1,
1815
     104,   105,   106,   107,    -1,    -1,   110,   111,    44,    -1,
1816
      46,    47,    -1,    49,    50,    51,    52,    -1,    -1,    55,
1817
      -1,    -1,    -1,    59,    60,    -1,    -1,    -1,    -1,    -1,
1818
      66,    67,    -1,    69,    -1,    71,    72,    73,    74,    -1,
1819
      -1,    77,    78,    -1,    -1,    -1,    -1,    -1,    84,    -1,
1820
      -1,    87,    88,    46,    47,    -1,    -1,    -1,    51,    95,
1821
      -1,    97,    -1,    -1,    -1,   101,    -1,    60,   104,   105,
1822
     106,   107,    -1,    66,   110,   111,    -1,    -1,    -1,    -1,
1823
      73,    -1,    -1,    51,    77,    -1,    -1,    -1,    -1,    -1,
1824
      -1,    84,    60,    -1,    87,    88,    -1,    -1,    66,    -1,
1825
      -1,    -1,    95,    -1,    -1,    73,    -1,    -1,    -1,    77,
1826
      -1,   104,   105,   106,   107,    -1,    84,   110,   111,    87,
1827
      88,    -1,    -1,    91,    92,    -1,    -1,    95,    -1,    -1,
1828
      -1,    -1,    -1,    -1,    -1,    -1,   104,   105,   106,   107,
1829
      -1,    -1,   110,   111
1830
};
1831
 
1832
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1833
   symbol of state STATE-NUM.  */
1834
static const unsigned short int yystos[] =
1835
{
1836
       0,    44,    56,    62,    68,    76,   101,   113,   126,   127,
1837
     128,   129,   130,   131,   132,   133,   134,   135,   166,   187,
1838
      88,   122,   123,   124,   125,   125,   125,   122,     0,   128,
1839
     130,   133,   127,   128,    44,    62,    68,   101,   103,    64,
1840
     167,   171,    64,   138,   101,   103,   128,   125,   125,     5,
1841
     125,   118,   120,   122,    97,   172,   102,   169,   118,   119,
1842
      53,   139,   168,   171,   138,   101,    51,    60,    84,    87,
1843
      98,   115,   116,   117,   118,   121,   122,   134,   135,   145,
1844
     152,   166,   173,   174,   175,   176,   187,   120,   172,   120,
1845
     140,   137,   172,   170,   139,   125,   153,   125,   146,   147,
1846
     148,   153,    99,   237,   237,    60,   115,   101,    98,   174,
1847
     102,    97,   141,   172,   136,    95,    54,    99,   156,   101,
1848
     102,    94,    99,   156,   100,    99,   153,   146,   153,   120,
1849
      44,    97,    98,   123,   134,   135,   142,   143,   144,   145,
1850
     150,   152,   159,   160,   161,   162,   166,   179,   187,   141,
1851
      96,   115,   134,   154,   155,   119,   157,   100,   125,   147,
1852
       3,     4,    46,    47,    60,    66,    73,    77,    91,    92,
1853
      95,    97,   104,   105,   106,   107,   110,   111,   114,   116,
1854
     121,   122,   149,   177,   225,   226,   227,   228,   229,   232,
1855
     234,   238,   239,   240,   241,   242,   243,   244,   245,   246,
1856
     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1857
     257,   258,   259,   260,   261,   262,   264,   100,   100,   156,
1858
     101,   156,    44,    49,    50,    52,    55,    59,    67,    69,
1859
      71,    72,    74,    78,    95,    98,   115,   116,   121,   122,
1860
     125,   134,   135,   179,   180,   181,   182,   183,   184,   186,
1861
     187,   188,   189,   191,   192,   193,   194,   196,   202,   203,
1862
     205,   206,   207,   209,   210,   214,   215,   216,   217,   218,
1863
     219,   220,   221,   228,   239,   241,   242,   243,   245,   246,
1864
     261,    95,   162,    98,   143,   151,   179,   156,   148,   115,
1865
      96,   102,   102,   122,   238,   240,   244,   244,   244,   244,
1866
     103,   103,   116,   118,   119,   244,   244,   116,   122,   264,
1867
      98,   102,   149,   178,   103,   103,    95,    99,   103,   103,
1868
      99,   125,    46,    47,     5,     6,     7,     3,     4,     8,
1869
       9,    10,    18,    19,    20,    21,    58,    16,    17,    11,
1870
      12,    13,    14,    15,    89,    93,    94,   263,    95,   264,
1871
     101,   125,   101,   264,    95,    95,   179,    95,   101,   125,
1872
       1,   264,   264,   146,    90,   115,    98,   181,   101,    44,
1873
     184,   101,   184,   184,   134,   183,   192,   211,   213,   101,
1874
      95,    96,   154,   156,   101,   158,   179,    97,   163,   148,
1875
     155,   119,    68,   125,    99,   235,   236,   237,   235,   237,
1876
      95,    96,   237,   237,    96,    98,    98,   102,    68,    68,
1877
      96,   233,   264,   264,    68,    73,    77,    73,   125,   264,
1878
      95,   244,   244,   244,   249,   249,   250,   250,   250,   251,
1879
     251,   251,   251,   116,   117,   252,   252,   253,   254,   255,
1880
     256,   257,   264,   260,   264,   101,   101,   101,   264,   264,
1881
      61,    65,   222,   223,   224,   101,     1,    90,   101,    96,
1882
     146,    67,   102,   101,   264,   264,    96,   163,    66,    77,
1883
      98,   122,   164,   165,   180,   101,    95,   264,   236,   237,
1884
     177,   237,   177,    96,   233,   244,    96,    96,   247,    98,
1885
     149,    96,   102,   100,    95,   100,    96,   233,    90,    96,
1886
      96,    96,    95,   179,   223,   224,   264,    95,   192,   212,
1887
     213,   101,    96,   101,   103,    98,   180,    95,    98,    96,
1888
     233,   100,   230,    96,   244,   247,     1,   264,    96,   233,
1889
     141,    96,   259,    49,   184,   185,   186,   188,   190,   195,
1890
     202,   204,   208,   210,    97,   197,   155,   101,   264,    96,
1891
     212,     1,   179,    66,    98,    96,   233,    96,   141,   231,
1892
      96,   141,    95,    57,   185,   185,   101,    48,    63,    98,
1893
     198,   199,   200,   201,    96,    96,   184,    96,    95,   101,
1894
      96,   141,   264,   184,   101,   264,    90,   264,   265,    98,
1895
     199,   200,    98,   180,   201,   179,   101,   184,    96,   233,
1896
     101,    96,   212,   101,    90,    98,   101,    96,   185,    96,
1897
     212,   101,    57,   185,    96,   185,   185
1898
};
1899
 
1900
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
1901
# define YYSIZE_T __SIZE_TYPE__
1902
#endif
1903
#if ! defined (YYSIZE_T) && defined (size_t)
1904
# define YYSIZE_T size_t
1905
#endif
1906
#if ! defined (YYSIZE_T)
1907
# if defined (__STDC__) || defined (__cplusplus)
1908
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1909
#  define YYSIZE_T size_t
1910
# endif
1911
#endif
1912
#if ! defined (YYSIZE_T)
1913
# define YYSIZE_T unsigned int
1914
#endif
1915
 
1916
#define yyerrok         (yyerrstatus = 0)
1917
#define yyclearin       (yychar = YYEMPTY)
1918
#define YYEMPTY         (-2)
1919
#define YYEOF           0
1920
 
1921
#define YYACCEPT        goto yyacceptlab
1922
#define YYABORT         goto yyabortlab
1923
#define YYERROR         goto yyerrorlab
1924
 
1925
 
1926
/* Like YYERROR except do call yyerror.  This remains here temporarily
1927
   to ease the transition to the new meaning of YYERROR, for GCC.
1928
   Once GCC version 2 has supplanted version 1, this can go.  */
1929
 
1930
#define YYFAIL          goto yyerrlab
1931
 
1932
#define YYRECOVERING()  (!!yyerrstatus)
1933
 
1934
#define YYBACKUP(Token, Value)                                  \
1935
do                                                              \
1936
  if (yychar == YYEMPTY && yylen == 1)                          \
1937
    {                                                           \
1938
      yychar = (Token);                                         \
1939
      yylval = (Value);                                         \
1940
      yytoken = YYTRANSLATE (yychar);                           \
1941
      YYPOPSTACK;                                               \
1942
      goto yybackup;                                            \
1943
    }                                                           \
1944
  else                                                          \
1945
    {                                                           \
1946
      yyerror ("syntax error: cannot back up");\
1947
      YYERROR;                                                  \
1948
    }                                                           \
1949
while (0)
1950
 
1951
 
1952
#define YYTERROR        1
1953
#define YYERRCODE       256
1954
 
1955
 
1956
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
1957
   If N is 0, then set CURRENT to the empty location which ends
1958
   the previous symbol: RHS[0] (always defined).  */
1959
 
1960
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
1961
#ifndef YYLLOC_DEFAULT
1962
# define YYLLOC_DEFAULT(Current, Rhs, N)                                \
1963
    do                                                                  \
1964
      if (N)                                                            \
1965
        {                                                               \
1966
          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
1967
          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
1968
          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
1969
          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
1970
        }                                                               \
1971
      else                                                              \
1972
        {                                                               \
1973
          (Current).first_line   = (Current).last_line   =              \
1974
            YYRHSLOC (Rhs, 0).last_line;                         \
1975
          (Current).first_column = (Current).last_column =              \
1976
            YYRHSLOC (Rhs, 0).last_column;                               \
1977
        }                                                               \
1978
    while (0)
1979
#endif
1980
 
1981
 
1982
/* YY_LOCATION_PRINT -- Print the location on the stream.
1983
   This macro was not mandated originally: define only if we know
1984
   we won't break user code: when these are the locations we know.  */
1985
 
1986
#ifndef YY_LOCATION_PRINT
1987
# if YYLTYPE_IS_TRIVIAL
1988
#  define YY_LOCATION_PRINT(File, Loc)                  \
1989
     fprintf (File, "%d.%d-%d.%d",                      \
1990
              (Loc).first_line, (Loc).first_column,     \
1991
              (Loc).last_line,  (Loc).last_column)
1992
# else
1993
#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
1994
# endif
1995
#endif
1996
 
1997
 
1998
/* YYLEX -- calling `yylex' with the right arguments.  */
1999
 
2000
#ifdef YYLEX_PARAM
2001
# define YYLEX yylex (&yylval, YYLEX_PARAM)
2002
#else
2003
# define YYLEX yylex (&yylval)
2004
#endif
2005
 
2006
/* Enable debugging if requested.  */
2007
#if YYDEBUG
2008
 
2009
# ifndef YYFPRINTF
2010
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2011
#  define YYFPRINTF fprintf
2012
# endif
2013
 
2014
# define YYDPRINTF(Args)                        \
2015
do {                                            \
2016
  if (yydebug)                                  \
2017
    YYFPRINTF Args;                             \
2018
} while (0)
2019
 
2020
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)          \
2021
do {                                                            \
2022
  if (yydebug)                                                  \
2023
    {                                                           \
2024
      YYFPRINTF (stderr, "%s ", Title);                         \
2025
      yysymprint (stderr,                                       \
2026
                  Type, Value); \
2027
      YYFPRINTF (stderr, "\n");                                 \
2028
    }                                                           \
2029
} while (0)
2030
 
2031
/*------------------------------------------------------------------.
2032
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
2033
| TOP (included).                                                   |
2034
`------------------------------------------------------------------*/
2035
 
2036
#if defined (__STDC__) || defined (__cplusplus)
2037
static void
2038
yy_stack_print (short int *bottom, short int *top)
2039
#else
2040
static void
2041
yy_stack_print (bottom, top)
2042
    short int *bottom;
2043
    short int *top;
2044
#endif
2045
{
2046
  YYFPRINTF (stderr, "Stack now");
2047
  for (/* Nothing. */; bottom <= top; ++bottom)
2048
    YYFPRINTF (stderr, " %d", *bottom);
2049
  YYFPRINTF (stderr, "\n");
2050
}
2051
 
2052
# define YY_STACK_PRINT(Bottom, Top)                            \
2053
do {                                                            \
2054
  if (yydebug)                                                  \
2055
    yy_stack_print ((Bottom), (Top));                           \
2056
} while (0)
2057
 
2058
 
2059
/*------------------------------------------------.
2060
| Report that the YYRULE is going to be reduced.  |
2061
`------------------------------------------------*/
2062
 
2063
#if defined (__STDC__) || defined (__cplusplus)
2064
static void
2065
yy_reduce_print (int yyrule)
2066
#else
2067
static void
2068
yy_reduce_print (yyrule)
2069
    int yyrule;
2070
#endif
2071
{
2072
  int yyi;
2073
  unsigned int yylno = yyrline[yyrule];
2074
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ",
2075
             yyrule - 1, yylno);
2076
  /* Print the symbols being reduced, and their result.  */
2077
  for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++)
2078
    YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]);
2079
  YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]);
2080
}
2081
 
2082
# define YY_REDUCE_PRINT(Rule)          \
2083
do {                                    \
2084
  if (yydebug)                          \
2085
    yy_reduce_print (Rule);             \
2086
} while (0)
2087
 
2088
/* Nonzero means print parse trace.  It is left uninitialized so that
2089
   multiple parsers can coexist.  */
2090
int yydebug;
2091
#else /* !YYDEBUG */
2092
# define YYDPRINTF(Args)
2093
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2094
# define YY_STACK_PRINT(Bottom, Top)
2095
# define YY_REDUCE_PRINT(Rule)
2096
#endif /* !YYDEBUG */
2097
 
2098
 
2099
/* YYINITDEPTH -- initial size of the parser's stacks.  */
2100
#ifndef YYINITDEPTH
2101
# define YYINITDEPTH 200
2102
#endif
2103
 
2104
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2105
   if the built-in stack extension method is used).
2106
 
2107
   Do not make this value too large; the results are undefined if
2108
   SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
2109
   evaluated with infinite-precision integer arithmetic.  */
2110
 
2111
#ifndef YYMAXDEPTH
2112
# define YYMAXDEPTH 10000
2113
#endif
2114
 
2115
 
2116
 
2117
#if YYERROR_VERBOSE
2118
 
2119
# ifndef yystrlen
2120
#  if defined (__GLIBC__) && defined (_STRING_H)
2121
#   define yystrlen strlen
2122
#  else
2123
/* Return the length of YYSTR.  */
2124
static YYSIZE_T
2125
#   if defined (__STDC__) || defined (__cplusplus)
2126
yystrlen (const char *yystr)
2127
#   else
2128
yystrlen (yystr)
2129
     const char *yystr;
2130
#   endif
2131
{
2132
  register const char *yys = yystr;
2133
 
2134
  while (*yys++ != '\0')
2135
    continue;
2136
 
2137
  return yys - yystr - 1;
2138
}
2139
#  endif
2140
# endif
2141
 
2142
# ifndef yystpcpy
2143
#  if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
2144
#   define yystpcpy stpcpy
2145
#  else
2146
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2147
   YYDEST.  */
2148
static char *
2149
#   if defined (__STDC__) || defined (__cplusplus)
2150
yystpcpy (char *yydest, const char *yysrc)
2151
#   else
2152
yystpcpy (yydest, yysrc)
2153
     char *yydest;
2154
     const char *yysrc;
2155
#   endif
2156
{
2157
  register char *yyd = yydest;
2158
  register const char *yys = yysrc;
2159
 
2160
  while ((*yyd++ = *yys++) != '\0')
2161
    continue;
2162
 
2163
  return yyd - 1;
2164
}
2165
#  endif
2166
# endif
2167
 
2168
#endif /* !YYERROR_VERBOSE */
2169
 
2170
 
2171
 
2172
#if YYDEBUG
2173
/*--------------------------------.
2174
| Print this symbol on YYOUTPUT.  |
2175
`--------------------------------*/
2176
 
2177
#if defined (__STDC__) || defined (__cplusplus)
2178
static void
2179
yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep)
2180
#else
2181
static void
2182
yysymprint (yyoutput, yytype, yyvaluep)
2183
    FILE *yyoutput;
2184
    int yytype;
2185
    YYSTYPE *yyvaluep;
2186
#endif
2187
{
2188
  /* Pacify ``unused variable'' warnings.  */
2189
  (void) yyvaluep;
2190
 
2191
  if (yytype < YYNTOKENS)
2192
    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2193
  else
2194
    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2195
 
2196
 
2197
# ifdef YYPRINT
2198
  if (yytype < YYNTOKENS)
2199
    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2200
# endif
2201
  switch (yytype)
2202
    {
2203
      default:
2204
        break;
2205
    }
2206
  YYFPRINTF (yyoutput, ")");
2207
}
2208
 
2209
#endif /* ! YYDEBUG */
2210
/*-----------------------------------------------.
2211
| Release the memory associated to this symbol.  |
2212
`-----------------------------------------------*/
2213
 
2214
#if defined (__STDC__) || defined (__cplusplus)
2215
static void
2216
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2217
#else
2218
static void
2219
yydestruct (yymsg, yytype, yyvaluep)
2220
    const char *yymsg;
2221
    int yytype;
2222
    YYSTYPE *yyvaluep;
2223
#endif
2224
{
2225
  /* Pacify ``unused variable'' warnings.  */
2226
  (void) yyvaluep;
2227
 
2228
  if (!yymsg)
2229
    yymsg = "Deleting";
2230
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2231
 
2232
  switch (yytype)
2233
    {
2234
 
2235
      default:
2236
        break;
2237
    }
2238
}
2239
 
2240
 
2241
/* Prevent warnings from -Wmissing-prototypes.  */
2242
 
2243
#ifdef YYPARSE_PARAM
2244
# if defined (__STDC__) || defined (__cplusplus)
2245
int yyparse (void *YYPARSE_PARAM);
2246
# else
2247
int yyparse ();
2248
# endif
2249
#else /* ! YYPARSE_PARAM */
2250
#if defined (__STDC__) || defined (__cplusplus)
2251
int yyparse (void);
2252
#else
2253
int yyparse ();
2254
#endif
2255
#endif /* ! YYPARSE_PARAM */
2256
 
2257
 
2258
 
2259
 
2260
 
2261
 
2262
/*----------.
2263
| yyparse.  |
2264
`----------*/
2265
 
2266
#ifdef YYPARSE_PARAM
2267
# if defined (__STDC__) || defined (__cplusplus)
2268
int yyparse (void *YYPARSE_PARAM)
2269
# else
2270
int yyparse (YYPARSE_PARAM)
2271
  void *YYPARSE_PARAM;
2272
# endif
2273
#else /* ! YYPARSE_PARAM */
2274
#if defined (__STDC__) || defined (__cplusplus)
2275
int
2276
yyparse (void)
2277
#else
2278
int
2279
yyparse ()
2280
 
2281
#endif
2282
#endif
2283
{
2284
  /* The look-ahead symbol.  */
2285
int yychar;
2286
 
2287
/* The semantic value of the look-ahead symbol.  */
2288
YYSTYPE yylval;
2289
 
2290
/* Number of syntax errors so far.  */
2291
int yynerrs;
2292
 
2293
  register int yystate;
2294
  register int yyn;
2295
  int yyresult;
2296
  /* Number of tokens to shift before error messages enabled.  */
2297
  int yyerrstatus;
2298
  /* Look-ahead token as an internal (translated) token number.  */
2299
  int yytoken = 0;
2300
 
2301
  /* Three stacks and their tools:
2302
     `yyss': related to states,
2303
     `yyvs': related to semantic values,
2304
     `yyls': related to locations.
2305
 
2306
     Refer to the stacks thru separate pointers, to allow yyoverflow
2307
     to reallocate them elsewhere.  */
2308
 
2309
  /* The state stack.  */
2310
  short int yyssa[YYINITDEPTH];
2311
  short int *yyss = yyssa;
2312
  register short int *yyssp;
2313
 
2314
  /* The semantic value stack.  */
2315
  YYSTYPE yyvsa[YYINITDEPTH];
2316
  YYSTYPE *yyvs = yyvsa;
2317
  register YYSTYPE *yyvsp;
2318
 
2319
 
2320
 
2321
#define YYPOPSTACK   (yyvsp--, yyssp--)
2322
 
2323
  YYSIZE_T yystacksize = YYINITDEPTH;
2324
 
2325
  /* The variables used to return semantic value and location from the
2326
     action routines.  */
2327
  YYSTYPE yyval;
2328
 
2329
 
2330
  /* When reducing, the number of symbols on the RHS of the reduced
2331
     rule.  */
2332
  int yylen;
2333
 
2334
  YYDPRINTF ((stderr, "Starting parse\n"));
2335
 
2336
  yystate = 0;
2337
  yyerrstatus = 0;
2338
  yynerrs = 0;
2339
  yychar = YYEMPTY;             /* Cause a token to be read.  */
2340
 
2341
  /* Initialize stack pointers.
2342
     Waste one element of value and location stack
2343
     so that they stay on the same level as the state stack.
2344
     The wasted elements are never initialized.  */
2345
 
2346
  yyssp = yyss;
2347
  yyvsp = yyvs;
2348
 
2349
 
2350
  yyvsp[0] = yylval;
2351
 
2352
  goto yysetstate;
2353
 
2354
/*------------------------------------------------------------.
2355
| yynewstate -- Push a new state, which is found in yystate.  |
2356
`------------------------------------------------------------*/
2357
 yynewstate:
2358
  /* In all cases, when you get here, the value and location stacks
2359
     have just been pushed. so pushing a state here evens the stacks.
2360
     */
2361
  yyssp++;
2362
 
2363
 yysetstate:
2364
  *yyssp = yystate;
2365
 
2366
  if (yyss + yystacksize - 1 <= yyssp)
2367
    {
2368
      /* Get the current used size of the three stacks, in elements.  */
2369
      YYSIZE_T yysize = yyssp - yyss + 1;
2370
 
2371
#ifdef yyoverflow
2372
      {
2373
        /* Give user a chance to reallocate the stack. Use copies of
2374
           these so that the &'s don't force the real ones into
2375
           memory.  */
2376
        YYSTYPE *yyvs1 = yyvs;
2377
        short int *yyss1 = yyss;
2378
 
2379
 
2380
        /* Each stack pointer address is followed by the size of the
2381
           data in use in that stack, in bytes.  This used to be a
2382
           conditional around just the two extra args, but that might
2383
           be undefined if yyoverflow is a macro.  */
2384
        yyoverflow ("parser stack overflow",
2385
                    &yyss1, yysize * sizeof (*yyssp),
2386
                    &yyvs1, yysize * sizeof (*yyvsp),
2387
 
2388
                    &yystacksize);
2389
 
2390
        yyss = yyss1;
2391
        yyvs = yyvs1;
2392
      }
2393
#else /* no yyoverflow */
2394
# ifndef YYSTACK_RELOCATE
2395
      goto yyoverflowlab;
2396
# else
2397
      /* Extend the stack our own way.  */
2398
      if (YYMAXDEPTH <= yystacksize)
2399
        goto yyoverflowlab;
2400
      yystacksize *= 2;
2401
      if (YYMAXDEPTH < yystacksize)
2402
        yystacksize = YYMAXDEPTH;
2403
 
2404
      {
2405
        short int *yyss1 = yyss;
2406
        union yyalloc *yyptr =
2407
          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
2408
        if (! yyptr)
2409
          goto yyoverflowlab;
2410
        YYSTACK_RELOCATE (yyss);
2411
        YYSTACK_RELOCATE (yyvs);
2412
 
2413
#  undef YYSTACK_RELOCATE
2414
        if (yyss1 != yyssa)
2415
          YYSTACK_FREE (yyss1);
2416
      }
2417
# endif
2418
#endif /* no yyoverflow */
2419
 
2420
      yyssp = yyss + yysize - 1;
2421
      yyvsp = yyvs + yysize - 1;
2422
 
2423
 
2424
      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
2425
                  (unsigned long int) yystacksize));
2426
 
2427
      if (yyss + yystacksize - 1 <= yyssp)
2428
        YYABORT;
2429
    }
2430
 
2431
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
2432
 
2433
  goto yybackup;
2434
 
2435
/*-----------.
2436
| yybackup.  |
2437
`-----------*/
2438
yybackup:
2439
 
2440
/* Do appropriate processing given the current state.  */
2441
/* Read a look-ahead token if we need one and don't already have one.  */
2442
/* yyresume: */
2443
 
2444
  /* First try to decide what to do without reference to look-ahead token.  */
2445
 
2446
  yyn = yypact[yystate];
2447
  if (yyn == YYPACT_NINF)
2448
    goto yydefault;
2449
 
2450
  /* Not known => get a look-ahead token if don't already have one.  */
2451
 
2452
  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
2453
  if (yychar == YYEMPTY)
2454
    {
2455
      YYDPRINTF ((stderr, "Reading a token: "));
2456
      yychar = YYLEX;
2457
    }
2458
 
2459
  if (yychar <= YYEOF)
2460
    {
2461
      yychar = yytoken = YYEOF;
2462
      YYDPRINTF ((stderr, "Now at end of input.\n"));
2463
    }
2464
  else
2465
    {
2466
      yytoken = YYTRANSLATE (yychar);
2467
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
2468
    }
2469
 
2470
  /* If the proper action on seeing token YYTOKEN is to reduce or to
2471
     detect an error, take that action.  */
2472
  yyn += yytoken;
2473
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
2474
    goto yydefault;
2475
  yyn = yytable[yyn];
2476
  if (yyn <= 0)
2477
    {
2478
      if (yyn == 0 || yyn == YYTABLE_NINF)
2479
        goto yyerrlab;
2480
      yyn = -yyn;
2481
      goto yyreduce;
2482
    }
2483
 
2484
  if (yyn == YYFINAL)
2485
    YYACCEPT;
2486
 
2487
  /* Shift the look-ahead token.  */
2488
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
2489
 
2490
  /* Discard the token being shifted unless it is eof.  */
2491
  if (yychar != YYEOF)
2492
    yychar = YYEMPTY;
2493
 
2494
  *++yyvsp = yylval;
2495
 
2496
 
2497
  /* Count tokens shifted since error; after three, turn off error
2498
     status.  */
2499
  if (yyerrstatus)
2500
    yyerrstatus--;
2501
 
2502
  yystate = yyn;
2503
  goto yynewstate;
2504
 
2505
 
2506
/*-----------------------------------------------------------.
2507
| yydefault -- do the default action for the current state.  |
2508
`-----------------------------------------------------------*/
2509
yydefault:
2510
  yyn = yydefact[yystate];
2511
  if (yyn == 0)
2512
    goto yyerrlab;
2513
  goto yyreduce;
2514
 
2515
 
2516
/*-----------------------------.
2517
| yyreduce -- Do a reduction.  |
2518
`-----------------------------*/
2519
yyreduce:
2520
  /* yyn is the number of a rule to reduce with.  */
2521
  yylen = yyr2[yyn];
2522
 
2523
  /* If YYLEN is nonzero, implement the default value of the action:
2524
     `$$ = $1'.
2525
 
2526
     Otherwise, the following line sets YYVAL to garbage.
2527
     This behavior is undocumented and Bison
2528
     users should not rely upon it.  Assigning to YYVAL
2529
     unconditionally makes the parser a bit smaller, and it avoids a
2530
     GCC warning that YYVAL may be used uninitialized.  */
2531
  yyval = yyvsp[1-yylen];
2532
 
2533
 
2534
  YY_REDUCE_PRINT (yyn);
2535
  switch (yyn)
2536
    {
2537
        case 11:
2538
#line 229 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2539
    {
2540
                  /* use preset global here. FIXME */
2541
                  (yyval.node) = xstrdup ("int");
2542
                ;}
2543
    break;
2544
 
2545
  case 12:
2546
#line 234 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2547
    {
2548
                  /* use preset global here. FIXME */
2549
                  (yyval.node) = xstrdup ("double");
2550
                ;}
2551
    break;
2552
 
2553
  case 13:
2554
#line 239 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2555
    {
2556
                  /* use preset global here. FIXME */
2557
                  (yyval.node) = xstrdup ("boolean");
2558
                ;}
2559
    break;
2560
 
2561
  case 19:
2562
#line 264 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2563
    {
2564
                  while (bracket_count-- > 0)
2565
                    (yyval.node) = concat ("[", (yyvsp[-1].node), NULL);
2566
                ;}
2567
    break;
2568
 
2569
  case 20:
2570
#line 269 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2571
    {
2572
                  while (bracket_count-- > 0)
2573
                    (yyval.node) = concat ("[", (yyvsp[-1].node), NULL);
2574
                ;}
2575
    break;
2576
 
2577
  case 24:
2578
#line 287 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2579
    {
2580
                  (yyval.node) = concat ((yyvsp[-2].node), ".", (yyvsp[0].node), NULL);
2581
                ;}
2582
    break;
2583
 
2584
  case 38:
2585
#line 319 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2586
    { package_name = (yyvsp[-1].node); ;}
2587
    break;
2588
 
2589
  case 46:
2590
#line 346 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2591
    {
2592
                  if ((yyvsp[0].value) == PUBLIC_TK)
2593
                    modifier_value++;
2594
                  if ((yyvsp[0].value) == STATIC_TK)
2595
                    modifier_value++;
2596
                  USE_ABSORBER;
2597
                ;}
2598
    break;
2599
 
2600
  case 47:
2601
#line 354 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2602
    {
2603
                  if ((yyvsp[0].value) == PUBLIC_TK)
2604
                    modifier_value++;
2605
                  if ((yyvsp[0].value) == STATIC_TK)
2606
                    modifier_value++;
2607
                  USE_ABSORBER;
2608
                ;}
2609
    break;
2610
 
2611
  case 48:
2612
#line 366 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2613
    {
2614
                  report_class_declaration((yyvsp[-2].node));
2615
                  modifier_value = 0;
2616
                ;}
2617
    break;
2618
 
2619
  case 50:
2620
#line 372 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2621
    { report_class_declaration((yyvsp[-2].node)); ;}
2622
    break;
2623
 
2624
  case 56:
2625
#line 386 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2626
    { USE_ABSORBER; ;}
2627
    break;
2628
 
2629
  case 57:
2630
#line 388 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2631
    { USE_ABSORBER; ;}
2632
    break;
2633
 
2634
  case 58:
2635
#line 393 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2636
    { pop_class_context (); ;}
2637
    break;
2638
 
2639
  case 59:
2640
#line 395 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2641
    { pop_class_context (); ;}
2642
    break;
2643
 
2644
  case 71:
2645
#line 421 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2646
    { USE_ABSORBER; ;}
2647
    break;
2648
 
2649
  case 72:
2650
#line 423 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2651
    { modifier_value = 0; ;}
2652
    break;
2653
 
2654
  case 77:
2655
#line 439 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2656
    { bracket_count = 0; USE_ABSORBER; ;}
2657
    break;
2658
 
2659
  case 78:
2660
#line 441 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2661
    { ++bracket_count; ;}
2662
    break;
2663
 
2664
  case 81:
2665
#line 452 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2666
    { ++method_depth; ;}
2667
    break;
2668
 
2669
  case 82:
2670
#line 454 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2671
    { --method_depth; ;}
2672
    break;
2673
 
2674
  case 83:
2675
#line 459 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2676
    { USE_ABSORBER; ;}
2677
    break;
2678
 
2679
  case 85:
2680
#line 462 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2681
    { modifier_value = 0; ;}
2682
    break;
2683
 
2684
  case 86:
2685
#line 464 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2686
    {
2687
                  report_main_declaration ((yyvsp[-1].declarator));
2688
                  modifier_value = 0;
2689
                ;}
2690
    break;
2691
 
2692
  case 87:
2693
#line 472 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2694
    {
2695
                  struct method_declarator *d;
2696
                  NEW_METHOD_DECLARATOR (d, (yyvsp[-2].node), NULL);
2697
                  (yyval.declarator) = d;
2698
                ;}
2699
    break;
2700
 
2701
  case 88:
2702
#line 478 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2703
    {
2704
                  struct method_declarator *d;
2705
                  NEW_METHOD_DECLARATOR (d, (yyvsp[-3].node), (yyvsp[-1].node));
2706
                  (yyval.declarator) = d;
2707
                ;}
2708
    break;
2709
 
2710
  case 91:
2711
#line 489 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2712
    {
2713
                  (yyval.node) = concat ((yyvsp[-2].node), ",", (yyvsp[0].node), NULL);
2714
                ;}
2715
    break;
2716
 
2717
  case 92:
2718
#line 496 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2719
    {
2720
                  USE_ABSORBER;
2721
                  if (bracket_count)
2722
                    {
2723
                      int i;
2724
                      char *n = xmalloc (bracket_count + 1 + strlen ((yyval.node)));
2725
                      for (i = 0; i < bracket_count; ++i)
2726
                        n[i] = '[';
2727
                      strcpy (n + bracket_count, (yyval.node));
2728
                      (yyval.node) = n;
2729
                    }
2730
                  else
2731
                    (yyval.node) = (yyvsp[-1].node);
2732
                ;}
2733
    break;
2734
 
2735
  case 93:
2736
#line 511 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2737
    {
2738
                  if (bracket_count)
2739
                    {
2740
                      int i;
2741
                      char *n = xmalloc (bracket_count + 1 + strlen ((yyvsp[-1].node)));
2742
                      for (i = 0; i < bracket_count; ++i)
2743
                        n[i] = '[';
2744
                      strcpy (n + bracket_count, (yyvsp[-1].node));
2745
                      (yyval.node) = n;
2746
                    }
2747
                  else
2748
                    (yyval.node) = (yyvsp[-1].node);
2749
                ;}
2750
    break;
2751
 
2752
  case 96:
2753
#line 532 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2754
    { USE_ABSORBER; ;}
2755
    break;
2756
 
2757
  case 97:
2758
#line 534 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2759
    { USE_ABSORBER; ;}
2760
    break;
2761
 
2762
  case 101:
2763
#line 549 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2764
    { USE_ABSORBER; ;}
2765
    break;
2766
 
2767
  case 103:
2768
#line 560 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2769
    { modifier_value = 0; ;}
2770
    break;
2771
 
2772
  case 105:
2773
#line 565 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2774
    { modifier_value = 0; ;}
2775
    break;
2776
 
2777
  case 106:
2778
#line 572 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2779
    { USE_ABSORBER; ;}
2780
    break;
2781
 
2782
  case 107:
2783
#line 574 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2784
    { USE_ABSORBER; ;}
2785
    break;
2786
 
2787
  case 114:
2788
#line 591 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2789
    { USE_ABSORBER; ;}
2790
    break;
2791
 
2792
  case 115:
2793
#line 593 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2794
    { USE_ABSORBER; ;}
2795
    break;
2796
 
2797
  case 118:
2798
#line 605 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2799
    { report_class_declaration ((yyvsp[0].node)); modifier_value = 0; ;}
2800
    break;
2801
 
2802
  case 120:
2803
#line 608 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2804
    { report_class_declaration ((yyvsp[0].node)); modifier_value = 0; ;}
2805
    break;
2806
 
2807
  case 122:
2808
#line 611 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2809
    { report_class_declaration ((yyvsp[-1].node)); modifier_value = 0; ;}
2810
    break;
2811
 
2812
  case 124:
2813
#line 614 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2814
    { report_class_declaration ((yyvsp[-1].node)); modifier_value = 0; ;}
2815
    break;
2816
 
2817
  case 128:
2818
#line 625 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2819
    { pop_class_context (); ;}
2820
    break;
2821
 
2822
  case 129:
2823
#line 627 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2824
    { pop_class_context (); ;}
2825
    break;
2826
 
2827
  case 153:
2828
#line 687 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2829
    { USE_ABSORBER; ;}
2830
    break;
2831
 
2832
  case 154:
2833
#line 689 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2834
    { modifier_value = 0; ;}
2835
    break;
2836
 
2837
  case 179:
2838
#line 730 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2839
    { USE_ABSORBER; ;}
2840
    break;
2841
 
2842
  case 190:
2843
#line 758 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2844
    { ++complexity; ;}
2845
    break;
2846
 
2847
  case 191:
2848
#line 763 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2849
    { ++complexity; ;}
2850
    break;
2851
 
2852
  case 192:
2853
#line 768 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2854
    { ++complexity; ;}
2855
    break;
2856
 
2857
  case 200:
2858
#line 788 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2859
    { ++complexity; ;}
2860
    break;
2861
 
2862
  case 205:
2863
#line 803 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2864
    { ++complexity; ;}
2865
    break;
2866
 
2867
  case 209:
2868
#line 820 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2869
    { ++complexity; ;}
2870
    break;
2871
 
2872
  case 215:
2873
#line 838 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2874
    { ++complexity; ;}
2875
    break;
2876
 
2877
  case 226:
2878
#line 863 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2879
    { ++complexity; ;}
2880
    break;
2881
 
2882
  case 229:
2883
#line 872 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2884
    { ++complexity; ;}
2885
    break;
2886
 
2887
  case 232:
2888
#line 879 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2889
    {yyerror ("Missing term"); RECOVER;;}
2890
    break;
2891
 
2892
  case 233:
2893
#line 881 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2894
    {yyerror ("';' expected"); RECOVER;;}
2895
    break;
2896
 
2897
  case 236:
2898
#line 890 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2899
    { USE_ABSORBER; ;}
2900
    break;
2901
 
2902
  case 242:
2903
#line 905 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2904
    { ++complexity; ;}
2905
    break;
2906
 
2907
  case 243:
2908
#line 909 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2909
    { ++complexity; ;}
2910
    break;
2911
 
2912
  case 254:
2913
#line 931 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2914
    { USE_ABSORBER; ;}
2915
    break;
2916
 
2917
  case 255:
2918
#line 936 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2919
    { USE_ABSORBER; ;}
2920
    break;
2921
 
2922
  case 256:
2923
#line 938 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2924
    { USE_ABSORBER; ;}
2925
    break;
2926
 
2927
  case 257:
2928
#line 940 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2929
    { USE_ABSORBER; ;}
2930
    break;
2931
 
2932
  case 258:
2933
#line 942 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2934
    { USE_ABSORBER; ;}
2935
    break;
2936
 
2937
  case 266:
2938
#line 957 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2939
    { report_class_declaration (anonymous_context); ;}
2940
    break;
2941
 
2942
  case 268:
2943
#line 960 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2944
    { report_class_declaration (anonymous_context); ;}
2945
    break;
2946
 
2947
  case 270:
2948
#line 966 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2949
    { USE_ABSORBER; ;}
2950
    break;
2951
 
2952
  case 284:
2953
#line 998 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2954
    { bracket_count = 1; ;}
2955
    break;
2956
 
2957
  case 285:
2958
#line 1000 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2959
    { bracket_count++; ;}
2960
    break;
2961
 
2962
  case 288:
2963
#line 1013 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2964
    { USE_ABSORBER; ++complexity; ;}
2965
    break;
2966
 
2967
  case 289:
2968
#line 1015 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2969
    { USE_ABSORBER; ++complexity; ;}
2970
    break;
2971
 
2972
  case 290:
2973
#line 1016 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2974
    { ++complexity; ;}
2975
    break;
2976
 
2977
  case 291:
2978
#line 1017 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2979
    { ++complexity; ;}
2980
    break;
2981
 
2982
  case 292:
2983
#line 1018 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2984
    { ++complexity; ;}
2985
    break;
2986
 
2987
  case 293:
2988
#line 1019 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2989
    { ++complexity; ;}
2990
    break;
2991
 
2992
  case 294:
2993
#line 1024 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2994
    { USE_ABSORBER; ;}
2995
    break;
2996
 
2997
  case 297:
2998
#line 1031 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
2999
    { USE_ABSORBER; ;}
3000
    break;
3001
 
3002
  case 344:
3003
#line 1127 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
3004
    { ++complexity; ;}
3005
    break;
3006
 
3007
  case 346:
3008
#line 1133 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
3009
    { ++complexity; ;}
3010
    break;
3011
 
3012
  case 348:
3013
#line 1139 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
3014
    { ++complexity; ;}
3015
    break;
3016
 
3017
  case 352:
3018
#line 1153 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
3019
    { USE_ABSORBER; ;}
3020
    break;
3021
 
3022
 
3023
    }
3024
 
3025
/* Line 1037 of yacc.c.  */
3026
#line 3027 "java/parse-scan.c"
3027
 
3028
  yyvsp -= yylen;
3029
  yyssp -= yylen;
3030
 
3031
 
3032
  YY_STACK_PRINT (yyss, yyssp);
3033
 
3034
  *++yyvsp = yyval;
3035
 
3036
 
3037
  /* Now `shift' the result of the reduction.  Determine what state
3038
     that goes to, based on the state we popped back to and the rule
3039
     number reduced by.  */
3040
 
3041
  yyn = yyr1[yyn];
3042
 
3043
  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
3044
  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
3045
    yystate = yytable[yystate];
3046
  else
3047
    yystate = yydefgoto[yyn - YYNTOKENS];
3048
 
3049
  goto yynewstate;
3050
 
3051
 
3052
/*------------------------------------.
3053
| yyerrlab -- here on detecting error |
3054
`------------------------------------*/
3055
yyerrlab:
3056
  /* If not already recovering from an error, report this error.  */
3057
  if (!yyerrstatus)
3058
    {
3059
      ++yynerrs;
3060
#if YYERROR_VERBOSE
3061
      yyn = yypact[yystate];
3062
 
3063
      if (YYPACT_NINF < yyn && yyn < YYLAST)
3064
        {
3065
          YYSIZE_T yysize = 0;
3066
          int yytype = YYTRANSLATE (yychar);
3067
          const char* yyprefix;
3068
          char *yymsg;
3069
          int yyx;
3070
 
3071
          /* Start YYX at -YYN if negative to avoid negative indexes in
3072
             YYCHECK.  */
3073
          int yyxbegin = yyn < 0 ? -yyn : 0;
3074
 
3075
          /* Stay within bounds of both yycheck and yytname.  */
3076
          int yychecklim = YYLAST - yyn;
3077
          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3078
          int yycount = 0;
3079
 
3080
          yyprefix = ", expecting ";
3081
          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3082
            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3083
              {
3084
                yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]);
3085
                yycount += 1;
3086
                if (yycount == 5)
3087
                  {
3088
                    yysize = 0;
3089
                    break;
3090
                  }
3091
              }
3092
          yysize += (sizeof ("syntax error, unexpected ")
3093
                     + yystrlen (yytname[yytype]));
3094
          yymsg = (char *) YYSTACK_ALLOC (yysize);
3095
          if (yymsg != 0)
3096
            {
3097
              char *yyp = yystpcpy (yymsg, "syntax error, unexpected ");
3098
              yyp = yystpcpy (yyp, yytname[yytype]);
3099
 
3100
              if (yycount < 5)
3101
                {
3102
                  yyprefix = ", expecting ";
3103
                  for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3104
                    if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3105
                      {
3106
                        yyp = yystpcpy (yyp, yyprefix);
3107
                        yyp = yystpcpy (yyp, yytname[yyx]);
3108
                        yyprefix = " or ";
3109
                      }
3110
                }
3111
              yyerror (yymsg);
3112
              YYSTACK_FREE (yymsg);
3113
            }
3114
          else
3115
            yyerror ("syntax error; also virtual memory exhausted");
3116
        }
3117
      else
3118
#endif /* YYERROR_VERBOSE */
3119
        yyerror ("syntax error");
3120
    }
3121
 
3122
 
3123
 
3124
  if (yyerrstatus == 3)
3125
    {
3126
      /* If just tried and failed to reuse look-ahead token after an
3127
         error, discard it.  */
3128
 
3129
      if (yychar <= YYEOF)
3130
        {
3131
          /* If at end of input, pop the error token,
3132
             then the rest of the stack, then return failure.  */
3133
          if (yychar == YYEOF)
3134
             for (;;)
3135
               {
3136
 
3137
                 YYPOPSTACK;
3138
                 if (yyssp == yyss)
3139
                   YYABORT;
3140
                 yydestruct ("Error: popping",
3141
                             yystos[*yyssp], yyvsp);
3142
               }
3143
        }
3144
      else
3145
        {
3146
          yydestruct ("Error: discarding", yytoken, &yylval);
3147
          yychar = YYEMPTY;
3148
        }
3149
    }
3150
 
3151
  /* Else will try to reuse look-ahead token after shifting the error
3152
     token.  */
3153
  goto yyerrlab1;
3154
 
3155
 
3156
/*---------------------------------------------------.
3157
| yyerrorlab -- error raised explicitly by YYERROR.  |
3158
`---------------------------------------------------*/
3159
yyerrorlab:
3160
 
3161
#ifdef __GNUC__
3162
  /* Pacify GCC when the user code never invokes YYERROR and the label
3163
     yyerrorlab therefore never appears in user code.  */
3164
  if (0)
3165
     goto yyerrorlab;
3166
#endif
3167
 
3168
yyvsp -= yylen;
3169
  yyssp -= yylen;
3170
  yystate = *yyssp;
3171
  goto yyerrlab1;
3172
 
3173
 
3174
/*-------------------------------------------------------------.
3175
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
3176
`-------------------------------------------------------------*/
3177
yyerrlab1:
3178
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
3179
 
3180
  for (;;)
3181
    {
3182
      yyn = yypact[yystate];
3183
      if (yyn != YYPACT_NINF)
3184
        {
3185
          yyn += YYTERROR;
3186
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
3187
            {
3188
              yyn = yytable[yyn];
3189
              if (0 < yyn)
3190
                break;
3191
            }
3192
        }
3193
 
3194
      /* Pop the current state because it cannot handle the error token.  */
3195
      if (yyssp == yyss)
3196
        YYABORT;
3197
 
3198
 
3199
      yydestruct ("Error: popping", yystos[yystate], yyvsp);
3200
      YYPOPSTACK;
3201
      yystate = *yyssp;
3202
      YY_STACK_PRINT (yyss, yyssp);
3203
    }
3204
 
3205
  if (yyn == YYFINAL)
3206
    YYACCEPT;
3207
 
3208
  *++yyvsp = yylval;
3209
 
3210
 
3211
  /* Shift the error token. */
3212
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
3213
 
3214
  yystate = yyn;
3215
  goto yynewstate;
3216
 
3217
 
3218
/*-------------------------------------.
3219
| yyacceptlab -- YYACCEPT comes here.  |
3220
`-------------------------------------*/
3221
yyacceptlab:
3222
  yyresult = 0;
3223
  goto yyreturn;
3224
 
3225
/*-----------------------------------.
3226
| yyabortlab -- YYABORT comes here.  |
3227
`-----------------------------------*/
3228
yyabortlab:
3229
  yydestruct ("Error: discarding lookahead",
3230
              yytoken, &yylval);
3231
  yychar = YYEMPTY;
3232
  yyresult = 1;
3233
  goto yyreturn;
3234
 
3235
#ifndef yyoverflow
3236
/*----------------------------------------------.
3237
| yyoverflowlab -- parser overflow comes here.  |
3238
`----------------------------------------------*/
3239
yyoverflowlab:
3240
  yyerror ("parser stack overflow");
3241
  yyresult = 2;
3242
  /* Fall through.  */
3243
#endif
3244
 
3245
yyreturn:
3246
#ifndef yyoverflow
3247
  if (yyss != yyssa)
3248
    YYSTACK_FREE (yyss);
3249
#endif
3250
  return yyresult;
3251
}
3252
 
3253
 
3254
#line 1171 "/scratch/mitchell/gcc-releases/gcc-4.1.1/gcc-4.1.1/gcc/java/parse-scan.y"
3255
 
3256
 
3257
/* Create a new parser context */
3258
 
3259
void
3260
java_push_parser_context (void)
3261
{
3262
  struct parser_ctxt *new = xcalloc (1, sizeof (struct parser_ctxt));
3263
 
3264
  new->next = ctxp;
3265
  ctxp = new;
3266
}
3267
 
3268
static void
3269
push_class_context (const char *name)
3270
{
3271
  struct class_context *ctx;
3272
 
3273
  ctx = xmalloc (sizeof (struct class_context));
3274
  ctx->name = (char *) name;
3275
  ctx->next = current_class_context;
3276
  current_class_context = ctx;
3277
}
3278
 
3279
static void
3280
pop_class_context (void)
3281
{
3282
  struct class_context *ctx;
3283
 
3284
  if (current_class_context == NULL)
3285
    return;
3286
 
3287
  ctx = current_class_context->next;
3288
  if (current_class_context->name != anonymous_context)
3289
    free (current_class_context->name);
3290
  free (current_class_context);
3291
 
3292
  current_class_context = ctx;
3293
  if (current_class_context == NULL)
3294
    anonymous_count = 0;
3295
}
3296
 
3297
/* Recursively construct the class name.  This is just a helper
3298
   function for get_class_name().  */
3299
static int
3300
make_class_name_recursive (struct obstack *stack, struct class_context *ctx)
3301
{
3302
  if (! ctx)
3303
    return 0;
3304
 
3305
  make_class_name_recursive (stack, ctx->next);
3306
 
3307
  /* Replace an anonymous context with the appropriate counter value.  */
3308
  if (ctx->name == anonymous_context)
3309
    {
3310
      char buf[50];
3311
      ++anonymous_count;
3312
      sprintf (buf, "%d", anonymous_count);
3313
      ctx->name = xstrdup (buf);
3314
    }
3315
 
3316
  obstack_grow (stack, ctx->name, strlen (ctx->name));
3317
  obstack_1grow (stack, '$');
3318
 
3319
  return ISDIGIT (ctx->name[0]);
3320
}
3321
 
3322
/* Return a newly allocated string holding the name of the class.  */
3323
static char *
3324
get_class_name (void)
3325
{
3326
  char *result;
3327
  int last_was_digit;
3328
  struct obstack name_stack;
3329
 
3330
  obstack_init (&name_stack);
3331
 
3332
  /* Duplicate the logic of parse.y:maybe_make_nested_class_name().  */
3333
  last_was_digit = make_class_name_recursive (&name_stack,
3334
                                              current_class_context->next);
3335
 
3336
  if (! last_was_digit
3337
      && method_depth
3338
      && current_class_context->name != anonymous_context)
3339
    {
3340
      char buf[50];
3341
      ++anonymous_count;
3342
      sprintf (buf, "%d", anonymous_count);
3343
      obstack_grow (&name_stack, buf, strlen (buf));
3344
      obstack_1grow (&name_stack, '$');
3345
    }
3346
 
3347
  if (current_class_context->name == anonymous_context)
3348
    {
3349
      char buf[50];
3350
      ++anonymous_count;
3351
      sprintf (buf, "%d", anonymous_count);
3352
      current_class_context->name = xstrdup (buf);
3353
      obstack_grow0 (&name_stack, buf, strlen (buf));
3354
    }
3355
  else
3356
    obstack_grow0 (&name_stack, current_class_context->name,
3357
                   strlen (current_class_context->name));
3358
 
3359
  result = xstrdup (obstack_finish (&name_stack));
3360
  obstack_free (&name_stack, NULL);
3361
 
3362
  return result;
3363
}
3364
 
3365
/* Actions defined here */
3366
 
3367
static void
3368
report_class_declaration (const char * name)
3369
{
3370
  extern int flag_dump_class, flag_list_filename;
3371
 
3372
  push_class_context (name);
3373
  if (flag_dump_class)
3374
    {
3375
      char *name = get_class_name ();
3376
 
3377
      if (!previous_output)
3378
        {
3379
          if (flag_list_filename)
3380
            fprintf (out, "%s: ", main_input_filename);
3381
          previous_output = 1;
3382
        }
3383
 
3384
      if (package_name)
3385
        fprintf (out, "%s.%s ", package_name, name);
3386
      else
3387
        fprintf (out, "%s ", name);
3388
 
3389
      free (name);
3390
    }
3391
}
3392
 
3393
static void
3394
report_main_declaration (struct method_declarator *declarator)
3395
{
3396
  extern int flag_find_main;
3397
 
3398
  if (flag_find_main
3399
      && modifier_value == 2
3400
      && !strcmp (declarator->method_name, "main")
3401
      && declarator->args
3402
      && declarator->args [0] == '['
3403
      && (! strcmp (declarator->args+1, "String")
3404
          || ! strcmp (declarator->args + 1, "java.lang.String"))
3405
      && current_class_context)
3406
    {
3407
      if (!previous_output)
3408
        {
3409
          char *name = get_class_name ();
3410
          if (package_name)
3411
            fprintf (out, "%s.%s ", package_name, name);
3412
          else
3413
            fprintf (out, "%s", name);
3414
          free (name);
3415
          previous_output = 1;
3416
        }
3417
    }
3418
}
3419
 
3420
void
3421
report (void)
3422
{
3423
  extern int flag_complexity;
3424
  if (flag_complexity)
3425
    fprintf (out, "%s %d\n", main_input_filename, complexity);
3426
}
3427
 
3428
/* Reset global status used by the report functions.  */
3429
 
3430
void
3431
reset_report (void)
3432
{
3433
  previous_output = 0;
3434
  package_name = NULL;
3435
  current_class_context = NULL;
3436
  complexity = 0;
3437
}
3438
 
3439
void
3440
yyerror (const char *msg ATTRIBUTE_UNUSED)
3441
{
3442
  fprintf (stderr, "%s: %s\n", main_input_filename, msg);
3443
  exit (1);
3444
}
3445
 
3446
#ifdef __XGETTEXT__
3447
/* Depending on the version of Bison used to compile this grammar,
3448
   it may issue generic diagnostics spelled "syntax error" or
3449
   "parse error".  To prevent this from changing the translation
3450
   template randomly, we list all the variants of this particular
3451
   diagnostic here.  Translators: there is no fine distinction
3452
   between diagnostics with "syntax error" in them, and diagnostics
3453
   with "parse error" in them.  It's okay to give them both the same
3454
   translation.  */
3455
const char d1[] = N_("syntax error");
3456
const char d2[] = N_("parse error");
3457
const char d3[] = N_("syntax error; also virtual memory exhausted");
3458
const char d4[] = N_("parse error; also virtual memory exhausted");
3459
const char d5[] = N_("syntax error: cannot back up");
3460
const char d6[] = N_("parse error: cannot back up");
3461
#endif
3462
 
3463
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.