1: /* A Bison parser, made by GNU Bison 2.3. */
2:
3: /* Skeleton implementation for Bison's Yacc-like parsers in C
4:
5: Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6: Free Software Foundation, Inc.
7:
8: This program is free software; you can redistribute it and/or modify
9: it under the terms of the GNU General Public License as published by
10: the Free Software Foundation; either version 2, or (at your option)
11: any later version.
12:
13: This program is distributed in the hope that it will be useful,
14: but WITHOUT ANY WARRANTY; without even the implied warranty of
15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16: GNU General Public License for more details.
17:
18: You should have received a copy of the GNU General Public License
19: along with this program; if not, write to the Free Software
20: Foundation, Inc., 51 Franklin Street, Fifth Floor,
21: Boston, MA 02110-1301, USA. */
22:
23: /* As a special exception, you may create a larger work that contains
24: part or all of the Bison parser skeleton and distribute that work
25: under terms of your choice, so long as that work isn't itself a
26: parser generator using the skeleton or a modified version thereof
27: as a parser skeleton. Alternatively, if you modify or redistribute
28: the parser skeleton itself, you may (at your option) remove this
29: special exception, which will cause the skeleton and the resulting
30: Bison output files to be licensed under the GNU General Public
31: License without this special exception.
32:
33: This special exception was added by the Free Software Foundation in
34: version 2.2 of Bison. */
35:
36: /* C LALR(1) parser skeleton written by Richard Stallman, by
37: simplifying the original so-called "semantic" parser. */
38:
39: /* All symbols defined below should begin with yy or YY, to avoid
40: infringing on user name space. This should be done even for local
41: variables, as they might otherwise be expanded by user macros.
42: There are some unavoidable exceptions within include files to
43: define necessary library symbols; they are noted "INFRINGES ON
44: USER NAME SPACE" below. */
45:
46: /* Identify Bison output. */
47: #define YYBISON 1
48:
49: /* Bison version. */
50: #define YYBISON_VERSION "2.3"
51:
52: /* Skeleton name. */
53: #define YYSKELETON_NAME "yacc.c"
54:
55: /* Pure parsers. */
56: #define YYPURE 1
57:
58: /* Using locations. */
59: #define YYLSP_NEEDED 0
60:
61: /* Substitute the variable and function names. */
62: #define yyparse zendparse
63: #define yylex zendlex
64: #define yyerror zenderror
65: #define yylval zendlval
66: #define yychar zendchar
67: #define yydebug zenddebug
68: #define yynerrs zendnerrs
69:
70:
71: /* Tokens. */
72: #ifndef YYTOKENTYPE
73: # define YYTOKENTYPE
74: /* Put the tokens into the symbol table, so that GDB and other debuggers
75: know about them. */
76: enum yytokentype {
77: END = 0,
78: T_REQUIRE_ONCE = 258,
79: T_REQUIRE = 259,
80: T_EVAL = 260,
81: T_INCLUDE_ONCE = 261,
82: T_INCLUDE = 262,
83: T_LOGICAL_OR = 263,
84: T_LOGICAL_XOR = 264,
85: T_LOGICAL_AND = 265,
86: T_PRINT = 266,
87: T_SR_EQUAL = 267,
88: T_SL_EQUAL = 268,
89: T_XOR_EQUAL = 269,
90: T_OR_EQUAL = 270,
91: T_AND_EQUAL = 271,
92: T_MOD_EQUAL = 272,
93: T_CONCAT_EQUAL = 273,
94: T_DIV_EQUAL = 274,
95: T_MUL_EQUAL = 275,
96: T_MINUS_EQUAL = 276,
97: T_PLUS_EQUAL = 277,
98: T_BOOLEAN_OR = 278,
99: T_BOOLEAN_AND = 279,
100: T_IS_NOT_IDENTICAL = 280,
101: T_IS_IDENTICAL = 281,
102: T_IS_NOT_EQUAL = 282,
103: T_IS_EQUAL = 283,
104: T_IS_GREATER_OR_EQUAL = 284,
105: T_IS_SMALLER_OR_EQUAL = 285,
106: T_SR = 286,
107: T_SL = 287,
108: T_INSTANCEOF = 288,
109: T_UNSET_CAST = 289,
110: T_BOOL_CAST = 290,
111: T_OBJECT_CAST = 291,
112: T_ARRAY_CAST = 292,
113: T_STRING_CAST = 293,
114: T_DOUBLE_CAST = 294,
115: T_INT_CAST = 295,
116: T_DEC = 296,
117: T_INC = 297,
118: T_CLONE = 298,
119: T_NEW = 299,
120: T_EXIT = 300,
121: T_IF = 301,
122: T_ELSEIF = 302,
123: T_ELSE = 303,
124: T_ENDIF = 304,
125: T_LNUMBER = 305,
126: T_DNUMBER = 306,
127: T_STRING = 307,
128: T_STRING_VARNAME = 308,
129: T_VARIABLE = 309,
130: T_NUM_STRING = 310,
131: T_INLINE_HTML = 311,
132: T_CHARACTER = 312,
133: T_BAD_CHARACTER = 313,
134: T_ENCAPSED_AND_WHITESPACE = 314,
135: T_CONSTANT_ENCAPSED_STRING = 315,
136: T_ECHO = 316,
137: T_DO = 317,
138: T_WHILE = 318,
139: T_ENDWHILE = 319,
140: T_FOR = 320,
141: T_ENDFOR = 321,
142: T_FOREACH = 322,
143: T_ENDFOREACH = 323,
144: T_DECLARE = 324,
145: T_ENDDECLARE = 325,
146: T_AS = 326,
147: T_SWITCH = 327,
148: T_ENDSWITCH = 328,
149: T_CASE = 329,
150: T_DEFAULT = 330,
151: T_BREAK = 331,
152: T_CONTINUE = 332,
153: T_GOTO = 333,
154: T_FUNCTION = 334,
155: T_CONST = 335,
156: T_RETURN = 336,
157: T_TRY = 337,
158: T_CATCH = 338,
159: T_THROW = 339,
160: T_USE = 340,
161: T_INSTEADOF = 341,
162: T_GLOBAL = 342,
163: T_PUBLIC = 343,
164: T_PROTECTED = 344,
165: T_PRIVATE = 345,
166: T_FINAL = 346,
167: T_ABSTRACT = 347,
168: T_STATIC = 348,
169: T_VAR = 349,
170: T_UNSET = 350,
171: T_ISSET = 351,
172: T_EMPTY = 352,
173: T_HALT_COMPILER = 353,
174: T_CLASS = 354,
175: T_TRAIT = 355,
176: T_INTERFACE = 356,
177: T_EXTENDS = 357,
178: T_IMPLEMENTS = 358,
179: T_OBJECT_OPERATOR = 359,
180: T_DOUBLE_ARROW = 360,
181: T_LIST = 361,
182: T_ARRAY = 362,
183: T_CALLABLE = 363,
184: T_CLASS_C = 364,
185: T_TRAIT_C = 365,
186: T_METHOD_C = 366,
187: T_FUNC_C = 367,
188: T_LINE = 368,
189: T_FILE = 369,
190: T_COMMENT = 370,
191: T_DOC_COMMENT = 371,
192: T_OPEN_TAG = 372,
193: T_OPEN_TAG_WITH_ECHO = 373,
194: T_CLOSE_TAG = 374,
195: T_WHITESPACE = 375,
196: T_START_HEREDOC = 376,
197: T_END_HEREDOC = 377,
198: T_DOLLAR_OPEN_CURLY_BRACES = 378,
199: T_CURLY_OPEN = 379,
200: T_PAAMAYIM_NEKUDOTAYIM = 380,
201: T_NAMESPACE = 381,
202: T_NS_C = 382,
203: T_DIR = 383,
204: T_NS_SEPARATOR = 384
205: };
206: #endif
207: /* Tokens. */
208: #define END 0
209: #define T_REQUIRE_ONCE 258
210: #define T_REQUIRE 259
211: #define T_EVAL 260
212: #define T_INCLUDE_ONCE 261
213: #define T_INCLUDE 262
214: #define T_LOGICAL_OR 263
215: #define T_LOGICAL_XOR 264
216: #define T_LOGICAL_AND 265
217: #define T_PRINT 266
218: #define T_SR_EQUAL 267
219: #define T_SL_EQUAL 268
220: #define T_XOR_EQUAL 269
221: #define T_OR_EQUAL 270
222: #define T_AND_EQUAL 271
223: #define T_MOD_EQUAL 272
224: #define T_CONCAT_EQUAL 273
225: #define T_DIV_EQUAL 274
226: #define T_MUL_EQUAL 275
227: #define T_MINUS_EQUAL 276
228: #define T_PLUS_EQUAL 277
229: #define T_BOOLEAN_OR 278
230: #define T_BOOLEAN_AND 279
231: #define T_IS_NOT_IDENTICAL 280
232: #define T_IS_IDENTICAL 281
233: #define T_IS_NOT_EQUAL 282
234: #define T_IS_EQUAL 283
235: #define T_IS_GREATER_OR_EQUAL 284
236: #define T_IS_SMALLER_OR_EQUAL 285
237: #define T_SR 286
238: #define T_SL 287
239: #define T_INSTANCEOF 288
240: #define T_UNSET_CAST 289
241: #define T_BOOL_CAST 290
242: #define T_OBJECT_CAST 291
243: #define T_ARRAY_CAST 292
244: #define T_STRING_CAST 293
245: #define T_DOUBLE_CAST 294
246: #define T_INT_CAST 295
247: #define T_DEC 296
248: #define T_INC 297
249: #define T_CLONE 298
250: #define T_NEW 299
251: #define T_EXIT 300
252: #define T_IF 301
253: #define T_ELSEIF 302
254: #define T_ELSE 303
255: #define T_ENDIF 304
256: #define T_LNUMBER 305
257: #define T_DNUMBER 306
258: #define T_STRING 307
259: #define T_STRING_VARNAME 308
260: #define T_VARIABLE 309
261: #define T_NUM_STRING 310
262: #define T_INLINE_HTML 311
263: #define T_CHARACTER 312
264: #define T_BAD_CHARACTER 313
265: #define T_ENCAPSED_AND_WHITESPACE 314
266: #define T_CONSTANT_ENCAPSED_STRING 315
267: #define T_ECHO 316
268: #define T_DO 317
269: #define T_WHILE 318
270: #define T_ENDWHILE 319
271: #define T_FOR 320
272: #define T_ENDFOR 321
273: #define T_FOREACH 322
274: #define T_ENDFOREACH 323
275: #define T_DECLARE 324
276: #define T_ENDDECLARE 325
277: #define T_AS 326
278: #define T_SWITCH 327
279: #define T_ENDSWITCH 328
280: #define T_CASE 329
281: #define T_DEFAULT 330
282: #define T_BREAK 331
283: #define T_CONTINUE 332
284: #define T_GOTO 333
285: #define T_FUNCTION 334
286: #define T_CONST 335
287: #define T_RETURN 336
288: #define T_TRY 337
289: #define T_CATCH 338
290: #define T_THROW 339
291: #define T_USE 340
292: #define T_INSTEADOF 341
293: #define T_GLOBAL 342
294: #define T_PUBLIC 343
295: #define T_PROTECTED 344
296: #define T_PRIVATE 345
297: #define T_FINAL 346
298: #define T_ABSTRACT 347
299: #define T_STATIC 348
300: #define T_VAR 349
301: #define T_UNSET 350
302: #define T_ISSET 351
303: #define T_EMPTY 352
304: #define T_HALT_COMPILER 353
305: #define T_CLASS 354
306: #define T_TRAIT 355
307: #define T_INTERFACE 356
308: #define T_EXTENDS 357
309: #define T_IMPLEMENTS 358
310: #define T_OBJECT_OPERATOR 359
311: #define T_DOUBLE_ARROW 360
312: #define T_LIST 361
313: #define T_ARRAY 362
314: #define T_CALLABLE 363
315: #define T_CLASS_C 364
316: #define T_TRAIT_C 365
317: #define T_METHOD_C 366
318: #define T_FUNC_C 367
319: #define T_LINE 368
320: #define T_FILE 369
321: #define T_COMMENT 370
322: #define T_DOC_COMMENT 371
323: #define T_OPEN_TAG 372
324: #define T_OPEN_TAG_WITH_ECHO 373
325: #define T_CLOSE_TAG 374
326: #define T_WHITESPACE 375
327: #define T_START_HEREDOC 376
328: #define T_END_HEREDOC 377
329: #define T_DOLLAR_OPEN_CURLY_BRACES 378
330: #define T_CURLY_OPEN 379
331: #define T_PAAMAYIM_NEKUDOTAYIM 380
332: #define T_NAMESPACE 381
333: #define T_NS_C 382
334: #define T_DIR 383
335: #define T_NS_SEPARATOR 384
336:
337:
338:
339:
340: /* Copy the first part of user declarations. */
341:
342:
343: /*
344: +----------------------------------------------------------------------+
345: | Zend Engine |
346: +----------------------------------------------------------------------+
347: | Copyright (c) 1998-2012 Zend Technologies Ltd. (http://www.zend.com) |
348: +----------------------------------------------------------------------+
349: | This source file is subject to version 2.00 of the Zend license, |
350: | that is bundled with this package in the file LICENSE, and is |
351: | available through the world-wide-web at the following url: |
352: | http://www.zend.com/license/2_00.txt. |
353: | If you did not receive a copy of the Zend license and are unable to |
354: | obtain it through the world-wide-web, please send a note to |
355: | license@zend.com so we can mail you a copy immediately. |
356: +----------------------------------------------------------------------+
357: | Authors: Andi Gutmans <andi@zend.com> |
358: | Zeev Suraski <zeev@zend.com> |
359: +----------------------------------------------------------------------+
360: */
361:
362: /* $Id: zend_language_parser.c,v 1.1.1.2 2012/05/29 12:34:35 misho Exp $ */
363:
364: /*
365: * LALR shift/reduce conflicts and how they are resolved:
366: *
367: * - 2 shift/reduce conflicts due to the dangling elseif/else ambiguity. Solved by shift.
368: *
369: */
370:
371:
372: #include "zend_compile.h"
373: #include "zend.h"
374: #include "zend_list.h"
375: #include "zend_globals.h"
376: #include "zend_API.h"
377: #include "zend_constants.h"
378:
379: #define YYSIZE_T size_t
380: #define yytnamerr zend_yytnamerr
381: static YYSIZE_T zend_yytnamerr(char*, const char*);
382:
383: #define YYERROR_VERBOSE
384: #define YYSTYPE znode
385: #ifdef ZTS
386: # define YYPARSE_PARAM tsrm_ls
387: # define YYLEX_PARAM tsrm_ls
388: #endif
389:
390:
391:
392:
393: /* Enabling traces. */
394: #ifndef YYDEBUG
395: # define YYDEBUG 0
396: #endif
397:
398: /* Enabling verbose error messages. */
399: #ifdef YYERROR_VERBOSE
400: # undef YYERROR_VERBOSE
401: # define YYERROR_VERBOSE 1
402: #else
403: # define YYERROR_VERBOSE 0
404: #endif
405:
406: /* Enabling the token table. */
407: #ifndef YYTOKEN_TABLE
408: # define YYTOKEN_TABLE 0
409: #endif
410:
411: #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
412: typedef int YYSTYPE;
413: # define yystype YYSTYPE /* obsolescent; will be withdrawn */
414: # define YYSTYPE_IS_DECLARED 1
415: # define YYSTYPE_IS_TRIVIAL 1
416: #endif
417:
418:
419:
420: /* Copy the second part of user declarations. */
421:
422:
423: /* Line 216 of yacc.c. */
424:
425:
426: #ifdef short
427: # undef short
428: #endif
429:
430: #ifdef YYTYPE_UINT8
431: typedef YYTYPE_UINT8 yytype_uint8;
432: #else
433: typedef unsigned char yytype_uint8;
434: #endif
435:
436: #ifdef YYTYPE_INT8
437: typedef YYTYPE_INT8 yytype_int8;
438: #elif (defined __STDC__ || defined __C99__FUNC__ \
439: || defined __cplusplus || defined _MSC_VER)
440: typedef signed char yytype_int8;
441: #else
442: typedef short int yytype_int8;
443: #endif
444:
445: #ifdef YYTYPE_UINT16
446: typedef YYTYPE_UINT16 yytype_uint16;
447: #else
448: typedef unsigned short int yytype_uint16;
449: #endif
450:
451: #ifdef YYTYPE_INT16
452: typedef YYTYPE_INT16 yytype_int16;
453: #else
454: typedef short int yytype_int16;
455: #endif
456:
457: #ifndef YYSIZE_T
458: # ifdef __SIZE_TYPE__
459: # define YYSIZE_T __SIZE_TYPE__
460: # elif defined size_t
461: # define YYSIZE_T size_t
462: # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
463: || defined __cplusplus || defined _MSC_VER)
464: # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
465: # define YYSIZE_T size_t
466: # else
467: # define YYSIZE_T unsigned int
468: # endif
469: #endif
470:
471: #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
472:
473: #ifndef YY_
474: # if defined YYENABLE_NLS && YYENABLE_NLS
475: # if ENABLE_NLS
476: # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
477: # define YY_(msgid) dgettext ("bison-runtime", msgid)
478: # endif
479: # endif
480: # ifndef YY_
481: # define YY_(msgid) msgid
482: # endif
483: #endif
484:
485: /* Suppress unused-variable warnings by "using" E. */
486: #if ! defined lint || defined __GNUC__
487: # define YYUSE(e) ((void) (e))
488: #else
489: # define YYUSE(e) /* empty */
490: #endif
491:
492: /* Identity function, used to suppress warnings about constant conditions. */
493: #ifndef lint
494: # define YYID(n) (n)
495: #else
496: #if (defined __STDC__ || defined __C99__FUNC__ \
497: || defined __cplusplus || defined _MSC_VER)
498: static int
499: YYID (int i)
500: #else
501: static int
502: YYID (i)
503: int i;
504: #endif
505: {
506: return i;
507: }
508: #endif
509:
510: #if ! defined yyoverflow || YYERROR_VERBOSE
511:
512: /* The parser invokes alloca or malloc; define the necessary symbols. */
513:
514: # ifdef YYSTACK_USE_ALLOCA
515: # if YYSTACK_USE_ALLOCA
516: # ifdef __GNUC__
517: # define YYSTACK_ALLOC __builtin_alloca
518: # elif defined __BUILTIN_VA_ARG_INCR
519: # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
520: # elif defined _AIX
521: # define YYSTACK_ALLOC __alloca
522: # elif defined _MSC_VER
523: # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
524: # define alloca _alloca
525: # else
526: # define YYSTACK_ALLOC alloca
527: # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
528: || defined __cplusplus || defined _MSC_VER)
529: # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
530: # ifndef _STDLIB_H
531: # define _STDLIB_H 1
532: # endif
533: # endif
534: # endif
535: # endif
536: # endif
537:
538: # ifdef YYSTACK_ALLOC
539: /* Pacify GCC's `empty if-body' warning. */
540: # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
541: # ifndef YYSTACK_ALLOC_MAXIMUM
542: /* The OS might guarantee only one guard page at the bottom of the stack,
543: and a page size can be as small as 4096 bytes. So we cannot safely
544: invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
545: to allow for a few compiler-allocated temporary stack slots. */
546: # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
547: # endif
548: # else
549: # define YYSTACK_ALLOC YYMALLOC
550: # define YYSTACK_FREE YYFREE
551: # ifndef YYSTACK_ALLOC_MAXIMUM
552: # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
553: # endif
554: # if (defined __cplusplus && ! defined _STDLIB_H \
555: && ! ((defined YYMALLOC || defined malloc) \
556: && (defined YYFREE || defined free)))
557: # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
558: # ifndef _STDLIB_H
559: # define _STDLIB_H 1
560: # endif
561: # endif
562: # ifndef YYMALLOC
563: # define YYMALLOC malloc
564: # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
565: || defined __cplusplus || defined _MSC_VER)
566: void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
567: # endif
568: # endif
569: # ifndef YYFREE
570: # define YYFREE free
571: # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
572: || defined __cplusplus || defined _MSC_VER)
573: void free (void *); /* INFRINGES ON USER NAME SPACE */
574: # endif
575: # endif
576: # endif
577: #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
578:
579:
580: #if (! defined yyoverflow \
581: && (! defined __cplusplus \
582: || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
583:
584: /* A type that is properly aligned for any stack member. */
585: union yyalloc
586: {
587: yytype_int16 yyss;
588: YYSTYPE yyvs;
589: };
590:
591: /* The size of the maximum gap between one aligned stack and the next. */
592: # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
593:
594: /* The size of an array large to enough to hold all stacks, each with
595: N elements. */
596: # define YYSTACK_BYTES(N) \
597: ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
598: + YYSTACK_GAP_MAXIMUM)
599:
600: /* Copy COUNT objects from FROM to TO. The source and destination do
601: not overlap. */
602: # ifndef YYCOPY
603: # if defined __GNUC__ && 1 < __GNUC__
604: # define YYCOPY(To, From, Count) \
605: __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
606: # else
607: # define YYCOPY(To, From, Count) \
608: do \
609: { \
610: YYSIZE_T yyi; \
611: for (yyi = 0; yyi < (Count); yyi++) \
612: (To)[yyi] = (From)[yyi]; \
613: } \
614: while (YYID (0))
615: # endif
616: # endif
617:
618: /* Relocate STACK from its old location to the new one. The
619: local variables YYSIZE and YYSTACKSIZE give the old and new number of
620: elements in the stack, and YYPTR gives the new location of the
621: stack. Advance YYPTR to a properly aligned location for the next
622: stack. */
623: # define YYSTACK_RELOCATE(Stack) \
624: do \
625: { \
626: YYSIZE_T yynewbytes; \
627: YYCOPY (&yyptr->Stack, Stack, yysize); \
628: Stack = &yyptr->Stack; \
629: yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
630: yyptr += yynewbytes / sizeof (*yyptr); \
631: } \
632: while (YYID (0))
633:
634: #endif
635:
636: /* YYFINAL -- State number of the termination state. */
637: #define YYFINAL 3
638: /* YYLAST -- Last index in YYTABLE. */
639: #define YYLAST 5312
640:
641: /* YYNTOKENS -- Number of terminals. */
642: #define YYNTOKENS 158
643: /* YYNNTS -- Number of nonterminals. */
644: #define YYNNTS 206
645: /* YYNRULES -- Number of rules. */
646: #define YYNRULES 516
647: /* YYNRULES -- Number of states. */
648: #define YYNSTATES 983
649:
650: /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
651: #define YYUNDEFTOK 2
652: #define YYMAXUTOK 384
653:
654: #define YYTRANSLATE(YYX) \
655: ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
656:
657: /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
658: static const yytype_uint8 yytranslate[] =
659: {
660: 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
661: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
662: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
663: 2, 2, 2, 48, 157, 2, 154, 47, 31, 2,
664: 149, 150, 45, 42, 8, 43, 44, 46, 2, 2,
665: 2, 2, 2, 2, 2, 2, 2, 2, 26, 151,
666: 36, 13, 37, 25, 51, 2, 2, 2, 2, 2,
667: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
668: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
669: 2, 61, 2, 155, 30, 2, 156, 2, 2, 2,
670: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
671: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
672: 2, 2, 2, 152, 29, 153, 50, 2, 2, 2,
673: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
674: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
675: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
676: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
677: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
678: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
679: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
680: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
681: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
682: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
683: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
684: 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
685: 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
686: 5, 6, 7, 9, 10, 11, 12, 14, 15, 16,
687: 17, 18, 19, 20, 21, 22, 23, 24, 27, 28,
688: 32, 33, 34, 35, 38, 39, 40, 41, 49, 52,
689: 53, 54, 55, 56, 57, 58, 59, 60, 62, 63,
690: 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
691: 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
692: 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
693: 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
694: 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
695: 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
696: 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
697: 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
698: 144, 145, 146, 147, 148
699: };
700:
701: #if YYDEBUG
702: /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
703: YYRHS. */
704: static const yytype_uint16 yyprhs[] =
705: {
706: 0, 0, 3, 5, 6, 10, 11, 13, 17, 19,
707: 21, 23, 28, 32, 33, 40, 41, 47, 51, 54,
708: 58, 60, 62, 66, 69, 74, 80, 85, 86, 90,
709: 91, 93, 95, 97, 102, 104, 107, 111, 112, 113,
710: 123, 124, 125, 138, 139, 140, 148, 149, 150, 160,
711: 161, 162, 163, 176, 177, 184, 187, 191, 194, 198,
712: 201, 205, 209, 213, 217, 221, 223, 226, 232, 233,
713: 234, 245, 246, 247, 258, 259, 266, 268, 269, 270,
714: 271, 272, 273, 292, 296, 300, 302, 303, 305, 308,
715: 309, 310, 321, 323, 327, 329, 331, 333, 334, 336,
716: 337, 348, 349, 358, 359, 367, 369, 372, 374, 377,
717: 378, 381, 383, 384, 387, 388, 391, 393, 397, 398,
718: 401, 403, 406, 408, 413, 415, 420, 422, 427, 431,
719: 437, 441, 446, 451, 457, 458, 459, 466, 467, 473,
720: 475, 477, 479, 484, 485, 486, 494, 495, 496, 505,
721: 506, 509, 510, 514, 516, 517, 520, 524, 530, 535,
722: 540, 546, 554, 561, 562, 564, 566, 568, 570, 571,
723: 573, 575, 578, 582, 586, 591, 595, 597, 599, 602,
724: 607, 611, 617, 619, 623, 626, 627, 628, 633, 636,
725: 638, 639, 649, 653, 655, 659, 661, 665, 666, 668,
726: 670, 673, 676, 679, 683, 685, 689, 691, 693, 697,
727: 702, 706, 707, 709, 711, 715, 717, 719, 720, 722,
728: 724, 727, 729, 731, 733, 735, 737, 739, 743, 749,
729: 751, 755, 761, 766, 770, 772, 773, 775, 776, 781,
730: 783, 786, 788, 793, 797, 798, 802, 804, 806, 807,
731: 808, 811, 812, 817, 818, 826, 830, 835, 836, 844,
732: 847, 851, 855, 859, 863, 867, 871, 875, 879, 883,
733: 887, 891, 894, 897, 900, 903, 904, 909, 910, 915,
734: 916, 921, 922, 927, 931, 935, 939, 943, 947, 951,
735: 955, 959, 963, 967, 971, 975, 978, 981, 984, 987,
736: 991, 995, 999, 1003, 1007, 1011, 1015, 1019, 1023, 1027,
737: 1029, 1030, 1036, 1037, 1038, 1046, 1047, 1053, 1055, 1058,
738: 1061, 1064, 1067, 1070, 1073, 1076, 1079, 1080, 1084, 1086,
739: 1091, 1095, 1099, 1102, 1103, 1114, 1115, 1127, 1129, 1130,
740: 1135, 1139, 1144, 1146, 1149, 1150, 1156, 1157, 1165, 1166,
741: 1173, 1174, 1182, 1183, 1191, 1192, 1200, 1201, 1209, 1210,
742: 1216, 1218, 1220, 1224, 1227, 1229, 1233, 1236, 1238, 1240,
743: 1241, 1242, 1249, 1251, 1254, 1255, 1258, 1259, 1262, 1266,
744: 1267, 1269, 1271, 1272, 1276, 1278, 1280, 1282, 1284, 1286,
745: 1288, 1290, 1292, 1294, 1296, 1300, 1303, 1305, 1307, 1311,
746: 1314, 1317, 1320, 1325, 1329, 1331, 1333, 1337, 1339, 1341,
747: 1343, 1347, 1350, 1352, 1356, 1360, 1362, 1363, 1366, 1367,
748: 1369, 1375, 1379, 1383, 1385, 1387, 1389, 1391, 1393, 1395,
749: 1396, 1397, 1405, 1407, 1410, 1411, 1412, 1417, 1422, 1427,
750: 1428, 1433, 1435, 1437, 1438, 1440, 1443, 1447, 1451, 1453,
751: 1458, 1459, 1465, 1467, 1469, 1471, 1473, 1476, 1478, 1483,
752: 1488, 1490, 1492, 1497, 1498, 1500, 1502, 1503, 1506, 1511,
753: 1516, 1518, 1520, 1524, 1526, 1529, 1533, 1535, 1537, 1538,
754: 1544, 1545, 1546, 1549, 1555, 1559, 1563, 1565, 1572, 1577,
755: 1582, 1585, 1588, 1591, 1593, 1596, 1598, 1599, 1605, 1609,
756: 1613, 1620, 1624, 1626, 1628, 1630, 1635, 1640, 1643, 1646,
757: 1651, 1654, 1657, 1659, 1660, 1665, 1669
758: };
759:
760: /* YYRHS -- A `-1'-separated list of the rules' RHS. */
761: static const yytype_int16 yyrhs[] =
762: {
763: 159, 0, -1, 160, -1, -1, 160, 161, 163, -1,
764: -1, 71, -1, 162, 148, 71, -1, 172, -1, 203,
765: -1, 204, -1, 117, 149, 150, 151, -1, 145, 162,
766: 151, -1, -1, 145, 162, 152, 164, 160, 153, -1,
767: -1, 145, 152, 165, 160, 153, -1, 104, 166, 151,
768: -1, 168, 151, -1, 166, 8, 167, -1, 167, -1,
769: 162, -1, 162, 90, 71, -1, 148, 162, -1, 148,
770: 162, 90, 71, -1, 168, 8, 71, 13, 316, -1,
771: 99, 71, 13, 316, -1, -1, 169, 170, 171, -1,
772: -1, 172, -1, 203, -1, 204, -1, 117, 149, 150,
773: 151, -1, 173, -1, 71, 26, -1, 152, 169, 153,
774: -1, -1, -1, 65, 149, 322, 150, 174, 172, 175,
775: 229, 233, -1, -1, -1, 65, 149, 322, 150, 26,
776: 176, 169, 177, 231, 234, 68, 151, -1, -1, -1,
777: 82, 149, 178, 322, 150, 179, 228, -1, -1, -1,
778: 81, 180, 172, 82, 149, 181, 322, 150, 151, -1,
779: -1, -1, -1, 84, 149, 267, 151, 182, 267, 151,
780: 183, 267, 150, 184, 219, -1, -1, 91, 149, 322,
781: 150, 185, 223, -1, 95, 151, -1, 95, 322, 151,
782: -1, 96, 151, -1, 96, 322, 151, -1, 100, 151,
783: -1, 100, 278, 151, -1, 100, 326, 151, -1, 106,
784: 240, 151, -1, 112, 242, 151, -1, 80, 266, 151,
785: -1, 75, -1, 322, 151, -1, 114, 149, 201, 150,
786: 151, -1, -1, -1, 86, 149, 326, 90, 186, 218,
787: 217, 150, 187, 220, -1, -1, -1, 86, 149, 278,
788: 90, 188, 326, 217, 150, 189, 220, -1, -1, 88,
789: 190, 149, 222, 150, 221, -1, 151, -1, -1, -1,
790: -1, -1, -1, 101, 191, 152, 169, 153, 102, 149,
791: 192, 305, 193, 73, 150, 194, 152, 169, 153, 195,
792: 196, -1, 103, 322, 151, -1, 97, 71, 151, -1,
793: 197, -1, -1, 198, -1, 197, 198, -1, -1, -1,
794: 102, 149, 305, 199, 73, 150, 200, 152, 169, 153,
795: -1, 202, -1, 201, 8, 202, -1, 326, -1, 206,
796: -1, 208, -1, -1, 31, -1, -1, 292, 205, 71,
797: 207, 149, 235, 150, 152, 169, 153, -1, -1, 211,
798: 71, 212, 209, 215, 152, 243, 153, -1, -1, 213,
799: 71, 210, 214, 152, 243, 153, -1, 118, -1, 111,
800: 118, -1, 119, -1, 110, 118, -1, -1, 121, 305,
801: -1, 120, -1, -1, 121, 216, -1, -1, 122, 216,
802: -1, 305, -1, 216, 8, 305, -1, -1, 124, 218,
803: -1, 326, -1, 31, 326, -1, 172, -1, 26, 169,
804: 85, 151, -1, 172, -1, 26, 169, 87, 151, -1,
805: 172, -1, 26, 169, 89, 151, -1, 71, 13, 316,
806: -1, 222, 8, 71, 13, 316, -1, 152, 224, 153,
807: -1, 152, 151, 224, 153, -1, 26, 224, 92, 151,
808: -1, 26, 151, 224, 92, 151, -1, -1, -1, 224,
809: 93, 322, 227, 225, 169, -1, -1, 224, 94, 227,
810: 226, 169, -1, 26, -1, 151, -1, 172, -1, 26,
811: 169, 83, 151, -1, -1, -1, 229, 66, 149, 322,
812: 150, 230, 172, -1, -1, -1, 231, 66, 149, 322,
813: 150, 26, 232, 169, -1, -1, 67, 172, -1, -1,
814: 67, 26, 169, -1, 236, -1, -1, 237, 73, -1,
815: 237, 31, 73, -1, 237, 31, 73, 13, 316, -1,
816: 237, 73, 13, 316, -1, 236, 8, 237, 73, -1,
817: 236, 8, 237, 31, 73, -1, 236, 8, 237, 31,
818: 73, 13, 316, -1, 236, 8, 237, 73, 13, 316,
819: -1, -1, 126, -1, 127, -1, 305, -1, 239, -1,
820: -1, 278, -1, 326, -1, 31, 324, -1, 239, 8,
821: 278, -1, 239, 8, 326, -1, 239, 8, 31, 324,
822: -1, 240, 8, 241, -1, 241, -1, 73, -1, 154,
823: 323, -1, 154, 152, 322, 153, -1, 242, 8, 73,
824: -1, 242, 8, 73, 13, 316, -1, 73, -1, 73,
825: 13, 316, -1, 243, 244, -1, -1, -1, 260, 245,
826: 264, 151, -1, 265, 151, -1, 247, -1, -1, 261,
827: 292, 205, 71, 246, 149, 235, 150, 259, -1, 104,
828: 248, 249, -1, 305, -1, 248, 8, 305, -1, 151,
829: -1, 152, 250, 153, -1, -1, 251, -1, 252, -1,
830: 251, 252, -1, 253, 151, -1, 257, 151, -1, 256,
831: 105, 254, -1, 305, -1, 254, 8, 305, -1, 71,
832: -1, 256, -1, 305, 144, 71, -1, 255, 90, 258,
833: 71, -1, 255, 90, 263, -1, -1, 263, -1, 151,
834: -1, 152, 169, 153, -1, 262, -1, 113, -1, -1,
835: 262, -1, 263, -1, 262, 263, -1, 107, -1, 108,
836: -1, 109, -1, 112, -1, 111, -1, 110, -1, 264,
837: 8, 73, -1, 264, 8, 73, 13, 316, -1, 73,
838: -1, 73, 13, 316, -1, 265, 8, 71, 13, 316,
839: -1, 99, 71, 13, 316, -1, 266, 8, 322, -1,
840: 322, -1, -1, 268, -1, -1, 268, 8, 269, 322,
841: -1, 322, -1, 270, 330, -1, 330, -1, 271, 61,
842: 345, 155, -1, 61, 345, 155, -1, -1, 271, 273,
843: 270, -1, 271, -1, 270, -1, -1, -1, 275, 272,
844: -1, -1, 63, 306, 277, 314, -1, -1, 125, 149,
845: 279, 351, 150, 13, 322, -1, 326, 13, 322, -1,
846: 326, 13, 31, 326, -1, -1, 326, 13, 31, 63,
847: 306, 280, 314, -1, 62, 322, -1, 326, 24, 322,
848: -1, 326, 23, 322, -1, 326, 22, 322, -1, 326,
849: 21, 322, -1, 326, 20, 322, -1, 326, 19, 322,
850: -1, 326, 18, 322, -1, 326, 17, 322, -1, 326,
851: 16, 322, -1, 326, 15, 322, -1, 326, 14, 322,
852: -1, 325, 60, -1, 60, 325, -1, 325, 59, -1,
853: 59, 325, -1, -1, 322, 27, 281, 322, -1, -1,
854: 322, 28, 282, 322, -1, -1, 322, 9, 283, 322,
855: -1, -1, 322, 11, 284, 322, -1, 322, 10, 322,
856: -1, 322, 29, 322, -1, 322, 31, 322, -1, 322,
857: 30, 322, -1, 322, 44, 322, -1, 322, 42, 322,
858: -1, 322, 43, 322, -1, 322, 45, 322, -1, 322,
859: 46, 322, -1, 322, 47, 322, -1, 322, 41, 322,
860: -1, 322, 40, 322, -1, 42, 322, -1, 43, 322,
861: -1, 48, 322, -1, 50, 322, -1, 322, 33, 322,
862: -1, 322, 32, 322, -1, 322, 35, 322, -1, 322,
863: 34, 322, -1, 322, 36, 322, -1, 322, 39, 322,
864: -1, 322, 37, 322, -1, 322, 38, 322, -1, 322,
865: 49, 306, -1, 149, 322, 150, -1, 276, -1, -1,
866: 149, 276, 150, 285, 274, -1, -1, -1, 322, 25,
867: 286, 322, 26, 287, 322, -1, -1, 322, 25, 26,
868: 288, 322, -1, 360, -1, 58, 322, -1, 57, 322,
869: -1, 56, 322, -1, 55, 322, -1, 54, 322, -1,
870: 53, 322, -1, 52, 322, -1, 64, 312, -1, -1,
871: 51, 289, 322, -1, 318, -1, 126, 149, 354, 150,
872: -1, 61, 354, 155, -1, 156, 313, 156, -1, 12,
873: 322, -1, -1, 292, 205, 149, 290, 235, 150, 293,
874: 152, 169, 153, -1, -1, 112, 292, 205, 149, 291,
875: 235, 150, 293, 152, 169, 153, -1, 98, -1, -1,
876: 104, 149, 294, 150, -1, 294, 8, 73, -1, 294,
877: 8, 31, 73, -1, 73, -1, 31, 73, -1, -1,
878: 162, 149, 296, 238, 150, -1, -1, 145, 148, 162,
879: 149, 297, 238, 150, -1, -1, 148, 162, 149, 298,
880: 238, 150, -1, -1, 304, 144, 349, 149, 299, 238,
881: 150, -1, -1, 304, 144, 336, 149, 300, 238, 150,
882: -1, -1, 338, 144, 349, 149, 301, 238, 150, -1,
883: -1, 338, 144, 336, 149, 302, 238, 150, -1, -1,
884: 336, 149, 303, 238, 150, -1, 112, -1, 162, -1,
885: 145, 148, 162, -1, 148, 162, -1, 162, -1, 145,
886: 148, 162, -1, 148, 162, -1, 304, -1, 307, -1,
887: -1, -1, 342, 123, 308, 346, 309, 310, -1, 342,
888: -1, 310, 311, -1, -1, 123, 346, -1, -1, 149,
889: 150, -1, 149, 322, 150, -1, -1, 78, -1, 356,
890: -1, -1, 149, 238, 150, -1, 69, -1, 70, -1,
891: 79, -1, 132, -1, 133, -1, 147, -1, 129, -1,
892: 130, -1, 131, -1, 146, -1, 140, 78, 141, -1,
893: 140, 141, -1, 315, -1, 162, -1, 145, 148, 162,
894: -1, 148, 162, -1, 42, 316, -1, 43, 316, -1,
895: 126, 149, 319, 150, -1, 61, 319, 155, -1, 317,
896: -1, 128, -1, 304, 144, 71, -1, 72, -1, 363,
897: -1, 162, -1, 145, 148, 162, -1, 148, 162, -1,
898: 315, -1, 157, 356, 157, -1, 140, 356, 141, -1,
899: 128, -1, -1, 321, 320, -1, -1, 8, -1, 321,
900: 8, 316, 124, 316, -1, 321, 8, 316, -1, 316,
901: 124, 316, -1, 316, -1, 323, -1, 278, -1, 326,
902: -1, 326, -1, 326, -1, -1, -1, 341, 123, 327,
903: 346, 328, 335, 329, -1, 341, -1, 329, 330, -1,
904: -1, -1, 123, 346, 331, 335, -1, 332, 61, 345,
905: 155, -1, 333, 61, 345, 155, -1, -1, 149, 334,
906: 238, 150, -1, 333, -1, 332, -1, -1, 343, -1,
907: 350, 343, -1, 304, 144, 336, -1, 338, 144, 336,
908: -1, 343, -1, 339, 61, 345, 155, -1, -1, 295,
909: 340, 61, 345, 155, -1, 342, -1, 339, -1, 295,
910: -1, 343, -1, 350, 343, -1, 337, -1, 343, 61,
911: 345, 155, -1, 343, 152, 322, 153, -1, 344, -1,
912: 73, -1, 154, 152, 322, 153, -1, -1, 322, -1,
913: 348, -1, -1, 336, 347, -1, 348, 61, 345, 155,
914: -1, 348, 152, 322, 153, -1, 349, -1, 71, -1,
915: 152, 322, 153, -1, 154, -1, 350, 154, -1, 351,
916: 8, 352, -1, 352, -1, 326, -1, -1, 125, 149,
917: 353, 351, 150, -1, -1, -1, 355, 320, -1, 355,
918: 8, 322, 124, 322, -1, 355, 8, 322, -1, 322,
919: 124, 322, -1, 322, -1, 355, 8, 322, 124, 31,
920: 324, -1, 355, 8, 31, 324, -1, 322, 124, 31,
921: 324, -1, 31, 324, -1, 356, 357, -1, 356, 78,
922: -1, 357, -1, 78, 357, -1, 73, -1, -1, 73,
923: 61, 358, 359, 155, -1, 73, 123, 71, -1, 142,
924: 322, 153, -1, 142, 72, 61, 322, 155, 153, -1,
925: 143, 326, 153, -1, 71, -1, 74, -1, 73, -1,
926: 115, 149, 361, 150, -1, 116, 149, 326, 150, -1,
927: 7, 322, -1, 6, 322, -1, 5, 149, 322, 150,
928: -1, 4, 322, -1, 3, 322, -1, 326, -1, -1,
929: 361, 8, 362, 326, -1, 304, 144, 71, -1, 338,
930: 144, 71, -1
931: };
932:
933: /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
934: static const yytype_uint16 yyrline[] =
935: {
936: 0, 214, 214, 218, 218, 219, 223, 224, 228, 229,
937: 230, 231, 232, 233, 233, 235, 235, 237, 238, 242,
938: 243, 247, 248, 249, 250, 254, 255, 259, 259, 260,
939: 265, 266, 267, 268, 273, 274, 278, 279, 279, 279,
940: 280, 280, 280, 281, 281, 281, 282, 282, 282, 286,
941: 288, 290, 283, 292, 292, 293, 294, 295, 296, 297,
942: 298, 299, 300, 301, 302, 303, 304, 305, 307, 308,
943: 306, 311, 312, 310, 314, 314, 315, 316, 317, 318,
944: 319, 320, 316, 322, 323, 328, 329, 333, 334, 339,
945: 339, 339, 344, 345, 349, 353, 357, 362, 363, 368,
946: 368, 374, 373, 380, 379, 389, 390, 391, 392, 396,
947: 397, 401, 404, 406, 409, 411, 415, 416, 420, 421,
948: 426, 427, 431, 432, 437, 438, 443, 444, 449, 450,
949: 455, 456, 457, 458, 463, 464, 464, 465, 465, 470,
950: 471, 476, 477, 482, 484, 484, 488, 490, 490, 494,
951: 496, 500, 502, 507, 508, 513, 514, 515, 516, 517,
952: 518, 519, 520, 525, 526, 527, 528, 533, 534, 539,
953: 540, 541, 542, 543, 544, 548, 549, 554, 555, 556,
954: 561, 562, 563, 564, 570, 571, 576, 576, 577, 578,
955: 579, 579, 584, 588, 589, 593, 594, 597, 599, 603,
956: 604, 608, 609, 613, 617, 618, 622, 623, 627, 631,
957: 632, 636, 637, 641, 642, 646, 647, 651, 652, 656,
958: 657, 661, 662, 663, 664, 665, 666, 670, 671, 672,
959: 673, 677, 678, 682, 683, 688, 689, 693, 693, 694,
960: 698, 699, 703, 704, 708, 708, 709, 710, 714, 715,
961: 715, 720, 720, 724, 724, 725, 726, 727, 727, 728,
962: 729, 730, 731, 732, 733, 734, 735, 736, 737, 738,
963: 739, 740, 741, 742, 743, 744, 744, 745, 745, 746,
964: 746, 747, 747, 748, 749, 750, 751, 752, 753, 754,
965: 755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
966: 765, 766, 767, 768, 769, 770, 771, 772, 773, 774,
967: 775, 775, 776, 777, 776, 779, 779, 781, 782, 783,
968: 784, 785, 786, 787, 788, 789, 790, 790, 791, 792,
969: 793, 794, 795, 796, 796, 798, 798, 803, 806, 808,
970: 812, 813, 814, 815, 819, 819, 822, 822, 825, 825,
971: 828, 828, 831, 831, 834, 834, 837, 837, 840, 840,
972: 846, 847, 848, 849, 853, 854, 855, 861, 862, 867,
973: 868, 867, 870, 875, 876, 881, 885, 886, 887, 891,
974: 892, 893, 898, 899, 904, 905, 906, 907, 908, 909,
975: 910, 911, 912, 913, 914, 915, 920, 921, 922, 923,
976: 924, 925, 926, 927, 928, 929, 933, 937, 938, 939,
977: 940, 941, 942, 943, 944, 945, 950, 951, 954, 956,
978: 960, 961, 962, 963, 967, 968, 973, 978, 983, 988,
979: 989, 988, 991, 995, 996, 1001, 1001, 1005, 1006, 1010,
980: 1010, 1016, 1017, 1018, 1022, 1023, 1027, 1028, 1033, 1037,
981: 1038, 1038, 1043, 1044, 1045, 1050, 1051, 1052, 1056, 1057,
982: 1058, 1063, 1064, 1068, 1069, 1074, 1075, 1075, 1079, 1080,
983: 1081, 1085, 1086, 1090, 1091, 1095, 1096, 1101, 1102, 1102,
984: 1103, 1108, 1109, 1113, 1114, 1115, 1116, 1117, 1118, 1119,
985: 1120, 1124, 1125, 1126, 1127, 1133, 1134, 1134, 1135, 1136,
986: 1137, 1138, 1143, 1144, 1145, 1150, 1151, 1152, 1153, 1154,
987: 1155, 1156, 1160, 1161, 1161, 1165, 1166
988: };
989: #endif
990:
991: #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
992: /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
993: First, the terminals, then, starting at YYNTOKENS, nonterminals. */
994: static const char *const yytname[] =
995: {
996: "\"end of file\"", "error", "$undefined",
997: "\"require_once (T_REQUIRE_ONCE)\"", "\"require (T_REQUIRE)\"",
998: "\"eval (T_EVAL)\"", "\"include_once (T_INCLUDE_ONCE)\"",
999: "\"include (T_INCLUDE)\"", "','", "\"or (T_LOGICAL_OR)\"",
1000: "\"xor (T_LOGICAL_XOR)\"", "\"and (T_LOGICAL_AND)\"",
1001: "\"print (T_PRINT)\"", "'='", "\">>= (T_SR_EQUAL)\"",
1002: "\"<<= (T_SL_EQUAL)\"", "\"^= (T_XOR_EQUAL)\"", "\"|= (T_OR_EQUAL)\"",
1003: "\"&= (T_AND_EQUAL)\"", "\"%= (T_MOD_EQUAL)\"",
1004: "\".= (T_CONCAT_EQUAL)\"", "\"/= (T_DIV_EQUAL)\"",
1005: "\"*= (T_MUL_EQUAL)\"", "\"-= (T_MINUS_EQUAL)\"",
1006: "\"+= (T_PLUS_EQUAL)\"", "'?'", "':'", "\"|| (T_BOOLEAN_OR)\"",
1007: "\"&& (T_BOOLEAN_AND)\"", "'|'", "'^'", "'&'",
1008: "\"!== (T_IS_NOT_IDENTICAL)\"", "\"=== (T_IS_IDENTICAL)\"",
1009: "\"!= (T_IS_NOT_EQUAL)\"", "\"== (T_IS_EQUAL)\"", "'<'", "'>'",
1010: "\">= (T_IS_GREATER_OR_EQUAL)\"", "\"<= (T_IS_SMALLER_OR_EQUAL)\"",
1011: "\">> (T_SR)\"", "\"<< (T_SL)\"", "'+'", "'-'", "'.'", "'*'", "'/'",
1012: "'%'", "'!'", "\"instanceof (T_INSTANCEOF)\"", "'~'", "'@'",
1013: "\"(unset) (T_UNSET_CAST)\"", "\"(bool) (T_BOOL_CAST)\"",
1014: "\"(object) (T_OBJECT_CAST)\"", "\"(array) (T_ARRAY_CAST)\"",
1015: "\"(string) (T_STRING_CAST)\"", "\"(double) (T_DOUBLE_CAST)\"",
1016: "\"(int) (T_INT_CAST)\"", "\"-- (T_DEC)\"", "\"++ (T_INC)\"", "'['",
1017: "\"clone (T_CLONE)\"", "\"new (T_NEW)\"", "\"exit (T_EXIT)\"",
1018: "\"if (T_IF)\"", "\"elseif (T_ELSEIF)\"", "\"else (T_ELSE)\"",
1019: "\"endif (T_ENDIF)\"", "\"integer number (T_LNUMBER)\"",
1020: "\"floating-point number (T_DNUMBER)\"", "\"identifier (T_STRING)\"",
1021: "\"variable name (T_STRING_VARNAME)\"", "\"variable (T_VARIABLE)\"",
1022: "\"number (T_NUM_STRING)\"", "T_INLINE_HTML", "T_CHARACTER",
1023: "T_BAD_CHARACTER",
1024: "\"quoted-string and whitespace (T_ENCAPSED_AND_WHITESPACE)\"",
1025: "\"quoted-string (T_CONSTANT_ENCAPSED_STRING)\"", "\"echo (T_ECHO)\"",
1026: "\"do (T_DO)\"", "\"while (T_WHILE)\"", "\"endwhile (T_ENDWHILE)\"",
1027: "\"for (T_FOR)\"", "\"endfor (T_ENDFOR)\"", "\"foreach (T_FOREACH)\"",
1028: "\"endforeach (T_ENDFOREACH)\"", "\"declare (T_DECLARE)\"",
1029: "\"enddeclare (T_ENDDECLARE)\"", "\"as (T_AS)\"",
1030: "\"switch (T_SWITCH)\"", "\"endswitch (T_ENDSWITCH)\"",
1031: "\"case (T_CASE)\"", "\"default (T_DEFAULT)\"", "\"break (T_BREAK)\"",
1032: "\"continue (T_CONTINUE)\"", "\"goto (T_GOTO)\"",
1033: "\"function (T_FUNCTION)\"", "\"const (T_CONST)\"",
1034: "\"return (T_RETURN)\"", "\"try (T_TRY)\"", "\"catch (T_CATCH)\"",
1035: "\"throw (T_THROW)\"", "\"use (T_USE)\"", "\"insteadof (T_INSTEADOF)\"",
1036: "\"global (T_GLOBAL)\"", "\"public (T_PUBLIC)\"",
1037: "\"protected (T_PROTECTED)\"", "\"private (T_PRIVATE)\"",
1038: "\"final (T_FINAL)\"", "\"abstract (T_ABSTRACT)\"",
1039: "\"static (T_STATIC)\"", "\"var (T_VAR)\"", "\"unset (T_UNSET)\"",
1040: "\"isset (T_ISSET)\"", "\"empty (T_EMPTY)\"",
1041: "\"__halt_compiler (T_HALT_COMPILER)\"", "\"class (T_CLASS)\"",
1042: "\"trait (T_TRAIT)\"", "\"interface (T_INTERFACE)\"",
1043: "\"extends (T_EXTENDS)\"", "\"implements (T_IMPLEMENTS)\"",
1044: "\"-> (T_OBJECT_OPERATOR)\"", "\"=> (T_DOUBLE_ARROW)\"",
1045: "\"list (T_LIST)\"", "\"array (T_ARRAY)\"", "\"callable (T_CALLABLE)\"",
1046: "\"__CLASS__ (T_CLASS_C)\"", "\"__TRAIT__ (T_TRAIT_C)\"",
1047: "\"__METHOD__ (T_METHOD_C)\"", "\"__FUNCTION__ (T_FUNC_C)\"",
1048: "\"__LINE__ (T_LINE)\"", "\"__FILE__ (T_FILE)\"",
1049: "\"comment (T_COMMENT)\"", "\"doc comment (T_DOC_COMMENT)\"",
1050: "\"open tag (T_OPEN_TAG)\"",
1051: "\"open tag with echo (T_OPEN_TAG_WITH_ECHO)\"",
1052: "\"close tag (T_CLOSE_TAG)\"", "\"whitespace (T_WHITESPACE)\"",
1053: "\"heredoc start (T_START_HEREDOC)\"", "\"heredoc end (T_END_HEREDOC)\"",
1054: "\"${ (T_DOLLAR_OPEN_CURLY_BRACES)\"", "\"{$ (T_CURLY_OPEN)\"",
1055: "\":: (T_PAAMAYIM_NEKUDOTAYIM)\"", "\"namespace (T_NAMESPACE)\"",
1056: "\"__NAMESPACE__ (T_NS_C)\"", "\"__DIR__ (T_DIR)\"",
1057: "\"\\\\ (T_NS_SEPARATOR)\"", "'('", "')'", "';'", "'{'", "'}'", "'$'",
1058: "']'", "'`'", "'\"'", "$accept", "start", "top_statement_list", "@1",
1059: "namespace_name", "top_statement", "@2", "@3", "use_declarations",
1060: "use_declaration", "constant_declaration", "inner_statement_list", "@4",
1061: "inner_statement", "statement", "unticked_statement", "@5", "@6", "@7",
1062: "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17",
1063: "@18", "@19", "@20", "@21", "@22", "@23", "@24", "@25", "@26",
1064: "additional_catches", "non_empty_additional_catches", "additional_catch",
1065: "@27", "@28", "unset_variables", "unset_variable",
1066: "function_declaration_statement", "class_declaration_statement",
1067: "is_reference", "unticked_function_declaration_statement", "@29",
1068: "unticked_class_declaration_statement", "@30", "@31", "class_entry_type",
1069: "extends_from", "interface_entry", "interface_extends_list",
1070: "implements_list", "interface_list", "foreach_optional_arg",
1071: "foreach_variable", "for_statement", "foreach_statement",
1072: "declare_statement", "declare_list", "switch_case_list", "case_list",
1073: "@32", "@33", "case_separator", "while_statement", "elseif_list", "@34",
1074: "new_elseif_list", "@35", "else_single", "new_else_single",
1075: "parameter_list", "non_empty_parameter_list", "optional_class_type",
1076: "function_call_parameter_list", "non_empty_function_call_parameter_list",
1077: "global_var_list", "global_var", "static_var_list",
1078: "class_statement_list", "class_statement", "@36", "@37",
1079: "trait_use_statement", "trait_list", "trait_adaptations",
1080: "trait_adaptation_list", "non_empty_trait_adaptation_list",
1081: "trait_adaptation_statement", "trait_precedence", "trait_reference_list",
1082: "trait_method_reference", "trait_method_reference_fully_qualified",
1083: "trait_alias", "trait_modifiers", "method_body", "variable_modifiers",
1084: "method_modifiers", "non_empty_member_modifiers", "member_modifier",
1085: "class_variable_declaration", "class_constant_declaration",
1086: "echo_expr_list", "for_expr", "non_empty_for_expr", "@38",
1087: "chaining_method_or_property", "chaining_dereference",
1088: "chaining_instance_call", "@39", "instance_call", "@40", "new_expr",
1089: "@41", "expr_without_variable", "@42", "@43", "@44", "@45", "@46", "@47",
1090: "@48", "@49", "@50", "@51", "@52", "@53", "@54", "function",
1091: "lexical_vars", "lexical_var_list", "function_call", "@55", "@56", "@57",
1092: "@58", "@59", "@60", "@61", "@62", "class_name",
1093: "fully_qualified_class_name", "class_name_reference",
1094: "dynamic_class_name_reference", "@63", "@64",
1095: "dynamic_class_name_variable_properties",
1096: "dynamic_class_name_variable_property", "exit_expr", "backticks_expr",
1097: "ctor_arguments", "common_scalar", "static_scalar",
1098: "static_class_constant", "scalar", "static_array_pair_list",
1099: "possible_comma", "non_empty_static_array_pair_list", "expr",
1100: "r_variable", "w_variable", "rw_variable", "variable", "@65", "@66",
1101: "variable_properties", "variable_property", "@67",
1102: "array_method_dereference", "method", "@68", "method_or_not",
1103: "variable_without_objects", "static_member", "variable_class_name",
1104: "array_function_dereference", "@69", "base_variable_with_function_calls",
1105: "base_variable", "reference_variable", "compound_variable", "dim_offset",
1106: "object_property", "@70", "object_dim_list", "variable_name",
1107: "simple_indirect_reference", "assignment_list",
1108: "assignment_list_element", "@71", "array_pair_list",
1109: "non_empty_array_pair_list", "encaps_list", "encaps_var", "@72",
1110: "encaps_var_offset", "internal_functions_in_yacc", "isset_variables",
1111: "@73", "class_constant", 0
1112: };
1113: #endif
1114:
1115: # ifdef YYPRINT
1116: /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1117: token YYLEX-NUM. */
1118: static const yytype_uint16 yytoknum[] =
1119: {
1120: 0, 256, 257, 258, 259, 260, 261, 262, 44, 263,
1121: 264, 265, 266, 61, 267, 268, 269, 270, 271, 272,
1122: 273, 274, 275, 276, 277, 63, 58, 278, 279, 124,
1123: 94, 38, 280, 281, 282, 283, 60, 62, 284, 285,
1124: 286, 287, 43, 45, 46, 42, 47, 37, 33, 288,
1125: 126, 64, 289, 290, 291, 292, 293, 294, 295, 296,
1126: 297, 91, 298, 299, 300, 301, 302, 303, 304, 305,
1127: 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1128: 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1129: 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
1130: 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1131: 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
1132: 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
1133: 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1134: 376, 377, 378, 379, 380, 381, 382, 383, 384, 40,
1135: 41, 59, 123, 125, 36, 93, 96, 34
1136: };
1137: # endif
1138:
1139: /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1140: static const yytype_uint16 yyr1[] =
1141: {
1142: 0, 158, 159, 161, 160, 160, 162, 162, 163, 163,
1143: 163, 163, 163, 164, 163, 165, 163, 163, 163, 166,
1144: 166, 167, 167, 167, 167, 168, 168, 170, 169, 169,
1145: 171, 171, 171, 171, 172, 172, 173, 174, 175, 173,
1146: 176, 177, 173, 178, 179, 173, 180, 181, 173, 182,
1147: 183, 184, 173, 185, 173, 173, 173, 173, 173, 173,
1148: 173, 173, 173, 173, 173, 173, 173, 173, 186, 187,
1149: 173, 188, 189, 173, 190, 173, 173, 191, 192, 193,
1150: 194, 195, 173, 173, 173, 196, 196, 197, 197, 199,
1151: 200, 198, 201, 201, 202, 203, 204, 205, 205, 207,
1152: 206, 209, 208, 210, 208, 211, 211, 211, 211, 212,
1153: 212, 213, 214, 214, 215, 215, 216, 216, 217, 217,
1154: 218, 218, 219, 219, 220, 220, 221, 221, 222, 222,
1155: 223, 223, 223, 223, 224, 225, 224, 226, 224, 227,
1156: 227, 228, 228, 229, 230, 229, 231, 232, 231, 233,
1157: 233, 234, 234, 235, 235, 236, 236, 236, 236, 236,
1158: 236, 236, 236, 237, 237, 237, 237, 238, 238, 239,
1159: 239, 239, 239, 239, 239, 240, 240, 241, 241, 241,
1160: 242, 242, 242, 242, 243, 243, 245, 244, 244, 244,
1161: 246, 244, 247, 248, 248, 249, 249, 250, 250, 251,
1162: 251, 252, 252, 253, 254, 254, 255, 255, 256, 257,
1163: 257, 258, 258, 259, 259, 260, 260, 261, 261, 262,
1164: 262, 263, 263, 263, 263, 263, 263, 264, 264, 264,
1165: 264, 265, 265, 266, 266, 267, 267, 269, 268, 268,
1166: 270, 270, 271, 271, 273, 272, 272, 272, 274, 275,
1167: 274, 277, 276, 279, 278, 278, 278, 280, 278, 278,
1168: 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1169: 278, 278, 278, 278, 278, 281, 278, 282, 278, 283,
1170: 278, 284, 278, 278, 278, 278, 278, 278, 278, 278,
1171: 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1172: 278, 278, 278, 278, 278, 278, 278, 278, 278, 278,
1173: 285, 278, 286, 287, 278, 288, 278, 278, 278, 278,
1174: 278, 278, 278, 278, 278, 278, 289, 278, 278, 278,
1175: 278, 278, 278, 290, 278, 291, 278, 292, 293, 293,
1176: 294, 294, 294, 294, 296, 295, 297, 295, 298, 295,
1177: 299, 295, 300, 295, 301, 295, 302, 295, 303, 295,
1178: 304, 304, 304, 304, 305, 305, 305, 306, 306, 308,
1179: 309, 307, 307, 310, 310, 311, 312, 312, 312, 313,
1180: 313, 313, 314, 314, 315, 315, 315, 315, 315, 315,
1181: 315, 315, 315, 315, 315, 315, 316, 316, 316, 316,
1182: 316, 316, 316, 316, 316, 316, 317, 318, 318, 318,
1183: 318, 318, 318, 318, 318, 318, 319, 319, 320, 320,
1184: 321, 321, 321, 321, 322, 322, 323, 324, 325, 327,
1185: 328, 326, 326, 329, 329, 331, 330, 332, 332, 334,
1186: 333, 335, 335, 335, 336, 336, 337, 337, 338, 339,
1187: 340, 339, 341, 341, 341, 342, 342, 342, 343, 343,
1188: 343, 344, 344, 345, 345, 346, 347, 346, 348, 348,
1189: 348, 349, 349, 350, 350, 351, 351, 352, 353, 352,
1190: 352, 354, 354, 355, 355, 355, 355, 355, 355, 355,
1191: 355, 356, 356, 356, 356, 357, 358, 357, 357, 357,
1192: 357, 357, 359, 359, 359, 360, 360, 360, 360, 360,
1193: 360, 360, 361, 362, 361, 363, 363
1194: };
1195:
1196: /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1197: static const yytype_uint8 yyr2[] =
1198: {
1199: 0, 2, 1, 0, 3, 0, 1, 3, 1, 1,
1200: 1, 4, 3, 0, 6, 0, 5, 3, 2, 3,
1201: 1, 1, 3, 2, 4, 5, 4, 0, 3, 0,
1202: 1, 1, 1, 4, 1, 2, 3, 0, 0, 9,
1203: 0, 0, 12, 0, 0, 7, 0, 0, 9, 0,
1204: 0, 0, 12, 0, 6, 2, 3, 2, 3, 2,
1205: 3, 3, 3, 3, 3, 1, 2, 5, 0, 0,
1206: 10, 0, 0, 10, 0, 6, 1, 0, 0, 0,
1207: 0, 0, 18, 3, 3, 1, 0, 1, 2, 0,
1208: 0, 10, 1, 3, 1, 1, 1, 0, 1, 0,
1209: 10, 0, 8, 0, 7, 1, 2, 1, 2, 0,
1210: 2, 1, 0, 2, 0, 2, 1, 3, 0, 2,
1211: 1, 2, 1, 4, 1, 4, 1, 4, 3, 5,
1212: 3, 4, 4, 5, 0, 0, 6, 0, 5, 1,
1213: 1, 1, 4, 0, 0, 7, 0, 0, 8, 0,
1214: 2, 0, 3, 1, 0, 2, 3, 5, 4, 4,
1215: 5, 7, 6, 0, 1, 1, 1, 1, 0, 1,
1216: 1, 2, 3, 3, 4, 3, 1, 1, 2, 4,
1217: 3, 5, 1, 3, 2, 0, 0, 4, 2, 1,
1218: 0, 9, 3, 1, 3, 1, 3, 0, 1, 1,
1219: 2, 2, 2, 3, 1, 3, 1, 1, 3, 4,
1220: 3, 0, 1, 1, 3, 1, 1, 0, 1, 1,
1221: 2, 1, 1, 1, 1, 1, 1, 3, 5, 1,
1222: 3, 5, 4, 3, 1, 0, 1, 0, 4, 1,
1223: 2, 1, 4, 3, 0, 3, 1, 1, 0, 0,
1224: 2, 0, 4, 0, 7, 3, 4, 0, 7, 2,
1225: 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1226: 3, 2, 2, 2, 2, 0, 4, 0, 4, 0,
1227: 4, 0, 4, 3, 3, 3, 3, 3, 3, 3,
1228: 3, 3, 3, 3, 3, 2, 2, 2, 2, 3,
1229: 3, 3, 3, 3, 3, 3, 3, 3, 3, 1,
1230: 0, 5, 0, 0, 7, 0, 5, 1, 2, 2,
1231: 2, 2, 2, 2, 2, 2, 0, 3, 1, 4,
1232: 3, 3, 2, 0, 10, 0, 11, 1, 0, 4,
1233: 3, 4, 1, 2, 0, 5, 0, 7, 0, 6,
1234: 0, 7, 0, 7, 0, 7, 0, 7, 0, 5,
1235: 1, 1, 3, 2, 1, 3, 2, 1, 1, 0,
1236: 0, 6, 1, 2, 0, 2, 0, 2, 3, 0,
1237: 1, 1, 0, 3, 1, 1, 1, 1, 1, 1,
1238: 1, 1, 1, 1, 3, 2, 1, 1, 3, 2,
1239: 2, 2, 4, 3, 1, 1, 3, 1, 1, 1,
1240: 3, 2, 1, 3, 3, 1, 0, 2, 0, 1,
1241: 5, 3, 3, 1, 1, 1, 1, 1, 1, 0,
1242: 0, 7, 1, 2, 0, 0, 4, 4, 4, 0,
1243: 4, 1, 1, 0, 1, 2, 3, 3, 1, 4,
1244: 0, 5, 1, 1, 1, 1, 2, 1, 4, 4,
1245: 1, 1, 4, 0, 1, 1, 0, 2, 4, 4,
1246: 1, 1, 3, 1, 2, 3, 1, 1, 0, 5,
1247: 0, 0, 2, 5, 3, 3, 1, 6, 4, 4,
1248: 2, 2, 2, 1, 2, 1, 0, 5, 3, 3,
1249: 6, 3, 1, 1, 1, 4, 4, 2, 2, 4,
1250: 2, 2, 1, 0, 4, 3, 3
1251: };
1252:
1253: /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1254: STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1255: means the default is an error. */
1256: static const yytype_uint16 yydefact[] =
1257: {
1258: 5, 0, 3, 1, 0, 0, 0, 0, 0, 0,
1259: 0, 0, 0, 0, 0, 326, 0, 0, 0, 0,
1260: 0, 0, 0, 0, 0, 481, 0, 0, 376, 0,
1261: 384, 385, 6, 407, 461, 65, 386, 0, 46, 0,
1262: 0, 0, 74, 0, 0, 0, 0, 337, 0, 0,
1263: 77, 0, 0, 0, 0, 0, 360, 0, 0, 0,
1264: 0, 105, 107, 111, 0, 0, 415, 390, 391, 392,
1265: 387, 388, 0, 0, 393, 389, 0, 0, 76, 29,
1266: 473, 379, 0, 409, 4, 0, 8, 34, 9, 10,
1267: 95, 96, 0, 0, 309, 425, 97, 454, 0, 412,
1268: 328, 0, 424, 0, 426, 0, 457, 0, 453, 432,
1269: 452, 455, 460, 0, 317, 408, 6, 360, 0, 97,
1270: 511, 510, 0, 508, 507, 332, 295, 296, 297, 298,
1271: 0, 324, 323, 322, 321, 320, 319, 318, 360, 0,
1272: 0, 361, 0, 274, 428, 0, 272, 0, 486, 0,
1273: 418, 259, 0, 0, 361, 367, 251, 368, 0, 372,
1274: 455, 0, 0, 325, 0, 35, 0, 234, 0, 43,
1275: 235, 0, 0, 0, 55, 0, 57, 0, 0, 0,
1276: 59, 425, 0, 426, 0, 0, 0, 21, 0, 20,
1277: 177, 0, 0, 176, 108, 106, 182, 0, 97, 0,
1278: 0, 0, 0, 253, 481, 495, 0, 395, 0, 0,
1279: 0, 493, 0, 15, 0, 411, 309, 0, 27, 0,
1280: 380, 0, 381, 0, 0, 0, 344, 0, 18, 109,
1281: 103, 98, 0, 0, 0, 279, 0, 281, 312, 275,
1282: 277, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1283: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1284: 0, 66, 273, 271, 0, 0, 0, 0, 0, 0,
1285: 0, 0, 0, 0, 0, 0, 358, 0, 463, 429,
1286: 463, 0, 474, 456, 0, 0, 327, 0, 363, 0,
1287: 0, 490, 427, 0, 330, 419, 482, 0, 363, 0,
1288: 382, 0, 369, 456, 377, 0, 0, 0, 64, 0,
1289: 0, 0, 236, 239, 425, 426, 0, 0, 56, 58,
1290: 84, 0, 60, 61, 29, 83, 23, 0, 0, 17,
1291: 0, 178, 426, 0, 62, 0, 0, 63, 0, 0,
1292: 92, 94, 512, 0, 0, 0, 480, 0, 496, 0,
1293: 394, 494, 407, 0, 0, 492, 414, 491, 410, 5,
1294: 12, 13, 348, 310, 308, 36, 0, 0, 331, 413,
1295: 7, 168, 0, 0, 101, 112, 99, 333, 463, 515,
1296: 0, 446, 444, 0, 0, 0, 283, 0, 315, 0,
1297: 0, 0, 284, 286, 285, 300, 299, 302, 301, 303,
1298: 305, 306, 304, 294, 293, 288, 289, 287, 290, 291,
1299: 292, 307, 0, 255, 270, 269, 268, 267, 266, 265,
1300: 264, 263, 262, 261, 260, 168, 516, 447, 0, 464,
1301: 0, 0, 0, 0, 509, 362, 471, 0, 485, 0,
1302: 484, 362, 446, 168, 252, 447, 0, 378, 37, 233,
1303: 0, 0, 49, 237, 71, 68, 0, 0, 53, 0,
1304: 0, 416, 0, 405, 0, 0, 0, 397, 0, 396,
1305: 26, 404, 27, 0, 22, 19, 0, 175, 183, 180,
1306: 335, 0, 0, 513, 505, 506, 11, 0, 477, 0,
1307: 476, 329, 0, 498, 0, 499, 501, 346, 3, 5,
1308: 168, 248, 0, 28, 30, 31, 32, 462, 0, 0,
1309: 167, 425, 426, 0, 0, 0, 364, 110, 114, 0,
1310: 0, 0, 163, 0, 0, 352, 350, 445, 280, 282,
1311: 0, 0, 276, 278, 0, 256, 0, 356, 354, 449,
1312: 466, 430, 465, 470, 458, 459, 489, 488, 0, 0,
1313: 370, 40, 0, 47, 44, 235, 0, 0, 0, 0,
1314: 0, 0, 0, 400, 401, 423, 0, 418, 416, 0,
1315: 0, 399, 0, 0, 24, 179, 0, 163, 93, 67,
1316: 0, 478, 480, 0, 502, 504, 503, 0, 0, 168,
1317: 16, 3, 0, 311, 0, 0, 171, 345, 0, 25,
1318: 0, 366, 0, 0, 113, 116, 185, 163, 164, 165,
1319: 0, 153, 0, 166, 451, 472, 168, 168, 316, 313,
1320: 257, 359, 168, 168, 467, 443, 463, 0, 0, 483,
1321: 383, 374, 29, 38, 0, 0, 0, 238, 118, 0,
1322: 118, 120, 128, 0, 29, 126, 75, 134, 134, 54,
1323: 0, 403, 419, 417, 0, 398, 406, 0, 181, 0,
1324: 514, 480, 475, 0, 497, 0, 0, 14, 349, 463,
1325: 0, 247, 246, 250, 241, 0, 0, 425, 426, 365,
1326: 115, 185, 0, 217, 0, 338, 163, 0, 155, 0,
1327: 0, 0, 382, 0, 0, 439, 442, 441, 434, 0,
1328: 0, 487, 371, 27, 143, 0, 29, 141, 45, 50,
1329: 0, 0, 121, 0, 0, 27, 134, 0, 134, 0,
1330: 422, 421, 402, 78, 338, 0, 254, 500, 347, 0,
1331: 435, 240, 463, 0, 33, 174, 217, 117, 0, 0,
1332: 221, 222, 223, 226, 225, 224, 216, 104, 184, 189,
1333: 186, 0, 215, 219, 0, 0, 0, 0, 0, 156,
1334: 0, 353, 351, 314, 258, 357, 355, 168, 463, 463,
1335: 431, 468, 469, 0, 373, 146, 149, 0, 27, 235,
1336: 119, 72, 69, 129, 0, 0, 0, 0, 0, 0,
1337: 130, 0, 0, 0, 479, 243, 443, 0, 245, 102,
1338: 0, 0, 193, 0, 97, 220, 0, 188, 29, 0,
1339: 29, 0, 159, 0, 158, 0, 0, 0, 433, 375,
1340: 151, 0, 0, 39, 48, 0, 0, 0, 0, 127,
1341: 0, 132, 0, 139, 140, 137, 131, 420, 79, 29,
1342: 436, 242, 0, 0, 195, 197, 192, 229, 0, 0,
1343: 0, 27, 0, 342, 0, 27, 160, 0, 157, 440,
1344: 437, 438, 0, 0, 0, 0, 150, 142, 51, 29,
1345: 124, 73, 70, 133, 135, 29, 0, 27, 232, 194,
1346: 6, 0, 198, 199, 0, 0, 207, 0, 0, 0,
1347: 0, 187, 190, 0, 100, 343, 0, 339, 334, 0,
1348: 162, 0, 29, 0, 0, 0, 27, 29, 27, 0,
1349: 336, 196, 200, 201, 211, 0, 202, 0, 230, 227,
1350: 0, 231, 0, 340, 161, 0, 27, 42, 144, 29,
1351: 122, 52, 0, 27, 80, 0, 210, 203, 204, 208,
1352: 0, 163, 341, 0, 0, 27, 125, 0, 209, 0,
1353: 228, 0, 147, 145, 0, 29, 205, 0, 29, 123,
1354: 27, 213, 29, 191, 27, 81, 27, 86, 214, 0,
1355: 82, 85, 87, 0, 88, 89, 0, 0, 90, 0,
1356: 29, 27, 91
1357: };
1358:
1359: /* YYDEFGOTO[NTERM-NUM]. */
1360: static const yytype_int16 yydefgoto[] =
1361: {
1362: -1, 1, 2, 4, 83, 84, 499, 359, 188, 189,
1363: 85, 218, 366, 503, 870, 87, 552, 704, 632, 775,
1364: 310, 635, 168, 634, 555, 779, 905, 562, 558, 828,
1365: 557, 827, 172, 184, 792, 876, 947, 967, 970, 971,
1366: 972, 976, 979, 339, 340, 88, 89, 232, 90, 521,
1367: 91, 518, 375, 92, 374, 93, 520, 603, 604, 711,
1368: 640, 931, 871, 646, 457, 649, 717, 907, 875, 835,
1369: 708, 776, 944, 820, 958, 823, 864, 610, 611, 612,
1370: 509, 510, 192, 193, 197, 683, 748, 803, 920, 749,
1371: 801, 846, 881, 882, 883, 884, 937, 885, 886, 887,
1372: 935, 963, 750, 751, 752, 753, 848, 754, 166, 311,
1373: 312, 556, 671, 672, 673, 733, 593, 594, 94, 300,
1374: 95, 346, 692, 390, 391, 385, 387, 501, 389, 691,
1375: 530, 130, 522, 577, 119, 757, 854, 97, 371, 589,
1376: 500, 617, 616, 623, 622, 425, 98, 613, 156, 157,
1377: 446, 631, 702, 774, 163, 221, 444, 99, 565, 471,
1378: 100, 566, 296, 567, 182, 102, 291, 103, 104, 431,
1379: 625, 770, 674, 796, 696, 697, 767, 698, 105, 106,
1380: 107, 108, 233, 109, 110, 111, 112, 430, 541, 624,
1381: 542, 543, 113, 489, 490, 661, 149, 150, 210, 211,
1382: 492, 587, 114, 343, 580, 115
1383: };
1384:
1385: /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1386: STATE-NUM. */
1387: #define YYPACT_NINF -736
1388: static const yytype_int16 yypact[] =
1389: {
1390: -736, 64, 80, -736, 1600, 3962, 3962, -83, 3962, 3962,
1391: 3962, 3962, 3962, 3962, 3962, -736, 3962, 3962, 3962, 3962,
1392: 3962, 3962, 3962, 171, 171, 2521, 3962, 187, -54, -52,
1393: -736, -736, 76, -736, -736, -736, -736, 3962, -736, -44,
1394: -36, 68, -736, 86, 2652, 2783, 57, -736, 82, 2914,
1395: -736, 3962, -15, -13, 145, 153, -11, 100, 124, 152,
1396: 168, -736, -736, -736, 185, 195, -736, -736, -736, -736,
1397: -736, -736, 172, 127, -736, -736, 205, 3962, -736, -736,
1398: 179, 178, 303, -66, -736, 11, -736, -736, -736, -736,
1399: -736, -736, 282, 295, -736, -736, 338, 323, 252, -736,
1400: -736, 4480, -736, 341, 1199, 249, -736, 261, 349, 292,
1401: -736, -10, -736, 27, -736, -736, -736, 320, 287, 338,
1402: 5120, 5120, 3962, 5120, 5120, 1452, -736, -736, 399, -736,
1403: 3962, -736, -736, -736, -736, -736, -736, -736, -736, 296,
1404: 205, -77, 306, -736, -736, 336, -736, 171, 1506, 302,
1405: 456, -736, 334, 205, 340, 345, -736, -736, 347, 361,
1406: -17, 27, 3045, -736, 3962, -736, 14, 5120, 2390, -736,
1407: 3962, 3962, 346, 3962, -736, 4521, -736, 4562, 358, 485,
1408: -736, 359, 5120, 1056, 362, 4605, 205, 98, 16, -736,
1409: -736, -8, 18, -736, -736, -736, 487, 19, 338, 171,
1410: 171, 171, 365, -736, 2521, 131, 63, -736, 4093, 171,
1411: 290, -736, 205, -736, 260, -58, 366, 4646, 364, 3962,
1412: 231, 367, 317, 231, 53, 450, -736, 455, -736, 416,
1413: -736, -736, 5, 477, 45, -736, 3962, -736, 513, -736,
1414: -736, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962,
1415: 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962, 3962,
1416: 187, -736, -736, -736, 3176, 3962, 3962, 3962, 3962, 3962,
1417: 3962, 3962, 3962, 3962, 3962, 3962, -736, 170, 3962, -736,
1418: 3962, 3962, 179, -27, 391, 4687, -736, 205, 281, 188,
1419: 188, -736, -736, 3307, -736, 3438, -736, 205, 340, 39,
1420: 392, 39, -736, -9, -736, 4730, 4772, 3962, -736, 461,
1421: 3962, 393, 540, 5120, 460, 1219, 481, 4813, -736, -736,
1422: -736, 1020, -736, -736, -736, -736, 162, 484, -15, -736,
1423: 3962, -736, -736, -13, -736, 1020, 488, -736, 413, 30,
1424: -736, -736, -736, 32, 414, 415, 143, 417, -736, 497,
1425: -736, -736, 514, 1549, 425, -736, -736, -736, -50, -736,
1426: -736, -736, -736, -736, -736, -736, 1731, 4226, -736, -736,
1427: -736, 3569, 569, 148, -736, 462, -736, -736, 3962, 432,
1428: 3962, 437, -9, 438, 27, 3962, 5197, 3962, -736, 3962,
1429: 3962, 3962, 2571, 1582, 1373, 2700, 2700, 2700, 2700, 1288,
1430: 1288, 1288, 1288, 568, 568, 61, 61, 61, 399, 399,
1431: 399, -736, -16, 1452, 1452, 1452, 1452, 1452, 1452, 1452,
1432: 1452, 1452, 1452, 1452, 1452, 3569, 432, 444, 446, 5120,
1433: 443, 188, 447, 4267, -736, 319, -736, 171, 5120, 171,
1434: 5020, 340, -736, 3569, -736, -736, 188, -736, 573, 5120,
1435: 452, 4854, -736, -736, -736, -736, 590, 33, -736, 1020,
1436: 1020, 1020, 457, -736, 25, 459, 205, -56, 464, -736,
1437: -736, -736, 451, 549, -736, -736, 4308, -736, -736, 608,
1438: -736, 171, 471, -736, -736, -736, -736, 475, -736, 34,
1439: -736, -736, 221, -736, 3962, -736, -736, -736, 473, -736,
1440: 3569, 159, 492, -736, -736, -736, -736, -736, 171, 480,
1441: 634, 35, 210, 1020, 495, 205, 340, -736, 522, 148,
1442: 494, 498, 235, 493, 4353, -736, -736, -9, 5160, 1452,
1443: 3962, 5063, 5242, 5263, 187, -736, 499, -736, -736, -736,
1444: -736, -736, 0, -736, -736, -736, -736, -736, 3700, 500,
1445: -736, -736, 2390, -736, -736, 3962, 3962, 171, 2, 1020,
1446: 583, 1863, -1, -736, -736, 531, 501, 652, 1020, 520,
1447: 205, 118, 601, 572, -736, -736, 1020, 235, -736, -736,
1448: 171, -736, 143, 662, -736, -736, -736, 521, 1418, 3569,
1449: -736, 525, 530, -736, 206, 532, -736, -736, 3831, -736,
1450: 205, 340, 148, 529, 675, -736, -736, 235, -736, -736,
1451: 534, 677, 36, -736, -736, -736, 3569, 3569, 5220, -736,
1452: -736, -736, 3569, 3569, -736, 537, 3962, 3962, 171, 5120,
1453: -736, -736, -736, -736, 3962, 1995, 541, 5120, 574, 171,
1454: 574, -736, -736, 680, -736, -736, -736, 545, 546, -736,
1455: 1020, -736, 1020, -736, 550, 163, -736, 552, -736, 554,
1456: -736, 143, -736, 3962, -736, 553, 557, -736, -736, 3962,
1457: 188, 576, 225, -736, -736, 551, 171, 37, 1034, 340,
1458: 675, -736, 148, 420, 559, 606, 182, 638, 700, 564,
1459: 565, 3962, 392, 570, 571, -736, 657, 663, -736, 577,
1460: 4394, -736, 600, 311, -736, 4896, -736, -736, -736, -736,
1461: 2, 575, -736, 578, 1020, 640, -736, 328, -736, 310,
1462: -736, 603, -736, -736, 606, 40, 1452, -736, -736, 580,
1463: -736, -736, 3962, 576, -736, -736, 524, -736, 660, 148,
1464: -736, -736, -736, -736, -736, -736, -736, -736, -736, -736,
1465: -736, 320, 396, -736, 22, 581, 585, 605, 46, 745,
1466: 1020, -736, -736, 5220, -736, -736, -736, 3569, 3962, 3962,
1467: 576, -736, -736, 188, -736, -736, 395, 611, 681, 3962,
1468: -736, -736, -736, -736, 612, 348, 615, 3962, 43, 313,
1469: -736, 1020, 148, 618, -736, -736, 537, 619, 576, -736,
1470: 754, 6, -736, 702, 338, -736, 706, -736, -736, 48,
1471: -736, 707, 760, 1020, -736, 631, 627, 628, -736, -736,
1472: 403, 635, 2390, -736, -736, 636, 641, 2127, 2127, -736,
1473: 642, -736, 4437, -736, -736, -736, -736, -736, -736, -736,
1474: -736, -736, 1020, 148, -736, 209, -736, 773, 24, 721,
1475: 781, 643, 722, -736, 41, 644, 786, 1020, -736, -736,
1476: -736, -736, 651, 775, 736, 3962, -736, -736, -736, -736,
1477: -736, -736, -736, -736, -736, -736, 729, 653, -736, -736,
1478: 715, 654, 209, -736, 658, 718, 705, 661, 671, 1020,
1479: 743, -736, -736, 1020, -736, -736, 50, -736, -736, 1020,
1480: -736, 3962, -736, 666, 4937, 2259, 731, -736, 294, 673,
1481: -736, -736, -736, -736, 558, 148, -736, 750, -736, 811,
1482: 682, -736, 756, -736, -736, 4978, 762, -736, -736, -736,
1483: -736, -736, 684, 299, -736, 761, 766, 825, -736, -736,
1484: 1020, 235, -736, 810, 2390, 753, -736, 688, -736, 148,
1485: -736, 691, -736, -736, 692, -736, -736, 324, -736, -736,
1486: 689, -736, -736, -736, 387, -736, 693, 742, -736, 696,
1487: -736, 742, -736, 148, -736, -736, 776, 698, -736, 699,
1488: -736, 697, -736
1489: };
1490:
1491: /* YYPGOTO[NTERM-NUM]. */
1492: static const yytype_int16 yypgoto[] =
1493: {
1494: -736, -736, -328, -736, -23, -736, -736, -736, -736, 527,
1495: -736, -250, -736, -736, 4, -736, -736, -736, -736, -736,
1496: -736, -736, -736, -736, -736, -736, -736, -736, -736, -736,
1497: -736, -736, -736, -736, -736, -736, -736, -736, -736, -736,
1498: -119, -736, -736, -736, 372, 491, 496, -114, -736, -736,
1499: -736, -736, -736, -736, -736, -736, -736, -736, 256, 220,
1500: 151, -736, 44, -736, -736, -736, -367, -736, -736, 31,
1501: -736, -736, -736, -736, -736, -736, -736, -570, -736, 181,
1502: -415, -736, -736, 535, -736, 184, -736, -736, -736, -736,
1503: -736, -736, -736, -736, -7, -736, -736, -736, -736, -736,
1504: -736, -736, -736, -736, -736, -735, -736, -736, -736, -539,
1505: -736, -736, 138, -736, -736, -736, -736, -736, 796, -736,
1506: -26, -736, -736, -736, -736, -736, -736, -736, -736, -736,
1507: -736, -736, -736, -736, -2, 150, -736, -736, -736, -736,
1508: -736, -736, -736, -736, -736, -736, 12, -364, -249, -736,
1509: -736, -736, -736, -736, -736, -736, 186, 579, 368, -736,
1510: -736, 309, 312, -736, 734, 694, -419, 454, 765, -736,
1511: -736, -736, -650, -736, -736, -736, -736, 84, -231, -736,
1512: 137, -736, -736, -736, -21, -12, -736, -267, -434, -736,
1513: -736, 13, 66, 222, 300, -736, 683, -736, 405, 203,
1514: -736, -736, -736, -736, -736, -736
1515: };
1516:
1517: /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1518: positive, shift that token. If negative, reduce the rule which
1519: number is the opposite. If zero, do what YYDEFACT says.
1520: If YYTABLE_NINF, syntax error. */
1521: #define YYTABLE_NINF -472
1522: static const yytype_int16 yytable[] =
1523: {
1524: 141, 141, 96, 381, 154, 284, 159, 659, 86, 517,
1525: 536, 411, 550, 432, 843, 160, 636, 805, 546, 227,
1526: 547, 731, 307, 181, 328, 647, 333, 336, 549, 187,
1527: 806, 498, 890, 639, 280, 142, 142, 684, 481, 155,
1528: 483, 560, 582, -169, 280, -172, 427, 534, 582, 896,
1529: 214, 280, 280, 215, 198, 116, 116, 34, 381, 427,
1530: 190, 626, 196, 116, 3, 34, 122, 687, 442, 833,
1531: 445, 225, 226, 116, 472, 34, 376, 811, -361, 852,
1532: -2, 922, 225, 226, 338, 592, -363, 47, -361, 596,
1533: 225, 362, 225, 161, -362, 162, 138, 164, 225, 497,
1534: 34, 283, 165, 569, 138, 169, 257, 258, 259, 688,
1535: 260, 523, 34, 170, 138, 198, 379, 288, 34, 812,
1536: 818, 853, -445, 923, 141, 281, 205, -448, 178, 139,
1537: 298, 355, 140, 186, -448, 281, 205, 139, 80, -444,
1538: 140, 191, 281, 281, 330, 314, 80, 139, 731, 303,
1539: 140, 648, 627, 179, 377, 605, 80, 844, 845, 142,
1540: 145, 145, 228, 326, 158, 308, 207, 329, 141, 334,
1541: 337, 591, 309, 807, 666, 891, 141, 141, 141, 936,
1542: 482, 282, 484, 561, 583, -169, 141, -172, 327, 358,
1543: 794, 897, 348, 80, 834, 208, 209, 380, 116, 80,
1544: 540, 689, 690, 142, 350, 208, 209, 693, 694, 701,
1545: 369, 142, 142, 142, 116, 540, 34, 171, -170, 116,
1546: -249, 142, 382, 264, 265, 266, 267, 268, 269, 270,
1547: 271, 272, 273, 274, 275, 173, 730, 154, 605, 159,
1548: 826, 426, 116, 34, 34, 205, 225, 383, 160, 199,
1549: 206, 205, 473, 116, 349, 138, 220, 735, 116, 436,
1550: 34, 34, -363, 194, 435, 382, 225, 669, 487, -428,
1551: -428, 195, 155, 200, 441, 212, 116, 382, 382, 213,
1552: 880, 719, -249, 138, 145, 620, 732, 382, 139, 382,
1553: 428, 140, 584, 514, 585, 586, 515, 80, 467, 138,
1554: 384, 201, 383, 428, 205, 187, 116, -362, 608, 609,
1555: 225, 225, 467, 207, 208, 209, 139, 202, 737, 140,
1556: 208, 209, 380, 141, 80, 80, 161, 514, 145, 670,
1557: 515, 219, 152, 468, 203, 153, 145, 145, 145, 819,
1558: 380, 80, 80, 384, 204, 511, 145, 468, -244, 785,
1559: 516, 789, 815, 229, 514, 384, 384, 515, 142, 699,
1560: -170, 608, 609, 205, 96, 384, 230, 384, 355, 231,
1561: 504, 951, 527, 208, 209, 802, 205, -41, -41, -41,
1562: 514, 223, 703, 515, -450, -154, -138, -138, -138, 141,
1563: 205, -136, -136, -136, 715, 355, 234, 158, 276, 511,
1564: 262, 263, 729, 787, 788, 277, 787, 788, 225, 351,
1565: 278, 360, 361, 357, 141, 279, 141, 511, 47, 382,
1566: 786, 787, 788, 351, 142, 357, 351, 357, 838, 225,
1567: 362, 356, 208, 209, 382, 212, 467, 467, 467, 540,
1568: 830, 787, 788, 571, 287, 208, 209, -138, 260, 142,
1569: 289, 142, -136, -148, -148, -148, 778, 294, 141, 208,
1570: 209, 821, 822, 790, 295, 797, 836, 225, 497, 862,
1571: 863, 468, 468, 468, 511, 961, 962, 143, 146, 879,
1572: 290, 888, 297, 145, 302, 141, 222, 224, 225, 299,
1573: 467, 301, 601, 142, -218, 316, 516, 384, 321, 516,
1574: 335, 816, 817, 740, 741, 742, 743, 744, 745, 320,
1575: 322, 154, 384, 159, 324, 345, 363, 365, 888, 738,
1576: 142, 370, 160, 368, 739, 468, 372, 740, 741, 742,
1577: 743, 744, 745, 746, 141, 141, 467, 373, 378, 388,
1578: 377, 443, 540, 450, 452, 467, 155, 655, 453, 145,
1579: 454, 938, 456, 467, 516, 474, 633, 141, 851, 141,
1580: 855, 479, 480, 511, 485, 645, 486, 491, 493, 142,
1581: 142, 468, 677, 747, 145, 494, 145, 679, 496, 516,
1582: 468, -471, 513, 519, 516, 956, 525, 526, 468, 877,
1583: 511, 511, 142, 537, 142, 538, 511, 511, 539, 551,
1584: 161, 553, 544, 559, 573, 141, 568, 570, 572, 975,
1585: 254, 255, 256, 257, 258, 259, 141, 260, 145, 906,
1586: 574, 576, 579, 738, 581, 908, 590, 467, 739, 467,
1587: 597, 740, 741, 742, 743, 744, 745, 746, 141, 707,
1588: 142, 595, 598, 600, 602, 145, 606, 607, 614, 621,
1589: 630, 142, 926, 141, 643, 650, 651, 933, 382, 516,
1590: 652, 350, 468, 516, 468, 740, 741, 742, 743, 744,
1591: 745, 158, 656, 142, 657, 663, 664, 799, 667, 945,
1592: 668, 681, 675, 682, 685, 686, 695, 141, 142, 470,
1593: 849, 467, 709, 714, 145, 145, 716, 718, 710, 670,
1594: 722, 723, 734, 478, 724, 960, 727, 728, 964, 755,
1595: 756, 759, 966, 760, 761, 762, 516, 145, 768, 145,
1596: 765, 766, 142, 773, 769, 781, 468, 791, 782, 784,
1597: 981, 800, 771, 808, 809, 795, 384, 467, 101, 120,
1598: 121, 511, 123, 124, 125, 126, 127, 128, 129, 804,
1599: 131, 132, 133, 134, 135, 136, 137, 810, 813, 148,
1600: 151, 382, 824, 829, 825, 145, 831, 842, 467, 516,
1601: 839, 167, 468, 857, 841, 847, 145, 850, 175, 177,
1602: 856, 859, 860, 861, 865, 185, 889, 867, 144, 144,
1603: 467, 868, 892, 873, 893, 895, 894, 898, 145, 899,
1604: 901, 902, 909, 468, 903, -206, 910, 911, 914, 913,
1605: 915, 217, 916, 145, 183, 917, 919, 927, 932, 467,
1606: 516, 939, 516, 934, 940, 468, 866, 563, 564, 942,
1607: -152, 941, 948, 949, 467, 946, 952, -212, 954, 384,
1608: 955, 957, 965, 959, 969, 973, 968, 145, 978, 977,
1609: 982, 980, 974, 578, 468, 475, 285, 505, 680, 516,
1610: 713, 780, 506, 874, 286, 736, 467, 758, 477, 468,
1611: 467, 798, 872, 216, 793, 912, 467, 654, 764, 653,
1612: 840, 599, 662, 725, 0, 331, 0, 347, 0, 0,
1613: 0, 0, 516, 0, 0, 0, 305, 0, 306, 0,
1614: 469, 468, 101, 0, 313, 468, 0, 317, 0, 930,
1615: 0, 468, 292, 0, 469, 0, 0, 467, 516, 0,
1616: 0, 0, 0, 0, 0, 0, 516, 642, 0, 0,
1617: 0, 0, 0, 0, 0, 0, 315, 0, 148, 0,
1618: 0, 0, 353, 0, 658, 0, 0, 0, 953, 0,
1619: 516, 0, 468, 367, 0, 0, 332, 0, 0, 0,
1620: 0, 0, 0, 0, 341, 342, 344, 0, 0, 0,
1621: 386, 0, 0, 0, 354, 392, 393, 394, 395, 396,
1622: 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
1623: 407, 408, 409, 410, 0, 0, 0, 0, 413, 414,
1624: 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1625: 0, 0, 429, 0, 429, 433, 0, 0, 720, 0,
1626: 721, 0, 0, 0, 0, 0, 0, 438, 0, 440,
1627: 0, 0, 0, 0, 0, 0, 0, 0, 469, 469,
1628: 469, 449, -173, 0, 451, 0, 0, 264, 265, 266,
1629: 267, 268, 269, 270, 271, 272, 273, 274, 275, 0,
1630: 0, 0, 459, 460, 476, 0, 0, 0, 0, 264,
1631: 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1632: 275, 461, 783, 0, 0, 0, 0, 0, 0, 30,
1633: 31, 116, 469, -428, -428, 0, 0, 0, 0, 36,
1634: 101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1635: 0, 488, 429, 0, 524, -428, -428, 0, 0, 528,
1636: 0, 529, 0, 531, 532, 533, 0, 0, 814, 0,
1637: 0, 0, 138, 0, 0, 0, 512, 0, 469, 0,
1638: 0, 0, 0, 0, 0, 0, 462, 469, 463, 67,
1639: 68, 69, 70, 71, 0, 469, 0, 0, 0, 837,
1640: 464, 0, 0, 0, 0, 465, 74, 75, 466, 0,
1641: 0, 0, 0, 0, 0, 0, 0, 535, 0, 0,
1642: 0, 858, 0, 0, -173, 0, 0, 0, 0, 0,
1643: 512, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1644: 0, 0, 292, 0, 292, 0, 0, 323, 512, 0,
1645: 878, 0, 264, 265, 266, 267, 268, 269, 270, 271,
1646: 272, 273, 274, 275, 0, 900, 0, 0, 588, 469,
1647: 0, 469, 264, 265, 266, 267, 268, 269, 270, 271,
1648: 272, 273, 274, 275, 0, 0, 341, 0, 0, 0,
1649: 0, 0, 0, 0, 0, 0, 0, 918, -428, -428,
1650: 0, 921, 0, 0, 618, 512, 0, 924, 0, 0,
1651: 0, 0, 0, 292, 0, 0, 0, 0, -428, -428,
1652: 0, 0, 629, 0, 0, 0, 101, 0, 0, 313,
1653: 637, 0, 0, 469, 0, 101, 0, 0, 0, 0,
1654: 0, 0, 0, 0, 0, 0, 0, 0, 950, 455,
1655: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1656: 0, 0, 638, 641, -472, -472, -472, -472, 252, 253,
1657: 254, 255, 256, 257, 258, 259, 0, 260, 0, 469,
1658: 0, 0, 0, 0, 0, 660, 0, 488, 0, 0,
1659: 0, 0, 0, 0, 512, 0, 0, 0, 0, 0,
1660: 429, 700, 0, 678, 0, 0, 0, 0, 705, 101,
1661: 469, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1662: 0, 512, 512, 0, 0, 0, 0, 512, 512, 0,
1663: 0, 0, 469, 292, 0, 0, 0, 726, 0, 0,
1664: 0, 0, 0, 429, 712, 244, 245, 246, 247, 248,
1665: 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1666: 259, 469, 260, 0, 0, 763, 488, 235, 236, 237,
1667: 0, 0, 0, 0, 0, 0, 469, 0, 0, 0,
1668: 0, 292, 0, 238, 0, 239, 240, 241, 242, 243,
1669: 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1670: 254, 255, 256, 257, 258, 259, 429, 260, 469, 0,
1671: 0, 0, 469, 0, 0, 641, 0, 238, 469, 239,
1672: 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1673: 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1674: 0, 260, 429, 429, 0, 0, 0, 0, 0, 0,
1675: 0, 0, 0, 313, 0, 235, 236, 237, 0, 469,
1676: 0, 832, 0, 0, 0, 0, 0, 0, 0, 0,
1677: 0, 238, 512, 239, 240, 241, 242, 243, 244, 245,
1678: 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1679: 256, 257, 258, 259, 0, 260, 101, 0, 235, 236,
1680: 237, 101, 101, 0, 0, 0, 0, 0, 0, 0,
1681: 0, 0, 0, 665, 238, 0, 239, 240, 241, 242,
1682: 243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
1683: 253, 254, 255, 256, 257, 258, 259, 0, 260, 904,
1684: 0, 0, 0, 5, 6, 7, 8, 9, 0, 0,
1685: 0, 0, 10, 243, 244, 245, 246, 247, 248, 249,
1686: 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1687: 293, 260, 0, 0, 0, 925, 0, 0, 0, 101,
1688: 0, 0, 11, 12, 0, 0, 0, 0, 13, 0,
1689: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1690: 24, 25, 26, 27, 28, 29, 0, 0, 0, 30,
1691: 31, 32, 33, 34, 0, 35, 0, 0, 101, 36,
1692: 37, 38, 39, 0, 40, 0, 41, 0, 42, 0,
1693: 0, 43, 0, 0, 0, 44, 45, 46, 47, 48,
1694: 49, 50, 495, 51, 52, 0, 53, 0, 0, 0,
1695: 54, 55, 56, 0, 57, 58, 59, 60, 61, 62,
1696: 63, 0, 0, 0, 0, 64, 65, 0, 66, 67,
1697: 68, 69, 70, 71, 5, 6, 7, 8, 9, 0,
1698: 72, 0, 0, 10, 0, 73, 74, 75, 76, 77,
1699: 0, 78, 79, 0, 80, 0, 81, 82, 0, 0,
1700: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1701: 0, 0, 0, 11, 12, 0, 0, 0, 0, 13,
1702: 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1703: 23, 24, 25, 26, 27, 28, 29, 0, 0, 0,
1704: 30, 31, 32, 33, 34, 0, 35, 0, 0, 0,
1705: 36, 37, 38, 39, 0, 40, 0, 41, 0, 42,
1706: 0, 0, 43, 0, 0, 0, 44, 45, 46, 47,
1707: 0, 49, 50, 0, 51, 0, 0, 53, 0, 0,
1708: 0, 54, 55, 56, 0, 57, 58, 59, 502, 61,
1709: 62, 63, 0, 0, 0, 0, 64, 65, 0, 66,
1710: 67, 68, 69, 70, 71, 0, 5, 6, 7, 8,
1711: 9, 72, 0, 0, 0, 10, 118, 74, 75, 76,
1712: 77, 0, 78, 79, 0, 80, 0, 81, 82, 644,
1713: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714: 0, 0, 0, 0, 0, 11, 12, 0, 0, 0,
1715: 0, 13, 0, 14, 15, 16, 17, 18, 19, 20,
1716: 21, 22, 23, 24, 25, 26, 27, 28, 29, 0,
1717: 0, 0, 30, 31, 32, 33, 34, 0, 35, 0,
1718: 0, 0, 36, 37, 38, 39, 0, 40, 0, 41,
1719: 0, 42, 0, 0, 43, 0, 0, 0, 44, 45,
1720: 46, 47, 0, 49, 50, 0, 51, 0, 0, 53,
1721: 0, 0, 0, 0, 0, 56, 0, 57, 58, 59,
1722: 0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
1723: 0, 66, 67, 68, 69, 70, 71, 0, 5, 6,
1724: 7, 8, 9, 72, 0, 0, 0, 10, 118, 74,
1725: 75, 76, 77, 0, 78, 79, 0, 80, 0, 81,
1726: 82, 706, 0, 0, 0, 0, 0, 0, 0, 0,
1727: 0, 0, 0, 0, 0, 0, 0, 11, 12, 0,
1728: 0, 0, 0, 13, 0, 14, 15, 16, 17, 18,
1729: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1730: 29, 0, 0, 0, 30, 31, 32, 33, 34, 0,
1731: 35, 0, 0, 0, 36, 37, 38, 39, 0, 40,
1732: 0, 41, 0, 42, 0, 0, 43, 0, 0, 0,
1733: 44, 45, 46, 47, 0, 49, 50, 0, 51, 0,
1734: 0, 53, 0, 0, 0, 0, 0, 56, 0, 57,
1735: 58, 59, 0, 0, 0, 0, 0, 0, 0, 0,
1736: 64, 65, 0, 66, 67, 68, 69, 70, 71, 0,
1737: 5, 6, 7, 8, 9, 72, 0, 0, 0, 10,
1738: 118, 74, 75, 76, 77, 0, 78, 79, 0, 80,
1739: 0, 81, 82, 869, 0, 0, 0, 0, 0, 0,
1740: 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
1741: 12, 0, 0, 0, 0, 13, 0, 14, 15, 16,
1742: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1743: 27, 28, 29, 0, 0, 0, 30, 31, 32, 33,
1744: 34, 0, 35, 0, 0, 0, 36, 37, 38, 39,
1745: 0, 40, 0, 41, 0, 42, 0, 0, 43, 0,
1746: 0, 0, 44, 45, 46, 47, 0, 49, 50, 0,
1747: 51, 0, 0, 53, 0, 0, 0, 0, 0, 56,
1748: 0, 57, 58, 59, 0, 0, 0, 0, 0, 0,
1749: 0, 0, 64, 65, 0, 66, 67, 68, 69, 70,
1750: 71, 0, 5, 6, 7, 8, 9, 72, 0, 0,
1751: 0, 10, 118, 74, 75, 76, 77, 0, 78, 79,
1752: 0, 80, 0, 81, 82, 929, 0, 0, 0, 0,
1753: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1754: 0, 11, 12, 0, 0, 0, 0, 13, 0, 14,
1755: 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1756: 25, 26, 27, 28, 29, 0, 0, 0, 30, 31,
1757: 32, 33, 34, 0, 35, 0, 0, 0, 36, 37,
1758: 38, 39, 0, 40, 0, 41, 0, 42, 0, 0,
1759: 43, 0, 0, 0, 44, 45, 46, 47, 0, 49,
1760: 50, 0, 51, 0, 0, 53, 0, 0, 0, 0,
1761: 0, 56, 0, 57, 58, 59, 0, 0, 0, 0,
1762: 0, 0, 0, 0, 64, 65, 0, 66, 67, 68,
1763: 69, 70, 71, 5, 6, 7, 8, 9, 0, 72,
1764: 0, 0, 10, 0, 118, 74, 75, 76, 77, 0,
1765: 78, 79, 0, 80, 0, 81, 82, 0, 0, 0,
1766: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767: 0, 0, 11, 12, 0, 0, 0, 0, 13, 0,
1768: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1769: 24, 25, 26, 27, 28, 29, 0, 0, 0, 30,
1770: 31, 32, 33, 34, 0, 35, 0, 0, 0, 36,
1771: 37, 38, 39, 0, 40, 0, 41, 0, 42, 0,
1772: 0, 43, 0, 0, 0, 44, 45, 46, 47, 0,
1773: 49, 50, 0, 51, 0, 0, 53, 0, 0, 0,
1774: 0, 0, 56, 0, 57, 58, 59, 0, 0, 0,
1775: 0, 0, 0, 0, 0, 64, 65, 0, 66, 67,
1776: 68, 69, 70, 71, 5, 6, 7, 8, 9, 0,
1777: 72, 0, 0, 10, 0, 118, 74, 75, 76, 77,
1778: 0, 78, 79, 0, 80, 0, 81, 82, 0, 0,
1779: 0, 0, 147, 0, 0, 0, 0, 0, 0, 0,
1780: 0, 0, 0, 11, 12, 0, 0, 0, 0, 13,
1781: 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1782: 23, 24, 25, 26, 27, 28, 0, 0, 0, 0,
1783: 30, 31, 116, 33, 34, 0, 0, 0, 0, 0,
1784: 36, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1785: 251, 252, 253, 254, 255, 256, 257, 258, 259, 47,
1786: 260, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1787: 0, 0, 0, 117, 0, 0, 58, 59, 0, 0,
1788: 0, 0, 0, 0, 0, 0, 64, 65, 0, 66,
1789: 67, 68, 69, 70, 71, 5, 6, 7, 8, 9,
1790: 0, 72, 0, 0, 10, 0, 118, 74, 75, 76,
1791: 77, 0, 0, 0, 0, 80, 0, 81, 82, 0,
1792: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1793: 0, 0, 0, 0, 11, 12, 0, 0, 0, 0,
1794: 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
1795: 22, 23, 24, 25, 26, 27, 28, 0, 0, 0,
1796: 0, 30, 31, 116, 33, 34, 0, 0, 0, 0,
1797: 0, 36, -472, -472, -472, -472, 248, 249, 250, 251,
1798: 252, 253, 254, 255, 256, 257, 258, 259, 0, 260,
1799: 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1800: 0, 0, 0, 0, 117, 0, 0, 58, 59, 0,
1801: 0, 0, 0, 0, 0, 0, 0, 64, 65, 0,
1802: 66, 67, 68, 69, 70, 71, 5, 6, 7, 8,
1803: 9, 0, 72, 0, 0, 10, 0, 118, 74, 75,
1804: 76, 77, 0, 174, 0, 0, 80, 0, 81, 82,
1805: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806: 0, 0, 0, 0, 0, 11, 12, 0, 0, 0,
1807: 0, 13, 0, 14, 15, 16, 17, 18, 19, 20,
1808: 21, 22, 23, 24, 25, 26, 27, 28, 0, 0,
1809: 0, 0, 30, 31, 116, 33, 34, 0, 0, 0,
1810: 0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
1811: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812: 0, 47, 0, 0, 0, 0, 0, 0, 0, 0,
1813: 0, 0, 0, 0, 0, 117, 0, 0, 58, 59,
1814: 0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
1815: 0, 66, 67, 68, 69, 70, 71, 5, 6, 7,
1816: 8, 9, 0, 72, 0, 0, 10, 0, 118, 74,
1817: 75, 76, 77, 0, 176, 0, 0, 80, 0, 81,
1818: 82, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1819: 0, 0, 0, 0, 0, 0, 11, 12, 0, 0,
1820: 0, 0, 13, 0, 14, 15, 16, 17, 18, 19,
1821: 20, 21, 22, 23, 24, 25, 26, 27, 28, 0,
1822: 0, 0, 0, 30, 31, 116, 33, 34, 0, 0,
1823: 0, 0, 0, 36, 0, 0, 0, 0, 0, 0,
1824: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1825: 0, 0, 47, 0, 0, 0, 0, 0, 0, 0,
1826: 0, 0, 0, 0, 0, 0, 117, 0, 0, 58,
1827: 59, 0, 0, 0, 0, 0, 0, 0, 0, 64,
1828: 65, 0, 66, 67, 68, 69, 70, 71, 5, 6,
1829: 7, 8, 9, 0, 72, 0, 0, 10, 0, 118,
1830: 74, 75, 76, 77, 0, 180, 0, 0, 80, 0,
1831: 81, 82, 0, 0, 0, 0, 0, 0, 0, 0,
1832: 0, 0, 0, 0, 0, 0, 0, 11, 12, 0,
1833: 0, 0, 0, 13, 0, 14, 15, 16, 17, 18,
1834: 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1835: 0, 0, 0, 0, 30, 31, 116, 33, 34, 0,
1836: 0, 0, 0, 0, 36, 0, 0, 0, 0, 0,
1837: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838: 0, 0, 0, 47, 0, 0, 0, 0, 0, 0,
1839: 0, 0, 0, 0, 0, 0, 0, 117, 0, 0,
1840: 58, 59, 0, 0, 0, 0, 0, 0, 0, 0,
1841: 64, 65, 0, 66, 67, 68, 69, 70, 71, 5,
1842: 6, 7, 8, 9, 0, 72, 0, 0, 10, 0,
1843: 118, 74, 75, 76, 77, 304, 0, 0, 0, 80,
1844: 0, 81, 82, 0, 0, 0, 0, 412, 0, 0,
1845: 0, 0, 0, 0, 0, 0, 0, 0, 11, 12,
1846: 0, 0, 0, 0, 13, 0, 14, 15, 16, 17,
1847: 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1848: 28, 0, 0, 0, 0, 30, 31, 116, 33, 34,
1849: 0, 0, 0, 0, 0, 36, 0, 0, 0, 0,
1850: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1851: 0, 0, 0, 0, 47, 0, 0, 0, 0, 0,
1852: 0, 0, 0, 0, 0, 0, 0, 0, 117, 0,
1853: 0, 58, 59, 0, 0, 0, 0, 0, 0, 0,
1854: 0, 64, 65, 0, 66, 67, 68, 69, 70, 71,
1855: 5, 6, 7, 8, 9, 0, 72, 0, 0, 10,
1856: 0, 118, 74, 75, 76, 77, 0, 0, 0, 0,
1857: 80, 0, 81, 82, 0, 0, 0, 0, 437, 0,
1858: 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
1859: 12, 0, 0, 0, 0, 13, 0, 14, 15, 16,
1860: 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1861: 27, 28, 0, 0, 0, 0, 30, 31, 116, 33,
1862: 34, 0, 0, 0, 0, 0, 36, 0, 0, 0,
1863: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1864: 0, 0, 0, 0, 0, 47, 0, 0, 0, 0,
1865: 0, 0, 0, 0, 0, 0, 0, 0, 0, 117,
1866: 0, 0, 58, 59, 0, 0, 0, 0, 0, 0,
1867: 0, 0, 64, 65, 0, 66, 67, 68, 69, 70,
1868: 71, 5, 6, 7, 8, 9, 0, 72, 0, 0,
1869: 10, 0, 118, 74, 75, 76, 77, 0, 0, 0,
1870: 0, 80, 0, 81, 82, 0, 0, 0, 0, 439,
1871: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1872: 11, 12, 0, 0, 0, 0, 13, 0, 14, 15,
1873: 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
1874: 26, 27, 28, 0, 0, 0, 0, 30, 31, 116,
1875: 33, 34, 0, 0, 0, 0, 0, 36, 0, 0,
1876: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1877: 0, 0, 0, 0, 0, 0, 47, 0, 0, 0,
1878: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1879: 117, 0, 0, 58, 59, 0, 0, 0, 0, 0,
1880: 0, 0, 0, 64, 65, 0, 66, 67, 68, 69,
1881: 70, 71, 5, 6, 7, 8, 9, 0, 72, 0,
1882: 0, 10, 0, 118, 74, 75, 76, 77, 0, 0,
1883: 0, 0, 80, 0, 81, 82, 0, 0, 0, 0,
1884: 508, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1885: 0, 11, 12, 0, 0, 0, 0, 13, 0, 14,
1886: 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1887: 25, 26, 27, 28, 0, 0, 0, 0, 30, 31,
1888: 116, 33, 34, 0, 0, 0, 0, 0, 36, 0,
1889: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1890: 0, 0, 0, 0, 0, 0, 0, 47, 0, 0,
1891: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1892: 0, 117, 0, 0, 58, 59, 0, 0, 0, 0,
1893: 0, 0, 0, 0, 64, 65, 0, 66, 67, 68,
1894: 69, 70, 71, 5, 6, 7, 8, 9, 0, 72,
1895: 0, 0, 10, 0, 118, 74, 75, 76, 77, 0,
1896: 0, 0, 0, 80, 0, 81, 82, 0, 0, 0,
1897: 0, 628, 0, 0, 0, 0, 0, 0, 0, 0,
1898: 0, 0, 11, 12, 0, 0, 0, 0, 13, 0,
1899: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
1900: 24, 25, 26, 27, 28, 0, 0, 0, 0, 30,
1901: 31, 116, 33, 34, 0, 0, 0, 0, 0, 36,
1902: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1903: 0, 0, 0, 0, 0, 0, 0, 0, 47, 0,
1904: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1905: 0, 0, 117, 0, 0, 58, 59, 0, 0, 0,
1906: 0, 0, 0, 0, 0, 64, 65, 0, 66, 67,
1907: 68, 69, 70, 71, 5, 6, 7, 8, 9, 0,
1908: 72, 0, 0, 10, 0, 118, 74, 75, 76, 77,
1909: 0, 0, 0, 0, 80, 0, 81, 82, 0, 0,
1910: 0, 0, 676, 0, 0, 0, 0, 0, 0, 0,
1911: 0, 0, 0, 11, 12, 0, 0, 0, 0, 13,
1912: 0, 14, 15, 16, 17, 18, 19, 20, 21, 22,
1913: 23, 24, 25, 26, 27, 28, 0, 0, 0, 0,
1914: 30, 31, 116, 33, 34, 0, 0, 0, 0, 0,
1915: 36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916: 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,
1917: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1918: 0, 0, 0, 117, 0, 0, 58, 59, 0, 0,
1919: 0, 0, 0, 0, 0, 0, 64, 65, 0, 66,
1920: 67, 68, 69, 70, 71, 5, 6, 7, 8, 9,
1921: 0, 72, 0, 0, 10, 0, 118, 74, 75, 76,
1922: 77, 0, 0, 0, 0, 80, 0, 81, 82, 0,
1923: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1924: 0, 0, 0, 0, 11, 12, 0, 0, 0, 0,
1925: 13, 0, 14, 15, 16, 17, 18, 19, 20, 21,
1926: 22, 23, 24, 25, 26, 27, 28, 0, 0, 0,
1927: 0, 30, 31, 116, 33, 34, 0, 0, 0, 0,
1928: 0, 36, 0, 0, 0, 0, 0, 0, 0, 0,
1929: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930: 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931: 0, 0, 0, 0, 117, 0, 0, 58, 59, 0,
1932: 0, 0, 0, 0, 0, 0, 0, 64, 65, 0,
1933: 66, 67, 68, 69, 70, 71, 5, 6, 7, 8,
1934: 9, 0, 72, 0, 0, 10, 0, 118, 74, 75,
1935: 76, 77, 0, 0, 0, 0, 80, 0, 81, 82,
1936: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1937: 0, 0, 0, 0, 0, 11, 12, 0, 0, 0,
1938: 0, 13, 0, 14, 15, 16, 17, 18, 19, 20,
1939: 21, 22, 23, 24, 25, 26, 27, 28, 0, 0,
1940: 0, 0, 30, 31, 116, 352, 34, 0, 0, 0,
1941: 0, 0, 36, 0, 0, 0, 0, 0, 0, 0,
1942: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943: 0, 47, 0, 0, 0, 0, 0, 0, 0, 0,
1944: 0, 0, 0, 0, 0, 117, 0, 0, 58, 59,
1945: 0, 0, 0, 0, 0, 0, 0, 0, 64, 65,
1946: 0, 66, 67, 68, 69, 70, 71, 0, 0, 0,
1947: 0, 0, 0, 72, 0, 235, 236, 237, 118, 74,
1948: 75, 76, 77, 0, 0, 0, 0, 80, 0, 81,
1949: 82, 238, 0, 239, 240, 241, 242, 243, 244, 245,
1950: 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1951: 256, 257, 258, 259, 0, 260, 235, 236, 237, 0,
1952: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1953: 0, 0, 238, 0, 239, 240, 241, 242, 243, 244,
1954: 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1955: 255, 256, 257, 258, 259, 0, 260, 235, 236, 237,
1956: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1957: 0, 0, 0, 238, 0, 239, 240, 241, 242, 243,
1958: 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
1959: 254, 255, 256, 257, 258, 259, 0, 260, 0, 0,
1960: 0, 0, 235, 236, 237, 0, 0, 0, 0, 0,
1961: 0, 0, 0, 0, 0, 0, 0, 0, 238, 507,
1962: 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
1963: 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1964: 259, 0, 260, 235, 236, 237, 0, 0, 0, 0,
1965: 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
1966: 545, 239, 240, 241, 242, 243, 244, 245, 246, 247,
1967: 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
1968: 258, 259, 0, 260, 0, 0, 235, 236, 237, 0,
1969: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1970: 0, 575, 238, 833, 239, 240, 241, 242, 243, 244,
1971: 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1972: 255, 256, 257, 258, 259, 0, 260, 0, 0, 235,
1973: 236, 237, 0, 0, 0, 0, 0, 0, 0, 0,
1974: 0, 0, 0, 0, 0, 238, 615, 239, 240, 241,
1975: 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
1976: 252, 253, 254, 255, 256, 257, 258, 259, 0, 260,
1977: 235, 236, 237, 0, 0, 0, 0, 0, 0, 0,
1978: 0, 0, 0, 0, 0, 0, 238, 772, 239, 240,
1979: 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
1980: 251, 252, 253, 254, 255, 256, 257, 258, 259, 0,
1981: 260, 235, 236, 237, 0, 0, 0, 0, 0, 0,
1982: 0, 0, 0, 0, 0, 0, 0, 238, 834, 239,
1983: 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
1984: 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1985: 0, 260, 0, 0, 235, 236, 237, 0, 0, 0,
1986: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1987: 238, 261, 239, 240, 241, 242, 243, 244, 245, 246,
1988: 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
1989: 257, 258, 259, 0, 260, 235, 236, 237, 0, 0,
1990: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1991: 0, 238, 318, 239, 240, 241, 242, 243, 244, 245,
1992: 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
1993: 256, 257, 258, 259, 0, 260, 235, 236, 237, 0,
1994: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1995: 0, 0, 238, 319, 239, 240, 241, 242, 243, 244,
1996: 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1997: 255, 256, 257, 258, 259, 0, 260, 0, 0, 235,
1998: 236, 237, 0, 0, 0, 0, 0, 0, 0, 0,
1999: 0, 0, 0, 0, 0, 238, 325, 239, 240, 241,
2000: 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2001: 252, 253, 254, 255, 256, 257, 258, 259, 0, 260,
2002: 0, 235, 236, 237, 0, 0, 0, 0, 0, 0,
2003: 0, 0, 0, 0, 0, 0, 364, 238, 0, 239,
2004: 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2005: 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2006: 0, 260, 235, 236, 237, 0, 0, 0, 0, 0,
2007: 0, 0, 0, 0, 0, 0, 0, 434, 238, 0,
2008: 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2009: 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2010: 259, 0, 260, 235, 236, 237, 0, 0, 0, 0,
2011: 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
2012: 447, 239, 240, 241, 242, 243, 244, 245, 246, 247,
2013: 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2014: 258, 259, 0, 260, 0, 235, 236, 237, 0, 0,
2015: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2016: 0, 238, 448, 239, 240, 241, 242, 243, 244, 245,
2017: 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2018: 256, 257, 258, 259, 0, 260, 235, 236, 237, 0,
2019: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2020: 0, 0, 238, 458, 239, 240, 241, 242, 243, 244,
2021: 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2022: 255, 256, 257, 258, 259, 0, 260, 235, 236, 237,
2023: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2024: 0, 0, 0, 238, 554, 239, 240, 241, 242, 243,
2025: 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
2026: 254, 255, 256, 257, 258, 259, 0, 260, 0, 235,
2027: 236, 237, 0, 0, 0, 0, 0, 0, 0, 0,
2028: 0, 0, 0, 0, 0, 238, 777, 239, 240, 241,
2029: 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2030: 252, 253, 254, 255, 256, 257, 258, 259, 0, 260,
2031: 0, 0, 235, 236, 237, 0, 0, 0, 0, 0,
2032: 0, 0, 0, 0, 0, 0, 0, 928, 238, 619,
2033: 239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
2034: 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2035: 259, 0, 260, 0, 0, 0, 0, 0, 0, 0,
2036: 0, 0, 0, 0, 0, 0, 0, 0, 943, 235,
2037: 236, 237, 0, 0, 0, 0, 0, 0, 0, 0,
2038: 0, 0, 0, 0, 548, 238, 0, 239, 240, 241,
2039: 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2040: 252, 253, 254, 255, 256, 257, 258, 259, 0, 260,
2041: 236, 237, 0, 0, 0, 0, 0, 0, 0, 0,
2042: 0, 0, 0, 0, 0, 238, 0, 239, 240, 241,
2043: 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2044: 252, 253, 254, 255, 256, 257, 258, 259, 237, 260,
2045: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2046: 0, 0, 238, 0, 239, 240, 241, 242, 243, 244,
2047: 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2048: 255, 256, 257, 258, 259, 0, 260, 239, 240, 241,
2049: 242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
2050: 252, 253, 254, 255, 256, 257, 258, 259, 0, 260,
2051: 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
2052: 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2053: 0, 260, 241, 242, 243, 244, 245, 246, 247, 248,
2054: 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2055: 259, 0, 260
2056: };
2057:
2058: static const yytype_int16 yycheck[] =
2059: {
2060: 23, 24, 4, 234, 27, 119, 27, 577, 4, 373,
2061: 425, 260, 446, 280, 8, 27, 555, 752, 437, 8,
2062: 439, 671, 8, 49, 8, 26, 8, 8, 443, 52,
2063: 8, 359, 8, 31, 61, 23, 24, 607, 8, 27,
2064: 8, 8, 8, 8, 61, 8, 277, 63, 8, 8,
2065: 73, 61, 61, 76, 56, 71, 71, 73, 289, 290,
2066: 73, 61, 73, 71, 0, 73, 149, 31, 299, 26,
2067: 301, 148, 149, 71, 324, 73, 71, 31, 144, 31,
2068: 0, 31, 148, 149, 198, 500, 144, 98, 144, 508,
2069: 148, 149, 148, 27, 144, 149, 112, 149, 148, 149,
2070: 73, 113, 26, 78, 112, 149, 45, 46, 47, 73,
2071: 49, 378, 73, 149, 112, 117, 71, 140, 73, 73,
2072: 770, 73, 149, 73, 147, 152, 73, 144, 71, 145,
2073: 153, 78, 148, 148, 144, 152, 73, 145, 154, 149,
2074: 148, 154, 152, 152, 152, 171, 154, 145, 798, 161,
2075: 148, 152, 152, 71, 149, 519, 154, 151, 152, 147,
2076: 23, 24, 151, 186, 27, 151, 141, 151, 191, 151,
2077: 151, 499, 168, 151, 589, 151, 199, 200, 201, 914,
2078: 150, 154, 150, 150, 150, 150, 209, 150, 90, 212,
2079: 150, 150, 61, 154, 151, 142, 143, 152, 71, 154,
2080: 431, 616, 617, 191, 141, 142, 143, 622, 623, 628,
2081: 157, 199, 200, 201, 71, 446, 73, 149, 8, 71,
2082: 61, 209, 234, 13, 14, 15, 16, 17, 18, 19,
2083: 20, 21, 22, 23, 24, 149, 670, 260, 602, 260,
2084: 779, 71, 71, 73, 73, 73, 148, 234, 260, 149,
2085: 78, 73, 90, 71, 123, 112, 78, 676, 71, 71,
2086: 73, 73, 144, 118, 287, 277, 148, 61, 125, 59,
2087: 60, 118, 260, 149, 297, 148, 71, 289, 290, 152,
2088: 71, 648, 123, 112, 147, 534, 61, 299, 145, 301,
2089: 277, 148, 71, 145, 73, 74, 148, 154, 321, 112,
2090: 234, 149, 289, 290, 73, 328, 71, 144, 126, 127,
2091: 148, 148, 335, 141, 142, 143, 145, 149, 682, 148,
2092: 142, 143, 152, 346, 154, 154, 260, 145, 191, 123,
2093: 148, 152, 145, 321, 149, 148, 199, 200, 201, 773,
2094: 152, 154, 154, 277, 149, 371, 209, 335, 123, 716,
2095: 373, 718, 767, 71, 145, 289, 290, 148, 346, 626,
2096: 150, 126, 127, 73, 366, 299, 71, 301, 78, 31,
2097: 366, 941, 384, 142, 143, 739, 73, 66, 67, 68,
2098: 145, 78, 632, 148, 61, 150, 92, 93, 94, 412,
2099: 73, 92, 93, 94, 644, 78, 144, 260, 149, 425,
2100: 59, 60, 669, 93, 94, 144, 93, 94, 148, 206,
2101: 61, 151, 152, 210, 437, 123, 439, 443, 98, 431,
2102: 92, 93, 94, 220, 412, 222, 223, 224, 792, 148,
2103: 149, 141, 142, 143, 446, 148, 459, 460, 461, 670,
2104: 92, 93, 94, 466, 148, 142, 143, 153, 49, 437,
2105: 144, 439, 153, 66, 67, 68, 706, 155, 481, 142,
2106: 143, 66, 67, 153, 8, 732, 153, 148, 149, 66,
2107: 67, 459, 460, 461, 500, 151, 152, 23, 24, 843,
2108: 144, 845, 148, 346, 123, 508, 81, 82, 148, 144,
2109: 513, 144, 515, 481, 98, 149, 519, 431, 13, 522,
2110: 13, 768, 769, 107, 108, 109, 110, 111, 112, 151,
2111: 151, 534, 446, 534, 152, 150, 150, 153, 882, 99,
2112: 508, 71, 534, 156, 104, 513, 71, 107, 108, 109,
2113: 110, 111, 112, 113, 557, 558, 559, 121, 61, 26,
2114: 149, 149, 773, 82, 151, 568, 534, 570, 8, 412,
2115: 90, 915, 71, 576, 577, 71, 552, 580, 808, 582,
2116: 810, 73, 149, 589, 150, 561, 151, 150, 71, 557,
2117: 558, 559, 598, 153, 437, 61, 439, 600, 153, 602,
2118: 568, 149, 13, 121, 607, 949, 149, 149, 576, 839,
2119: 616, 617, 580, 149, 582, 149, 622, 623, 155, 26,
2120: 534, 149, 155, 13, 153, 628, 149, 148, 144, 973,
2121: 42, 43, 44, 45, 46, 47, 639, 49, 481, 869,
2122: 71, 13, 151, 99, 149, 875, 153, 650, 104, 652,
2123: 150, 107, 108, 109, 110, 111, 112, 113, 661, 635,
2124: 628, 149, 8, 148, 122, 508, 152, 149, 155, 150,
2125: 150, 639, 902, 676, 71, 124, 155, 907, 670, 682,
2126: 8, 141, 650, 686, 652, 107, 108, 109, 110, 111,
2127: 112, 534, 71, 661, 102, 13, 155, 153, 153, 929,
2128: 150, 152, 150, 8, 150, 8, 149, 710, 676, 321,
2129: 804, 714, 151, 13, 557, 558, 151, 151, 124, 123,
2130: 150, 149, 151, 335, 150, 955, 153, 150, 958, 150,
2131: 104, 73, 962, 13, 150, 150, 739, 580, 61, 582,
2132: 150, 150, 710, 123, 61, 150, 714, 124, 150, 89,
2133: 980, 71, 155, 152, 149, 155, 670, 760, 4, 5,
2134: 6, 767, 8, 9, 10, 11, 12, 13, 14, 751,
2135: 16, 17, 18, 19, 20, 21, 22, 152, 13, 25,
2136: 26, 773, 151, 151, 83, 628, 151, 13, 791, 792,
2137: 152, 37, 760, 13, 155, 73, 639, 71, 44, 45,
2138: 73, 150, 155, 155, 149, 51, 13, 151, 23, 24,
2139: 813, 150, 71, 151, 13, 73, 153, 153, 661, 13,
2140: 149, 26, 73, 791, 68, 90, 153, 153, 90, 151,
2141: 105, 77, 151, 676, 49, 144, 73, 151, 87, 842,
2142: 843, 71, 845, 150, 13, 813, 822, 459, 460, 73,
2143: 68, 149, 71, 8, 857, 151, 26, 71, 85, 773,
2144: 152, 150, 153, 151, 102, 149, 153, 710, 150, 73,
2145: 153, 152, 971, 481, 842, 328, 122, 366, 602, 882,
2146: 640, 710, 366, 832, 130, 681, 889, 686, 333, 857,
2147: 893, 733, 828, 77, 724, 882, 899, 568, 692, 567,
2148: 796, 513, 582, 661, -1, 191, -1, 204, -1, -1,
2149: -1, -1, 915, -1, -1, -1, 162, -1, 164, -1,
2150: 321, 889, 168, -1, 170, 893, -1, 173, -1, 905,
2151: -1, 899, 147, -1, 335, -1, -1, 940, 941, -1,
2152: -1, -1, -1, -1, -1, -1, 949, 559, -1, -1,
2153: -1, -1, -1, -1, -1, -1, 171, -1, 204, -1,
2154: -1, -1, 208, -1, 576, -1, -1, -1, 944, -1,
2155: 973, -1, 940, 219, -1, -1, 191, -1, -1, -1,
2156: -1, -1, -1, -1, 199, 200, 201, -1, -1, -1,
2157: 236, -1, -1, -1, 209, 241, 242, 243, 244, 245,
2158: 246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
2159: 256, 257, 258, 259, -1, -1, -1, -1, 264, 265,
2160: 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
2161: -1, -1, 278, -1, 280, 281, -1, -1, 650, -1,
2162: 652, -1, -1, -1, -1, -1, -1, 293, -1, 295,
2163: -1, -1, -1, -1, -1, -1, -1, -1, 459, 460,
2164: 461, 307, 8, -1, 310, -1, -1, 13, 14, 15,
2165: 16, 17, 18, 19, 20, 21, 22, 23, 24, -1,
2166: -1, -1, 42, 43, 330, -1, -1, -1, -1, 13,
2167: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
2168: 24, 61, 714, -1, -1, -1, -1, -1, -1, 69,
2169: 70, 71, 513, 59, 60, -1, -1, -1, -1, 79,
2170: 366, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2171: -1, 346, 378, -1, 380, 59, 60, -1, -1, 385,
2172: -1, 387, -1, 389, 390, 391, -1, -1, 760, -1,
2173: -1, -1, 112, -1, -1, -1, 371, -1, 559, -1,
2174: -1, -1, -1, -1, -1, -1, 126, 568, 128, 129,
2175: 130, 131, 132, 133, -1, 576, -1, -1, -1, 791,
2176: 140, -1, -1, -1, -1, 145, 146, 147, 148, -1,
2177: -1, -1, -1, -1, -1, -1, -1, 412, -1, -1,
2178: -1, 813, -1, -1, 150, -1, -1, -1, -1, -1,
2179: 425, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2180: -1, -1, 437, -1, 439, -1, -1, 151, 443, -1,
2181: 842, -1, 13, 14, 15, 16, 17, 18, 19, 20,
2182: 21, 22, 23, 24, -1, 857, -1, -1, 494, 650,
2183: -1, 652, 13, 14, 15, 16, 17, 18, 19, 20,
2184: 21, 22, 23, 24, -1, -1, 481, -1, -1, -1,
2185: -1, -1, -1, -1, -1, -1, -1, 889, 59, 60,
2186: -1, 893, -1, -1, 530, 500, -1, 899, -1, -1,
2187: -1, -1, -1, 508, -1, -1, -1, -1, 59, 60,
2188: -1, -1, 548, -1, -1, -1, 552, -1, -1, 555,
2189: 556, -1, -1, 714, -1, 561, -1, -1, -1, -1,
2190: -1, -1, -1, -1, -1, -1, -1, -1, 940, 90,
2191: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2192: -1, -1, 557, 558, 36, 37, 38, 39, 40, 41,
2193: 42, 43, 44, 45, 46, 47, -1, 49, -1, 760,
2194: -1, -1, -1, -1, -1, 580, -1, 582, -1, -1,
2195: -1, -1, -1, -1, 589, -1, -1, -1, -1, -1,
2196: 626, 627, -1, 598, -1, -1, -1, -1, 634, 635,
2197: 791, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2198: -1, 616, 617, -1, -1, -1, -1, 622, 623, -1,
2199: -1, -1, 813, 628, -1, -1, -1, 663, -1, -1,
2200: -1, -1, -1, 669, 639, 32, 33, 34, 35, 36,
2201: 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2202: 47, 842, 49, -1, -1, 691, 661, 9, 10, 11,
2203: -1, -1, -1, -1, -1, -1, 857, -1, -1, -1,
2204: -1, 676, -1, 25, -1, 27, 28, 29, 30, 31,
2205: 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2206: 42, 43, 44, 45, 46, 47, 732, 49, 889, -1,
2207: -1, -1, 893, -1, -1, 710, -1, 25, 899, 27,
2208: 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2209: 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2210: -1, 49, 768, 769, -1, -1, -1, -1, -1, -1,
2211: -1, -1, -1, 779, -1, 9, 10, 11, -1, 940,
2212: -1, 787, -1, -1, -1, -1, -1, -1, -1, -1,
2213: -1, 25, 767, 27, 28, 29, 30, 31, 32, 33,
2214: 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2215: 44, 45, 46, 47, -1, 49, 822, -1, 9, 10,
2216: 11, 827, 828, -1, -1, -1, -1, -1, -1, -1,
2217: -1, -1, -1, 155, 25, -1, 27, 28, 29, 30,
2218: 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2219: 41, 42, 43, 44, 45, 46, 47, -1, 49, 865,
2220: -1, -1, -1, 3, 4, 5, 6, 7, -1, -1,
2221: -1, -1, 12, 31, 32, 33, 34, 35, 36, 37,
2222: 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2223: 124, 49, -1, -1, -1, 901, -1, -1, -1, 905,
2224: -1, -1, 42, 43, -1, -1, -1, -1, 48, -1,
2225: 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2226: 60, 61, 62, 63, 64, 65, -1, -1, -1, 69,
2227: 70, 71, 72, 73, -1, 75, -1, -1, 944, 79,
2228: 80, 81, 82, -1, 84, -1, 86, -1, 88, -1,
2229: -1, 91, -1, -1, -1, 95, 96, 97, 98, 99,
2230: 100, 101, 153, 103, 104, -1, 106, -1, -1, -1,
2231: 110, 111, 112, -1, 114, 115, 116, 117, 118, 119,
2232: 120, -1, -1, -1, -1, 125, 126, -1, 128, 129,
2233: 130, 131, 132, 133, 3, 4, 5, 6, 7, -1,
2234: 140, -1, -1, 12, -1, 145, 146, 147, 148, 149,
2235: -1, 151, 152, -1, 154, -1, 156, 157, -1, -1,
2236: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2237: -1, -1, -1, 42, 43, -1, -1, -1, -1, 48,
2238: -1, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2239: 59, 60, 61, 62, 63, 64, 65, -1, -1, -1,
2240: 69, 70, 71, 72, 73, -1, 75, -1, -1, -1,
2241: 79, 80, 81, 82, -1, 84, -1, 86, -1, 88,
2242: -1, -1, 91, -1, -1, -1, 95, 96, 97, 98,
2243: -1, 100, 101, -1, 103, -1, -1, 106, -1, -1,
2244: -1, 110, 111, 112, -1, 114, 115, 116, 117, 118,
2245: 119, 120, -1, -1, -1, -1, 125, 126, -1, 128,
2246: 129, 130, 131, 132, 133, -1, 3, 4, 5, 6,
2247: 7, 140, -1, -1, -1, 12, 145, 146, 147, 148,
2248: 149, -1, 151, 152, -1, 154, -1, 156, 157, 26,
2249: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2250: -1, -1, -1, -1, -1, 42, 43, -1, -1, -1,
2251: -1, 48, -1, 50, 51, 52, 53, 54, 55, 56,
2252: 57, 58, 59, 60, 61, 62, 63, 64, 65, -1,
2253: -1, -1, 69, 70, 71, 72, 73, -1, 75, -1,
2254: -1, -1, 79, 80, 81, 82, -1, 84, -1, 86,
2255: -1, 88, -1, -1, 91, -1, -1, -1, 95, 96,
2256: 97, 98, -1, 100, 101, -1, 103, -1, -1, 106,
2257: -1, -1, -1, -1, -1, 112, -1, 114, 115, 116,
2258: -1, -1, -1, -1, -1, -1, -1, -1, 125, 126,
2259: -1, 128, 129, 130, 131, 132, 133, -1, 3, 4,
2260: 5, 6, 7, 140, -1, -1, -1, 12, 145, 146,
2261: 147, 148, 149, -1, 151, 152, -1, 154, -1, 156,
2262: 157, 26, -1, -1, -1, -1, -1, -1, -1, -1,
2263: -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
2264: -1, -1, -1, 48, -1, 50, 51, 52, 53, 54,
2265: 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2266: 65, -1, -1, -1, 69, 70, 71, 72, 73, -1,
2267: 75, -1, -1, -1, 79, 80, 81, 82, -1, 84,
2268: -1, 86, -1, 88, -1, -1, 91, -1, -1, -1,
2269: 95, 96, 97, 98, -1, 100, 101, -1, 103, -1,
2270: -1, 106, -1, -1, -1, -1, -1, 112, -1, 114,
2271: 115, 116, -1, -1, -1, -1, -1, -1, -1, -1,
2272: 125, 126, -1, 128, 129, 130, 131, 132, 133, -1,
2273: 3, 4, 5, 6, 7, 140, -1, -1, -1, 12,
2274: 145, 146, 147, 148, 149, -1, 151, 152, -1, 154,
2275: -1, 156, 157, 26, -1, -1, -1, -1, -1, -1,
2276: -1, -1, -1, -1, -1, -1, -1, -1, -1, 42,
2277: 43, -1, -1, -1, -1, 48, -1, 50, 51, 52,
2278: 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2279: 63, 64, 65, -1, -1, -1, 69, 70, 71, 72,
2280: 73, -1, 75, -1, -1, -1, 79, 80, 81, 82,
2281: -1, 84, -1, 86, -1, 88, -1, -1, 91, -1,
2282: -1, -1, 95, 96, 97, 98, -1, 100, 101, -1,
2283: 103, -1, -1, 106, -1, -1, -1, -1, -1, 112,
2284: -1, 114, 115, 116, -1, -1, -1, -1, -1, -1,
2285: -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
2286: 133, -1, 3, 4, 5, 6, 7, 140, -1, -1,
2287: -1, 12, 145, 146, 147, 148, 149, -1, 151, 152,
2288: -1, 154, -1, 156, 157, 26, -1, -1, -1, -1,
2289: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2290: -1, 42, 43, -1, -1, -1, -1, 48, -1, 50,
2291: 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2292: 61, 62, 63, 64, 65, -1, -1, -1, 69, 70,
2293: 71, 72, 73, -1, 75, -1, -1, -1, 79, 80,
2294: 81, 82, -1, 84, -1, 86, -1, 88, -1, -1,
2295: 91, -1, -1, -1, 95, 96, 97, 98, -1, 100,
2296: 101, -1, 103, -1, -1, 106, -1, -1, -1, -1,
2297: -1, 112, -1, 114, 115, 116, -1, -1, -1, -1,
2298: -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
2299: 131, 132, 133, 3, 4, 5, 6, 7, -1, 140,
2300: -1, -1, 12, -1, 145, 146, 147, 148, 149, -1,
2301: 151, 152, -1, 154, -1, 156, 157, -1, -1, -1,
2302: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2303: -1, -1, 42, 43, -1, -1, -1, -1, 48, -1,
2304: 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2305: 60, 61, 62, 63, 64, 65, -1, -1, -1, 69,
2306: 70, 71, 72, 73, -1, 75, -1, -1, -1, 79,
2307: 80, 81, 82, -1, 84, -1, 86, -1, 88, -1,
2308: -1, 91, -1, -1, -1, 95, 96, 97, 98, -1,
2309: 100, 101, -1, 103, -1, -1, 106, -1, -1, -1,
2310: -1, -1, 112, -1, 114, 115, 116, -1, -1, -1,
2311: -1, -1, -1, -1, -1, 125, 126, -1, 128, 129,
2312: 130, 131, 132, 133, 3, 4, 5, 6, 7, -1,
2313: 140, -1, -1, 12, -1, 145, 146, 147, 148, 149,
2314: -1, 151, 152, -1, 154, -1, 156, 157, -1, -1,
2315: -1, -1, 31, -1, -1, -1, -1, -1, -1, -1,
2316: -1, -1, -1, 42, 43, -1, -1, -1, -1, 48,
2317: -1, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2318: 59, 60, 61, 62, 63, 64, -1, -1, -1, -1,
2319: 69, 70, 71, 72, 73, -1, -1, -1, -1, -1,
2320: 79, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2321: 39, 40, 41, 42, 43, 44, 45, 46, 47, 98,
2322: 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2323: -1, -1, -1, 112, -1, -1, 115, 116, -1, -1,
2324: -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
2325: 129, 130, 131, 132, 133, 3, 4, 5, 6, 7,
2326: -1, 140, -1, -1, 12, -1, 145, 146, 147, 148,
2327: 149, -1, -1, -1, -1, 154, -1, 156, 157, -1,
2328: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2329: -1, -1, -1, -1, 42, 43, -1, -1, -1, -1,
2330: 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
2331: 58, 59, 60, 61, 62, 63, 64, -1, -1, -1,
2332: -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
2333: -1, 79, 32, 33, 34, 35, 36, 37, 38, 39,
2334: 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
2335: 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2336: -1, -1, -1, -1, 112, -1, -1, 115, 116, -1,
2337: -1, -1, -1, -1, -1, -1, -1, 125, 126, -1,
2338: 128, 129, 130, 131, 132, 133, 3, 4, 5, 6,
2339: 7, -1, 140, -1, -1, 12, -1, 145, 146, 147,
2340: 148, 149, -1, 151, -1, -1, 154, -1, 156, 157,
2341: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2342: -1, -1, -1, -1, -1, 42, 43, -1, -1, -1,
2343: -1, 48, -1, 50, 51, 52, 53, 54, 55, 56,
2344: 57, 58, 59, 60, 61, 62, 63, 64, -1, -1,
2345: -1, -1, 69, 70, 71, 72, 73, -1, -1, -1,
2346: -1, -1, 79, -1, -1, -1, -1, -1, -1, -1,
2347: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2348: -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
2349: -1, -1, -1, -1, -1, 112, -1, -1, 115, 116,
2350: -1, -1, -1, -1, -1, -1, -1, -1, 125, 126,
2351: -1, 128, 129, 130, 131, 132, 133, 3, 4, 5,
2352: 6, 7, -1, 140, -1, -1, 12, -1, 145, 146,
2353: 147, 148, 149, -1, 151, -1, -1, 154, -1, 156,
2354: 157, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2355: -1, -1, -1, -1, -1, -1, 42, 43, -1, -1,
2356: -1, -1, 48, -1, 50, 51, 52, 53, 54, 55,
2357: 56, 57, 58, 59, 60, 61, 62, 63, 64, -1,
2358: -1, -1, -1, 69, 70, 71, 72, 73, -1, -1,
2359: -1, -1, -1, 79, -1, -1, -1, -1, -1, -1,
2360: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2361: -1, -1, 98, -1, -1, -1, -1, -1, -1, -1,
2362: -1, -1, -1, -1, -1, -1, 112, -1, -1, 115,
2363: 116, -1, -1, -1, -1, -1, -1, -1, -1, 125,
2364: 126, -1, 128, 129, 130, 131, 132, 133, 3, 4,
2365: 5, 6, 7, -1, 140, -1, -1, 12, -1, 145,
2366: 146, 147, 148, 149, -1, 151, -1, -1, 154, -1,
2367: 156, 157, -1, -1, -1, -1, -1, -1, -1, -1,
2368: -1, -1, -1, -1, -1, -1, -1, 42, 43, -1,
2369: -1, -1, -1, 48, -1, 50, 51, 52, 53, 54,
2370: 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2371: -1, -1, -1, -1, 69, 70, 71, 72, 73, -1,
2372: -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
2373: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2374: -1, -1, -1, 98, -1, -1, -1, -1, -1, -1,
2375: -1, -1, -1, -1, -1, -1, -1, 112, -1, -1,
2376: 115, 116, -1, -1, -1, -1, -1, -1, -1, -1,
2377: 125, 126, -1, 128, 129, 130, 131, 132, 133, 3,
2378: 4, 5, 6, 7, -1, 140, -1, -1, 12, -1,
2379: 145, 146, 147, 148, 149, 150, -1, -1, -1, 154,
2380: -1, 156, 157, -1, -1, -1, -1, 31, -1, -1,
2381: -1, -1, -1, -1, -1, -1, -1, -1, 42, 43,
2382: -1, -1, -1, -1, 48, -1, 50, 51, 52, 53,
2383: 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2384: 64, -1, -1, -1, -1, 69, 70, 71, 72, 73,
2385: -1, -1, -1, -1, -1, 79, -1, -1, -1, -1,
2386: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2387: -1, -1, -1, -1, 98, -1, -1, -1, -1, -1,
2388: -1, -1, -1, -1, -1, -1, -1, -1, 112, -1,
2389: -1, 115, 116, -1, -1, -1, -1, -1, -1, -1,
2390: -1, 125, 126, -1, 128, 129, 130, 131, 132, 133,
2391: 3, 4, 5, 6, 7, -1, 140, -1, -1, 12,
2392: -1, 145, 146, 147, 148, 149, -1, -1, -1, -1,
2393: 154, -1, 156, 157, -1, -1, -1, -1, 31, -1,
2394: -1, -1, -1, -1, -1, -1, -1, -1, -1, 42,
2395: 43, -1, -1, -1, -1, 48, -1, 50, 51, 52,
2396: 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2397: 63, 64, -1, -1, -1, -1, 69, 70, 71, 72,
2398: 73, -1, -1, -1, -1, -1, 79, -1, -1, -1,
2399: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2400: -1, -1, -1, -1, -1, 98, -1, -1, -1, -1,
2401: -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
2402: -1, -1, 115, 116, -1, -1, -1, -1, -1, -1,
2403: -1, -1, 125, 126, -1, 128, 129, 130, 131, 132,
2404: 133, 3, 4, 5, 6, 7, -1, 140, -1, -1,
2405: 12, -1, 145, 146, 147, 148, 149, -1, -1, -1,
2406: -1, 154, -1, 156, 157, -1, -1, -1, -1, 31,
2407: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2408: 42, 43, -1, -1, -1, -1, 48, -1, 50, 51,
2409: 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2410: 62, 63, 64, -1, -1, -1, -1, 69, 70, 71,
2411: 72, 73, -1, -1, -1, -1, -1, 79, -1, -1,
2412: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2413: -1, -1, -1, -1, -1, -1, 98, -1, -1, -1,
2414: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2415: 112, -1, -1, 115, 116, -1, -1, -1, -1, -1,
2416: -1, -1, -1, 125, 126, -1, 128, 129, 130, 131,
2417: 132, 133, 3, 4, 5, 6, 7, -1, 140, -1,
2418: -1, 12, -1, 145, 146, 147, 148, 149, -1, -1,
2419: -1, -1, 154, -1, 156, 157, -1, -1, -1, -1,
2420: 31, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2421: -1, 42, 43, -1, -1, -1, -1, 48, -1, 50,
2422: 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2423: 61, 62, 63, 64, -1, -1, -1, -1, 69, 70,
2424: 71, 72, 73, -1, -1, -1, -1, -1, 79, -1,
2425: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2426: -1, -1, -1, -1, -1, -1, -1, 98, -1, -1,
2427: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2428: -1, 112, -1, -1, 115, 116, -1, -1, -1, -1,
2429: -1, -1, -1, -1, 125, 126, -1, 128, 129, 130,
2430: 131, 132, 133, 3, 4, 5, 6, 7, -1, 140,
2431: -1, -1, 12, -1, 145, 146, 147, 148, 149, -1,
2432: -1, -1, -1, 154, -1, 156, 157, -1, -1, -1,
2433: -1, 31, -1, -1, -1, -1, -1, -1, -1, -1,
2434: -1, -1, 42, 43, -1, -1, -1, -1, 48, -1,
2435: 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
2436: 60, 61, 62, 63, 64, -1, -1, -1, -1, 69,
2437: 70, 71, 72, 73, -1, -1, -1, -1, -1, 79,
2438: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2439: -1, -1, -1, -1, -1, -1, -1, -1, 98, -1,
2440: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2441: -1, -1, 112, -1, -1, 115, 116, -1, -1, -1,
2442: -1, -1, -1, -1, -1, 125, 126, -1, 128, 129,
2443: 130, 131, 132, 133, 3, 4, 5, 6, 7, -1,
2444: 140, -1, -1, 12, -1, 145, 146, 147, 148, 149,
2445: -1, -1, -1, -1, 154, -1, 156, 157, -1, -1,
2446: -1, -1, 31, -1, -1, -1, -1, -1, -1, -1,
2447: -1, -1, -1, 42, 43, -1, -1, -1, -1, 48,
2448: -1, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2449: 59, 60, 61, 62, 63, 64, -1, -1, -1, -1,
2450: 69, 70, 71, 72, 73, -1, -1, -1, -1, -1,
2451: 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2452: -1, -1, -1, -1, -1, -1, -1, -1, -1, 98,
2453: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2454: -1, -1, -1, 112, -1, -1, 115, 116, -1, -1,
2455: -1, -1, -1, -1, -1, -1, 125, 126, -1, 128,
2456: 129, 130, 131, 132, 133, 3, 4, 5, 6, 7,
2457: -1, 140, -1, -1, 12, -1, 145, 146, 147, 148,
2458: 149, -1, -1, -1, -1, 154, -1, 156, 157, -1,
2459: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2460: -1, -1, -1, -1, 42, 43, -1, -1, -1, -1,
2461: 48, -1, 50, 51, 52, 53, 54, 55, 56, 57,
2462: 58, 59, 60, 61, 62, 63, 64, -1, -1, -1,
2463: -1, 69, 70, 71, 72, 73, -1, -1, -1, -1,
2464: -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
2465: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2466: 98, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2467: -1, -1, -1, -1, 112, -1, -1, 115, 116, -1,
2468: -1, -1, -1, -1, -1, -1, -1, 125, 126, -1,
2469: 128, 129, 130, 131, 132, 133, 3, 4, 5, 6,
2470: 7, -1, 140, -1, -1, 12, -1, 145, 146, 147,
2471: 148, 149, -1, -1, -1, -1, 154, -1, 156, 157,
2472: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2473: -1, -1, -1, -1, -1, 42, 43, -1, -1, -1,
2474: -1, 48, -1, 50, 51, 52, 53, 54, 55, 56,
2475: 57, 58, 59, 60, 61, 62, 63, 64, -1, -1,
2476: -1, -1, 69, 70, 71, 72, 73, -1, -1, -1,
2477: -1, -1, 79, -1, -1, -1, -1, -1, -1, -1,
2478: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2479: -1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
2480: -1, -1, -1, -1, -1, 112, -1, -1, 115, 116,
2481: -1, -1, -1, -1, -1, -1, -1, -1, 125, 126,
2482: -1, 128, 129, 130, 131, 132, 133, -1, -1, -1,
2483: -1, -1, -1, 140, -1, 9, 10, 11, 145, 146,
2484: 147, 148, 149, -1, -1, -1, -1, 154, -1, 156,
2485: 157, 25, -1, 27, 28, 29, 30, 31, 32, 33,
2486: 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2487: 44, 45, 46, 47, -1, 49, 9, 10, 11, -1,
2488: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2489: -1, -1, 25, -1, 27, 28, 29, 30, 31, 32,
2490: 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2491: 43, 44, 45, 46, 47, -1, 49, 9, 10, 11,
2492: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2493: -1, -1, -1, 25, -1, 27, 28, 29, 30, 31,
2494: 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2495: 42, 43, 44, 45, 46, 47, -1, 49, -1, -1,
2496: -1, -1, 9, 10, 11, -1, -1, -1, -1, -1,
2497: -1, -1, -1, -1, -1, -1, -1, -1, 25, 153,
2498: 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2499: 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2500: 47, -1, 49, 9, 10, 11, -1, -1, -1, -1,
2501: -1, -1, -1, -1, -1, -1, -1, -1, -1, 25,
2502: 153, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2503: 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2504: 46, 47, -1, 49, -1, -1, 9, 10, 11, -1,
2505: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2506: -1, 153, 25, 26, 27, 28, 29, 30, 31, 32,
2507: 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2508: 43, 44, 45, 46, 47, -1, 49, -1, -1, 9,
2509: 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
2510: -1, -1, -1, -1, -1, 25, 153, 27, 28, 29,
2511: 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2512: 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
2513: 9, 10, 11, -1, -1, -1, -1, -1, -1, -1,
2514: -1, -1, -1, -1, -1, -1, 25, 153, 27, 28,
2515: 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2516: 39, 40, 41, 42, 43, 44, 45, 46, 47, -1,
2517: 49, 9, 10, 11, -1, -1, -1, -1, -1, -1,
2518: -1, -1, -1, -1, -1, -1, -1, 25, 151, 27,
2519: 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2520: 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2521: -1, 49, -1, -1, 9, 10, 11, -1, -1, -1,
2522: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2523: 25, 151, 27, 28, 29, 30, 31, 32, 33, 34,
2524: 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2525: 45, 46, 47, -1, 49, 9, 10, 11, -1, -1,
2526: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2527: -1, 25, 151, 27, 28, 29, 30, 31, 32, 33,
2528: 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2529: 44, 45, 46, 47, -1, 49, 9, 10, 11, -1,
2530: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2531: -1, -1, 25, 151, 27, 28, 29, 30, 31, 32,
2532: 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2533: 43, 44, 45, 46, 47, -1, 49, -1, -1, 9,
2534: 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
2535: -1, -1, -1, -1, -1, 25, 151, 27, 28, 29,
2536: 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2537: 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
2538: -1, 9, 10, 11, -1, -1, -1, -1, -1, -1,
2539: -1, -1, -1, -1, -1, -1, 150, 25, -1, 27,
2540: 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2541: 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2542: -1, 49, 9, 10, 11, -1, -1, -1, -1, -1,
2543: -1, -1, -1, -1, -1, -1, -1, 150, 25, -1,
2544: 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2545: 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2546: 47, -1, 49, 9, 10, 11, -1, -1, -1, -1,
2547: -1, -1, -1, -1, -1, -1, -1, -1, -1, 25,
2548: 150, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2549: 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2550: 46, 47, -1, 49, -1, 9, 10, 11, -1, -1,
2551: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2552: -1, 25, 150, 27, 28, 29, 30, 31, 32, 33,
2553: 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2554: 44, 45, 46, 47, -1, 49, 9, 10, 11, -1,
2555: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2556: -1, -1, 25, 150, 27, 28, 29, 30, 31, 32,
2557: 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2558: 43, 44, 45, 46, 47, -1, 49, 9, 10, 11,
2559: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2560: -1, -1, -1, 25, 150, 27, 28, 29, 30, 31,
2561: 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2562: 42, 43, 44, 45, 46, 47, -1, 49, -1, 9,
2563: 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
2564: -1, -1, -1, -1, -1, 25, 150, 27, 28, 29,
2565: 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2566: 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
2567: -1, -1, 9, 10, 11, -1, -1, -1, -1, -1,
2568: -1, -1, -1, -1, -1, -1, -1, 150, 25, 26,
2569: 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2570: 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2571: 47, -1, 49, -1, -1, -1, -1, -1, -1, -1,
2572: -1, -1, -1, -1, -1, -1, -1, -1, 150, 9,
2573: 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
2574: -1, -1, -1, -1, 124, 25, -1, 27, 28, 29,
2575: 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2576: 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
2577: 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
2578: -1, -1, -1, -1, -1, 25, -1, 27, 28, 29,
2579: 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2580: 40, 41, 42, 43, 44, 45, 46, 47, 11, 49,
2581: -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2582: -1, -1, 25, -1, 27, 28, 29, 30, 31, 32,
2583: 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2584: 43, 44, 45, 46, 47, -1, 49, 27, 28, 29,
2585: 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2586: 40, 41, 42, 43, 44, 45, 46, 47, -1, 49,
2587: 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2588: 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2589: -1, 49, 29, 30, 31, 32, 33, 34, 35, 36,
2590: 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2591: 47, -1, 49
2592: };
2593:
2594: /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2595: symbol of state STATE-NUM. */
2596: static const yytype_uint16 yystos[] =
2597: {
2598: 0, 159, 160, 0, 161, 3, 4, 5, 6, 7,
2599: 12, 42, 43, 48, 50, 51, 52, 53, 54, 55,
2600: 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2601: 69, 70, 71, 72, 73, 75, 79, 80, 81, 82,
2602: 84, 86, 88, 91, 95, 96, 97, 98, 99, 100,
2603: 101, 103, 104, 106, 110, 111, 112, 114, 115, 116,
2604: 117, 118, 119, 120, 125, 126, 128, 129, 130, 131,
2605: 132, 133, 140, 145, 146, 147, 148, 149, 151, 152,
2606: 154, 156, 157, 162, 163, 168, 172, 173, 203, 204,
2607: 206, 208, 211, 213, 276, 278, 292, 295, 304, 315,
2608: 318, 322, 323, 325, 326, 336, 337, 338, 339, 341,
2609: 342, 343, 344, 350, 360, 363, 71, 112, 145, 292,
2610: 322, 322, 149, 322, 322, 322, 322, 322, 322, 322,
2611: 289, 322, 322, 322, 322, 322, 322, 322, 112, 145,
2612: 148, 162, 304, 325, 326, 338, 325, 31, 322, 354,
2613: 355, 322, 145, 148, 162, 304, 306, 307, 338, 342,
2614: 343, 350, 149, 312, 149, 26, 266, 322, 180, 149,
2615: 149, 149, 190, 149, 151, 322, 151, 322, 71, 71,
2616: 151, 278, 322, 326, 191, 322, 148, 162, 166, 167,
2617: 73, 154, 240, 241, 118, 118, 73, 242, 292, 149,
2618: 149, 149, 149, 149, 149, 73, 78, 141, 142, 143,
2619: 356, 357, 148, 152, 162, 162, 276, 322, 169, 152,
2620: 78, 313, 356, 78, 356, 148, 149, 8, 151, 71,
2621: 71, 31, 205, 340, 144, 9, 10, 11, 25, 27,
2622: 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2623: 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2624: 49, 151, 59, 60, 13, 14, 15, 16, 17, 18,
2625: 19, 20, 21, 22, 23, 24, 149, 144, 61, 123,
2626: 61, 152, 154, 343, 205, 322, 322, 148, 162, 144,
2627: 144, 324, 326, 124, 155, 8, 320, 148, 162, 144,
2628: 277, 144, 123, 343, 150, 322, 322, 8, 151, 172,
2629: 178, 267, 268, 322, 278, 326, 149, 322, 151, 151,
2630: 151, 13, 151, 151, 152, 151, 162, 90, 8, 151,
2631: 152, 323, 326, 8, 151, 13, 8, 151, 205, 201,
2632: 202, 326, 326, 361, 326, 150, 279, 354, 61, 123,
2633: 141, 357, 72, 322, 326, 78, 141, 357, 162, 165,
2634: 151, 152, 149, 150, 150, 153, 170, 322, 156, 157,
2635: 71, 296, 71, 121, 212, 210, 71, 149, 61, 71,
2636: 152, 336, 343, 349, 350, 283, 322, 284, 26, 286,
2637: 281, 282, 322, 322, 322, 322, 322, 322, 322, 322,
2638: 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
2639: 322, 306, 31, 322, 322, 322, 322, 322, 322, 322,
2640: 322, 322, 322, 322, 322, 303, 71, 336, 349, 322,
2641: 345, 327, 345, 322, 150, 162, 71, 31, 322, 31,
2642: 322, 162, 336, 149, 314, 336, 308, 150, 150, 322,
2643: 82, 322, 151, 8, 90, 90, 71, 222, 150, 42,
2644: 43, 61, 126, 128, 140, 145, 148, 162, 304, 315,
2645: 316, 317, 169, 90, 71, 167, 322, 241, 316, 73,
2646: 149, 8, 150, 8, 150, 150, 151, 125, 326, 351,
2647: 352, 150, 358, 71, 61, 153, 153, 149, 160, 164,
2648: 298, 285, 117, 171, 172, 203, 204, 153, 31, 238,
2649: 239, 278, 326, 13, 145, 148, 162, 305, 209, 121,
2650: 214, 207, 290, 345, 322, 149, 149, 343, 322, 322,
2651: 288, 322, 322, 322, 63, 326, 238, 149, 149, 155,
2652: 336, 346, 348, 349, 155, 153, 324, 324, 124, 238,
2653: 346, 26, 174, 149, 150, 182, 269, 188, 186, 13,
2654: 8, 150, 185, 316, 316, 316, 319, 321, 149, 78,
2655: 148, 162, 144, 153, 71, 153, 13, 291, 202, 151,
2656: 362, 149, 8, 150, 71, 73, 74, 359, 322, 297,
2657: 153, 160, 238, 274, 275, 149, 324, 150, 8, 316,
2658: 148, 162, 122, 215, 216, 305, 152, 149, 126, 127,
2659: 235, 236, 237, 305, 155, 153, 300, 299, 322, 26,
2660: 306, 150, 302, 301, 347, 328, 61, 152, 31, 322,
2661: 150, 309, 176, 172, 181, 179, 267, 322, 326, 31,
2662: 218, 326, 316, 71, 26, 172, 221, 26, 152, 223,
2663: 124, 155, 8, 320, 319, 162, 71, 102, 316, 235,
2664: 326, 353, 352, 13, 155, 155, 238, 153, 150, 61,
2665: 123, 270, 271, 272, 330, 150, 31, 278, 326, 162,
2666: 216, 152, 8, 243, 235, 150, 8, 31, 73, 238,
2667: 238, 287, 280, 238, 238, 149, 332, 333, 335, 345,
2668: 322, 324, 310, 169, 175, 322, 26, 172, 228, 151,
2669: 124, 217, 326, 217, 13, 169, 151, 224, 151, 224,
2670: 316, 316, 150, 149, 150, 351, 322, 153, 150, 345,
2671: 346, 330, 61, 273, 151, 324, 243, 305, 99, 104,
2672: 107, 108, 109, 110, 111, 112, 113, 153, 244, 247,
2673: 260, 261, 262, 263, 265, 150, 104, 293, 237, 73,
2674: 13, 150, 150, 322, 314, 150, 150, 334, 61, 61,
2675: 329, 155, 153, 123, 311, 177, 229, 150, 169, 183,
2676: 218, 150, 150, 316, 89, 224, 92, 93, 94, 224,
2677: 153, 124, 192, 293, 150, 155, 331, 345, 270, 153,
2678: 71, 248, 305, 245, 292, 263, 8, 151, 152, 149,
2679: 152, 31, 73, 13, 316, 238, 345, 345, 330, 346,
2680: 231, 66, 67, 233, 151, 83, 267, 189, 187, 151,
2681: 92, 151, 322, 26, 151, 227, 153, 316, 305, 152,
2682: 335, 155, 13, 8, 151, 152, 249, 73, 264, 205,
2683: 71, 169, 31, 73, 294, 169, 73, 13, 316, 150,
2684: 155, 155, 66, 67, 234, 149, 172, 151, 150, 26,
2685: 172, 220, 220, 151, 227, 226, 193, 169, 316, 305,
2686: 71, 250, 251, 252, 253, 255, 256, 257, 305, 13,
2687: 8, 151, 71, 13, 153, 73, 8, 150, 153, 13,
2688: 316, 149, 26, 68, 322, 184, 169, 225, 169, 73,
2689: 153, 153, 252, 151, 90, 105, 151, 144, 316, 73,
2690: 246, 316, 31, 73, 316, 322, 169, 151, 150, 26,
2691: 172, 219, 87, 169, 150, 258, 263, 254, 305, 71,
2692: 13, 149, 73, 150, 230, 169, 151, 194, 71, 8,
2693: 316, 235, 26, 172, 85, 152, 305, 150, 232, 151,
2694: 169, 151, 152, 259, 169, 153, 169, 195, 153, 102,
2695: 196, 197, 198, 149, 198, 305, 199, 73, 150, 200,
2696: 152, 169, 153
2697: };
2698:
2699: #define yyerrok (yyerrstatus = 0)
2700: #define yyclearin (yychar = YYEMPTY)
2701: #define YYEMPTY (-2)
2702: #define YYEOF 0
2703:
2704: #define YYACCEPT goto yyacceptlab
2705: #define YYABORT goto yyabortlab
2706: #define YYERROR goto yyerrorlab
2707:
2708:
2709: /* Like YYERROR except do call yyerror. This remains here temporarily
2710: to ease the transition to the new meaning of YYERROR, for GCC.
2711: Once GCC version 2 has supplanted version 1, this can go. */
2712:
2713: #define YYFAIL goto yyerrlab
2714:
2715: #define YYRECOVERING() (!!yyerrstatus)
2716:
2717: #define YYBACKUP(Token, Value) \
2718: do \
2719: if (yychar == YYEMPTY && yylen == 1) \
2720: { \
2721: yychar = (Token); \
2722: yylval = (Value); \
2723: yytoken = YYTRANSLATE (yychar); \
2724: YYPOPSTACK (1); \
2725: goto yybackup; \
2726: } \
2727: else \
2728: { \
2729: yyerror (YY_("syntax error: cannot back up")); \
2730: YYERROR; \
2731: } \
2732: while (YYID (0))
2733:
2734:
2735: #define YYTERROR 1
2736: #define YYERRCODE 256
2737:
2738:
2739: /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2740: If N is 0, then set CURRENT to the empty location which ends
2741: the previous symbol: RHS[0] (always defined). */
2742:
2743: #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2744: #ifndef YYLLOC_DEFAULT
2745: # define YYLLOC_DEFAULT(Current, Rhs, N) \
2746: do \
2747: if (YYID (N)) \
2748: { \
2749: (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2750: (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2751: (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2752: (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2753: } \
2754: else \
2755: { \
2756: (Current).first_line = (Current).last_line = \
2757: YYRHSLOC (Rhs, 0).last_line; \
2758: (Current).first_column = (Current).last_column = \
2759: YYRHSLOC (Rhs, 0).last_column; \
2760: } \
2761: while (YYID (0))
2762: #endif
2763:
2764:
2765: /* YY_LOCATION_PRINT -- Print the location on the stream.
2766: This macro was not mandated originally: define only if we know
2767: we won't break user code: when these are the locations we know. */
2768:
2769: #ifndef YY_LOCATION_PRINT
2770: # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2771: # define YY_LOCATION_PRINT(File, Loc) \
2772: fprintf (File, "%d.%d-%d.%d", \
2773: (Loc).first_line, (Loc).first_column, \
2774: (Loc).last_line, (Loc).last_column)
2775: # else
2776: # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2777: # endif
2778: #endif
2779:
2780:
2781: /* YYLEX -- calling `yylex' with the right arguments. */
2782:
2783: #ifdef YYLEX_PARAM
2784: # define YYLEX yylex (&yylval, YYLEX_PARAM)
2785: #else
2786: # define YYLEX yylex (&yylval)
2787: #endif
2788:
2789: /* Enable debugging if requested. */
2790: #if YYDEBUG
2791:
2792: # ifndef YYFPRINTF
2793: # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2794: # define YYFPRINTF fprintf
2795: # endif
2796:
2797: # define YYDPRINTF(Args) \
2798: do { \
2799: if (yydebug) \
2800: YYFPRINTF Args; \
2801: } while (YYID (0))
2802:
2803: # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2804: do { \
2805: if (yydebug) \
2806: { \
2807: YYFPRINTF (stderr, "%s ", Title); \
2808: yy_symbol_print (stderr, \
2809: Type, Value); \
2810: YYFPRINTF (stderr, "\n"); \
2811: } \
2812: } while (YYID (0))
2813:
2814:
2815: /*--------------------------------.
2816: | Print this symbol on YYOUTPUT. |
2817: `--------------------------------*/
2818:
2819: /*ARGSUSED*/
2820: #if (defined __STDC__ || defined __C99__FUNC__ \
2821: || defined __cplusplus || defined _MSC_VER)
2822: static void
2823: yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2824: #else
2825: static void
2826: yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2827: FILE *yyoutput;
2828: int yytype;
2829: YYSTYPE const * const yyvaluep;
2830: #endif
2831: {
2832: if (!yyvaluep)
2833: return;
2834: # ifdef YYPRINT
2835: if (yytype < YYNTOKENS)
2836: YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2837: # else
2838: YYUSE (yyoutput);
2839: # endif
2840: switch (yytype)
2841: {
2842: default:
2843: break;
2844: }
2845: }
2846:
2847:
2848: /*--------------------------------.
2849: | Print this symbol on YYOUTPUT. |
2850: `--------------------------------*/
2851:
2852: #if (defined __STDC__ || defined __C99__FUNC__ \
2853: || defined __cplusplus || defined _MSC_VER)
2854: static void
2855: yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2856: #else
2857: static void
2858: yy_symbol_print (yyoutput, yytype, yyvaluep)
2859: FILE *yyoutput;
2860: int yytype;
2861: YYSTYPE const * const yyvaluep;
2862: #endif
2863: {
2864: if (yytype < YYNTOKENS)
2865: YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2866: else
2867: YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2868:
2869: yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2870: YYFPRINTF (yyoutput, ")");
2871: }
2872:
2873: /*------------------------------------------------------------------.
2874: | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2875: | TOP (included). |
2876: `------------------------------------------------------------------*/
2877:
2878: #if (defined __STDC__ || defined __C99__FUNC__ \
2879: || defined __cplusplus || defined _MSC_VER)
2880: static void
2881: yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2882: #else
2883: static void
2884: yy_stack_print (bottom, top)
2885: yytype_int16 *bottom;
2886: yytype_int16 *top;
2887: #endif
2888: {
2889: YYFPRINTF (stderr, "Stack now");
2890: for (; bottom <= top; ++bottom)
2891: YYFPRINTF (stderr, " %d", *bottom);
2892: YYFPRINTF (stderr, "\n");
2893: }
2894:
2895: # define YY_STACK_PRINT(Bottom, Top) \
2896: do { \
2897: if (yydebug) \
2898: yy_stack_print ((Bottom), (Top)); \
2899: } while (YYID (0))
2900:
2901:
2902: /*------------------------------------------------.
2903: | Report that the YYRULE is going to be reduced. |
2904: `------------------------------------------------*/
2905:
2906: #if (defined __STDC__ || defined __C99__FUNC__ \
2907: || defined __cplusplus || defined _MSC_VER)
2908: static void
2909: yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2910: #else
2911: static void
2912: yy_reduce_print (yyvsp, yyrule)
2913: YYSTYPE *yyvsp;
2914: int yyrule;
2915: #endif
2916: {
2917: int yynrhs = yyr2[yyrule];
2918: int yyi;
2919: unsigned long int yylno = yyrline[yyrule];
2920: YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2921: yyrule - 1, yylno);
2922: /* The symbols being reduced. */
2923: for (yyi = 0; yyi < yynrhs; yyi++)
2924: {
2925: fprintf (stderr, " $%d = ", yyi + 1);
2926: yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2927: &(yyvsp[(yyi + 1) - (yynrhs)])
2928: );
2929: fprintf (stderr, "\n");
2930: }
2931: }
2932:
2933: # define YY_REDUCE_PRINT(Rule) \
2934: do { \
2935: if (yydebug) \
2936: yy_reduce_print (yyvsp, Rule); \
2937: } while (YYID (0))
2938:
2939: /* Nonzero means print parse trace. It is left uninitialized so that
2940: multiple parsers can coexist. */
2941: int yydebug;
2942: #else /* !YYDEBUG */
2943: # define YYDPRINTF(Args)
2944: # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2945: # define YY_STACK_PRINT(Bottom, Top)
2946: # define YY_REDUCE_PRINT(Rule)
2947: #endif /* !YYDEBUG */
2948:
2949:
2950: /* YYINITDEPTH -- initial size of the parser's stacks. */
2951: #ifndef YYINITDEPTH
2952: # define YYINITDEPTH 200
2953: #endif
2954:
2955: /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2956: if the built-in stack extension method is used).
2957:
2958: Do not make this value too large; the results are undefined if
2959: YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2960: evaluated with infinite-precision integer arithmetic. */
2961:
2962: #ifndef YYMAXDEPTH
2963: # define YYMAXDEPTH 10000
2964: #endif
2965:
2966:
2967:
2968: #if YYERROR_VERBOSE
2969:
2970: # ifndef yystrlen
2971: # if defined __GLIBC__ && defined _STRING_H
2972: # define yystrlen strlen
2973: # else
2974: /* Return the length of YYSTR. */
2975: #if (defined __STDC__ || defined __C99__FUNC__ \
2976: || defined __cplusplus || defined _MSC_VER)
2977: static YYSIZE_T
2978: yystrlen (const char *yystr)
2979: #else
2980: static YYSIZE_T
2981: yystrlen (yystr)
2982: const char *yystr;
2983: #endif
2984: {
2985: YYSIZE_T yylen;
2986: for (yylen = 0; yystr[yylen]; yylen++)
2987: continue;
2988: return yylen;
2989: }
2990: # endif
2991: # endif
2992:
2993: # ifndef yystpcpy
2994: # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2995: # define yystpcpy stpcpy
2996: # else
2997: /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2998: YYDEST. */
2999: #if (defined __STDC__ || defined __C99__FUNC__ \
3000: || defined __cplusplus || defined _MSC_VER)
3001: static char *
3002: yystpcpy (char *yydest, const char *yysrc)
3003: #else
3004: static char *
3005: yystpcpy (yydest, yysrc)
3006: char *yydest;
3007: const char *yysrc;
3008: #endif
3009: {
3010: char *yyd = yydest;
3011: const char *yys = yysrc;
3012:
3013: while ((*yyd++ = *yys++) != '\0')
3014: continue;
3015:
3016: return yyd - 1;
3017: }
3018: # endif
3019: # endif
3020:
3021: # ifndef yytnamerr
3022: /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3023: quotes and backslashes, so that it's suitable for yyerror. The
3024: heuristic is that double-quoting is unnecessary unless the string
3025: contains an apostrophe, a comma, or backslash (other than
3026: backslash-backslash). YYSTR is taken from yytname. If YYRES is
3027: null, do not copy; instead, return the length of what the result
3028: would have been. */
3029: static YYSIZE_T
3030: yytnamerr (char *yyres, const char *yystr)
3031: {
3032: if (*yystr == '"')
3033: {
3034: YYSIZE_T yyn = 0;
3035: char const *yyp = yystr;
3036:
3037: for (;;)
3038: switch (*++yyp)
3039: {
3040: case '\'':
3041: case ',':
3042: goto do_not_strip_quotes;
3043:
3044: case '\\':
3045: if (*++yyp != '\\')
3046: goto do_not_strip_quotes;
3047: /* Fall through. */
3048: default:
3049: if (yyres)
3050: yyres[yyn] = *yyp;
3051: yyn++;
3052: break;
3053:
3054: case '"':
3055: if (yyres)
3056: yyres[yyn] = '\0';
3057: return yyn;
3058: }
3059: do_not_strip_quotes: ;
3060: }
3061:
3062: if (! yyres)
3063: return yystrlen (yystr);
3064:
3065: return yystpcpy (yyres, yystr) - yyres;
3066: }
3067: # endif
3068:
3069: /* Copy into YYRESULT an error message about the unexpected token
3070: YYCHAR while in state YYSTATE. Return the number of bytes copied,
3071: including the terminating null byte. If YYRESULT is null, do not
3072: copy anything; just return the number of bytes that would be
3073: copied. As a special case, return 0 if an ordinary "syntax error"
3074: message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3075: size calculation. */
3076: static YYSIZE_T
3077: yysyntax_error (char *yyresult, int yystate, int yychar)
3078: {
3079: int yyn = yypact[yystate];
3080:
3081: if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3082: return 0;
3083: else
3084: {
3085: int yytype = YYTRANSLATE (yychar);
3086: YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3087: YYSIZE_T yysize = yysize0;
3088: YYSIZE_T yysize1;
3089: int yysize_overflow = 0;
3090: enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3091: char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3092: int yyx;
3093:
3094: # if 0
3095: /* This is so xgettext sees the translatable formats that are
3096: constructed on the fly. */
3097: YY_("syntax error, unexpected %s");
3098: YY_("syntax error, unexpected %s, expecting %s");
3099: YY_("syntax error, unexpected %s, expecting %s or %s");
3100: YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3101: YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3102: # endif
3103: char *yyfmt;
3104: char const *yyf;
3105: static char const yyunexpected[] = "syntax error, unexpected %s";
3106: static char const yyexpecting[] = ", expecting %s";
3107: static char const yyor[] = " or %s";
3108: char yyformat[sizeof yyunexpected
3109: + sizeof yyexpecting - 1
3110: + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3111: * (sizeof yyor - 1))];
3112: char const *yyprefix = yyexpecting;
3113:
3114: /* Start YYX at -YYN if negative to avoid negative indexes in
3115: YYCHECK. */
3116: int yyxbegin = yyn < 0 ? -yyn : 0;
3117:
3118: /* Stay within bounds of both yycheck and yytname. */
3119: int yychecklim = YYLAST - yyn + 1;
3120: int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3121: int yycount = 1;
3122:
3123: yyarg[0] = yytname[yytype];
3124: yyfmt = yystpcpy (yyformat, yyunexpected);
3125:
3126: for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3127: if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3128: {
3129: if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3130: {
3131: yycount = 1;
3132: yysize = yysize0;
3133: yyformat[sizeof yyunexpected - 1] = '\0';
3134: break;
3135: }
3136: yyarg[yycount++] = yytname[yyx];
3137: yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3138: yysize_overflow |= (yysize1 < yysize);
3139: yysize = yysize1;
3140: yyfmt = yystpcpy (yyfmt, yyprefix);
3141: yyprefix = yyor;
3142: }
3143:
3144: yyf = YY_(yyformat);
3145: yysize1 = yysize + yystrlen (yyf);
3146: yysize_overflow |= (yysize1 < yysize);
3147: yysize = yysize1;
3148:
3149: if (yysize_overflow)
3150: return YYSIZE_MAXIMUM;
3151:
3152: if (yyresult)
3153: {
3154: /* Avoid sprintf, as that infringes on the user's name space.
3155: Don't have undefined behavior even if the translation
3156: produced a string with the wrong number of "%s"s. */
3157: char *yyp = yyresult;
3158: int yyi = 0;
3159: while ((*yyp = *yyf) != '\0')
3160: {
3161: if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3162: {
3163: yyp += yytnamerr (yyp, yyarg[yyi++]);
3164: yyf += 2;
3165: }
3166: else
3167: {
3168: yyp++;
3169: yyf++;
3170: }
3171: }
3172: }
3173: return yysize;
3174: }
3175: }
3176: #endif /* YYERROR_VERBOSE */
3177:
3178:
3179: /*-----------------------------------------------.
3180: | Release the memory associated to this symbol. |
3181: `-----------------------------------------------*/
3182:
3183: /*ARGSUSED*/
3184: #if (defined __STDC__ || defined __C99__FUNC__ \
3185: || defined __cplusplus || defined _MSC_VER)
3186: static void
3187: yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
3188: #else
3189: static void
3190: yydestruct (yymsg, yytype, yyvaluep)
3191: const char *yymsg;
3192: int yytype;
3193: YYSTYPE *yyvaluep;
3194: #endif
3195: {
3196: YYUSE (yyvaluep);
3197:
3198: if (!yymsg)
3199: yymsg = "Deleting";
3200: YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3201:
3202: switch (yytype)
3203: {
3204:
3205: default:
3206: break;
3207: }
3208: }
3209:
3210:
3211: /* Prevent warnings from -Wmissing-prototypes. */
3212:
3213: #ifdef YYPARSE_PARAM
3214: #if defined __STDC__ || defined __cplusplus
3215: int yyparse (void *YYPARSE_PARAM);
3216: #else
3217: int yyparse ();
3218: #endif
3219: #else /* ! YYPARSE_PARAM */
3220: #if defined __STDC__ || defined __cplusplus
3221: int yyparse (void);
3222: #else
3223: int yyparse ();
3224: #endif
3225: #endif /* ! YYPARSE_PARAM */
3226:
3227:
3228:
3229:
3230:
3231:
3232: /*----------.
3233: | yyparse. |
3234: `----------*/
3235:
3236: #ifdef YYPARSE_PARAM
3237: #if (defined __STDC__ || defined __C99__FUNC__ \
3238: || defined __cplusplus || defined _MSC_VER)
3239: int
3240: yyparse (void *YYPARSE_PARAM)
3241: #else
3242: int
3243: yyparse (YYPARSE_PARAM)
3244: void *YYPARSE_PARAM;
3245: #endif
3246: #else /* ! YYPARSE_PARAM */
3247: #if (defined __STDC__ || defined __C99__FUNC__ \
3248: || defined __cplusplus || defined _MSC_VER)
3249: int
3250: yyparse (void)
3251: #else
3252: int
3253: yyparse ()
3254:
3255: #endif
3256: #endif
3257: {
3258: /* The look-ahead symbol. */
3259: int yychar;
3260:
3261: /* The semantic value of the look-ahead symbol. */
3262: YYSTYPE yylval;
3263:
3264: /* Number of syntax errors so far. */
3265: int yynerrs;
3266:
3267: int yystate;
3268: int yyn;
3269: int yyresult;
3270: /* Number of tokens to shift before error messages enabled. */
3271: int yyerrstatus;
3272: /* Look-ahead token as an internal (translated) token number. */
3273: int yytoken = 0;
3274: #if YYERROR_VERBOSE
3275: /* Buffer for error messages, and its allocated size. */
3276: char yymsgbuf[128];
3277: char *yymsg = yymsgbuf;
3278: YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3279: #endif
3280:
3281: /* Three stacks and their tools:
3282: `yyss': related to states,
3283: `yyvs': related to semantic values,
3284: `yyls': related to locations.
3285:
3286: Refer to the stacks thru separate pointers, to allow yyoverflow
3287: to reallocate them elsewhere. */
3288:
3289: /* The state stack. */
3290: yytype_int16 yyssa[YYINITDEPTH];
3291: yytype_int16 *yyss = yyssa;
3292: yytype_int16 *yyssp;
3293:
3294: /* The semantic value stack. */
3295: YYSTYPE yyvsa[YYINITDEPTH];
3296: YYSTYPE *yyvs = yyvsa;
3297: YYSTYPE *yyvsp;
3298:
3299:
3300:
3301: #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3302:
3303: YYSIZE_T yystacksize = YYINITDEPTH;
3304:
3305: /* The variables used to return semantic value and location from the
3306: action routines. */
3307: YYSTYPE yyval;
3308:
3309:
3310: /* The number of symbols on the RHS of the reduced rule.
3311: Keep to zero when no symbol should be popped. */
3312: int yylen = 0;
3313:
3314: YYDPRINTF ((stderr, "Starting parse\n"));
3315:
3316: yystate = 0;
3317: yyerrstatus = 0;
3318: yynerrs = 0;
3319: yychar = YYEMPTY; /* Cause a token to be read. */
3320:
3321: /* Initialize stack pointers.
3322: Waste one element of value and location stack
3323: so that they stay on the same level as the state stack.
3324: The wasted elements are never initialized. */
3325:
3326: yyssp = yyss;
3327: yyvsp = yyvs;
3328:
3329: goto yysetstate;
3330:
3331: /*------------------------------------------------------------.
3332: | yynewstate -- Push a new state, which is found in yystate. |
3333: `------------------------------------------------------------*/
3334: yynewstate:
3335: /* In all cases, when you get here, the value and location stacks
3336: have just been pushed. So pushing a state here evens the stacks. */
3337: yyssp++;
3338:
3339: yysetstate:
3340: *yyssp = yystate;
3341:
3342: if (yyss + yystacksize - 1 <= yyssp)
3343: {
3344: /* Get the current used size of the three stacks, in elements. */
3345: YYSIZE_T yysize = yyssp - yyss + 1;
3346:
3347: #ifdef yyoverflow
3348: {
3349: /* Give user a chance to reallocate the stack. Use copies of
3350: these so that the &'s don't force the real ones into
3351: memory. */
3352: YYSTYPE *yyvs1 = yyvs;
3353: yytype_int16 *yyss1 = yyss;
3354:
3355:
3356: /* Each stack pointer address is followed by the size of the
3357: data in use in that stack, in bytes. This used to be a
3358: conditional around just the two extra args, but that might
3359: be undefined if yyoverflow is a macro. */
3360: yyoverflow (YY_("memory exhausted"),
3361: &yyss1, yysize * sizeof (*yyssp),
3362: &yyvs1, yysize * sizeof (*yyvsp),
3363:
3364: &yystacksize);
3365:
3366: yyss = yyss1;
3367: yyvs = yyvs1;
3368: }
3369: #else /* no yyoverflow */
3370: # ifndef YYSTACK_RELOCATE
3371: goto yyexhaustedlab;
3372: # else
3373: /* Extend the stack our own way. */
3374: if (YYMAXDEPTH <= yystacksize)
3375: goto yyexhaustedlab;
3376: yystacksize *= 2;
3377: if (YYMAXDEPTH < yystacksize)
3378: yystacksize = YYMAXDEPTH;
3379:
3380: {
3381: yytype_int16 *yyss1 = yyss;
3382: union yyalloc *yyptr =
3383: (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3384: if (! yyptr)
3385: goto yyexhaustedlab;
3386: YYSTACK_RELOCATE (yyss);
3387: YYSTACK_RELOCATE (yyvs);
3388:
3389: # undef YYSTACK_RELOCATE
3390: if (yyss1 != yyssa)
3391: YYSTACK_FREE (yyss1);
3392: }
3393: # endif
3394: #endif /* no yyoverflow */
3395:
3396: yyssp = yyss + yysize - 1;
3397: yyvsp = yyvs + yysize - 1;
3398:
3399:
3400: YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3401: (unsigned long int) yystacksize));
3402:
3403: if (yyss + yystacksize - 1 <= yyssp)
3404: YYABORT;
3405: }
3406:
3407: YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3408:
3409: goto yybackup;
3410:
3411: /*-----------.
3412: | yybackup. |
3413: `-----------*/
3414: yybackup:
3415:
3416: /* Do appropriate processing given the current state. Read a
3417: look-ahead token if we need one and don't already have one. */
3418:
3419: /* First try to decide what to do without reference to look-ahead token. */
3420: yyn = yypact[yystate];
3421: if (yyn == YYPACT_NINF)
3422: goto yydefault;
3423:
3424: /* Not known => get a look-ahead token if don't already have one. */
3425:
3426: /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
3427: if (yychar == YYEMPTY)
3428: {
3429: YYDPRINTF ((stderr, "Reading a token: "));
3430: yychar = YYLEX;
3431: }
3432:
3433: if (yychar <= YYEOF)
3434: {
3435: yychar = yytoken = YYEOF;
3436: YYDPRINTF ((stderr, "Now at end of input.\n"));
3437: }
3438: else
3439: {
3440: yytoken = YYTRANSLATE (yychar);
3441: YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3442: }
3443:
3444: /* If the proper action on seeing token YYTOKEN is to reduce or to
3445: detect an error, take that action. */
3446: yyn += yytoken;
3447: if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3448: goto yydefault;
3449: yyn = yytable[yyn];
3450: if (yyn <= 0)
3451: {
3452: if (yyn == 0 || yyn == YYTABLE_NINF)
3453: goto yyerrlab;
3454: yyn = -yyn;
3455: goto yyreduce;
3456: }
3457:
3458: if (yyn == YYFINAL)
3459: YYACCEPT;
3460:
3461: /* Count tokens shifted since error; after three, turn off error
3462: status. */
3463: if (yyerrstatus)
3464: yyerrstatus--;
3465:
3466: /* Shift the look-ahead token. */
3467: YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3468:
3469: /* Discard the shifted token unless it is eof. */
3470: if (yychar != YYEOF)
3471: yychar = YYEMPTY;
3472:
3473: yystate = yyn;
3474: *++yyvsp = yylval;
3475:
3476: goto yynewstate;
3477:
3478:
3479: /*-----------------------------------------------------------.
3480: | yydefault -- do the default action for the current state. |
3481: `-----------------------------------------------------------*/
3482: yydefault:
3483: yyn = yydefact[yystate];
3484: if (yyn == 0)
3485: goto yyerrlab;
3486: goto yyreduce;
3487:
3488:
3489: /*-----------------------------.
3490: | yyreduce -- Do a reduction. |
3491: `-----------------------------*/
3492: yyreduce:
3493: /* yyn is the number of a rule to reduce with. */
3494: yylen = yyr2[yyn];
3495:
3496: /* If YYLEN is nonzero, implement the default value of the action:
3497: `$$ = $1'.
3498:
3499: Otherwise, the following line sets YYVAL to garbage.
3500: This behavior is undocumented and Bison
3501: users should not rely upon it. Assigning to YYVAL
3502: unconditionally makes the parser a bit smaller, and it avoids a
3503: GCC warning that YYVAL may be used uninitialized. */
3504: yyval = yyvsp[1-yylen];
3505:
3506:
3507: YY_REDUCE_PRINT (yyn);
3508: switch (yyn)
3509: {
3510: case 2:
3511:
3512: { zend_do_end_compilation(TSRMLS_C); }
3513: break;
3514:
3515: case 3:
3516:
3517: { zend_do_extended_info(TSRMLS_C); }
3518: break;
3519:
3520: case 4:
3521:
3522: { HANDLE_INTERACTIVE(); }
3523: break;
3524:
3525: case 6:
3526:
3527: { (yyval) = (yyvsp[(1) - (1)]); }
3528: break;
3529:
3530: case 7:
3531:
3532: { zend_do_build_namespace_name(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
3533: break;
3534:
3535: case 8:
3536:
3537: { zend_verify_namespace(TSRMLS_C); }
3538: break;
3539:
3540: case 9:
3541:
3542: { zend_verify_namespace(TSRMLS_C); zend_do_early_binding(TSRMLS_C); }
3543: break;
3544:
3545: case 10:
3546:
3547: { zend_verify_namespace(TSRMLS_C); zend_do_early_binding(TSRMLS_C); }
3548: break;
3549:
3550: case 11:
3551:
3552: { zend_do_halt_compiler_register(TSRMLS_C); YYACCEPT; }
3553: break;
3554:
3555: case 12:
3556:
3557: { zend_do_begin_namespace(&(yyvsp[(2) - (3)]), 0 TSRMLS_CC); }
3558: break;
3559:
3560: case 13:
3561:
3562: { zend_do_begin_namespace(&(yyvsp[(2) - (3)]), 1 TSRMLS_CC); }
3563: break;
3564:
3565: case 14:
3566:
3567: { zend_do_end_namespace(TSRMLS_C); }
3568: break;
3569:
3570: case 15:
3571:
3572: { zend_do_begin_namespace(NULL, 1 TSRMLS_CC); }
3573: break;
3574:
3575: case 16:
3576:
3577: { zend_do_end_namespace(TSRMLS_C); }
3578: break;
3579:
3580: case 17:
3581:
3582: { zend_verify_namespace(TSRMLS_C); }
3583: break;
3584:
3585: case 18:
3586:
3587: { zend_verify_namespace(TSRMLS_C); }
3588: break;
3589:
3590: case 21:
3591:
3592: { zend_do_use(&(yyvsp[(1) - (1)]), NULL, 0 TSRMLS_CC); }
3593: break;
3594:
3595: case 22:
3596:
3597: { zend_do_use(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), 0 TSRMLS_CC); }
3598: break;
3599:
3600: case 23:
3601:
3602: { zend_do_use(&(yyvsp[(2) - (2)]), NULL, 1 TSRMLS_CC); }
3603: break;
3604:
3605: case 24:
3606:
3607: { zend_do_use(&(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]), 1 TSRMLS_CC); }
3608: break;
3609:
3610: case 25:
3611:
3612: { zend_do_declare_constant(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
3613: break;
3614:
3615: case 26:
3616:
3617: { zend_do_declare_constant(&(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); }
3618: break;
3619:
3620: case 27:
3621:
3622: { zend_do_extended_info(TSRMLS_C); }
3623: break;
3624:
3625: case 28:
3626:
3627: { HANDLE_INTERACTIVE(); }
3628: break;
3629:
3630: case 33:
3631:
3632: { zend_error(E_COMPILE_ERROR, "__HALT_COMPILER() can only be used from the outermost scope"); }
3633: break;
3634:
3635: case 34:
3636:
3637: { DO_TICKS(); }
3638: break;
3639:
3640: case 35:
3641:
3642: { zend_do_label(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
3643: break;
3644:
3645: case 37:
3646:
3647: { zend_do_if_cond(&(yyvsp[(3) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); }
3648: break;
3649:
3650: case 38:
3651:
3652: { zend_do_if_after_statement(&(yyvsp[(4) - (6)]), 1 TSRMLS_CC); }
3653: break;
3654:
3655: case 39:
3656:
3657: { zend_do_if_end(TSRMLS_C); }
3658: break;
3659:
3660: case 40:
3661:
3662: { zend_do_if_cond(&(yyvsp[(3) - (5)]), &(yyvsp[(4) - (5)]) TSRMLS_CC); }
3663: break;
3664:
3665: case 41:
3666:
3667: { zend_do_if_after_statement(&(yyvsp[(4) - (7)]), 1 TSRMLS_CC); }
3668: break;
3669:
3670: case 42:
3671:
3672: { zend_do_if_end(TSRMLS_C); }
3673: break;
3674:
3675: case 43:
3676:
3677: { (yyvsp[(1) - (2)]).u.op.opline_num = get_next_op_number(CG(active_op_array)); }
3678: break;
3679:
3680: case 44:
3681:
3682: { zend_do_while_cond(&(yyvsp[(4) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
3683: break;
3684:
3685: case 45:
3686:
3687: { zend_do_while_end(&(yyvsp[(1) - (7)]), &(yyvsp[(5) - (7)]) TSRMLS_CC); }
3688: break;
3689:
3690: case 46:
3691:
3692: { (yyvsp[(1) - (1)]).u.op.opline_num = get_next_op_number(CG(active_op_array)); zend_do_do_while_begin(TSRMLS_C); }
3693: break;
3694:
3695: case 47:
3696:
3697: { (yyvsp[(5) - (5)]).u.op.opline_num = get_next_op_number(CG(active_op_array)); }
3698: break;
3699:
3700: case 48:
3701:
3702: { zend_do_do_while_end(&(yyvsp[(1) - (9)]), &(yyvsp[(5) - (9)]), &(yyvsp[(7) - (9)]) TSRMLS_CC); }
3703: break;
3704:
3705: case 49:
3706:
3707: { zend_do_free(&(yyvsp[(3) - (4)]) TSRMLS_CC); (yyvsp[(4) - (4)]).u.op.opline_num = get_next_op_number(CG(active_op_array)); }
3708: break;
3709:
3710: case 50:
3711:
3712: { zend_do_extended_info(TSRMLS_C); zend_do_for_cond(&(yyvsp[(6) - (7)]), &(yyvsp[(7) - (7)]) TSRMLS_CC); }
3713: break;
3714:
3715: case 51:
3716:
3717: { zend_do_free(&(yyvsp[(9) - (10)]) TSRMLS_CC); zend_do_for_before_statement(&(yyvsp[(4) - (10)]), &(yyvsp[(7) - (10)]) TSRMLS_CC); }
3718: break;
3719:
3720: case 52:
3721:
3722: { zend_do_for_end(&(yyvsp[(7) - (12)]) TSRMLS_CC); }
3723: break;
3724:
3725: case 53:
3726:
3727: { zend_do_switch_cond(&(yyvsp[(3) - (4)]) TSRMLS_CC); }
3728: break;
3729:
3730: case 54:
3731:
3732: { zend_do_switch_end(&(yyvsp[(6) - (6)]) TSRMLS_CC); }
3733: break;
3734:
3735: case 55:
3736:
3737: { zend_do_brk_cont(ZEND_BRK, NULL TSRMLS_CC); }
3738: break;
3739:
3740: case 56:
3741:
3742: { zend_do_brk_cont(ZEND_BRK, &(yyvsp[(2) - (3)]) TSRMLS_CC); }
3743: break;
3744:
3745: case 57:
3746:
3747: { zend_do_brk_cont(ZEND_CONT, NULL TSRMLS_CC); }
3748: break;
3749:
3750: case 58:
3751:
3752: { zend_do_brk_cont(ZEND_CONT, &(yyvsp[(2) - (3)]) TSRMLS_CC); }
3753: break;
3754:
3755: case 59:
3756:
3757: { zend_do_return(NULL, 0 TSRMLS_CC); }
3758: break;
3759:
3760: case 60:
3761:
3762: { zend_do_return(&(yyvsp[(2) - (3)]), 0 TSRMLS_CC); }
3763: break;
3764:
3765: case 61:
3766:
3767: { zend_do_return(&(yyvsp[(2) - (3)]), 1 TSRMLS_CC); }
3768: break;
3769:
3770: case 65:
3771:
3772: { zend_do_echo(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
3773: break;
3774:
3775: case 66:
3776:
3777: { zend_do_free(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
3778: break;
3779:
3780: case 68:
3781:
3782: { zend_do_foreach_begin(&(yyvsp[(1) - (4)]), &(yyvsp[(2) - (4)]), &(yyvsp[(3) - (4)]), &(yyvsp[(4) - (4)]), 1 TSRMLS_CC); }
3783: break;
3784:
3785: case 69:
3786:
3787: { zend_do_foreach_cont(&(yyvsp[(1) - (8)]), &(yyvsp[(2) - (8)]), &(yyvsp[(4) - (8)]), &(yyvsp[(6) - (8)]), &(yyvsp[(7) - (8)]) TSRMLS_CC); }
3788: break;
3789:
3790: case 70:
3791:
3792: { zend_do_foreach_end(&(yyvsp[(1) - (10)]), &(yyvsp[(4) - (10)]) TSRMLS_CC); }
3793: break;
3794:
3795: case 71:
3796:
3797: { zend_do_foreach_begin(&(yyvsp[(1) - (4)]), &(yyvsp[(2) - (4)]), &(yyvsp[(3) - (4)]), &(yyvsp[(4) - (4)]), 0 TSRMLS_CC); }
3798: break;
3799:
3800: case 72:
3801:
3802: { zend_check_writable_variable(&(yyvsp[(6) - (8)])); zend_do_foreach_cont(&(yyvsp[(1) - (8)]), &(yyvsp[(2) - (8)]), &(yyvsp[(4) - (8)]), &(yyvsp[(6) - (8)]), &(yyvsp[(7) - (8)]) TSRMLS_CC); }
3803: break;
3804:
3805: case 73:
3806:
3807: { zend_do_foreach_end(&(yyvsp[(1) - (10)]), &(yyvsp[(4) - (10)]) TSRMLS_CC); }
3808: break;
3809:
3810: case 74:
3811:
3812: { (yyvsp[(1) - (1)]).u.op.opline_num = get_next_op_number(CG(active_op_array)); zend_do_declare_begin(TSRMLS_C); }
3813: break;
3814:
3815: case 75:
3816:
3817: { zend_do_declare_end(&(yyvsp[(1) - (6)]) TSRMLS_CC); }
3818: break;
3819:
3820: case 77:
3821:
3822: { zend_do_try(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
3823: break;
3824:
3825: case 78:
3826:
3827: { zend_initialize_try_catch_element(&(yyvsp[(1) - (7)]) TSRMLS_CC); }
3828: break;
3829:
3830: case 79:
3831:
3832: { zend_do_first_catch(&(yyvsp[(7) - (9)]) TSRMLS_CC); }
3833: break;
3834:
3835: case 80:
3836:
3837: { zend_do_begin_catch(&(yyvsp[(1) - (12)]), &(yyvsp[(9) - (12)]), &(yyvsp[(11) - (12)]), &(yyvsp[(7) - (12)]) TSRMLS_CC); }
3838: break;
3839:
3840: case 81:
3841:
3842: { zend_do_end_catch(&(yyvsp[(1) - (16)]) TSRMLS_CC); }
3843: break;
3844:
3845: case 82:
3846:
3847: { zend_do_mark_last_catch(&(yyvsp[(7) - (18)]), &(yyvsp[(18) - (18)]) TSRMLS_CC); }
3848: break;
3849:
3850: case 83:
3851:
3852: { zend_do_throw(&(yyvsp[(2) - (3)]) TSRMLS_CC); }
3853: break;
3854:
3855: case 84:
3856:
3857: { zend_do_goto(&(yyvsp[(2) - (3)]) TSRMLS_CC); }
3858: break;
3859:
3860: case 85:
3861:
3862: { (yyval) = (yyvsp[(1) - (1)]); }
3863: break;
3864:
3865: case 86:
3866:
3867: { (yyval).u.op.opline_num = -1; }
3868: break;
3869:
3870: case 87:
3871:
3872: { (yyval) = (yyvsp[(1) - (1)]); }
3873: break;
3874:
3875: case 88:
3876:
3877: { (yyval) = (yyvsp[(2) - (2)]); }
3878: break;
3879:
3880: case 89:
3881:
3882: { (yyval).u.op.opline_num = get_next_op_number(CG(active_op_array)); }
3883: break;
3884:
3885: case 90:
3886:
3887: { zend_do_begin_catch(&(yyvsp[(1) - (6)]), &(yyvsp[(3) - (6)]), &(yyvsp[(5) - (6)]), NULL TSRMLS_CC); }
3888: break;
3889:
3890: case 91:
3891:
3892: { zend_do_end_catch(&(yyvsp[(1) - (10)]) TSRMLS_CC); }
3893: break;
3894:
3895: case 94:
3896:
3897: { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_UNSET, 0 TSRMLS_CC); zend_do_unset(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
3898: break;
3899:
3900: case 95:
3901:
3902: { DO_TICKS(); }
3903: break;
3904:
3905: case 96:
3906:
3907: { DO_TICKS(); }
3908: break;
3909:
3910: case 97:
3911:
3912: { (yyval).op_type = ZEND_RETURN_VAL; }
3913: break;
3914:
3915: case 98:
3916:
3917: { (yyval).op_type = ZEND_RETURN_REF; }
3918: break;
3919:
3920: case 99:
3921:
3922: { zend_do_begin_function_declaration(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), 0, (yyvsp[(2) - (3)]).op_type, NULL TSRMLS_CC); }
3923: break;
3924:
3925: case 100:
3926:
3927: { zend_do_end_function_declaration(&(yyvsp[(1) - (10)]) TSRMLS_CC); }
3928: break;
3929:
3930: case 101:
3931:
3932: { zend_do_begin_class_declaration(&(yyvsp[(1) - (3)]), &(yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
3933: break;
3934:
3935: case 102:
3936:
3937: { zend_do_end_class_declaration(&(yyvsp[(1) - (8)]), &(yyvsp[(2) - (8)]) TSRMLS_CC); }
3938: break;
3939:
3940: case 103:
3941:
3942: { zend_do_begin_class_declaration(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]), NULL TSRMLS_CC); }
3943: break;
3944:
3945: case 104:
3946:
3947: { zend_do_end_class_declaration(&(yyvsp[(1) - (7)]), &(yyvsp[(2) - (7)]) TSRMLS_CC); }
3948: break;
3949:
3950: case 105:
3951:
3952: { (yyval).u.op.opline_num = CG(zend_lineno); (yyval).EA = 0; }
3953: break;
3954:
3955: case 106:
3956:
3957: { (yyval).u.op.opline_num = CG(zend_lineno); (yyval).EA = ZEND_ACC_EXPLICIT_ABSTRACT_CLASS; }
3958: break;
3959:
3960: case 107:
3961:
3962: { (yyval).u.op.opline_num = CG(zend_lineno); (yyval).EA = ZEND_ACC_TRAIT; }
3963: break;
3964:
3965: case 108:
3966:
3967: { (yyval).u.op.opline_num = CG(zend_lineno); (yyval).EA = ZEND_ACC_FINAL_CLASS; }
3968: break;
3969:
3970: case 109:
3971:
3972: { (yyval).op_type = IS_UNUSED; }
3973: break;
3974:
3975: case 110:
3976:
3977: { zend_do_fetch_class(&(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
3978: break;
3979:
3980: case 111:
3981:
3982: { (yyval).u.op.opline_num = CG(zend_lineno); (yyval).EA = ZEND_ACC_INTERFACE; }
3983: break;
3984:
3985: case 116:
3986:
3987: { zend_do_implements_interface(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
3988: break;
3989:
3990: case 117:
3991:
3992: { zend_do_implements_interface(&(yyvsp[(3) - (3)]) TSRMLS_CC); }
3993: break;
3994:
3995: case 118:
3996:
3997: { (yyval).op_type = IS_UNUSED; }
3998: break;
3999:
4000: case 119:
4001:
4002: { (yyval) = (yyvsp[(2) - (2)]); }
4003: break;
4004:
4005: case 120:
4006:
4007: { zend_check_writable_variable(&(yyvsp[(1) - (1)])); (yyval) = (yyvsp[(1) - (1)]); }
4008: break;
4009:
4010: case 121:
4011:
4012: { zend_check_writable_variable(&(yyvsp[(2) - (2)])); (yyval) = (yyvsp[(2) - (2)]); (yyval).EA |= ZEND_PARSED_REFERENCE_VARIABLE; }
4013: break;
4014:
4015: case 128:
4016:
4017: { zend_do_declare_stmt(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4018: break;
4019:
4020: case 129:
4021:
4022: { zend_do_declare_stmt(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
4023: break;
4024:
4025: case 130:
4026:
4027: { (yyval) = (yyvsp[(2) - (3)]); }
4028: break;
4029:
4030: case 131:
4031:
4032: { (yyval) = (yyvsp[(3) - (4)]); }
4033: break;
4034:
4035: case 132:
4036:
4037: { (yyval) = (yyvsp[(2) - (4)]); }
4038: break;
4039:
4040: case 133:
4041:
4042: { (yyval) = (yyvsp[(3) - (5)]); }
4043: break;
4044:
4045: case 134:
4046:
4047: { (yyval).op_type = IS_UNUSED; }
4048: break;
4049:
4050: case 135:
4051:
4052: { zend_do_extended_info(TSRMLS_C); zend_do_case_before_statement(&(yyvsp[(1) - (4)]), &(yyvsp[(2) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
4053: break;
4054:
4055: case 136:
4056:
4057: { zend_do_case_after_statement(&(yyval), &(yyvsp[(2) - (6)]) TSRMLS_CC); (yyval).op_type = IS_CONST; }
4058: break;
4059:
4060: case 137:
4061:
4062: { zend_do_extended_info(TSRMLS_C); zend_do_default_before_statement(&(yyvsp[(1) - (3)]), &(yyvsp[(2) - (3)]) TSRMLS_CC); }
4063: break;
4064:
4065: case 138:
4066:
4067: { zend_do_case_after_statement(&(yyval), &(yyvsp[(2) - (5)]) TSRMLS_CC); (yyval).op_type = IS_CONST; }
4068: break;
4069:
4070: case 144:
4071:
4072: { zend_do_if_cond(&(yyvsp[(4) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
4073: break;
4074:
4075: case 145:
4076:
4077: { zend_do_if_after_statement(&(yyvsp[(5) - (7)]), 0 TSRMLS_CC); }
4078: break;
4079:
4080: case 147:
4081:
4082: { zend_do_if_cond(&(yyvsp[(4) - (6)]), &(yyvsp[(5) - (6)]) TSRMLS_CC); }
4083: break;
4084:
4085: case 148:
4086:
4087: { zend_do_if_after_statement(&(yyvsp[(5) - (8)]), 0 TSRMLS_CC); }
4088: break;
4089:
4090: case 155:
4091:
4092: { (yyval).op_type = IS_UNUSED; (yyval).u.op.num=1; zend_do_receive_arg(ZEND_RECV, &(yyvsp[(2) - (2)]), &(yyval), NULL, &(yyvsp[(1) - (2)]), 0 TSRMLS_CC); }
4093: break;
4094:
4095: case 156:
4096:
4097: { (yyval).op_type = IS_UNUSED; (yyval).u.op.num=1; zend_do_receive_arg(ZEND_RECV, &(yyvsp[(3) - (3)]), &(yyval), NULL, &(yyvsp[(1) - (3)]), 1 TSRMLS_CC); }
4098: break;
4099:
4100: case 157:
4101:
4102: { (yyval).op_type = IS_UNUSED; (yyval).u.op.num=1; zend_do_receive_arg(ZEND_RECV_INIT, &(yyvsp[(3) - (5)]), &(yyval), &(yyvsp[(5) - (5)]), &(yyvsp[(1) - (5)]), 1 TSRMLS_CC); }
4103: break;
4104:
4105: case 158:
4106:
4107: { (yyval).op_type = IS_UNUSED; (yyval).u.op.num=1; zend_do_receive_arg(ZEND_RECV_INIT, &(yyvsp[(2) - (4)]), &(yyval), &(yyvsp[(4) - (4)]), &(yyvsp[(1) - (4)]), 0 TSRMLS_CC); }
4108: break;
4109:
4110: case 159:
4111:
4112: { (yyval)=(yyvsp[(1) - (4)]); (yyval).u.op.num++; zend_do_receive_arg(ZEND_RECV, &(yyvsp[(4) - (4)]), &(yyval), NULL, &(yyvsp[(3) - (4)]), 0 TSRMLS_CC); }
4113: break;
4114:
4115: case 160:
4116:
4117: { (yyval)=(yyvsp[(1) - (5)]); (yyval).u.op.num++; zend_do_receive_arg(ZEND_RECV, &(yyvsp[(5) - (5)]), &(yyval), NULL, &(yyvsp[(3) - (5)]), 1 TSRMLS_CC); }
4118: break;
4119:
4120: case 161:
4121:
4122: { (yyval)=(yyvsp[(1) - (7)]); (yyval).u.op.num++; zend_do_receive_arg(ZEND_RECV_INIT, &(yyvsp[(5) - (7)]), &(yyval), &(yyvsp[(7) - (7)]), &(yyvsp[(3) - (7)]), 1 TSRMLS_CC); }
4123: break;
4124:
4125: case 162:
4126:
4127: { (yyval)=(yyvsp[(1) - (6)]); (yyval).u.op.num++; zend_do_receive_arg(ZEND_RECV_INIT, &(yyvsp[(4) - (6)]), &(yyval), &(yyvsp[(6) - (6)]), &(yyvsp[(3) - (6)]), 0 TSRMLS_CC); }
4128: break;
4129:
4130: case 163:
4131:
4132: { (yyval).op_type = IS_UNUSED; }
4133: break;
4134:
4135: case 164:
4136:
4137: { (yyval).op_type = IS_CONST; Z_TYPE((yyval).u.constant)=IS_ARRAY; }
4138: break;
4139:
4140: case 165:
4141:
4142: { (yyval).op_type = IS_CONST; Z_TYPE((yyval).u.constant)=IS_CALLABLE; }
4143: break;
4144:
4145: case 166:
4146:
4147: { (yyval) = (yyvsp[(1) - (1)]); }
4148: break;
4149:
4150: case 167:
4151:
4152: { (yyval) = (yyvsp[(1) - (1)]); }
4153: break;
4154:
4155: case 168:
4156:
4157: { Z_LVAL((yyval).u.constant) = 0; }
4158: break;
4159:
4160: case 169:
4161:
4162: { Z_LVAL((yyval).u.constant) = 1; zend_do_pass_param(&(yyvsp[(1) - (1)]), ZEND_SEND_VAL, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
4163: break;
4164:
4165: case 170:
4166:
4167: { Z_LVAL((yyval).u.constant) = 1; zend_do_pass_param(&(yyvsp[(1) - (1)]), ZEND_SEND_VAR, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
4168: break;
4169:
4170: case 171:
4171:
4172: { Z_LVAL((yyval).u.constant) = 1; zend_do_pass_param(&(yyvsp[(2) - (2)]), ZEND_SEND_REF, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
4173: break;
4174:
4175: case 172:
4176:
4177: { Z_LVAL((yyval).u.constant)=Z_LVAL((yyvsp[(1) - (3)]).u.constant)+1; zend_do_pass_param(&(yyvsp[(3) - (3)]), ZEND_SEND_VAL, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
4178: break;
4179:
4180: case 173:
4181:
4182: { Z_LVAL((yyval).u.constant)=Z_LVAL((yyvsp[(1) - (3)]).u.constant)+1; zend_do_pass_param(&(yyvsp[(3) - (3)]), ZEND_SEND_VAR, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
4183: break;
4184:
4185: case 174:
4186:
4187: { Z_LVAL((yyval).u.constant)=Z_LVAL((yyvsp[(1) - (4)]).u.constant)+1; zend_do_pass_param(&(yyvsp[(4) - (4)]), ZEND_SEND_REF, Z_LVAL((yyval).u.constant) TSRMLS_CC); }
4188: break;
4189:
4190: case 175:
4191:
4192: { zend_do_fetch_global_variable(&(yyvsp[(3) - (3)]), NULL, ZEND_FETCH_GLOBAL_LOCK TSRMLS_CC); }
4193: break;
4194:
4195: case 176:
4196:
4197: { zend_do_fetch_global_variable(&(yyvsp[(1) - (1)]), NULL, ZEND_FETCH_GLOBAL_LOCK TSRMLS_CC); }
4198: break;
4199:
4200: case 177:
4201:
4202: { (yyval) = (yyvsp[(1) - (1)]); }
4203: break;
4204:
4205: case 178:
4206:
4207: { (yyval) = (yyvsp[(2) - (2)]); }
4208: break;
4209:
4210: case 179:
4211:
4212: { (yyval) = (yyvsp[(3) - (4)]); }
4213: break;
4214:
4215: case 180:
4216:
4217: { zend_do_fetch_static_variable(&(yyvsp[(3) - (3)]), NULL, ZEND_FETCH_STATIC TSRMLS_CC); }
4218: break;
4219:
4220: case 181:
4221:
4222: { zend_do_fetch_static_variable(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]), ZEND_FETCH_STATIC TSRMLS_CC); }
4223: break;
4224:
4225: case 182:
4226:
4227: { zend_do_fetch_static_variable(&(yyvsp[(1) - (1)]), NULL, ZEND_FETCH_STATIC TSRMLS_CC); }
4228: break;
4229:
4230: case 183:
4231:
4232: { zend_do_fetch_static_variable(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_FETCH_STATIC TSRMLS_CC); }
4233: break;
4234:
4235: case 186:
4236:
4237: { CG(access_type) = Z_LVAL((yyvsp[(1) - (1)]).u.constant); }
4238: break;
4239:
4240: case 190:
4241:
4242: { zend_do_begin_function_declaration(&(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]), 1, (yyvsp[(3) - (4)]).op_type, &(yyvsp[(1) - (4)]) TSRMLS_CC); }
4243: break;
4244:
4245: case 191:
4246:
4247: { zend_do_abstract_method(&(yyvsp[(4) - (9)]), &(yyvsp[(1) - (9)]), &(yyvsp[(9) - (9)]) TSRMLS_CC); zend_do_end_function_declaration(&(yyvsp[(2) - (9)]) TSRMLS_CC); }
4248: break;
4249:
4250: case 193:
4251:
4252: { zend_do_implements_trait(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
4253: break;
4254:
4255: case 194:
4256:
4257: { zend_do_implements_trait(&(yyvsp[(3) - (3)]) TSRMLS_CC); }
4258: break;
4259:
4260: case 201:
4261:
4262: { zend_add_trait_precedence(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
4263: break;
4264:
4265: case 202:
4266:
4267: { zend_add_trait_alias(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
4268: break;
4269:
4270: case 203:
4271:
4272: { zend_prepare_trait_precedence(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4273: break;
4274:
4275: case 204:
4276:
4277: { zend_resolve_class_name(&(yyvsp[(1) - (1)]), ZEND_FETCH_CLASS_GLOBAL, 1 TSRMLS_CC); zend_init_list(&(yyval).u.op.ptr, Z_STRVAL((yyvsp[(1) - (1)]).u.constant) TSRMLS_CC); }
4278: break;
4279:
4280: case 205:
4281:
4282: { zend_resolve_class_name(&(yyvsp[(3) - (3)]), ZEND_FETCH_CLASS_GLOBAL, 1 TSRMLS_CC); zend_add_to_list(&(yyvsp[(1) - (3)]).u.op.ptr, Z_STRVAL((yyvsp[(3) - (3)]).u.constant) TSRMLS_CC); (yyval) = (yyvsp[(1) - (3)]); }
4283: break;
4284:
4285: case 206:
4286:
4287: { zend_prepare_reference(&(yyval), NULL, &(yyvsp[(1) - (1)]) TSRMLS_CC); }
4288: break;
4289:
4290: case 207:
4291:
4292: { (yyval) = (yyvsp[(1) - (1)]); }
4293: break;
4294:
4295: case 208:
4296:
4297: { zend_prepare_reference(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4298: break;
4299:
4300: case 209:
4301:
4302: { zend_prepare_trait_alias(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); }
4303: break;
4304:
4305: case 210:
4306:
4307: { zend_prepare_trait_alias(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), NULL TSRMLS_CC); }
4308: break;
4309:
4310: case 211:
4311:
4312: { Z_LVAL((yyval).u.constant) = 0x0; }
4313: break;
4314:
4315: case 212:
4316:
4317: { (yyval) = (yyvsp[(1) - (1)]); }
4318: break;
4319:
4320: case 213:
4321:
4322: { Z_LVAL((yyval).u.constant) = ZEND_ACC_ABSTRACT; }
4323: break;
4324:
4325: case 214:
4326:
4327: { Z_LVAL((yyval).u.constant) = 0; }
4328: break;
4329:
4330: case 215:
4331:
4332: { (yyval) = (yyvsp[(1) - (1)]); }
4333: break;
4334:
4335: case 216:
4336:
4337: { Z_LVAL((yyval).u.constant) = ZEND_ACC_PUBLIC; }
4338: break;
4339:
4340: case 217:
4341:
4342: { Z_LVAL((yyval).u.constant) = ZEND_ACC_PUBLIC; }
4343: break;
4344:
4345: case 218:
4346:
4347: { (yyval) = (yyvsp[(1) - (1)]); if (!(Z_LVAL((yyval).u.constant) & ZEND_ACC_PPP_MASK)) { Z_LVAL((yyval).u.constant) |= ZEND_ACC_PUBLIC; } }
4348: break;
4349:
4350: case 219:
4351:
4352: { (yyval) = (yyvsp[(1) - (1)]); }
4353: break;
4354:
4355: case 220:
4356:
4357: { Z_LVAL((yyval).u.constant) = zend_do_verify_access_types(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)])); }
4358: break;
4359:
4360: case 221:
4361:
4362: { Z_LVAL((yyval).u.constant) = ZEND_ACC_PUBLIC; }
4363: break;
4364:
4365: case 222:
4366:
4367: { Z_LVAL((yyval).u.constant) = ZEND_ACC_PROTECTED; }
4368: break;
4369:
4370: case 223:
4371:
4372: { Z_LVAL((yyval).u.constant) = ZEND_ACC_PRIVATE; }
4373: break;
4374:
4375: case 224:
4376:
4377: { Z_LVAL((yyval).u.constant) = ZEND_ACC_STATIC; }
4378: break;
4379:
4380: case 225:
4381:
4382: { Z_LVAL((yyval).u.constant) = ZEND_ACC_ABSTRACT; }
4383: break;
4384:
4385: case 226:
4386:
4387: { Z_LVAL((yyval).u.constant) = ZEND_ACC_FINAL; }
4388: break;
4389:
4390: case 227:
4391:
4392: { zend_do_declare_property(&(yyvsp[(3) - (3)]), NULL, CG(access_type) TSRMLS_CC); }
4393: break;
4394:
4395: case 228:
4396:
4397: { zend_do_declare_property(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]), CG(access_type) TSRMLS_CC); }
4398: break;
4399:
4400: case 229:
4401:
4402: { zend_do_declare_property(&(yyvsp[(1) - (1)]), NULL, CG(access_type) TSRMLS_CC); }
4403: break;
4404:
4405: case 230:
4406:
4407: { zend_do_declare_property(&(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), CG(access_type) TSRMLS_CC); }
4408: break;
4409:
4410: case 231:
4411:
4412: { zend_do_declare_class_constant(&(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
4413: break;
4414:
4415: case 232:
4416:
4417: { zend_do_declare_class_constant(&(yyvsp[(2) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); }
4418: break;
4419:
4420: case 233:
4421:
4422: { zend_do_echo(&(yyvsp[(3) - (3)]) TSRMLS_CC); }
4423: break;
4424:
4425: case 234:
4426:
4427: { zend_do_echo(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
4428: break;
4429:
4430: case 235:
4431:
4432: { (yyval).op_type = IS_CONST; Z_TYPE((yyval).u.constant) = IS_BOOL; Z_LVAL((yyval).u.constant) = 1; }
4433: break;
4434:
4435: case 236:
4436:
4437: { (yyval) = (yyvsp[(1) - (1)]); }
4438: break;
4439:
4440: case 237:
4441:
4442: { zend_do_free(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
4443: break;
4444:
4445: case 238:
4446:
4447: { (yyval) = (yyvsp[(4) - (4)]); }
4448: break;
4449:
4450: case 239:
4451:
4452: { (yyval) = (yyvsp[(1) - (1)]); }
4453: break;
4454:
4455: case 240:
4456:
4457: { (yyval).EA = (yyvsp[(2) - (2)]).EA; }
4458: break;
4459:
4460: case 241:
4461:
4462: { (yyval).EA = (yyvsp[(1) - (1)]).EA; }
4463: break;
4464:
4465: case 242:
4466:
4467: { fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
4468: break;
4469:
4470: case 243:
4471:
4472: { zend_do_pop_object(&(yyvsp[(1) - (3)]) TSRMLS_CC); fetch_array_dim(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(2) - (3)]) TSRMLS_CC); }
4473: break;
4474:
4475: case 244:
4476:
4477: { zend_do_push_object(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
4478: break;
4479:
4480: case 245:
4481:
4482: { (yyval) = (yyvsp[(3) - (3)]); }
4483: break;
4484:
4485: case 246:
4486:
4487: { zend_do_push_object(&(yyvsp[(1) - (1)]) TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]); }
4488: break;
4489:
4490: case 247:
4491:
4492: { (yyval) = (yyvsp[(1) - (1)]); }
4493: break;
4494:
4495: case 248:
4496:
4497: { (yyval) = (yyvsp[(0) - (0)]); }
4498: break;
4499:
4500: case 249:
4501:
4502: { zend_do_push_object(&(yyvsp[(0) - (0)]) TSRMLS_CC); zend_do_begin_variable_parse(TSRMLS_C); }
4503: break;
4504:
4505: case 250:
4506:
4507: { zend_do_pop_object(&(yyval) TSRMLS_CC); zend_do_end_variable_parse(&(yyvsp[(2) - (2)]), BP_VAR_R, 0 TSRMLS_CC); }
4508: break;
4509:
4510: case 251:
4511:
4512: { zend_do_extended_fcall_begin(TSRMLS_C); zend_do_begin_new_object(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4513: break;
4514:
4515: case 252:
4516:
4517: { zend_do_end_new_object(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
4518: break;
4519:
4520: case 253:
4521:
4522: { zend_do_list_init(TSRMLS_C); }
4523: break;
4524:
4525: case 254:
4526:
4527: { zend_do_list_end(&(yyval), &(yyvsp[(7) - (7)]) TSRMLS_CC); }
4528: break;
4529:
4530: case 255:
4531:
4532: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_assign(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4533: break;
4534:
4535: case 256:
4536:
4537: { zend_check_writable_variable(&(yyvsp[(1) - (4)])); zend_do_end_variable_parse(&(yyvsp[(4) - (4)]), BP_VAR_W, 1 TSRMLS_CC); zend_do_end_variable_parse(&(yyvsp[(1) - (4)]), BP_VAR_W, 0 TSRMLS_CC); zend_do_assign_ref(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]) TSRMLS_CC); }
4538: break;
4539:
4540: case 257:
4541:
4542: { zend_error(E_DEPRECATED, "Assigning the return value of new by reference is deprecated"); zend_check_writable_variable(&(yyvsp[(1) - (5)])); zend_do_extended_fcall_begin(TSRMLS_C); zend_do_begin_new_object(&(yyvsp[(4) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
4543: break;
4544:
4545: case 258:
4546:
4547: { zend_do_end_new_object(&(yyvsp[(3) - (7)]), &(yyvsp[(4) - (7)]), &(yyvsp[(7) - (7)]) TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); zend_do_end_variable_parse(&(yyvsp[(1) - (7)]), BP_VAR_W, 0 TSRMLS_CC); (yyvsp[(3) - (7)]).EA = ZEND_PARSED_NEW; zend_do_assign_ref(&(yyval), &(yyvsp[(1) - (7)]), &(yyvsp[(3) - (7)]) TSRMLS_CC); }
4548: break;
4549:
4550: case 259:
4551:
4552: { zend_do_clone(&(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4553: break;
4554:
4555: case 260:
4556:
4557: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_ADD, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4558: break;
4559:
4560: case 261:
4561:
4562: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SUB, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4563: break;
4564:
4565: case 262:
4566:
4567: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MUL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4568: break;
4569:
4570: case 263:
4571:
4572: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_DIV, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4573: break;
4574:
4575: case 264:
4576:
4577: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_CONCAT, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4578: break;
4579:
4580: case 265:
4581:
4582: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_MOD, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4583: break;
4584:
4585: case 266:
4586:
4587: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_AND, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4588: break;
4589:
4590: case 267:
4591:
4592: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_OR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4593: break;
4594:
4595: case 268:
4596:
4597: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_BW_XOR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4598: break;
4599:
4600: case 269:
4601:
4602: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4603: break;
4604:
4605: case 270:
4606:
4607: { zend_check_writable_variable(&(yyvsp[(1) - (3)])); zend_do_end_variable_parse(&(yyvsp[(1) - (3)]), BP_VAR_RW, 0 TSRMLS_CC); zend_do_binary_assign_op(ZEND_ASSIGN_SR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4608: break;
4609:
4610: case 271:
4611:
4612: { zend_do_post_incdec(&(yyval), &(yyvsp[(1) - (2)]), ZEND_POST_INC TSRMLS_CC); }
4613: break;
4614:
4615: case 272:
4616:
4617: { zend_do_pre_incdec(&(yyval), &(yyvsp[(2) - (2)]), ZEND_PRE_INC TSRMLS_CC); }
4618: break;
4619:
4620: case 273:
4621:
4622: { zend_do_post_incdec(&(yyval), &(yyvsp[(1) - (2)]), ZEND_POST_DEC TSRMLS_CC); }
4623: break;
4624:
4625: case 274:
4626:
4627: { zend_do_pre_incdec(&(yyval), &(yyvsp[(2) - (2)]), ZEND_PRE_DEC TSRMLS_CC); }
4628: break;
4629:
4630: case 275:
4631:
4632: { zend_do_boolean_or_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4633: break;
4634:
4635: case 276:
4636:
4637: { zend_do_boolean_or_end(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]), &(yyvsp[(2) - (4)]) TSRMLS_CC); }
4638: break;
4639:
4640: case 277:
4641:
4642: { zend_do_boolean_and_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4643: break;
4644:
4645: case 278:
4646:
4647: { zend_do_boolean_and_end(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]), &(yyvsp[(2) - (4)]) TSRMLS_CC); }
4648: break;
4649:
4650: case 279:
4651:
4652: { zend_do_boolean_or_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4653: break;
4654:
4655: case 280:
4656:
4657: { zend_do_boolean_or_end(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]), &(yyvsp[(2) - (4)]) TSRMLS_CC); }
4658: break;
4659:
4660: case 281:
4661:
4662: { zend_do_boolean_and_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4663: break;
4664:
4665: case 282:
4666:
4667: { zend_do_boolean_and_end(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(4) - (4)]), &(yyvsp[(2) - (4)]) TSRMLS_CC); }
4668: break;
4669:
4670: case 283:
4671:
4672: { zend_do_binary_op(ZEND_BOOL_XOR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4673: break;
4674:
4675: case 284:
4676:
4677: { zend_do_binary_op(ZEND_BW_OR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4678: break;
4679:
4680: case 285:
4681:
4682: { zend_do_binary_op(ZEND_BW_AND, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4683: break;
4684:
4685: case 286:
4686:
4687: { zend_do_binary_op(ZEND_BW_XOR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4688: break;
4689:
4690: case 287:
4691:
4692: { zend_do_binary_op(ZEND_CONCAT, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4693: break;
4694:
4695: case 288:
4696:
4697: { zend_do_binary_op(ZEND_ADD, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4698: break;
4699:
4700: case 289:
4701:
4702: { zend_do_binary_op(ZEND_SUB, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4703: break;
4704:
4705: case 290:
4706:
4707: { zend_do_binary_op(ZEND_MUL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4708: break;
4709:
4710: case 291:
4711:
4712: { zend_do_binary_op(ZEND_DIV, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4713: break;
4714:
4715: case 292:
4716:
4717: { zend_do_binary_op(ZEND_MOD, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4718: break;
4719:
4720: case 293:
4721:
4722: { zend_do_binary_op(ZEND_SL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4723: break;
4724:
4725: case 294:
4726:
4727: { zend_do_binary_op(ZEND_SR, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4728: break;
4729:
4730: case 295:
4731:
4732: { ZVAL_LONG(&(yyvsp[(1) - (2)]).u.constant, 0); if ((yyvsp[(2) - (2)]).op_type == IS_CONST) { add_function(&(yyvsp[(2) - (2)]).u.constant, &(yyvsp[(1) - (2)]).u.constant, &(yyvsp[(2) - (2)]).u.constant TSRMLS_CC); (yyval) = (yyvsp[(2) - (2)]); } else { (yyvsp[(1) - (2)]).op_type = IS_CONST; INIT_PZVAL(&(yyvsp[(1) - (2)]).u.constant); zend_do_binary_op(ZEND_ADD, &(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } }
4733: break;
4734:
4735: case 296:
4736:
4737: { ZVAL_LONG(&(yyvsp[(1) - (2)]).u.constant, 0); if ((yyvsp[(2) - (2)]).op_type == IS_CONST) { sub_function(&(yyvsp[(2) - (2)]).u.constant, &(yyvsp[(1) - (2)]).u.constant, &(yyvsp[(2) - (2)]).u.constant TSRMLS_CC); (yyval) = (yyvsp[(2) - (2)]); } else { (yyvsp[(1) - (2)]).op_type = IS_CONST; INIT_PZVAL(&(yyvsp[(1) - (2)]).u.constant); zend_do_binary_op(ZEND_SUB, &(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); } }
4738: break;
4739:
4740: case 297:
4741:
4742: { zend_do_unary_op(ZEND_BOOL_NOT, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4743: break;
4744:
4745: case 298:
4746:
4747: { zend_do_unary_op(ZEND_BW_NOT, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4748: break;
4749:
4750: case 299:
4751:
4752: { zend_do_binary_op(ZEND_IS_IDENTICAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4753: break;
4754:
4755: case 300:
4756:
4757: { zend_do_binary_op(ZEND_IS_NOT_IDENTICAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4758: break;
4759:
4760: case 301:
4761:
4762: { zend_do_binary_op(ZEND_IS_EQUAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4763: break;
4764:
4765: case 302:
4766:
4767: { zend_do_binary_op(ZEND_IS_NOT_EQUAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4768: break;
4769:
4770: case 303:
4771:
4772: { zend_do_binary_op(ZEND_IS_SMALLER, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4773: break;
4774:
4775: case 304:
4776:
4777: { zend_do_binary_op(ZEND_IS_SMALLER_OR_EQUAL, &(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4778: break;
4779:
4780: case 305:
4781:
4782: { zend_do_binary_op(ZEND_IS_SMALLER, &(yyval), &(yyvsp[(3) - (3)]), &(yyvsp[(1) - (3)]) TSRMLS_CC); }
4783: break;
4784:
4785: case 306:
4786:
4787: { zend_do_binary_op(ZEND_IS_SMALLER_OR_EQUAL, &(yyval), &(yyvsp[(3) - (3)]), &(yyvsp[(1) - (3)]) TSRMLS_CC); }
4788: break;
4789:
4790: case 307:
4791:
4792: { zend_do_instanceof(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), 0 TSRMLS_CC); }
4793: break;
4794:
4795: case 308:
4796:
4797: { (yyval) = (yyvsp[(2) - (3)]); }
4798: break;
4799:
4800: case 309:
4801:
4802: { (yyval) = (yyvsp[(1) - (1)]); }
4803: break;
4804:
4805: case 310:
4806:
4807: { (yyval) = (yyvsp[(2) - (3)]); }
4808: break;
4809:
4810: case 311:
4811:
4812: { (yyval) = (yyvsp[(5) - (5)]); }
4813: break;
4814:
4815: case 312:
4816:
4817: { zend_do_begin_qm_op(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4818: break;
4819:
4820: case 313:
4821:
4822: { zend_do_qm_true(&(yyvsp[(4) - (5)]), &(yyvsp[(2) - (5)]), &(yyvsp[(5) - (5)]) TSRMLS_CC); }
4823: break;
4824:
4825: case 314:
4826:
4827: { zend_do_qm_false(&(yyval), &(yyvsp[(7) - (7)]), &(yyvsp[(2) - (7)]), &(yyvsp[(5) - (7)]) TSRMLS_CC); }
4828: break;
4829:
4830: case 315:
4831:
4832: { zend_do_jmp_set(&(yyvsp[(1) - (3)]), &(yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
4833: break;
4834:
4835: case 316:
4836:
4837: { zend_do_jmp_set_else(&(yyval), &(yyvsp[(5) - (5)]), &(yyvsp[(2) - (5)]), &(yyvsp[(3) - (5)]) TSRMLS_CC); }
4838: break;
4839:
4840: case 317:
4841:
4842: { (yyval) = (yyvsp[(1) - (1)]); }
4843: break;
4844:
4845: case 318:
4846:
4847: { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_LONG TSRMLS_CC); }
4848: break;
4849:
4850: case 319:
4851:
4852: { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_DOUBLE TSRMLS_CC); }
4853: break;
4854:
4855: case 320:
4856:
4857: { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_STRING TSRMLS_CC); }
4858: break;
4859:
4860: case 321:
4861:
4862: { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_ARRAY TSRMLS_CC); }
4863: break;
4864:
4865: case 322:
4866:
4867: { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_OBJECT TSRMLS_CC); }
4868: break;
4869:
4870: case 323:
4871:
4872: { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_BOOL TSRMLS_CC); }
4873: break;
4874:
4875: case 324:
4876:
4877: { zend_do_cast(&(yyval), &(yyvsp[(2) - (2)]), IS_NULL TSRMLS_CC); }
4878: break;
4879:
4880: case 325:
4881:
4882: { zend_do_exit(&(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4883: break;
4884:
4885: case 326:
4886:
4887: { zend_do_begin_silence(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
4888: break;
4889:
4890: case 327:
4891:
4892: { zend_do_end_silence(&(yyvsp[(1) - (3)]) TSRMLS_CC); (yyval) = (yyvsp[(3) - (3)]); }
4893: break;
4894:
4895: case 328:
4896:
4897: { (yyval) = (yyvsp[(1) - (1)]); }
4898: break;
4899:
4900: case 329:
4901:
4902: { (yyval) = (yyvsp[(3) - (4)]); }
4903: break;
4904:
4905: case 330:
4906:
4907: { (yyval) = (yyvsp[(2) - (3)]); }
4908: break;
4909:
4910: case 331:
4911:
4912: { zend_do_shell_exec(&(yyval), &(yyvsp[(2) - (3)]) TSRMLS_CC); }
4913: break;
4914:
4915: case 332:
4916:
4917: { zend_do_print(&(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
4918: break;
4919:
4920: case 333:
4921:
4922: { zend_do_begin_lambda_function_declaration(&(yyval), &(yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]).op_type, 0 TSRMLS_CC); }
4923: break;
4924:
4925: case 334:
4926:
4927: { zend_do_end_function_declaration(&(yyvsp[(1) - (10)]) TSRMLS_CC); (yyval) = (yyvsp[(4) - (10)]); }
4928: break;
4929:
4930: case 335:
4931:
4932: { zend_do_begin_lambda_function_declaration(&(yyval), &(yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]).op_type, 1 TSRMLS_CC); }
4933: break;
4934:
4935: case 336:
4936:
4937: { zend_do_end_function_declaration(&(yyvsp[(2) - (11)]) TSRMLS_CC); (yyval) = (yyvsp[(5) - (11)]); }
4938: break;
4939:
4940: case 337:
4941:
4942: { (yyval).u.op.opline_num = CG(zend_lineno); }
4943: break;
4944:
4945: case 340:
4946:
4947: { zend_do_fetch_lexical_variable(&(yyvsp[(3) - (3)]), 0 TSRMLS_CC); }
4948: break;
4949:
4950: case 341:
4951:
4952: { zend_do_fetch_lexical_variable(&(yyvsp[(4) - (4)]), 1 TSRMLS_CC); }
4953: break;
4954:
4955: case 342:
4956:
4957: { zend_do_fetch_lexical_variable(&(yyvsp[(1) - (1)]), 0 TSRMLS_CC); }
4958: break;
4959:
4960: case 343:
4961:
4962: { zend_do_fetch_lexical_variable(&(yyvsp[(2) - (2)]), 1 TSRMLS_CC); }
4963: break;
4964:
4965: case 344:
4966:
4967: { (yyvsp[(2) - (2)]).u.op.opline_num = zend_do_begin_function_call(&(yyvsp[(1) - (2)]), 1 TSRMLS_CC); }
4968: break;
4969:
4970: case 345:
4971:
4972: { zend_do_end_function_call(&(yyvsp[(1) - (5)]), &(yyval), &(yyvsp[(4) - (5)]), 0, (yyvsp[(2) - (5)]).u.op.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); }
4973: break;
4974:
4975: case 346:
4976:
4977: { (yyvsp[(1) - (4)]).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyvsp[(1) - (4)]).u.constant); zend_do_build_namespace_name(&(yyvsp[(1) - (4)]), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); (yyvsp[(4) - (4)]).u.op.opline_num = zend_do_begin_function_call(&(yyvsp[(1) - (4)]), 0 TSRMLS_CC); }
4978: break;
4979:
4980: case 347:
4981:
4982: { zend_do_end_function_call(&(yyvsp[(1) - (7)]), &(yyval), &(yyvsp[(6) - (7)]), 0, (yyvsp[(4) - (7)]).u.op.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); }
4983: break;
4984:
4985: case 348:
4986:
4987: { (yyvsp[(3) - (3)]).u.op.opline_num = zend_do_begin_function_call(&(yyvsp[(2) - (3)]), 0 TSRMLS_CC); }
4988: break;
4989:
4990: case 349:
4991:
4992: { zend_do_end_function_call(&(yyvsp[(2) - (6)]), &(yyval), &(yyvsp[(5) - (6)]), 0, (yyvsp[(3) - (6)]).u.op.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); }
4993: break;
4994:
4995: case 350:
4996:
4997: { (yyvsp[(4) - (4)]).u.op.opline_num = zend_do_begin_class_member_function_call(&(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
4998: break;
4999:
5000: case 351:
5001:
5002: { zend_do_end_function_call((yyvsp[(4) - (7)]).u.op.opline_num?NULL:&(yyvsp[(3) - (7)]), &(yyval), &(yyvsp[(6) - (7)]), (yyvsp[(4) - (7)]).u.op.opline_num, (yyvsp[(4) - (7)]).u.op.opline_num TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
5003: break;
5004:
5005: case 352:
5006:
5007: { zend_do_end_variable_parse(&(yyvsp[(3) - (4)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_class_member_function_call(&(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5008: break;
5009:
5010: case 353:
5011:
5012: { zend_do_end_function_call(NULL, &(yyval), &(yyvsp[(6) - (7)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
5013: break;
5014:
5015: case 354:
5016:
5017: { zend_do_begin_class_member_function_call(&(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5018: break;
5019:
5020: case 355:
5021:
5022: { zend_do_end_function_call(NULL, &(yyval), &(yyvsp[(6) - (7)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
5023: break;
5024:
5025: case 356:
5026:
5027: { zend_do_end_variable_parse(&(yyvsp[(3) - (4)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_class_member_function_call(&(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5028: break;
5029:
5030: case 357:
5031:
5032: { zend_do_end_function_call(NULL, &(yyval), &(yyvsp[(6) - (7)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
5033: break;
5034:
5035: case 358:
5036:
5037: { zend_do_end_variable_parse(&(yyvsp[(1) - (2)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_begin_dynamic_function_call(&(yyvsp[(1) - (2)]), 0 TSRMLS_CC); }
5038: break;
5039:
5040: case 359:
5041:
5042: { zend_do_end_function_call(&(yyvsp[(1) - (5)]), &(yyval), &(yyvsp[(4) - (5)]), 0, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C);}
5043: break;
5044:
5045: case 360:
5046:
5047: { (yyval).op_type = IS_CONST; ZVAL_STRINGL(&(yyval).u.constant, "static", sizeof("static")-1, 1);}
5048: break;
5049:
5050: case 361:
5051:
5052: { (yyval) = (yyvsp[(1) - (1)]); }
5053: break;
5054:
5055: case 362:
5056:
5057: { (yyval).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyval).u.constant); zend_do_build_namespace_name(&(yyval), &(yyval), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
5058: break;
5059:
5060: case 363:
5061:
5062: { char *tmp = estrndup(Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); memcpy(&(tmp[1]), Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL((yyvsp[(2) - (2)]).u.constant)); Z_STRVAL((yyvsp[(2) - (2)]).u.constant) = tmp; ++Z_STRLEN((yyvsp[(2) - (2)]).u.constant); (yyval) = (yyvsp[(2) - (2)]); }
5063: break;
5064:
5065: case 364:
5066:
5067: { (yyval) = (yyvsp[(1) - (1)]); }
5068: break;
5069:
5070: case 365:
5071:
5072: { (yyval).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyval).u.constant); zend_do_build_namespace_name(&(yyval), &(yyval), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
5073: break;
5074:
5075: case 366:
5076:
5077: { char *tmp = estrndup(Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); memcpy(&(tmp[1]), Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL((yyvsp[(2) - (2)]).u.constant)); Z_STRVAL((yyvsp[(2) - (2)]).u.constant) = tmp; ++Z_STRLEN((yyvsp[(2) - (2)]).u.constant); (yyval) = (yyvsp[(2) - (2)]); }
5078: break;
5079:
5080: case 367:
5081:
5082: { zend_do_fetch_class(&(yyval), &(yyvsp[(1) - (1)]) TSRMLS_CC); }
5083: break;
5084:
5085: case 368:
5086:
5087: { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_fetch_class(&(yyval), &(yyvsp[(1) - (1)]) TSRMLS_CC); }
5088: break;
5089:
5090: case 369:
5091:
5092: { zend_do_push_object(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
5093: break;
5094:
5095: case 370:
5096:
5097: { zend_do_push_object(&(yyvsp[(4) - (4)]) TSRMLS_CC); }
5098: break;
5099:
5100: case 371:
5101:
5102: { zend_do_pop_object(&(yyval) TSRMLS_CC); (yyval).EA = ZEND_PARSED_MEMBER; }
5103: break;
5104:
5105: case 372:
5106:
5107: { (yyval) = (yyvsp[(1) - (1)]); }
5108: break;
5109:
5110: case 375:
5111:
5112: { zend_do_push_object(&(yyvsp[(2) - (2)]) TSRMLS_CC); }
5113: break;
5114:
5115: case 376:
5116:
5117: { memset(&(yyval), 0, sizeof(znode)); (yyval).op_type = IS_UNUSED; }
5118: break;
5119:
5120: case 377:
5121:
5122: { memset(&(yyval), 0, sizeof(znode)); (yyval).op_type = IS_UNUSED; }
5123: break;
5124:
5125: case 378:
5126:
5127: { (yyval) = (yyvsp[(2) - (3)]); }
5128: break;
5129:
5130: case 379:
5131:
5132: { ZVAL_EMPTY_STRING(&(yyval).u.constant); INIT_PZVAL(&(yyval).u.constant); (yyval).op_type = IS_CONST; }
5133: break;
5134:
5135: case 380:
5136:
5137: { (yyval) = (yyvsp[(1) - (1)]); }
5138: break;
5139:
5140: case 381:
5141:
5142: { (yyval) = (yyvsp[(1) - (1)]); }
5143: break;
5144:
5145: case 382:
5146:
5147: { Z_LVAL((yyval).u.constant)=0; }
5148: break;
5149:
5150: case 383:
5151:
5152: { (yyval) = (yyvsp[(2) - (3)]); }
5153: break;
5154:
5155: case 384:
5156:
5157: { (yyval) = (yyvsp[(1) - (1)]); }
5158: break;
5159:
5160: case 385:
5161:
5162: { (yyval) = (yyvsp[(1) - (1)]); }
5163: break;
5164:
5165: case 386:
5166:
5167: { (yyval) = (yyvsp[(1) - (1)]); }
5168: break;
5169:
5170: case 387:
5171:
5172: { (yyval) = (yyvsp[(1) - (1)]); }
5173: break;
5174:
5175: case 388:
5176:
5177: { (yyval) = (yyvsp[(1) - (1)]); }
5178: break;
5179:
5180: case 389:
5181:
5182: { (yyval) = (yyvsp[(1) - (1)]); }
5183: break;
5184:
5185: case 390:
5186:
5187: { (yyval) = (yyvsp[(1) - (1)]); }
5188: break;
5189:
5190: case 391:
5191:
5192: { (yyval) = (yyvsp[(1) - (1)]); }
5193: break;
5194:
5195: case 392:
5196:
5197: { (yyval) = (yyvsp[(1) - (1)]); }
5198: break;
5199:
5200: case 393:
5201:
5202: { (yyval) = (yyvsp[(1) - (1)]); }
5203: break;
5204:
5205: case 394:
5206:
5207: { (yyval) = (yyvsp[(2) - (3)]); CG(heredoc) = Z_STRVAL((yyvsp[(1) - (3)]).u.constant); CG(heredoc_len) = Z_STRLEN((yyvsp[(1) - (3)]).u.constant); }
5208: break;
5209:
5210: case 395:
5211:
5212: { ZVAL_EMPTY_STRING(&(yyval).u.constant); INIT_PZVAL(&(yyval).u.constant); (yyval).op_type = IS_CONST; CG(heredoc) = Z_STRVAL((yyvsp[(1) - (2)]).u.constant); CG(heredoc_len) = Z_STRLEN((yyvsp[(1) - (2)]).u.constant); }
5213: break;
5214:
5215: case 396:
5216:
5217: { (yyval) = (yyvsp[(1) - (1)]); }
5218: break;
5219:
5220: case 397:
5221:
5222: { zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(1) - (1)]), ZEND_CT, 1 TSRMLS_CC); }
5223: break;
5224:
5225: case 398:
5226:
5227: { (yyval).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyval).u.constant); zend_do_build_namespace_name(&(yyval), &(yyval), &(yyvsp[(3) - (3)]) TSRMLS_CC); (yyvsp[(3) - (3)]) = (yyval); zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(3) - (3)]), ZEND_CT, 0 TSRMLS_CC); }
5228: break;
5229:
5230: case 399:
5231:
5232: { char *tmp = estrndup(Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); memcpy(&(tmp[1]), Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL((yyvsp[(2) - (2)]).u.constant)); Z_STRVAL((yyvsp[(2) - (2)]).u.constant) = tmp; ++Z_STRLEN((yyvsp[(2) - (2)]).u.constant); zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(2) - (2)]), ZEND_CT, 0 TSRMLS_CC); }
5233: break;
5234:
5235: case 400:
5236:
5237: { ZVAL_LONG(&(yyvsp[(1) - (2)]).u.constant, 0); add_function(&(yyvsp[(2) - (2)]).u.constant, &(yyvsp[(1) - (2)]).u.constant, &(yyvsp[(2) - (2)]).u.constant TSRMLS_CC); (yyval) = (yyvsp[(2) - (2)]); }
5238: break;
5239:
5240: case 401:
5241:
5242: { ZVAL_LONG(&(yyvsp[(1) - (2)]).u.constant, 0); sub_function(&(yyvsp[(2) - (2)]).u.constant, &(yyvsp[(1) - (2)]).u.constant, &(yyvsp[(2) - (2)]).u.constant TSRMLS_CC); (yyval) = (yyvsp[(2) - (2)]); }
5243: break;
5244:
5245: case 402:
5246:
5247: { (yyval) = (yyvsp[(3) - (4)]); Z_TYPE((yyval).u.constant) = IS_CONSTANT_ARRAY; }
5248: break;
5249:
5250: case 403:
5251:
5252: { (yyval) = (yyvsp[(2) - (3)]); Z_TYPE((yyval).u.constant) = IS_CONSTANT_ARRAY; }
5253: break;
5254:
5255: case 404:
5256:
5257: { (yyval) = (yyvsp[(1) - (1)]); }
5258: break;
5259:
5260: case 405:
5261:
5262: { (yyval) = (yyvsp[(1) - (1)]); }
5263: break;
5264:
5265: case 406:
5266:
5267: { zend_do_fetch_constant(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_CT, 0 TSRMLS_CC); }
5268: break;
5269:
5270: case 407:
5271:
5272: { (yyval) = (yyvsp[(1) - (1)]); }
5273: break;
5274:
5275: case 408:
5276:
5277: { (yyval) = (yyvsp[(1) - (1)]); }
5278: break;
5279:
5280: case 409:
5281:
5282: { zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(1) - (1)]), ZEND_RT, 1 TSRMLS_CC); }
5283: break;
5284:
5285: case 410:
5286:
5287: { (yyval).op_type = IS_CONST; ZVAL_EMPTY_STRING(&(yyval).u.constant); zend_do_build_namespace_name(&(yyval), &(yyval), &(yyvsp[(3) - (3)]) TSRMLS_CC); (yyvsp[(3) - (3)]) = (yyval); zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(3) - (3)]), ZEND_RT, 0 TSRMLS_CC); }
5288: break;
5289:
5290: case 411:
5291:
5292: { char *tmp = estrndup(Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); memcpy(&(tmp[1]), Z_STRVAL((yyvsp[(2) - (2)]).u.constant), Z_STRLEN((yyvsp[(2) - (2)]).u.constant)+1); tmp[0] = '\\'; efree(Z_STRVAL((yyvsp[(2) - (2)]).u.constant)); Z_STRVAL((yyvsp[(2) - (2)]).u.constant) = tmp; ++Z_STRLEN((yyvsp[(2) - (2)]).u.constant); zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(2) - (2)]), ZEND_RT, 0 TSRMLS_CC); }
5293: break;
5294:
5295: case 412:
5296:
5297: { (yyval) = (yyvsp[(1) - (1)]); }
5298: break;
5299:
5300: case 413:
5301:
5302: { (yyval) = (yyvsp[(2) - (3)]); }
5303: break;
5304:
5305: case 414:
5306:
5307: { (yyval) = (yyvsp[(2) - (3)]); CG(heredoc) = Z_STRVAL((yyvsp[(1) - (3)]).u.constant); CG(heredoc_len) = Z_STRLEN((yyvsp[(1) - (3)]).u.constant); }
5308: break;
5309:
5310: case 415:
5311:
5312: { if (Z_TYPE((yyvsp[(1) - (1)]).u.constant) == IS_CONSTANT) {zend_do_fetch_constant(&(yyval), NULL, &(yyvsp[(1) - (1)]), ZEND_RT, 1 TSRMLS_CC);} else {(yyval) = (yyvsp[(1) - (1)]);} }
5313: break;
5314:
5315: case 416:
5316:
5317: { (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); }
5318: break;
5319:
5320: case 417:
5321:
5322: { (yyval) = (yyvsp[(1) - (2)]); }
5323: break;
5324:
5325: case 420:
5326:
5327: { zend_do_add_static_array_element(&(yyval), &(yyvsp[(3) - (5)]), &(yyvsp[(5) - (5)])); }
5328: break;
5329:
5330: case 421:
5331:
5332: { zend_do_add_static_array_element(&(yyval), NULL, &(yyvsp[(3) - (3)])); }
5333: break;
5334:
5335: case 422:
5336:
5337: { (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); zend_do_add_static_array_element(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)])); }
5338: break;
5339:
5340: case 423:
5341:
5342: { (yyval).op_type = IS_CONST; INIT_PZVAL(&(yyval).u.constant); array_init(&(yyval).u.constant); zend_do_add_static_array_element(&(yyval), NULL, &(yyvsp[(1) - (1)])); }
5343: break;
5344:
5345: case 424:
5346:
5347: { (yyval) = (yyvsp[(1) - (1)]); }
5348: break;
5349:
5350: case 425:
5351:
5352: { (yyval) = (yyvsp[(1) - (1)]); }
5353: break;
5354:
5355: case 426:
5356:
5357: { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]); }
5358: break;
5359:
5360: case 427:
5361:
5362: { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_W, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]);
5363: zend_check_writable_variable(&(yyvsp[(1) - (1)])); }
5364: break;
5365:
5366: case 428:
5367:
5368: { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_RW, 0 TSRMLS_CC); (yyval) = (yyvsp[(1) - (1)]);
5369: zend_check_writable_variable(&(yyvsp[(1) - (1)])); }
5370: break;
5371:
5372: case 429:
5373:
5374: { zend_do_push_object(&(yyvsp[(1) - (2)]) TSRMLS_CC); }
5375: break;
5376:
5377: case 430:
5378:
5379: { zend_do_push_object(&(yyvsp[(4) - (4)]) TSRMLS_CC); }
5380: break;
5381:
5382: case 431:
5383:
5384: { zend_do_pop_object(&(yyval) TSRMLS_CC); (yyval).EA = (yyvsp[(1) - (7)]).EA | ((yyvsp[(7) - (7)]).EA ? (yyvsp[(7) - (7)]).EA : (yyvsp[(6) - (7)]).EA); }
5385: break;
5386:
5387: case 432:
5388:
5389: { (yyval) = (yyvsp[(1) - (1)]); }
5390: break;
5391:
5392: case 433:
5393:
5394: { (yyval).EA = (yyvsp[(2) - (2)]).EA; }
5395: break;
5396:
5397: case 434:
5398:
5399: { (yyval).EA = 0; }
5400: break;
5401:
5402: case 435:
5403:
5404: { zend_do_push_object(&(yyvsp[(2) - (2)]) TSRMLS_CC); }
5405: break;
5406:
5407: case 436:
5408:
5409: { (yyval).EA = (yyvsp[(4) - (4)]).EA; }
5410: break;
5411:
5412: case 437:
5413:
5414: { fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5415: break;
5416:
5417: case 438:
5418:
5419: { (yyvsp[(1) - (4)]).EA = ZEND_PARSED_METHOD_CALL; fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5420: break;
5421:
5422: case 439:
5423:
5424: { zend_do_pop_object(&(yyvsp[(1) - (1)]) TSRMLS_CC); zend_do_begin_method_call(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
5425: break;
5426:
5427: case 440:
5428:
5429: { zend_do_end_function_call(&(yyvsp[(1) - (4)]), &(yyval), &(yyvsp[(3) - (4)]), 1, 1 TSRMLS_CC); zend_do_extended_fcall_end(TSRMLS_C); }
5430: break;
5431:
5432: case 441:
5433:
5434: { (yyval) = (yyvsp[(1) - (1)]); (yyval).EA = ZEND_PARSED_METHOD_CALL; zend_do_push_object(&(yyval) TSRMLS_CC); }
5435: break;
5436:
5437: case 442:
5438:
5439: { (yyval) = (yyvsp[(1) - (1)]); zend_do_push_object(&(yyval) TSRMLS_CC); }
5440: break;
5441:
5442: case 443:
5443:
5444: { (yyval).EA = ZEND_PARSED_MEMBER; }
5445: break;
5446:
5447: case 444:
5448:
5449: { (yyval) = (yyvsp[(1) - (1)]); }
5450: break;
5451:
5452: case 445:
5453:
5454: { zend_do_indirect_references(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
5455: break;
5456:
5457: case 446:
5458:
5459: { (yyval) = (yyvsp[(3) - (3)]); zend_do_fetch_static_member(&(yyval), &(yyvsp[(1) - (3)]) TSRMLS_CC); }
5460: break;
5461:
5462: case 447:
5463:
5464: { (yyval) = (yyvsp[(3) - (3)]); zend_do_fetch_static_member(&(yyval), &(yyvsp[(1) - (3)]) TSRMLS_CC); }
5465: break;
5466:
5467: case 448:
5468:
5469: { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); (yyval)=(yyvsp[(1) - (1)]);; }
5470: break;
5471:
5472: case 449:
5473:
5474: { fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5475: break;
5476:
5477: case 450:
5478:
5479: { zend_do_begin_variable_parse(TSRMLS_C); (yyvsp[(1) - (1)]).EA = ZEND_PARSED_FUNCTION_CALL; }
5480: break;
5481:
5482: case 451:
5483:
5484: { fetch_array_dim(&(yyval), &(yyvsp[(1) - (5)]), &(yyvsp[(4) - (5)]) TSRMLS_CC); }
5485: break;
5486:
5487: case 452:
5488:
5489: { (yyval) = (yyvsp[(1) - (1)]); }
5490: break;
5491:
5492: case 453:
5493:
5494: { (yyval) = (yyvsp[(1) - (1)]); }
5495: break;
5496:
5497: case 454:
5498:
5499: { zend_do_begin_variable_parse(TSRMLS_C); (yyval) = (yyvsp[(1) - (1)]); (yyval).EA = ZEND_PARSED_FUNCTION_CALL; }
5500: break;
5501:
5502: case 455:
5503:
5504: { (yyval) = (yyvsp[(1) - (1)]); (yyval).EA = ZEND_PARSED_VARIABLE; }
5505: break;
5506:
5507: case 456:
5508:
5509: { zend_do_indirect_references(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); (yyval).EA = ZEND_PARSED_VARIABLE; }
5510: break;
5511:
5512: case 457:
5513:
5514: { (yyval) = (yyvsp[(1) - (1)]); (yyval).EA = ZEND_PARSED_STATIC_MEMBER; }
5515: break;
5516:
5517: case 458:
5518:
5519: { fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5520: break;
5521:
5522: case 459:
5523:
5524: { fetch_string_offset(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5525: break;
5526:
5527: case 460:
5528:
5529: { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); }
5530: break;
5531:
5532: case 461:
5533:
5534: { (yyval) = (yyvsp[(1) - (1)]); }
5535: break;
5536:
5537: case 462:
5538:
5539: { (yyval) = (yyvsp[(3) - (4)]); }
5540: break;
5541:
5542: case 463:
5543:
5544: { (yyval).op_type = IS_UNUSED; }
5545: break;
5546:
5547: case 464:
5548:
5549: { (yyval) = (yyvsp[(1) - (1)]); }
5550: break;
5551:
5552: case 465:
5553:
5554: { (yyval) = (yyvsp[(1) - (1)]); }
5555: break;
5556:
5557: case 466:
5558:
5559: { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); }
5560: break;
5561:
5562: case 467:
5563:
5564: { znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&(yyval), &tmp_znode, &(yyvsp[(1) - (2)]) TSRMLS_CC);}
5565: break;
5566:
5567: case 468:
5568:
5569: { fetch_array_dim(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5570: break;
5571:
5572: case 469:
5573:
5574: { fetch_string_offset(&(yyval), &(yyvsp[(1) - (4)]), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5575: break;
5576:
5577: case 470:
5578:
5579: { znode tmp_znode; zend_do_pop_object(&tmp_znode TSRMLS_CC); zend_do_fetch_property(&(yyval), &tmp_znode, &(yyvsp[(1) - (1)]) TSRMLS_CC);}
5580: break;
5581:
5582: case 471:
5583:
5584: { (yyval) = (yyvsp[(1) - (1)]); }
5585: break;
5586:
5587: case 472:
5588:
5589: { (yyval) = (yyvsp[(2) - (3)]); }
5590: break;
5591:
5592: case 473:
5593:
5594: { Z_LVAL((yyval).u.constant) = 1; }
5595: break;
5596:
5597: case 474:
5598:
5599: { Z_LVAL((yyval).u.constant)++; }
5600: break;
5601:
5602: case 477:
5603:
5604: { zend_do_add_list_element(&(yyvsp[(1) - (1)]) TSRMLS_CC); }
5605: break;
5606:
5607: case 478:
5608:
5609: { zend_do_new_list_begin(TSRMLS_C); }
5610: break;
5611:
5612: case 479:
5613:
5614: { zend_do_new_list_end(TSRMLS_C); }
5615: break;
5616:
5617: case 480:
5618:
5619: { zend_do_add_list_element(NULL TSRMLS_CC); }
5620: break;
5621:
5622: case 481:
5623:
5624: { zend_do_init_array(&(yyval), NULL, NULL, 0 TSRMLS_CC); }
5625: break;
5626:
5627: case 482:
5628:
5629: { (yyval) = (yyvsp[(1) - (2)]); }
5630: break;
5631:
5632: case 483:
5633:
5634: { zend_do_add_array_element(&(yyval), &(yyvsp[(5) - (5)]), &(yyvsp[(3) - (5)]), 0 TSRMLS_CC); }
5635: break;
5636:
5637: case 484:
5638:
5639: { zend_do_add_array_element(&(yyval), &(yyvsp[(3) - (3)]), NULL, 0 TSRMLS_CC); }
5640: break;
5641:
5642: case 485:
5643:
5644: { zend_do_init_array(&(yyval), &(yyvsp[(3) - (3)]), &(yyvsp[(1) - (3)]), 0 TSRMLS_CC); }
5645: break;
5646:
5647: case 486:
5648:
5649: { zend_do_init_array(&(yyval), &(yyvsp[(1) - (1)]), NULL, 0 TSRMLS_CC); }
5650: break;
5651:
5652: case 487:
5653:
5654: { zend_do_add_array_element(&(yyval), &(yyvsp[(6) - (6)]), &(yyvsp[(3) - (6)]), 1 TSRMLS_CC); }
5655: break;
5656:
5657: case 488:
5658:
5659: { zend_do_add_array_element(&(yyval), &(yyvsp[(4) - (4)]), NULL, 1 TSRMLS_CC); }
5660: break;
5661:
5662: case 489:
5663:
5664: { zend_do_init_array(&(yyval), &(yyvsp[(4) - (4)]), &(yyvsp[(1) - (4)]), 1 TSRMLS_CC); }
5665: break;
5666:
5667: case 490:
5668:
5669: { zend_do_init_array(&(yyval), &(yyvsp[(2) - (2)]), NULL, 1 TSRMLS_CC); }
5670: break;
5671:
5672: case 491:
5673:
5674: { zend_do_end_variable_parse(&(yyvsp[(2) - (2)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
5675: break;
5676:
5677: case 492:
5678:
5679: { zend_do_add_string(&(yyval), &(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
5680: break;
5681:
5682: case 493:
5683:
5684: { zend_do_end_variable_parse(&(yyvsp[(1) - (1)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&(yyval), NULL, &(yyvsp[(1) - (1)]) TSRMLS_CC); }
5685: break;
5686:
5687: case 494:
5688:
5689: { zend_do_add_string(&(yyval), NULL, &(yyvsp[(1) - (2)]) TSRMLS_CC); zend_do_end_variable_parse(&(yyvsp[(2) - (2)]), BP_VAR_R, 0 TSRMLS_CC); zend_do_add_variable(&(yyval), &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
5690: break;
5691:
5692: case 495:
5693:
5694: { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); }
5695: break;
5696:
5697: case 496:
5698:
5699: { zend_do_begin_variable_parse(TSRMLS_C); }
5700: break;
5701:
5702: case 497:
5703:
5704: { fetch_array_begin(&(yyval), &(yyvsp[(1) - (5)]), &(yyvsp[(4) - (5)]) TSRMLS_CC); }
5705: break;
5706:
5707: case 498:
5708:
5709: { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyvsp[(2) - (3)]), &(yyvsp[(1) - (3)]), 1 TSRMLS_CC); zend_do_fetch_property(&(yyval), &(yyvsp[(2) - (3)]), &(yyvsp[(3) - (3)]) TSRMLS_CC); }
5710: break;
5711:
5712: case 499:
5713:
5714: { zend_do_begin_variable_parse(TSRMLS_C); fetch_simple_variable(&(yyval), &(yyvsp[(2) - (3)]), 1 TSRMLS_CC); }
5715: break;
5716:
5717: case 500:
5718:
5719: { zend_do_begin_variable_parse(TSRMLS_C); fetch_array_begin(&(yyval), &(yyvsp[(2) - (6)]), &(yyvsp[(4) - (6)]) TSRMLS_CC); }
5720: break;
5721:
5722: case 501:
5723:
5724: { (yyval) = (yyvsp[(2) - (3)]); }
5725: break;
5726:
5727: case 502:
5728:
5729: { (yyval) = (yyvsp[(1) - (1)]); }
5730: break;
5731:
5732: case 503:
5733:
5734: { (yyval) = (yyvsp[(1) - (1)]); }
5735: break;
5736:
5737: case 504:
5738:
5739: { fetch_simple_variable(&(yyval), &(yyvsp[(1) - (1)]), 1 TSRMLS_CC); }
5740: break;
5741:
5742: case 505:
5743:
5744: { (yyval) = (yyvsp[(3) - (4)]); }
5745: break;
5746:
5747: case 506:
5748:
5749: { zend_do_isset_or_isempty(ZEND_ISEMPTY, &(yyval), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5750: break;
5751:
5752: case 507:
5753:
5754: { zend_do_include_or_eval(ZEND_INCLUDE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
5755: break;
5756:
5757: case 508:
5758:
5759: { zend_do_include_or_eval(ZEND_INCLUDE_ONCE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
5760: break;
5761:
5762: case 509:
5763:
5764: { zend_do_include_or_eval(ZEND_EVAL, &(yyval), &(yyvsp[(3) - (4)]) TSRMLS_CC); }
5765: break;
5766:
5767: case 510:
5768:
5769: { zend_do_include_or_eval(ZEND_REQUIRE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
5770: break;
5771:
5772: case 511:
5773:
5774: { zend_do_include_or_eval(ZEND_REQUIRE_ONCE, &(yyval), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
5775: break;
5776:
5777: case 512:
5778:
5779: { zend_do_isset_or_isempty(ZEND_ISSET, &(yyval), &(yyvsp[(1) - (1)]) TSRMLS_CC); }
5780: break;
5781:
5782: case 513:
5783:
5784: { zend_do_boolean_and_begin(&(yyvsp[(1) - (2)]), &(yyvsp[(2) - (2)]) TSRMLS_CC); }
5785: break;
5786:
5787: case 514:
5788:
5789: { znode tmp; zend_do_isset_or_isempty(ZEND_ISSET, &tmp, &(yyvsp[(4) - (4)]) TSRMLS_CC); zend_do_boolean_and_end(&(yyval), &(yyvsp[(1) - (4)]), &tmp, &(yyvsp[(2) - (4)]) TSRMLS_CC); }
5790: break;
5791:
5792: case 515:
5793:
5794: { zend_do_fetch_constant(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_RT, 0 TSRMLS_CC); }
5795: break;
5796:
5797: case 516:
5798:
5799: { zend_do_fetch_constant(&(yyval), &(yyvsp[(1) - (3)]), &(yyvsp[(3) - (3)]), ZEND_RT, 0 TSRMLS_CC); }
5800: break;
5801:
5802:
5803: /* Line 1267 of yacc.c. */
5804:
5805: default: break;
5806: }
5807: YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5808:
5809: YYPOPSTACK (yylen);
5810: yylen = 0;
5811: YY_STACK_PRINT (yyss, yyssp);
5812:
5813: *++yyvsp = yyval;
5814:
5815:
5816: /* Now `shift' the result of the reduction. Determine what state
5817: that goes to, based on the state we popped back to and the rule
5818: number reduced by. */
5819:
5820: yyn = yyr1[yyn];
5821:
5822: yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
5823: if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5824: yystate = yytable[yystate];
5825: else
5826: yystate = yydefgoto[yyn - YYNTOKENS];
5827:
5828: goto yynewstate;
5829:
5830:
5831: /*------------------------------------.
5832: | yyerrlab -- here on detecting error |
5833: `------------------------------------*/
5834: yyerrlab:
5835: /* If not already recovering from an error, report this error. */
5836: if (!yyerrstatus)
5837: {
5838: ++yynerrs;
5839: #if ! YYERROR_VERBOSE
5840: yyerror (YY_("syntax error"));
5841: #else
5842: {
5843: YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5844: if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5845: {
5846: YYSIZE_T yyalloc = 2 * yysize;
5847: if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5848: yyalloc = YYSTACK_ALLOC_MAXIMUM;
5849: if (yymsg != yymsgbuf)
5850: YYSTACK_FREE (yymsg);
5851: yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5852: if (yymsg)
5853: yymsg_alloc = yyalloc;
5854: else
5855: {
5856: yymsg = yymsgbuf;
5857: yymsg_alloc = sizeof yymsgbuf;
5858: }
5859: }
5860:
5861: if (0 < yysize && yysize <= yymsg_alloc)
5862: {
5863: (void) yysyntax_error (yymsg, yystate, yychar);
5864: yyerror (yymsg);
5865: }
5866: else
5867: {
5868: yyerror (YY_("syntax error"));
5869: if (yysize != 0)
5870: goto yyexhaustedlab;
5871: }
5872: }
5873: #endif
5874: }
5875:
5876:
5877:
5878: if (yyerrstatus == 3)
5879: {
5880: /* If just tried and failed to reuse look-ahead token after an
5881: error, discard it. */
5882:
5883: if (yychar <= YYEOF)
5884: {
5885: /* Return failure if at end of input. */
5886: if (yychar == YYEOF)
5887: YYABORT;
5888: }
5889: else
5890: {
5891: yydestruct ("Error: discarding",
5892: yytoken, &yylval);
5893: yychar = YYEMPTY;
5894: }
5895: }
5896:
5897: /* Else will try to reuse look-ahead token after shifting the error
5898: token. */
5899: goto yyerrlab1;
5900:
5901:
5902: /*---------------------------------------------------.
5903: | yyerrorlab -- error raised explicitly by YYERROR. |
5904: `---------------------------------------------------*/
5905: yyerrorlab:
5906:
5907: /* Pacify compilers like GCC when the user code never invokes
5908: YYERROR and the label yyerrorlab therefore never appears in user
5909: code. */
5910: if (/*CONSTCOND*/ 0)
5911: goto yyerrorlab;
5912:
5913: /* Do not reclaim the symbols of the rule which action triggered
5914: this YYERROR. */
5915: YYPOPSTACK (yylen);
5916: yylen = 0;
5917: YY_STACK_PRINT (yyss, yyssp);
5918: yystate = *yyssp;
5919: goto yyerrlab1;
5920:
5921:
5922: /*-------------------------------------------------------------.
5923: | yyerrlab1 -- common code for both syntax error and YYERROR. |
5924: `-------------------------------------------------------------*/
5925: yyerrlab1:
5926: yyerrstatus = 3; /* Each real token shifted decrements this. */
5927:
5928: for (;;)
5929: {
5930: yyn = yypact[yystate];
5931: if (yyn != YYPACT_NINF)
5932: {
5933: yyn += YYTERROR;
5934: if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5935: {
5936: yyn = yytable[yyn];
5937: if (0 < yyn)
5938: break;
5939: }
5940: }
5941:
5942: /* Pop the current state because it cannot handle the error token. */
5943: if (yyssp == yyss)
5944: YYABORT;
5945:
5946:
5947: yydestruct ("Error: popping",
5948: yystos[yystate], yyvsp);
5949: YYPOPSTACK (1);
5950: yystate = *yyssp;
5951: YY_STACK_PRINT (yyss, yyssp);
5952: }
5953:
5954: if (yyn == YYFINAL)
5955: YYACCEPT;
5956:
5957: *++yyvsp = yylval;
5958:
5959:
5960: /* Shift the error token. */
5961: YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5962:
5963: yystate = yyn;
5964: goto yynewstate;
5965:
5966:
5967: /*-------------------------------------.
5968: | yyacceptlab -- YYACCEPT comes here. |
5969: `-------------------------------------*/
5970: yyacceptlab:
5971: yyresult = 0;
5972: goto yyreturn;
5973:
5974: /*-----------------------------------.
5975: | yyabortlab -- YYABORT comes here. |
5976: `-----------------------------------*/
5977: yyabortlab:
5978: yyresult = 1;
5979: goto yyreturn;
5980:
5981: #ifndef yyoverflow
5982: /*-------------------------------------------------.
5983: | yyexhaustedlab -- memory exhaustion comes here. |
5984: `-------------------------------------------------*/
5985: yyexhaustedlab:
5986: yyerror (YY_("memory exhausted"));
5987: yyresult = 2;
5988: /* Fall through. */
5989: #endif
5990:
5991: yyreturn:
5992: if (yychar != YYEOF && yychar != YYEMPTY)
5993: yydestruct ("Cleanup: discarding lookahead",
5994: yytoken, &yylval);
5995: /* Do not reclaim the symbols of the rule which action triggered
5996: this YYABORT or YYACCEPT. */
5997: YYPOPSTACK (yylen);
5998: YY_STACK_PRINT (yyss, yyssp);
5999: while (yyssp != yyss)
6000: {
6001: yydestruct ("Cleanup: popping",
6002: yystos[*yyssp], yyvsp);
6003: YYPOPSTACK (1);
6004: }
6005: #ifndef yyoverflow
6006: if (yyss != yyssa)
6007: YYSTACK_FREE (yyss);
6008: #endif
6009: #if YYERROR_VERBOSE
6010: if (yymsg != yymsgbuf)
6011: YYSTACK_FREE (yymsg);
6012: #endif
6013: /* Make sure YYID is used. */
6014: return YYID (yyresult);
6015: }
6016:
6017:
6018:
6019:
6020:
6021: /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
6022: quotes and backslashes, so that it's suitable for yyerror. The
6023: heuristic is that double-quoting is unnecessary unless the string
6024: contains an apostrophe, a comma, or backslash (other than
6025: backslash-backslash). YYSTR is taken from yytname. If YYRES is
6026: null, do not copy; instead, return the length of what the result
6027: would have been. */
6028: static YYSIZE_T zend_yytnamerr(char *yyres, const char *yystr)
6029: {
6030: if (!yyres) {
6031: return yystrlen(yystr);
6032: }
6033: {
6034: TSRMLS_FETCH();
6035: if (CG(parse_error) == 0) {
6036: char buffer[120];
6037: const unsigned char *end, *str, *tok1 = NULL, *tok2 = NULL;
6038: unsigned int len = 0, toklen = 0, yystr_len;
6039:
6040: CG(parse_error) = 1;
6041:
6042: if (LANG_SCNG(yy_text)[0] == 0 &&
6043: LANG_SCNG(yy_leng) == 1 &&
6044: memcmp(yystr, ZEND_STRL("\"end of file\"")) == 0) {
6045: yystpcpy(yyres, "end of file");
6046: return sizeof("end of file")-1;
6047: }
6048:
6049: str = LANG_SCNG(yy_text);
6050: end = memchr(str, '\n', LANG_SCNG(yy_leng));
6051: yystr_len = yystrlen(yystr);
6052:
6053: if ((tok1 = memchr(yystr, '(', yystr_len)) != NULL
6054: && (tok2 = zend_memrchr(yystr, ')', yystr_len)) != NULL) {
6055: toklen = (tok2 - tok1) + 1;
6056: } else {
6057: tok1 = tok2 = NULL;
6058: toklen = 0;
6059: }
6060:
6061: if (end == NULL) {
6062: len = LANG_SCNG(yy_leng) > 30 ? 30 : LANG_SCNG(yy_leng);
6063: } else {
6064: len = (end - str) > 30 ? 30 : (end - str);
6065: }
6066: if (toklen) {
6067: snprintf(buffer, sizeof(buffer), "'%.*s' %.*s", len, str, toklen, tok1);
6068: } else {
6069: snprintf(buffer, sizeof(buffer), "'%.*s'", len, str);
6070: }
6071: yystpcpy(yyres, buffer);
6072: return len + (toklen ? toklen + 1 : 0) + 2;
6073: }
6074: }
6075: if (*yystr == '"') {
6076: YYSIZE_T yyn = 0;
6077: const char *yyp = yystr;
6078:
6079: for (; *++yyp != '"'; ++yyn) {
6080: yyres[yyn] = *yyp;
6081: }
6082: yyres[yyn] = '\0';
6083: return yyn;
6084: }
6085: yystpcpy(yyres, yystr);
6086: return strlen(yystr);
6087: }
6088:
6089: /*
6090: * Local variables:
6091: * tab-width: 4
6092: * c-basic-offset: 4
6093: * indent-tabs-mode: t
6094: * End:
6095: */
6096:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>