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 xhpastparse
63 #define yylex xhpastlex
64 #define yyerror xhpasterror
65 #define yylval xhpastlval
66 #define yychar xhpastchar
67 #define yydebug xhpastdebug
68 #define yynerrs xhpastnerrs
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 T_REQUIRE_ONCE = 258,
78 T_REQUIRE = 259,
79 T_EVAL = 260,
80 T_INCLUDE_ONCE = 261,
81 T_INCLUDE = 262,
82 T_LOGICAL_OR = 263,
83 T_LOGICAL_XOR = 264,
84 T_LOGICAL_AND = 265,
85 T_PRINT = 266,
86 T_SR_EQUAL = 267,
87 T_SL_EQUAL = 268,
88 T_XOR_EQUAL = 269,
89 T_OR_EQUAL = 270,
90 T_AND_EQUAL = 271,
91 T_MOD_EQUAL = 272,
92 T_CONCAT_EQUAL = 273,
93 T_DIV_EQUAL = 274,
94 T_MUL_EQUAL = 275,
95 T_MINUS_EQUAL = 276,
96 T_PLUS_EQUAL = 277,
97 T_COALESCE = 278,
98 T_BOOLEAN_OR = 279,
99 T_BOOLEAN_AND = 280,
100 T_SPACESHIP = 281,
101 T_IS_NOT_IDENTICAL = 282,
102 T_IS_IDENTICAL = 283,
103 T_IS_NOT_EQUAL = 284,
104 T_IS_EQUAL = 285,
105 T_IS_GREATER_OR_EQUAL = 286,
106 T_IS_SMALLER_OR_EQUAL = 287,
107 T_SR = 288,
108 T_SL = 289,
109 T_INSTANCEOF = 290,
110 T_UNSET_CAST = 291,
111 T_BOOL_CAST = 292,
112 T_OBJECT_CAST = 293,
113 T_ARRAY_CAST = 294,
114 T_BINARY_CAST = 295,
115 T_UNICODE_CAST = 296,
116 T_STRING_CAST = 297,
117 T_DOUBLE_CAST = 298,
118 T_INT_CAST = 299,
119 T_DEC = 300,
120 T_INC = 301,
121 T_CLONE = 302,
122 T_NEW = 303,
123 T_EXIT = 304,
124 T_IF = 305,
125 T_ELSEIF = 306,
126 T_ELSE = 307,
127 T_ENDIF = 308,
128 T_LNUMBER = 309,
129 T_DNUMBER = 310,
130 T_STRING = 311,
131 T_STRING_VARNAME = 312,
132 T_VARIABLE = 313,
133 T_NUM_STRING = 314,
134 T_INLINE_HTML = 315,
135 T_CHARACTER = 316,
136 T_BAD_CHARACTER = 317,
137 T_ENCAPSED_AND_WHITESPACE = 318,
138 T_CONSTANT_ENCAPSED_STRING = 319,
139 T_BACKTICKS_EXPR = 320,
140 T_ECHO = 321,
141 T_DO = 322,
142 T_WHILE = 323,
143 T_ENDWHILE = 324,
144 T_FOR = 325,
145 T_ENDFOR = 326,
146 T_FOREACH = 327,
147 T_ENDFOREACH = 328,
148 T_DECLARE = 329,
149 T_ENDDECLARE = 330,
150 T_AS = 331,
151 T_SWITCH = 332,
152 T_ENDSWITCH = 333,
153 T_CASE = 334,
154 T_DEFAULT = 335,
155 T_BREAK = 336,
156 T_CONTINUE = 337,
157 T_GOTO = 338,
158 T_FUNCTION = 339,
159 T_CONST = 340,
160 T_RETURN = 341,
161 T_TRY = 342,
162 T_CATCH = 343,
163 T_THROW = 344,
164 T_USE = 345,
165 T_GLOBAL = 346,
166 T_PUBLIC = 347,
167 T_PROTECTED = 348,
168 T_PRIVATE = 349,
169 T_FINAL = 350,
170 T_ABSTRACT = 351,
171 T_STATIC = 352,
172 T_VAR = 353,
173 T_UNSET = 354,
174 T_ISSET = 355,
175 T_EMPTY = 356,
176 T_HALT_COMPILER = 357,
177 T_CLASS = 358,
178 T_INTERFACE = 359,
179 T_EXTENDS = 360,
180 T_IMPLEMENTS = 361,
181 T_OBJECT_OPERATOR = 362,
182 T_DOUBLE_ARROW = 363,
183 T_LIST = 364,
184 T_ARRAY = 365,
185 T_CLASS_C = 366,
186 T_METHOD_C = 367,
187 T_FUNC_C = 368,
188 T_LINE = 369,
189 T_FILE = 370,
190 T_COMMENT = 371,
191 T_DOC_COMMENT = 372,
192 T_OPEN_TAG = 373,
193 T_OPEN_TAG_WITH_ECHO = 374,
194 T_OPEN_TAG_FAKE = 375,
195 T_CLOSE_TAG = 376,
196 T_WHITESPACE = 377,
197 T_START_HEREDOC = 378,
198 T_END_HEREDOC = 379,
199 T_HEREDOC = 380,
200 T_DOLLAR_OPEN_CURLY_BRACES = 381,
201 T_CURLY_OPEN = 382,
202 T_PAAMAYIM_NEKUDOTAYIM = 383,
203 T_BINARY_DOUBLE = 384,
204 T_BINARY_HEREDOC = 385,
205 T_NAMESPACE = 386,
206 T_NS_C = 387,
207 T_DIR = 388,
208 T_NS_SEPARATOR = 389,
209 T_INSTEADOF = 390,
210 T_CALLABLE = 391,
211 T_TRAIT = 392,
212 T_TRAIT_C = 393,
213 T_YIELD = 394,
214 T_FINALLY = 395,
215 T_ELLIPSIS = 396
216 };
217 #endif
218 /* Tokens. */
219 #define T_REQUIRE_ONCE 258
220 #define T_REQUIRE 259
221 #define T_EVAL 260
222 #define T_INCLUDE_ONCE 261
223 #define T_INCLUDE 262
224 #define T_LOGICAL_OR 263
225 #define T_LOGICAL_XOR 264
226 #define T_LOGICAL_AND 265
227 #define T_PRINT 266
228 #define T_SR_EQUAL 267
229 #define T_SL_EQUAL 268
230 #define T_XOR_EQUAL 269
231 #define T_OR_EQUAL 270
232 #define T_AND_EQUAL 271
233 #define T_MOD_EQUAL 272
234 #define T_CONCAT_EQUAL 273
235 #define T_DIV_EQUAL 274
236 #define T_MUL_EQUAL 275
237 #define T_MINUS_EQUAL 276
238 #define T_PLUS_EQUAL 277
239 #define T_COALESCE 278
240 #define T_BOOLEAN_OR 279
241 #define T_BOOLEAN_AND 280
242 #define T_SPACESHIP 281
243 #define T_IS_NOT_IDENTICAL 282
244 #define T_IS_IDENTICAL 283
245 #define T_IS_NOT_EQUAL 284
246 #define T_IS_EQUAL 285
247 #define T_IS_GREATER_OR_EQUAL 286
248 #define T_IS_SMALLER_OR_EQUAL 287
249 #define T_SR 288
250 #define T_SL 289
251 #define T_INSTANCEOF 290
252 #define T_UNSET_CAST 291
253 #define T_BOOL_CAST 292
254 #define T_OBJECT_CAST 293
255 #define T_ARRAY_CAST 294
256 #define T_BINARY_CAST 295
257 #define T_UNICODE_CAST 296
258 #define T_STRING_CAST 297
259 #define T_DOUBLE_CAST 298
260 #define T_INT_CAST 299
261 #define T_DEC 300
262 #define T_INC 301
263 #define T_CLONE 302
264 #define T_NEW 303
265 #define T_EXIT 304
266 #define T_IF 305
267 #define T_ELSEIF 306
268 #define T_ELSE 307
269 #define T_ENDIF 308
270 #define T_LNUMBER 309
271 #define T_DNUMBER 310
272 #define T_STRING 311
273 #define T_STRING_VARNAME 312
274 #define T_VARIABLE 313
275 #define T_NUM_STRING 314
276 #define T_INLINE_HTML 315
277 #define T_CHARACTER 316
278 #define T_BAD_CHARACTER 317
279 #define T_ENCAPSED_AND_WHITESPACE 318
280 #define T_CONSTANT_ENCAPSED_STRING 319
281 #define T_BACKTICKS_EXPR 320
282 #define T_ECHO 321
283 #define T_DO 322
284 #define T_WHILE 323
285 #define T_ENDWHILE 324
286 #define T_FOR 325
287 #define T_ENDFOR 326
288 #define T_FOREACH 327
289 #define T_ENDFOREACH 328
290 #define T_DECLARE 329
291 #define T_ENDDECLARE 330
292 #define T_AS 331
293 #define T_SWITCH 332
294 #define T_ENDSWITCH 333
295 #define T_CASE 334
296 #define T_DEFAULT 335
297 #define T_BREAK 336
298 #define T_CONTINUE 337
299 #define T_GOTO 338
300 #define T_FUNCTION 339
301 #define T_CONST 340
302 #define T_RETURN 341
303 #define T_TRY 342
304 #define T_CATCH 343
305 #define T_THROW 344
306 #define T_USE 345
307 #define T_GLOBAL 346
308 #define T_PUBLIC 347
309 #define T_PROTECTED 348
310 #define T_PRIVATE 349
311 #define T_FINAL 350
312 #define T_ABSTRACT 351
313 #define T_STATIC 352
314 #define T_VAR 353
315 #define T_UNSET 354
316 #define T_ISSET 355
317 #define T_EMPTY 356
318 #define T_HALT_COMPILER 357
319 #define T_CLASS 358
320 #define T_INTERFACE 359
321 #define T_EXTENDS 360
322 #define T_IMPLEMENTS 361
323 #define T_OBJECT_OPERATOR 362
324 #define T_DOUBLE_ARROW 363
325 #define T_LIST 364
326 #define T_ARRAY 365
327 #define T_CLASS_C 366
328 #define T_METHOD_C 367
329 #define T_FUNC_C 368
330 #define T_LINE 369
331 #define T_FILE 370
332 #define T_COMMENT 371
333 #define T_DOC_COMMENT 372
334 #define T_OPEN_TAG 373
335 #define T_OPEN_TAG_WITH_ECHO 374
336 #define T_OPEN_TAG_FAKE 375
337 #define T_CLOSE_TAG 376
338 #define T_WHITESPACE 377
339 #define T_START_HEREDOC 378
340 #define T_END_HEREDOC 379
341 #define T_HEREDOC 380
342 #define T_DOLLAR_OPEN_CURLY_BRACES 381
343 #define T_CURLY_OPEN 382
344 #define T_PAAMAYIM_NEKUDOTAYIM 383
345 #define T_BINARY_DOUBLE 384
346 #define T_BINARY_HEREDOC 385
347 #define T_NAMESPACE 386
348 #define T_NS_C 387
349 #define T_DIR 388
350 #define T_NS_SEPARATOR 389
351 #define T_INSTEADOF 390
352 #define T_CALLABLE 391
353 #define T_TRAIT 392
354 #define T_TRAIT_C 393
355 #define T_YIELD 394
356 #define T_FINALLY 395
357 #define T_ELLIPSIS 396
358
359
360
361
362 /* Copy the first part of user declarations. */
363 #line 1 "parser.y"
364
365 /*
366 * If you modify this grammar, please update the version number in
367 * ./xhpast.cpp and libphutil/src/parser/xhpast/bin/xhpast_parse.php
368 */
369
370 #include "ast.hpp"
371 #include "node_names.hpp"
372 // PHP's if/else rules use right reduction rather than left reduction which
373 // means while parsing nested if/else's the stack grows until it the last
374 // statement is read. This is annoying, particularly because of a quirk in
375 // bison.
376 // http://www.gnu.org/software/bison/manual/html_node/Memory-Management.html
377 // Apparently if you compile a bison parser with g++ it can no longer grow
378 // the stack. The work around is to just make your initial stack ridiculously
379 // large. Unfortunately that increases memory usage while parsing which is
380 // dumb. Anyway, putting a TODO here to fix PHP's if/else grammar.
381 #define YYINITDEPTH 500
382 #line 21 "parser.y"
383
384 #undef yyextra
385 #define yyextra static_cast<yy_extra_type*>(xhpastget_extra(yyscanner))
386 #undef yylineno
387 #define yylineno yyextra->first_lineno
388 #define push_state(s) xhp_new_push_state(s, (struct yyguts_t*) yyscanner)
389 #define pop_state() xhp_new_pop_state((struct yyguts_t*) yyscanner)
390 #define set_state(s) xhp_set_state(s, (struct yyguts_t*) yyscanner)
391
392 #define NNEW(t) \
393 (new xhpast::Node(t))
394
395 #define NTYPE(n, type) \
396 ((n)->setType(type))
397
398 #define NMORE(n, end) \
399 ((n)->expandRange(end))
400
401 #define NSPAN(n, type, end) \
402 (NMORE(NTYPE((n), type), end))
403
404 #define NEXPAND(l, n, r) \
405 ((n)->expandRange(l)->expandRange(r))
406
407 using namespace std;
408
yyerror(void * yyscanner,void * _,const char * error)409 static void yyerror(void* yyscanner, void* _, const char* error) {
410 if (yyextra->terminated) {
411 return;
412 }
413 yyextra->terminated = true;
414 yyextra->error = error;
415 }
416
417
418
419 /* Enabling traces. */
420 #ifndef YYDEBUG
421 # define YYDEBUG 0
422 #endif
423
424 /* Enabling verbose error messages. */
425 #ifdef YYERROR_VERBOSE
426 # undef YYERROR_VERBOSE
427 # define YYERROR_VERBOSE 1
428 #else
429 # define YYERROR_VERBOSE 1
430 #endif
431
432 /* Enabling the token table. */
433 #ifndef YYTOKEN_TABLE
434 # define YYTOKEN_TABLE 0
435 #endif
436
437 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
438 typedef int YYSTYPE;
439 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
440 # define YYSTYPE_IS_DECLARED 1
441 # define YYSTYPE_IS_TRIVIAL 1
442 #endif
443
444
445
446 /* Copy the second part of user declarations. */
447
448
449 /* Line 216 of yacc.c. */
450 #line 451 "parser.yacc.cpp"
451
452 #ifdef short
453 # undef short
454 #endif
455
456 #ifdef YYTYPE_UINT8
457 typedef YYTYPE_UINT8 yytype_uint8;
458 #else
459 typedef unsigned char yytype_uint8;
460 #endif
461
462 #ifdef YYTYPE_INT8
463 typedef YYTYPE_INT8 yytype_int8;
464 #elif (defined __STDC__ || defined __C99__FUNC__ \
465 || defined __cplusplus || defined _MSC_VER)
466 typedef signed char yytype_int8;
467 #else
468 typedef short int yytype_int8;
469 #endif
470
471 #ifdef YYTYPE_UINT16
472 typedef YYTYPE_UINT16 yytype_uint16;
473 #else
474 typedef unsigned short int yytype_uint16;
475 #endif
476
477 #ifdef YYTYPE_INT16
478 typedef YYTYPE_INT16 yytype_int16;
479 #else
480 typedef short int yytype_int16;
481 #endif
482
483 #ifndef YYSIZE_T
484 # ifdef __SIZE_TYPE__
485 # define YYSIZE_T __SIZE_TYPE__
486 # elif defined size_t
487 # define YYSIZE_T size_t
488 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
489 || defined __cplusplus || defined _MSC_VER)
490 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
491 # define YYSIZE_T size_t
492 # else
493 # define YYSIZE_T unsigned int
494 # endif
495 #endif
496
497 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
498
499 #ifndef YY_
500 # if defined YYENABLE_NLS && YYENABLE_NLS
501 # if ENABLE_NLS
502 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
503 # define YY_(msgid) dgettext ("bison-runtime", msgid)
504 # endif
505 # endif
506 # ifndef YY_
507 # define YY_(msgid) msgid
508 # endif
509 #endif
510
511 /* Suppress unused-variable warnings by "using" E. */
512 #if ! defined lint || defined __GNUC__
513 # define YYUSE(e) ((void) (e))
514 #else
515 # define YYUSE(e) /* empty */
516 #endif
517
518 /* Identity function, used to suppress warnings about constant conditions. */
519 #ifndef lint
520 # define YYID(n) (n)
521 #else
522 #if (defined __STDC__ || defined __C99__FUNC__ \
523 || defined __cplusplus || defined _MSC_VER)
524 static int
YYID(int i)525 YYID (int i)
526 #else
527 static int
528 YYID (i)
529 int i;
530 #endif
531 {
532 return i;
533 }
534 #endif
535
536 #if ! defined yyoverflow || YYERROR_VERBOSE
537
538 /* The parser invokes alloca or malloc; define the necessary symbols. */
539
540 # ifdef YYSTACK_USE_ALLOCA
541 # if YYSTACK_USE_ALLOCA
542 # ifdef __GNUC__
543 # define YYSTACK_ALLOC __builtin_alloca
544 # elif defined __BUILTIN_VA_ARG_INCR
545 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
546 # elif defined _AIX
547 # define YYSTACK_ALLOC __alloca
548 # elif defined _MSC_VER
549 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
550 # define alloca _alloca
551 # else
552 # define YYSTACK_ALLOC alloca
553 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
554 || defined __cplusplus || defined _MSC_VER)
555 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
556 # ifndef _STDLIB_H
557 # define _STDLIB_H 1
558 # endif
559 # endif
560 # endif
561 # endif
562 # endif
563
564 # ifdef YYSTACK_ALLOC
565 /* Pacify GCC's `empty if-body' warning. */
566 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
567 # ifndef YYSTACK_ALLOC_MAXIMUM
568 /* The OS might guarantee only one guard page at the bottom of the stack,
569 and a page size can be as small as 4096 bytes. So we cannot safely
570 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
571 to allow for a few compiler-allocated temporary stack slots. */
572 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
573 # endif
574 # else
575 # define YYSTACK_ALLOC YYMALLOC
576 # define YYSTACK_FREE YYFREE
577 # ifndef YYSTACK_ALLOC_MAXIMUM
578 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
579 # endif
580 # if (defined __cplusplus && ! defined _STDLIB_H \
581 && ! ((defined YYMALLOC || defined malloc) \
582 && (defined YYFREE || defined free)))
583 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
584 # ifndef _STDLIB_H
585 # define _STDLIB_H 1
586 # endif
587 # endif
588 # ifndef YYMALLOC
589 # define YYMALLOC malloc
590 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
591 || defined __cplusplus || defined _MSC_VER)
592 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
593 # endif
594 # endif
595 # ifndef YYFREE
596 # define YYFREE free
597 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
598 || defined __cplusplus || defined _MSC_VER)
599 void free (void *); /* INFRINGES ON USER NAME SPACE */
600 # endif
601 # endif
602 # endif
603 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
604
605
606 #if (! defined yyoverflow \
607 && (! defined __cplusplus \
608 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
609
610 /* A type that is properly aligned for any stack member. */
611 union yyalloc
612 {
613 yytype_int16 yyss;
614 YYSTYPE yyvs;
615 };
616
617 /* The size of the maximum gap between one aligned stack and the next. */
618 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
619
620 /* The size of an array large to enough to hold all stacks, each with
621 N elements. */
622 # define YYSTACK_BYTES(N) \
623 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
624 + YYSTACK_GAP_MAXIMUM)
625
626 /* Copy COUNT objects from FROM to TO. The source and destination do
627 not overlap. */
628 # ifndef YYCOPY
629 # if defined __GNUC__ && 1 < __GNUC__
630 # define YYCOPY(To, From, Count) \
631 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
632 # else
633 # define YYCOPY(To, From, Count) \
634 do \
635 { \
636 YYSIZE_T yyi; \
637 for (yyi = 0; yyi < (Count); yyi++) \
638 (To)[yyi] = (From)[yyi]; \
639 } \
640 while (YYID (0))
641 # endif
642 # endif
643
644 /* Relocate STACK from its old location to the new one. The
645 local variables YYSIZE and YYSTACKSIZE give the old and new number of
646 elements in the stack, and YYPTR gives the new location of the
647 stack. Advance YYPTR to a properly aligned location for the next
648 stack. */
649 # define YYSTACK_RELOCATE(Stack) \
650 do \
651 { \
652 YYSIZE_T yynewbytes; \
653 YYCOPY (&yyptr->Stack, Stack, yysize); \
654 Stack = &yyptr->Stack; \
655 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
656 yyptr += yynewbytes / sizeof (*yyptr); \
657 } \
658 while (YYID (0))
659
660 #endif
661
662 /* YYFINAL -- State number of the termination state. */
663 #define YYFINAL 3
664 /* YYLAST -- Last index in YYTABLE. */
665 #define YYLAST 7580
666
667 /* YYNTOKENS -- Number of terminals. */
668 #define YYNTOKENS 168
669 /* YYNNTS -- Number of nonterminals. */
670 #define YYNNTS 136
671 /* YYNRULES -- Number of rules. */
672 #define YYNRULES 444
673 /* YYNRULES -- Number of states. */
674 #define YYNSTATES 916
675
676 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
677 #define YYUNDEFTOK 2
678 #define YYMAXUTOK 396
679
680 #define YYTRANSLATE(YYX) \
681 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
682
683 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
684 static const yytype_uint8 yytranslate[] =
685 {
686 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
687 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
688 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
689 2, 2, 2, 50, 2, 2, 166, 49, 32, 2,
690 161, 162, 47, 44, 8, 45, 46, 48, 2, 2,
691 2, 2, 2, 2, 2, 2, 2, 2, 26, 163,
692 38, 13, 39, 25, 53, 2, 2, 2, 2, 2,
693 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
694 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
695 2, 65, 2, 167, 31, 2, 2, 2, 2, 2,
696 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
697 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
698 2, 2, 2, 164, 30, 165, 52, 2, 2, 2,
699 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
700 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
701 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
702 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
703 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
704 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
705 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
706 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
707 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
708 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
709 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
710 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
711 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
712 5, 6, 7, 9, 10, 11, 12, 14, 15, 16,
713 17, 18, 19, 20, 21, 22, 23, 24, 27, 28,
714 29, 33, 34, 35, 36, 37, 40, 41, 42, 43,
715 51, 54, 55, 56, 57, 58, 59, 60, 61, 62,
716 63, 64, 66, 67, 68, 69, 70, 71, 72, 73,
717 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
718 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
719 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
720 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
721 114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
722 124, 125, 126, 127, 128, 129, 130, 131, 132, 133,
723 134, 135, 136, 137, 138, 139, 140, 141, 142, 143,
724 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
725 154, 155, 156, 157, 158, 159, 160
726 };
727
728 #if YYDEBUG
729 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
730 YYRHS. */
731 static const yytype_uint16 yyprhs[] =
732 {
733 0, 0, 3, 5, 8, 9, 11, 15, 17, 19,
734 21, 26, 30, 36, 41, 45, 48, 52, 54, 56,
735 60, 63, 68, 74, 79, 82, 83, 85, 87, 89,
736 94, 96, 99, 101, 103, 105, 109, 117, 128, 134,
737 142, 152, 158, 161, 165, 168, 172, 175, 179, 183,
738 187, 191, 195, 197, 200, 203, 209, 218, 227, 233,
739 235, 242, 248, 252, 256, 259, 261, 270, 271, 273,
740 278, 280, 284, 286, 288, 290, 291, 293, 304, 312,
741 319, 321, 324, 327, 329, 330, 333, 335, 336, 339,
742 340, 343, 345, 349, 350, 353, 355, 358, 360, 365,
743 367, 372, 374, 379, 383, 389, 393, 398, 403, 409,
744 410, 416, 421, 423, 425, 427, 432, 433, 440, 441,
745 449, 450, 453, 454, 458, 460, 461, 464, 468, 474,
746 479, 484, 490, 498, 505, 508, 510, 511, 513, 516,
747 518, 520, 522, 523, 526, 528, 529, 531, 535, 537,
748 540, 543, 547, 549, 551, 554, 559, 563, 569, 571,
749 575, 578, 579, 583, 586, 588, 589, 600, 604, 606,
750 610, 612, 616, 617, 619, 621, 624, 627, 630, 634,
751 636, 640, 642, 644, 648, 653, 657, 658, 660, 662,
752 666, 668, 670, 671, 673, 675, 678, 680, 682, 684,
753 686, 688, 690, 692, 696, 702, 704, 708, 714, 719,
754 723, 725, 726, 728, 732, 734, 741, 745, 750, 757,
755 760, 764, 768, 772, 776, 780, 784, 788, 792, 796,
756 800, 804, 807, 810, 813, 816, 820, 824, 828, 832,
757 836, 840, 844, 848, 852, 856, 860, 864, 868, 872,
758 876, 880, 883, 886, 889, 892, 896, 900, 904, 908,
759 912, 916, 920, 924, 928, 932, 934, 936, 942, 947,
760 951, 953, 956, 959, 962, 965, 968, 971, 974, 977,
761 980, 982, 984, 986, 988, 991, 993, 1004, 1016, 1019,
762 1022, 1027, 1032, 1034, 1035, 1040, 1044, 1049, 1051, 1054,
763 1059, 1066, 1072, 1079, 1086, 1093, 1100, 1105, 1107, 1109,
764 1113, 1116, 1118, 1122, 1125, 1127, 1129, 1134, 1136, 1139,
765 1140, 1143, 1144, 1147, 1151, 1152, 1156, 1158, 1160, 1162,
766 1164, 1166, 1168, 1170, 1172, 1174, 1176, 1178, 1180, 1182,
767 1184, 1188, 1191, 1194, 1197, 1202, 1206, 1208, 1212, 1214,
768 1216, 1218, 1222, 1225, 1227, 1228, 1231, 1232, 1234, 1240,
769 1244, 1248, 1250, 1252, 1254, 1256, 1258, 1260, 1266, 1268,
770 1271, 1272, 1276, 1281, 1286, 1290, 1292, 1294, 1295, 1297,
771 1300, 1304, 1308, 1310, 1315, 1320, 1322, 1324, 1326, 1328,
772 1332, 1335, 1337, 1342, 1347, 1349, 1351, 1356, 1357, 1359,
773 1361, 1363, 1368, 1373, 1375, 1377, 1381, 1383, 1386, 1390,
774 1392, 1394, 1399, 1400, 1401, 1404, 1410, 1414, 1418, 1420,
775 1427, 1432, 1437, 1440, 1445, 1450, 1453, 1456, 1461, 1464,
776 1467, 1469, 1473, 1477, 1481, 1486, 1491, 1496, 1501, 1506,
777 1511, 1515, 1519, 1528, 1532
778 };
779
780 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
781 static const yytype_int16 yyrhs[] =
782 {
783 169, 0, -1, 170, -1, 170, 172, -1, -1, 75,
784 -1, 171, 153, 75, -1, 178, -1, 186, -1, 187,
785 -1, 121, 161, 162, 163, -1, 150, 171, 163, -1,
786 150, 171, 164, 170, 165, -1, 150, 164, 170, 165,
787 -1, 109, 173, 163, -1, 175, 163, -1, 173, 8,
788 174, -1, 174, -1, 171, -1, 171, 95, 75, -1,
789 153, 171, -1, 153, 171, 95, 75, -1, 175, 8,
790 75, 13, 264, -1, 104, 75, 13, 264, -1, 176,
791 177, -1, -1, 178, -1, 186, -1, 187, -1, 121,
792 161, 162, 163, -1, 179, -1, 75, 26, -1, 137,
793 -1, 138, -1, 140, -1, 164, 176, 165, -1, 69,
794 161, 270, 162, 178, 207, 209, -1, 69, 161, 270,
795 162, 26, 176, 208, 210, 72, 163, -1, 87, 161,
796 270, 162, 206, -1, 86, 178, 87, 161, 270, 162,
797 163, -1, 89, 161, 247, 163, 247, 163, 247, 162,
798 199, -1, 96, 161, 270, 162, 203, -1, 100, 163,
799 -1, 100, 270, 163, -1, 101, 163, -1, 101, 270,
800 163, -1, 105, 163, -1, 105, 249, 163, -1, 105,
801 274, 163, -1, 110, 220, 163, -1, 116, 222, 163,
802 -1, 85, 246, 163, -1, 79, -1, 270, 163, -1,
803 250, 163, -1, 118, 161, 184, 162, 163, -1, 91,
804 161, 274, 95, 198, 197, 162, 200, -1, 91, 161,
805 249, 95, 274, 197, 162, 200, -1, 93, 161, 202,
806 162, 201, -1, 163, -1, 106, 164, 176, 165, 180,
807 182, -1, 106, 164, 176, 165, 183, -1, 108, 270,
808 163, -1, 102, 75, 163, -1, 180, 181, -1, 181,
809 -1, 107, 161, 256, 77, 162, 164, 176, 165, -1,
810 -1, 183, -1, 159, 164, 176, 165, -1, 185, -1,
811 184, 8, 185, -1, 274, -1, 189, -1, 190, -1,
812 -1, 32, -1, 251, 188, 75, 161, 211, 162, 216,
813 164, 176, 165, -1, 191, 75, 192, 195, 164, 223,
814 165, -1, 193, 75, 194, 164, 223, 165, -1, 122,
815 -1, 115, 122, -1, 114, 122, -1, 156, -1, -1,
816 124, 256, -1, 123, -1, -1, 124, 196, -1, -1,
817 125, 196, -1, 256, -1, 196, 8, 256, -1, -1,
818 127, 198, -1, 274, -1, 32, 274, -1, 178, -1,
819 26, 176, 90, 163, -1, 178, -1, 26, 176, 92,
820 163, -1, 178, -1, 26, 176, 94, 163, -1, 75,
821 13, 264, -1, 202, 8, 75, 13, 264, -1, 164,
822 204, 165, -1, 164, 163, 204, 165, -1, 26, 204,
823 97, 163, -1, 26, 163, 204, 97, 163, -1, -1,
824 204, 98, 270, 205, 176, -1, 204, 99, 205, 176,
825 -1, 26, -1, 163, -1, 178, -1, 26, 176, 88,
826 163, -1, -1, 207, 70, 161, 270, 162, 178, -1,
827 -1, 208, 70, 161, 270, 162, 26, 176, -1, -1,
828 71, 178, -1, -1, 71, 26, 176, -1, 212, -1,
829 -1, 214, 213, -1, 214, 32, 213, -1, 214, 32,
830 213, 13, 264, -1, 214, 213, 13, 264, -1, 212,
831 8, 214, 213, -1, 212, 8, 214, 32, 213, -1,
832 212, 8, 214, 32, 213, 13, 264, -1, 212, 8,
833 214, 213, 13, 264, -1, 160, 77, -1, 77, -1,
834 -1, 215, -1, 25, 215, -1, 256, -1, 129, -1,
835 155, -1, -1, 26, 214, -1, 218, -1, -1, 219,
836 -1, 218, 8, 219, -1, 270, -1, 160, 270, -1,
837 32, 272, -1, 220, 8, 221, -1, 221, -1, 77,
838 -1, 166, 271, -1, 166, 164, 270, 165, -1, 222,
839 8, 77, -1, 222, 8, 77, 13, 264, -1, 77,
840 -1, 77, 13, 264, -1, 223, 224, -1, -1, 239,
841 244, 163, -1, 245, 163, -1, 226, -1, -1, 240,
842 251, 225, 188, 75, 161, 211, 162, 216, 238, -1,
843 109, 227, 228, -1, 256, -1, 227, 8, 256, -1,
844 163, -1, 164, 229, 165, -1, -1, 230, -1, 231,
845 -1, 230, 231, -1, 232, 163, -1, 236, 163, -1,
846 235, 154, 233, -1, 256, -1, 233, 8, 256, -1,
847 75, -1, 235, -1, 256, 147, 75, -1, 234, 95,
848 237, 75, -1, 234, 95, 242, -1, -1, 242, -1,
849 163, -1, 164, 176, 165, -1, 241, -1, 117, -1,
850 -1, 241, -1, 242, -1, 241, 242, -1, 243, -1,
851 111, -1, 112, -1, 113, -1, 116, -1, 115, -1,
852 114, -1, 244, 8, 77, -1, 244, 8, 77, 13,
853 264, -1, 77, -1, 77, 13, 264, -1, 245, 8,
854 75, 13, 264, -1, 104, 75, 13, 264, -1, 246,
855 8, 270, -1, 270, -1, -1, 248, -1, 248, 8,
856 270, -1, 270, -1, 128, 161, 293, 162, 13, 270,
857 -1, 274, 13, 270, -1, 274, 13, 32, 274, -1,
858 274, 13, 32, 67, 257, 262, -1, 66, 270, -1,
859 274, 24, 270, -1, 274, 23, 270, -1, 274, 22,
860 270, -1, 274, 21, 270, -1, 274, 20, 270, -1,
861 274, 19, 270, -1, 274, 18, 270, -1, 274, 17,
862 270, -1, 274, 16, 270, -1, 274, 15, 270, -1,
863 274, 14, 270, -1, 273, 64, -1, 64, 273, -1,
864 273, 63, -1, 63, 273, -1, 270, 28, 270, -1,
865 270, 29, 270, -1, 270, 9, 270, -1, 270, 11,
866 270, -1, 270, 10, 270, -1, 270, 30, 270, -1,
867 270, 32, 270, -1, 270, 31, 270, -1, 270, 46,
868 270, -1, 270, 44, 270, -1, 270, 45, 270, -1,
869 270, 47, 270, -1, 270, 48, 270, -1, 270, 49,
870 270, -1, 270, 43, 270, -1, 270, 42, 270, -1,
871 44, 270, -1, 45, 270, -1, 50, 270, -1, 52,
872 270, -1, 270, 35, 270, -1, 270, 34, 270, -1,
873 270, 37, 270, -1, 270, 36, 270, -1, 270, 38,
874 270, -1, 270, 41, 270, -1, 270, 39, 270, -1,
875 270, 40, 270, -1, 270, 33, 270, -1, 270, 51,
876 257, -1, 299, -1, 302, -1, 270, 25, 270, 26,
877 270, -1, 270, 25, 26, 270, -1, 270, 27, 270,
878 -1, 297, -1, 62, 270, -1, 61, 270, -1, 60,
879 270, -1, 57, 270, -1, 56, 270, -1, 55, 270,
880 -1, 54, 270, -1, 68, 261, -1, 53, 270, -1,
881 84, -1, 266, -1, 300, -1, 301, -1, 12, 270,
882 -1, 158, -1, 251, 188, 161, 211, 162, 252, 216,
883 164, 176, 165, -1, 116, 251, 188, 161, 211, 162,
884 252, 216, 164, 176, 165, -1, 158, 249, -1, 158,
885 274, -1, 158, 270, 127, 249, -1, 158, 270, 127,
886 274, -1, 103, -1, -1, 109, 161, 253, 162, -1,
887 253, 8, 77, -1, 253, 8, 32, 77, -1, 77,
888 -1, 32, 77, -1, 171, 161, 217, 162, -1, 150,
889 153, 171, 161, 217, 162, -1, 153, 171, 161, 217,
890 162, -1, 255, 147, 75, 161, 217, 162, -1, 282,
891 147, 75, 161, 217, 162, -1, 282, 147, 280, 161,
892 217, 162, -1, 255, 147, 280, 161, 217, 162, -1,
893 280, 161, 217, 162, -1, 116, -1, 171, -1, 150,
894 153, 171, -1, 153, 171, -1, 171, -1, 150, 153,
895 171, -1, 153, 171, -1, 255, -1, 258, -1, 285,
896 126, 289, 259, -1, 285, -1, 259, 260, -1, -1,
897 126, 289, -1, -1, 161, 162, -1, 161, 270, 162,
898 -1, -1, 161, 217, 162, -1, 73, -1, 74, -1,
899 83, -1, 133, -1, 134, -1, 152, -1, 130, -1,
900 131, -1, 157, -1, 132, -1, 151, -1, 144, -1,
901 263, -1, 171, -1, 150, 153, 171, -1, 153, 171,
902 -1, 44, 264, -1, 45, 264, -1, 129, 161, 267,
903 162, -1, 65, 267, 167, -1, 265, -1, 255, 147,
904 75, -1, 76, -1, 303, -1, 171, -1, 150, 153,
905 171, -1, 153, 171, -1, 263, -1, -1, 269, 268,
906 -1, -1, 8, -1, 269, 8, 264, 127, 264, -1,
907 269, 8, 264, -1, 264, 127, 264, -1, 264, -1,
908 271, -1, 249, -1, 274, -1, 274, -1, 274, -1,
909 284, 126, 289, 279, 275, -1, 284, -1, 275, 276,
910 -1, -1, 126, 289, 279, -1, 277, 65, 288, 167,
911 -1, 278, 65, 288, 167, -1, 161, 217, 162, -1,
912 278, -1, 277, -1, -1, 286, -1, 292, 286, -1,
913 255, 147, 280, -1, 282, 147, 280, -1, 286, -1,
914 283, 65, 288, 167, -1, 254, 65, 288, 167, -1,
915 285, -1, 283, -1, 254, -1, 286, -1, 161, 302,
916 162, -1, 292, 286, -1, 281, -1, 286, 65, 288,
917 167, -1, 286, 164, 270, 165, -1, 287, -1, 77,
918 -1, 166, 164, 270, 165, -1, -1, 270, -1, 290,
919 -1, 280, -1, 290, 65, 288, 167, -1, 290, 164,
920 270, 165, -1, 291, -1, 75, -1, 164, 270, 165,
921 -1, 166, -1, 292, 166, -1, 293, 8, 294, -1,
922 294, -1, 274, -1, 128, 161, 293, 162, -1, -1,
923 -1, 296, 268, -1, 296, 8, 270, 127, 270, -1,
924 296, 8, 270, -1, 270, 127, 270, -1, 270, -1,
925 296, 8, 270, 127, 32, 272, -1, 296, 8, 32,
926 272, -1, 270, 127, 32, 272, -1, 32, 272, -1,
927 119, 161, 298, 162, -1, 120, 161, 274, 162, -1,
928 7, 270, -1, 6, 270, -1, 5, 161, 270, 162,
929 -1, 4, 270, -1, 3, 270, -1, 274, -1, 298,
930 8, 274, -1, 161, 270, 162, -1, 161, 250, 162,
931 -1, 301, 65, 288, 167, -1, 300, 65, 288, 167,
932 -1, 83, 65, 288, 167, -1, 303, 65, 288, 167,
933 -1, 75, 65, 288, 167, -1, 129, 161, 295, 162,
934 -1, 65, 295, 167, -1, 67, 257, 262, -1, 67,
935 122, 262, 192, 195, 164, 223, 165, -1, 255, 147,
936 75, -1, 282, 147, 75, -1
937 };
938
939 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
940 static const yytype_uint16 yyrline[] =
941 {
942 0, 207, 207, 213, 216, 222, 225, 231, 232, 233,
943 234, 239, 246, 252, 260, 265, 272, 275, 282, 287,
944 293, 299, 309, 316, 326, 329, 335, 336, 337, 338,
945 346, 347, 353, 356, 359, 365, 368, 398, 417, 424,
946 432, 445, 452, 459, 466, 473, 480, 487, 494, 501,
947 506, 511, 516, 520, 524, 528, 534, 552, 569, 575,
948 579, 588, 597, 605, 616, 620, 626, 638, 641, 645,
949 654, 658, 665, 669, 673, 677, 680, 686, 702, 714,
950 729, 733, 740, 747, 754, 757, 763, 767, 770, 778,
951 781, 789, 792, 798, 801, 807, 808, 816, 817, 825,
952 826, 834, 835, 843, 849, 860, 863, 873, 878, 890,
953 893, 901, 911, 912, 916, 917, 925, 928, 938, 941,
954 951, 954, 962, 965, 973, 974, 980, 988, 997, 1006,
955 1014, 1022, 1031, 1041, 1053, 1057, 1063, 1066, 1067, 1074,
956 1077, 1080, 1086, 1089, 1096, 1097, 1103, 1106, 1112, 1113,
957 1117, 1124, 1128, 1135, 1138, 1142, 1149, 1157, 1165, 1173,
958 1184, 1187, 1193, 1201, 1205, 1208, 1208, 1226, 1234, 1237,
959 1243, 1246, 1252, 1255, 1261, 1265, 1272, 1275, 1281, 1289,
960 1293, 1300, 1304, 1310, 1318, 1324, 1333, 1336, 1344, 1347,
961 1353, 1354, 1361, 1364, 1371, 1375, 1381, 1387, 1388, 1389,
962 1390, 1391, 1392, 1396, 1403, 1410, 1417, 1427, 1436, 1448,
963 1451, 1458, 1461, 1466, 1469, 1476, 1484, 1490, 1500, 1514,
964 1519, 1525, 1531, 1537, 1543, 1549, 1555, 1561, 1567, 1573,
965 1579, 1585, 1590, 1595, 1600, 1605, 1611, 1617, 1623, 1629,
966 1635, 1641, 1647, 1653, 1679, 1685, 1691, 1697, 1703, 1709,
967 1715, 1721, 1726, 1731, 1736, 1741, 1747, 1753, 1759, 1765,
968 1771, 1777, 1783, 1789, 1795, 1801, 1802, 1803, 1811, 1819,
969 1825, 1826, 1831, 1836, 1841, 1846, 1851, 1856, 1861, 1866,
970 1871, 1875, 1876, 1877, 1878, 1883, 1889, 1904, 1928, 1934,
971 1940, 1946, 1955, 1959, 1962, 1970, 1973, 1978, 1982, 1991,
972 1996, 2003, 2009, 2018, 2027, 2036, 2045, 2053, 2056, 2059,
973 2063, 2070, 2073, 2077, 2084, 2085, 2089, 2104, 2108, 2111,
974 2117, 2123, 2126, 2130, 2138, 2141, 2147, 2150, 2153, 2156,
975 2159, 2162, 2165, 2168, 2171, 2174, 2177, 2180, 2186, 2187,
976 2188, 2192, 2196, 2201, 2206, 2211, 2216, 2220, 2228, 2229,
977 2230, 2231, 2234, 2237, 2241, 2244, 2250, 2253, 2257, 2268,
978 2275, 2282, 2292, 2293, 2297, 2301, 2305, 2309, 2335, 2339,
979 2342, 2348, 2358, 2364, 2373, 2379, 2380, 2381, 2387, 2388,
980 2403, 2408, 2416, 2420, 2426, 2435, 2436, 2437, 2441, 2442,
981 2445, 2457, 2461, 2467, 2473, 2477, 2480, 2488, 2491, 2497,
982 2498, 2502, 2508, 2514, 2518, 2522, 2528, 2531, 2546, 2549,
983 2556, 2557, 2561, 2567, 2570, 2576, 2583, 2590, 2597, 2604,
984 2611, 2618, 2625, 2635, 2645, 2655, 2658, 2661, 2671, 2674,
985 2680, 2684, 2690, 2695, 2701, 2707, 2713, 2719, 2725, 2734,
986 2739, 2747, 2753, 2771, 2776
987 };
988 #endif
989
990 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
991 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
992 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
993 static const char *const yytname[] =
994 {
995 "$end", "error", "$undefined", "T_REQUIRE_ONCE", "T_REQUIRE", "T_EVAL",
996 "T_INCLUDE_ONCE", "T_INCLUDE", "','", "T_LOGICAL_OR", "T_LOGICAL_XOR",
997 "T_LOGICAL_AND", "T_PRINT", "'='", "T_SR_EQUAL", "T_SL_EQUAL",
998 "T_XOR_EQUAL", "T_OR_EQUAL", "T_AND_EQUAL", "T_MOD_EQUAL",
999 "T_CONCAT_EQUAL", "T_DIV_EQUAL", "T_MUL_EQUAL", "T_MINUS_EQUAL",
1000 "T_PLUS_EQUAL", "'?'", "':'", "T_COALESCE", "T_BOOLEAN_OR",
1001 "T_BOOLEAN_AND", "'|'", "'^'", "'&'", "T_SPACESHIP",
1002 "T_IS_NOT_IDENTICAL", "T_IS_IDENTICAL", "T_IS_NOT_EQUAL", "T_IS_EQUAL",
1003 "'<'", "'>'", "T_IS_GREATER_OR_EQUAL", "T_IS_SMALLER_OR_EQUAL", "T_SR",
1004 "T_SL", "'+'", "'-'", "'.'", "'*'", "'/'", "'%'", "'!'", "T_INSTANCEOF",
1005 "'~'", "'@'", "T_UNSET_CAST", "T_BOOL_CAST", "T_OBJECT_CAST",
1006 "T_ARRAY_CAST", "T_BINARY_CAST", "T_UNICODE_CAST", "T_STRING_CAST",
1007 "T_DOUBLE_CAST", "T_INT_CAST", "T_DEC", "T_INC", "'['", "T_CLONE",
1008 "T_NEW", "T_EXIT", "T_IF", "T_ELSEIF", "T_ELSE", "T_ENDIF", "T_LNUMBER",
1009 "T_DNUMBER", "T_STRING", "T_STRING_VARNAME", "T_VARIABLE",
1010 "T_NUM_STRING", "T_INLINE_HTML", "T_CHARACTER", "T_BAD_CHARACTER",
1011 "T_ENCAPSED_AND_WHITESPACE", "T_CONSTANT_ENCAPSED_STRING",
1012 "T_BACKTICKS_EXPR", "T_ECHO", "T_DO", "T_WHILE", "T_ENDWHILE", "T_FOR",
1013 "T_ENDFOR", "T_FOREACH", "T_ENDFOREACH", "T_DECLARE", "T_ENDDECLARE",
1014 "T_AS", "T_SWITCH", "T_ENDSWITCH", "T_CASE", "T_DEFAULT", "T_BREAK",
1015 "T_CONTINUE", "T_GOTO", "T_FUNCTION", "T_CONST", "T_RETURN", "T_TRY",
1016 "T_CATCH", "T_THROW", "T_USE", "T_GLOBAL", "T_PUBLIC", "T_PROTECTED",
1017 "T_PRIVATE", "T_FINAL", "T_ABSTRACT", "T_STATIC", "T_VAR", "T_UNSET",
1018 "T_ISSET", "T_EMPTY", "T_HALT_COMPILER", "T_CLASS", "T_INTERFACE",
1019 "T_EXTENDS", "T_IMPLEMENTS", "T_OBJECT_OPERATOR", "T_DOUBLE_ARROW",
1020 "T_LIST", "T_ARRAY", "T_CLASS_C", "T_METHOD_C", "T_FUNC_C", "T_LINE",
1021 "T_FILE", "T_COMMENT", "T_DOC_COMMENT", "T_OPEN_TAG",
1022 "T_OPEN_TAG_WITH_ECHO", "T_OPEN_TAG_FAKE", "T_CLOSE_TAG", "T_WHITESPACE",
1023 "T_START_HEREDOC", "T_END_HEREDOC", "T_HEREDOC",
1024 "T_DOLLAR_OPEN_CURLY_BRACES", "T_CURLY_OPEN", "T_PAAMAYIM_NEKUDOTAYIM",
1025 "T_BINARY_DOUBLE", "T_BINARY_HEREDOC", "T_NAMESPACE", "T_NS_C", "T_DIR",
1026 "T_NS_SEPARATOR", "T_INSTEADOF", "T_CALLABLE", "T_TRAIT", "T_TRAIT_C",
1027 "T_YIELD", "T_FINALLY", "T_ELLIPSIS", "'('", "')'", "';'", "'{'", "'}'",
1028 "'$'", "']'", "$accept", "start", "top_statement_list", "namespace_name",
1029 "top_statement", "use_declarations", "use_declaration",
1030 "constant_declaration", "inner_statement_list", "inner_statement",
1031 "statement", "unticked_statement", "catch_list", "catch",
1032 "finally_statement", "non_empty_finally_statement", "unset_variables",
1033 "unset_variable", "function_declaration_statement",
1034 "class_declaration_statement", "is_reference",
1035 "unticked_function_declaration_statement",
1036 "unticked_class_declaration_statement", "class_entry_type",
1037 "extends_from", "interface_entry", "interface_extends_list",
1038 "implements_list", "interface_list", "foreach_optional_arg",
1039 "foreach_variable", "for_statement", "foreach_statement",
1040 "declare_statement", "declare_list", "switch_case_list", "case_list",
1041 "case_separator", "while_statement", "elseif_list", "new_elseif_list",
1042 "else_single", "new_else_single", "parameter_list",
1043 "non_empty_parameter_list", "parameter", "optional_type", "type",
1044 "return_type", "function_call_parameter_list",
1045 "non_empty_function_call_parameter_list", "argument", "global_var_list",
1046 "global_var", "static_var_list", "class_statement_list",
1047 "class_statement", "@1", "trait_use_statement", "trait_list",
1048 "trait_adaptations", "trait_adaptation_list",
1049 "non_empty_trait_adaptation_list", "trait_adaptation_statement",
1050 "trait_precedence", "trait_reference_list", "trait_method_reference",
1051 "trait_method_reference_fully_qualified", "trait_alias",
1052 "trait_modifiers", "method_body", "variable_modifiers",
1053 "method_modifiers", "non_empty_member_modifiers", "member_modifier",
1054 "basic_member_modifier", "class_variable_declaration",
1055 "class_constant_declaration", "echo_expr_list", "for_expr",
1056 "non_empty_for_expr", "expr_without_variable", "yield_expr", "function",
1057 "lexical_vars", "lexical_var_list", "function_call", "class_name",
1058 "fully_qualified_class_name", "class_name_reference",
1059 "dynamic_class_name_reference", "dynamic_class_name_variable_properties",
1060 "dynamic_class_name_variable_property", "exit_expr", "ctor_arguments",
1061 "common_scalar", "static_scalar", "static_class_constant", "scalar",
1062 "static_array_pair_list", "possible_comma",
1063 "non_empty_static_array_pair_list", "expr", "r_variable", "w_variable",
1064 "rw_variable", "variable", "variable_properties", "variable_property",
1065 "array_method_dereference", "method", "method_or_not",
1066 "variable_without_objects", "static_member", "variable_class_name",
1067 "array_function_dereference", "base_variable_with_function_calls",
1068 "base_variable", "reference_variable", "compound_variable", "dim_offset",
1069 "object_property", "object_dim_list", "variable_name",
1070 "simple_indirect_reference", "assignment_list",
1071 "assignment_list_element", "array_pair_list",
1072 "non_empty_array_pair_list", "internal_functions_in_yacc",
1073 "isset_variables", "parenthesis_expr", "combined_scalar_offset",
1074 "combined_scalar", "new_expr", "class_constant", 0
1075 };
1076 #endif
1077
1078 # ifdef YYPRINT
1079 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1080 token YYLEX-NUM. */
1081 static const yytype_uint16 yytoknum[] =
1082 {
1083 0, 256, 257, 258, 259, 260, 261, 262, 44, 263,
1084 264, 265, 266, 61, 267, 268, 269, 270, 271, 272,
1085 273, 274, 275, 276, 277, 63, 58, 278, 279, 280,
1086 124, 94, 38, 281, 282, 283, 284, 285, 60, 62,
1087 286, 287, 288, 289, 43, 45, 46, 42, 47, 37,
1088 33, 290, 126, 64, 291, 292, 293, 294, 295, 296,
1089 297, 298, 299, 300, 301, 91, 302, 303, 304, 305,
1090 306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
1091 316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
1092 326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
1093 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1094 346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
1095 356, 357, 358, 359, 360, 361, 362, 363, 364, 365,
1096 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1097 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
1098 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
1099 396, 40, 41, 59, 123, 125, 36, 93
1100 };
1101 # endif
1102
1103 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1104 static const yytype_uint16 yyr1[] =
1105 {
1106 0, 168, 169, 170, 170, 171, 171, 172, 172, 172,
1107 172, 172, 172, 172, 172, 172, 173, 173, 174, 174,
1108 174, 174, 175, 175, 176, 176, 177, 177, 177, 177,
1109 178, 178, 178, 178, 178, 179, 179, 179, 179, 179,
1110 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
1111 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
1112 179, 179, 179, 179, 180, 180, 181, 182, 182, 183,
1113 184, 184, 185, 186, 187, 188, 188, 189, 190, 190,
1114 191, 191, 191, 191, 192, 192, 193, 194, 194, 195,
1115 195, 196, 196, 197, 197, 198, 198, 199, 199, 200,
1116 200, 201, 201, 202, 202, 203, 203, 203, 203, 204,
1117 204, 204, 205, 205, 206, 206, 207, 207, 208, 208,
1118 209, 209, 210, 210, 211, 211, 212, 212, 212, 212,
1119 212, 212, 212, 212, 213, 213, 214, 214, 214, 215,
1120 215, 215, 216, 216, 217, 217, 218, 218, 219, 219,
1121 219, 220, 220, 221, 221, 221, 222, 222, 222, 222,
1122 223, 223, 224, 224, 224, 225, 224, 226, 227, 227,
1123 228, 228, 229, 229, 230, 230, 231, 231, 232, 233,
1124 233, 234, 234, 235, 236, 236, 237, 237, 238, 238,
1125 239, 239, 240, 240, 241, 241, 242, 243, 243, 243,
1126 243, 243, 243, 244, 244, 244, 244, 245, 245, 246,
1127 246, 247, 247, 248, 248, 249, 249, 249, 249, 249,
1128 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1129 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1130 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1131 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1132 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1133 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
1134 249, 249, 249, 249, 249, 249, 249, 249, 250, 250,
1135 250, 250, 251, 252, 252, 253, 253, 253, 253, 254,
1136 254, 254, 254, 254, 254, 254, 254, 255, 255, 255,
1137 255, 256, 256, 256, 257, 257, 258, 258, 259, 259,
1138 260, 261, 261, 261, 262, 262, 263, 263, 263, 263,
1139 263, 263, 263, 263, 263, 263, 263, 263, 264, 264,
1140 264, 264, 264, 264, 264, 264, 264, 265, 266, 266,
1141 266, 266, 266, 266, 267, 267, 268, 268, 269, 269,
1142 269, 269, 270, 270, 271, 272, 273, 274, 274, 275,
1143 275, 276, 277, 277, 278, 279, 279, 279, 280, 280,
1144 281, 281, 282, 283, 283, 284, 284, 284, 285, 285,
1145 285, 285, 286, 286, 286, 287, 287, 288, 288, 289,
1146 289, 290, 290, 290, 291, 291, 292, 292, 293, 293,
1147 294, 294, 294, 295, 295, 296, 296, 296, 296, 296,
1148 296, 296, 296, 297, 297, 297, 297, 297, 297, 297,
1149 298, 298, 299, 299, 300, 300, 300, 300, 300, 301,
1150 301, 302, 302, 303, 303
1151 };
1152
1153 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1154 static const yytype_uint8 yyr2[] =
1155 {
1156 0, 2, 1, 2, 0, 1, 3, 1, 1, 1,
1157 4, 3, 5, 4, 3, 2, 3, 1, 1, 3,
1158 2, 4, 5, 4, 2, 0, 1, 1, 1, 4,
1159 1, 2, 1, 1, 1, 3, 7, 10, 5, 7,
1160 9, 5, 2, 3, 2, 3, 2, 3, 3, 3,
1161 3, 3, 1, 2, 2, 5, 8, 8, 5, 1,
1162 6, 5, 3, 3, 2, 1, 8, 0, 1, 4,
1163 1, 3, 1, 1, 1, 0, 1, 10, 7, 6,
1164 1, 2, 2, 1, 0, 2, 1, 0, 2, 0,
1165 2, 1, 3, 0, 2, 1, 2, 1, 4, 1,
1166 4, 1, 4, 3, 5, 3, 4, 4, 5, 0,
1167 5, 4, 1, 1, 1, 4, 0, 6, 0, 7,
1168 0, 2, 0, 3, 1, 0, 2, 3, 5, 4,
1169 4, 5, 7, 6, 2, 1, 0, 1, 2, 1,
1170 1, 1, 0, 2, 1, 0, 1, 3, 1, 2,
1171 2, 3, 1, 1, 2, 4, 3, 5, 1, 3,
1172 2, 0, 3, 2, 1, 0, 10, 3, 1, 3,
1173 1, 3, 0, 1, 1, 2, 2, 2, 3, 1,
1174 3, 1, 1, 3, 4, 3, 0, 1, 1, 3,
1175 1, 1, 0, 1, 1, 2, 1, 1, 1, 1,
1176 1, 1, 1, 3, 5, 1, 3, 5, 4, 3,
1177 1, 0, 1, 3, 1, 6, 3, 4, 6, 2,
1178 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1179 3, 2, 2, 2, 2, 3, 3, 3, 3, 3,
1180 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1181 3, 2, 2, 2, 2, 3, 3, 3, 3, 3,
1182 3, 3, 3, 3, 3, 1, 1, 5, 4, 3,
1183 1, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1184 1, 1, 1, 1, 2, 1, 10, 11, 2, 2,
1185 4, 4, 1, 0, 4, 3, 4, 1, 2, 4,
1186 6, 5, 6, 6, 6, 6, 4, 1, 1, 3,
1187 2, 1, 3, 2, 1, 1, 4, 1, 2, 0,
1188 2, 0, 2, 3, 0, 3, 1, 1, 1, 1,
1189 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1190 3, 2, 2, 2, 4, 3, 1, 3, 1, 1,
1191 1, 3, 2, 1, 0, 2, 0, 1, 5, 3,
1192 3, 1, 1, 1, 1, 1, 1, 5, 1, 2,
1193 0, 3, 4, 4, 3, 1, 1, 0, 1, 2,
1194 3, 3, 1, 4, 4, 1, 1, 1, 1, 3,
1195 2, 1, 4, 4, 1, 1, 4, 0, 1, 1,
1196 1, 4, 4, 1, 1, 3, 1, 2, 3, 1,
1197 1, 4, 0, 0, 2, 5, 3, 3, 1, 6,
1198 4, 4, 2, 4, 4, 2, 2, 4, 2, 2,
1199 1, 3, 3, 3, 4, 4, 4, 4, 4, 4,
1200 3, 3, 8, 3, 3
1201 };
1202
1203 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1204 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1205 means the default is an error. */
1206 static const yytype_uint16 yydefact[] =
1207 {
1208 4, 0, 2, 1, 0, 0, 0, 0, 0, 0,
1209 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1210 0, 0, 0, 0, 413, 0, 0, 321, 0, 326,
1211 327, 5, 348, 395, 52, 328, 280, 0, 0, 0,
1212 0, 0, 0, 0, 0, 0, 0, 292, 0, 0,
1213 0, 0, 0, 0, 0, 0, 307, 0, 0, 0,
1214 0, 80, 86, 0, 0, 332, 333, 335, 329, 330,
1215 32, 33, 34, 337, 0, 336, 331, 0, 83, 334,
1216 285, 0, 59, 25, 406, 350, 3, 0, 7, 30,
1217 8, 9, 73, 74, 0, 0, 363, 0, 75, 387,
1218 0, 353, 281, 0, 362, 0, 364, 0, 391, 0,
1219 386, 368, 385, 388, 394, 0, 270, 265, 282, 283,
1220 266, 349, 5, 307, 0, 285, 75, 429, 428, 0,
1221 426, 425, 284, 251, 252, 253, 254, 279, 277, 276,
1222 275, 274, 273, 272, 271, 5, 307, 0, 0, 0,
1223 308, 0, 234, 366, 0, 232, 0, 418, 0, 356,
1224 219, 324, 0, 0, 308, 314, 324, 315, 0, 317,
1225 388, 0, 0, 278, 0, 31, 397, 397, 0, 210,
1226 0, 0, 211, 0, 0, 0, 42, 0, 44, 0,
1227 0, 0, 46, 363, 0, 364, 25, 0, 0, 18,
1228 0, 17, 153, 0, 0, 152, 82, 81, 158, 0,
1229 75, 0, 0, 0, 0, 412, 413, 0, 4, 0,
1230 352, 363, 0, 364, 0, 0, 266, 0, 0, 0,
1231 145, 0, 15, 84, 87, 54, 76, 0, 397, 0,
1232 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1233 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1234 0, 0, 0, 0, 0, 0, 0, 0, 53, 233,
1235 231, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1236 0, 0, 0, 145, 0, 397, 0, 397, 0, 407,
1237 390, 397, 397, 397, 0, 0, 0, 310, 0, 0,
1238 0, 422, 365, 0, 440, 357, 414, 145, 84, 0,
1239 310, 0, 441, 0, 0, 390, 322, 0, 0, 398,
1240 0, 0, 0, 51, 0, 0, 0, 212, 214, 363,
1241 364, 0, 0, 0, 43, 45, 63, 0, 47, 48,
1242 0, 62, 20, 0, 0, 14, 0, 154, 364, 0,
1243 49, 0, 0, 50, 0, 0, 70, 72, 430, 0,
1244 0, 0, 0, 410, 0, 409, 0, 351, 0, 11,
1245 4, 145, 0, 433, 432, 389, 0, 35, 24, 26,
1246 27, 28, 0, 6, 0, 0, 0, 144, 146, 148,
1247 0, 0, 89, 0, 0, 0, 136, 0, 443, 380,
1248 378, 0, 237, 239, 238, 0, 0, 269, 235, 236,
1249 240, 242, 241, 263, 256, 255, 258, 257, 259, 261,
1250 262, 260, 250, 249, 244, 245, 243, 246, 247, 248,
1251 264, 0, 216, 230, 229, 228, 227, 226, 225, 224,
1252 223, 222, 221, 220, 0, 444, 381, 0, 404, 0,
1253 400, 377, 399, 403, 0, 0, 0, 0, 0, 427,
1254 309, 0, 0, 0, 417, 0, 416, 0, 89, 309,
1255 380, 381, 319, 323, 0, 438, 436, 209, 0, 0,
1256 211, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1257 354, 328, 0, 0, 0, 339, 0, 338, 23, 346,
1258 0, 0, 19, 16, 0, 151, 159, 156, 136, 0,
1259 0, 0, 423, 424, 10, 412, 412, 0, 439, 145,
1260 13, 0, 0, 363, 364, 0, 396, 150, 149, 299,
1261 0, 0, 0, 0, 311, 85, 0, 0, 88, 91,
1262 161, 136, 0, 140, 141, 0, 124, 0, 137, 139,
1263 384, 145, 145, 379, 268, 0, 0, 217, 306, 145,
1264 145, 383, 0, 145, 376, 375, 370, 397, 0, 392,
1265 393, 435, 434, 437, 421, 420, 0, 325, 0, 316,
1266 25, 116, 0, 25, 114, 38, 0, 213, 93, 0,
1267 93, 95, 103, 0, 25, 101, 58, 109, 109, 41,
1268 342, 343, 361, 0, 356, 354, 0, 341, 0, 0,
1269 0, 67, 65, 61, 21, 155, 0, 0, 71, 55,
1270 431, 0, 408, 0, 0, 12, 301, 0, 147, 22,
1271 0, 313, 90, 161, 0, 192, 0, 138, 293, 136,
1272 0, 135, 0, 126, 0, 0, 267, 324, 0, 0,
1273 405, 0, 397, 397, 367, 0, 0, 0, 415, 161,
1274 0, 318, 118, 120, 0, 0, 211, 0, 0, 96,
1275 0, 0, 0, 109, 0, 109, 0, 0, 345, 357,
1276 355, 0, 340, 347, 0, 25, 64, 60, 68, 157,
1277 293, 411, 215, 300, 29, 312, 192, 92, 0, 0,
1278 197, 198, 199, 202, 201, 200, 191, 79, 160, 164,
1279 0, 0, 190, 194, 196, 0, 142, 0, 142, 0,
1280 127, 134, 0, 302, 305, 218, 303, 304, 374, 0,
1281 0, 0, 369, 401, 402, 419, 192, 320, 122, 0,
1282 0, 36, 39, 0, 0, 94, 0, 0, 104, 0,
1283 0, 0, 0, 0, 0, 105, 360, 359, 344, 0,
1284 0, 142, 78, 0, 0, 168, 205, 0, 165, 195,
1285 0, 163, 136, 0, 0, 0, 0, 130, 0, 129,
1286 372, 373, 377, 442, 0, 0, 0, 0, 121, 115,
1287 0, 25, 99, 57, 56, 102, 0, 107, 0, 112,
1288 113, 25, 106, 0, 0, 69, 0, 0, 0, 170,
1289 172, 167, 0, 0, 162, 75, 0, 143, 25, 0,
1290 297, 0, 25, 131, 0, 128, 371, 0, 25, 0,
1291 0, 25, 97, 40, 0, 108, 25, 111, 358, 0,
1292 25, 208, 169, 5, 0, 173, 174, 0, 0, 182,
1293 0, 0, 206, 203, 0, 0, 0, 298, 0, 294,
1294 0, 0, 133, 0, 123, 37, 0, 0, 0, 110,
1295 25, 0, 171, 175, 176, 186, 0, 177, 0, 0,
1296 0, 207, 77, 0, 295, 286, 132, 0, 117, 0,
1297 100, 0, 287, 0, 185, 178, 179, 183, 204, 136,
1298 296, 25, 98, 66, 184, 0, 0, 119, 180, 142,
1299 0, 188, 25, 166, 0, 189
1300 };
1301
1302 /* YYDEFGOTO[NTERM-NUM]. */
1303 static const yytype_int16 yydefgoto[] =
1304 {
1305 -1, 1, 2, 85, 86, 200, 201, 87, 227, 378,
1306 379, 89, 611, 612, 687, 613, 355, 356, 380, 381,
1307 237, 92, 93, 94, 392, 95, 394, 537, 538, 668,
1308 590, 833, 793, 596, 332, 599, 674, 801, 585, 663,
1309 738, 741, 786, 545, 546, 643, 547, 548, 773, 386,
1310 387, 388, 204, 205, 209, 635, 708, 815, 709, 764,
1311 811, 844, 845, 846, 847, 895, 848, 849, 850, 893,
1312 913, 710, 711, 712, 713, 714, 767, 715, 178, 326,
1313 327, 96, 97, 126, 718, 821, 99, 100, 549, 166,
1314 167, 579, 661, 173, 308, 101, 602, 499, 102, 603,
1315 306, 604, 103, 104, 301, 105, 106, 654, 732, 564,
1316 565, 566, 107, 108, 109, 110, 111, 112, 113, 114,
1317 320, 451, 452, 453, 115, 364, 365, 158, 159, 116,
1318 359, 117, 118, 119, 120, 121
1319 };
1320
1321 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1322 STATE-NUM. */
1323 #define YYPACT_NINF -705
1324 static const yytype_int16 yypact[] =
1325 {
1326 -705, 103, 1748, -705, 6051, 6051, -101, 6051, 6051, 6051,
1327 6051, 6051, 6051, 6051, 6051, 6051, 6051, 6051, 6051, 6051,
1328 6051, 6051, 521, 521, 4721, 6051, 467, -67, -55, -705,
1329 -705, 57, -705, -705, -705, 72, -705, 6051, 4446, -21,
1330 -4, 84, 109, 123, 4854, 4987, 146, -705, 215, 5120,
1331 129, 6051, 81, -19, 180, 197, 20, 171, 189, 191,
1332 194, -705, -705, 196, 201, -705, -705, -705, -705, -705,
1333 -705, -705, -705, -705, -14, -705, -705, 240, -705, -705,
1334 6051, 6184, -705, -705, 166, -42, -705, 16, -705, -705,
1335 -705, -705, -705, -705, 262, 293, -705, 31, 345, 314,
1336 235, -705, -705, 6556, -705, 193, 1380, 231, -705, 254,
1337 344, 288, -705, 67, -705, 7, -705, -705, 352, 354,
1338 -705, 355, 356, 321, 272, -705, 345, 7357, 7357, 6051,
1339 7357, 7357, 1592, -705, -705, 379, -705, -705, -705, -705,
1340 -705, -705, -705, -705, -705, -705, -705, 279, 240, 366,
1341 -57, 289, -705, -705, 290, -705, 521, 7152, 268, 430,
1342 -705, 280, 291, 240, 298, 296, 280, -705, 306, 330,
1343 -40, 7, 5253, -705, 6051, -705, 6051, 6051, 21, 7357,
1344 353, 6051, 6051, 6051, 388, 6051, -705, 6607, -705, 6650,
1345 302, 453, -705, 307, 7357, 543, -705, 6693, 240, -7,
1346 23, -705, -705, 281, 26, -705, -705, -705, 458, 27,
1347 345, 521, 521, 521, 310, 668, 4721, 240, -705, 115,
1348 94, 162, 7195, 53, 315, 6744, 318, 1890, 6051, 401,
1349 4588, 406, -705, 358, 361, -705, -705, -31, 6051, 38,
1350 6051, 6051, 6051, 5386, 6051, 6051, 6051, 6051, 6051, 6051,
1351 6051, 6051, 6051, 6051, 6051, 6051, 6051, 6051, 6051, 6051,
1352 6051, 6051, 6051, 6051, 6051, 6051, 6051, 573, -705, -705,
1353 -705, 5519, 6051, 6051, 6051, 6051, 6051, 6051, 6051, 6051,
1354 6051, 6051, 6051, 4588, 147, 6051, 167, 6051, 6051, 166,
1355 -12, 6051, 6051, 6051, 325, 6787, 240, -52, 318, 174,
1356 183, -705, -705, 5652, -705, 5785, -705, 4588, 358, 240,
1357 298, 10, -705, 10, 167, -35, -705, 6830, 6880, 7357,
1358 324, 332, 6051, -705, 327, 6923, 339, 484, 7357, 410,
1359 1287, 496, 25, 6966, -705, -705, -705, 1026, -705, -705,
1360 2032, -705, 0, 436, 81, -705, 6051, -705, -705, -19,
1361 -705, 1026, 438, -705, 359, 33, -705, -705, -705, 37,
1362 360, 365, 368, -705, 41, -705, 369, 119, 1442, -705,
1363 -705, 4588, 6051, -705, -705, -705, 373, -705, -705, -705,
1364 -705, -705, 1222, -705, 521, 6051, 375, 509, -705, 7357,
1365 517, 70, 413, 70, 387, 393, 192, 408, 415, 416,
1366 -35, 7, 7399, 7438, 1592, 6051, 7299, 7463, 7486, 7508,
1367 7529, 4641, 1740, 1882, 1882, 1882, 1882, 1882, 928, 928,
1368 928, 928, 501, 501, 316, 316, 316, 379, 379, 379,
1369 -705, 173, 1592, 1592, 1592, 1592, 1592, 1592, 1592, 1592,
1370 1592, 1592, 1592, 1592, 417, 420, 423, 418, -705, 6051,
1371 -705, 425, -33, -705, 421, 6329, 426, 427, 428, -705,
1372 77, 415, 420, 521, 7357, 521, 7256, 435, 413, 298,
1373 -705, -705, -705, -705, 3736, -705, -705, 7357, 6051, 3878,
1374 6051, 6051, 521, 237, 1026, 525, 4020, 13, 1026, 1026,
1375 1026, -705, 431, 449, 240, 66, 456, -705, -705, -705,
1376 -8, 530, -705, -705, 6372, -705, -705, 595, 192, 521,
1377 446, 521, -705, -705, -705, 668, 668, 597, -705, 4588,
1378 -705, 1606, 450, 232, 148, 459, -705, -705, 7357, -705,
1379 4588, 1026, 465, 240, 298, -705, 70, 447, 615, -705,
1380 -705, 192, 273, -705, -705, 460, 617, 48, -705, -705,
1381 -705, 4588, 4588, -35, 7463, 6051, 573, -705, -705, 4588,
1382 4588, -705, 6415, 4588, 561, 562, -705, 6051, 6051, -705,
1383 -705, -705, -705, -705, -705, -705, 5918, -705, 468, 508,
1384 -705, -705, 7016, -705, -705, -705, 475, 7357, 512, 521,
1385 512, -705, -705, 630, -705, -705, -705, 482, 483, -705,
1386 -705, -705, 524, 488, 649, 1026, 240, 130, 583, 498,
1387 497, -8, -705, -705, -705, -705, 1026, 503, -705, -705,
1388 -705, 44, -705, 6051, 504, -705, -705, 505, -705, -705,
1389 240, 298, 615, -705, 70, 815, 510, -705, 558, 260,
1390 14, -705, 596, 662, 514, 515, 7463, 280, 516, 518,
1391 -705, 523, 6051, 6051, 553, 519, 6468, 521, 7357, -705,
1392 167, -705, 3594, 329, 529, 2174, 6051, 237, 526, -705,
1393 531, 1026, 2316, -705, 198, -705, 163, 1026, -705, 1026,
1394 -705, 532, 135, -705, 70, -705, -705, -705, -705, -705,
1395 558, -705, 1592, -705, -705, 298, 947, -705, 621, 70,
1396 -705, -705, -705, -705, -705, -705, -705, -705, -705, -705,
1397 620, 321, 346, -705, -705, 28, 672, 538, 672, 50,
1398 687, -705, 1026, -705, -705, -705, -705, -705, -705, 535,
1399 537, 167, -705, -705, -705, -705, 1015, -705, 334, 544,
1400 4446, -705, -705, 545, 548, -705, 4162, 4162, -705, 550,
1401 287, 554, 6051, 55, 176, -705, -705, 589, -705, 642,
1402 2458, 672, -705, 708, 18, -705, 709, 30, -705, -705,
1403 652, -705, 260, 560, 82, 564, 14, 716, 1026, -705,
1404 -705, -705, 425, -705, 569, 705, 663, 6051, -705, -705,
1405 4304, -705, -705, -705, -705, -705, 574, -705, 6513, -705,
1406 -705, -705, -705, 1026, 576, -705, 572, 1026, 70, -705,
1407 154, -705, 1026, 664, -705, 345, 727, -705, -705, 665,
1408 -705, 47, -705, 734, 1026, -705, -705, 6051, -705, 585,
1409 7059, -705, -705, -705, 2600, -705, -705, 3594, -705, 588,
1410 -705, -705, -705, 654, 590, 154, -705, 591, 658, 602,
1411 598, 613, -705, 749, 690, 1026, 2742, -705, 169, -705,
1412 2884, 1026, -705, 7102, 3594, -705, 4446, 3026, 601, 3594,
1413 -705, 3168, -705, -705, -705, 457, 70, -705, 693, 1026,
1414 624, -705, -705, 712, -705, -705, -705, 772, -705, 637,
1415 -705, 3310, -705, 726, 728, 796, -705, -705, -705, 192,
1416 -705, -705, -705, -705, -705, 70, 643, 3594, -705, 672,
1417 69, -705, -705, -705, 3452, -705
1418 };
1419
1420 /* YYPGOTO[NTERM-NUM]. */
1421 static const yytype_int16 yypgoto[] =
1422 {
1423 -705, -705, -195, -15, -705, -705, 464, -705, -187, -705,
1424 4, -705, -705, 199, -705, 203, -705, 303, 2, 15,
1425 -125, -705, -705, -705, 507, -705, -705, 348, 283, 227,
1426 153, -705, 75, -705, -705, -705, -555, 35, -705, -705,
1427 -705, -705, -705, -493, -705, -584, -612, 282, -704, -243,
1428 -705, 295, -705, 474, -705, -525, -705, -705, -705, -705,
1429 -705, -705, -705, -17, -705, -705, -705, -705, -705, -705,
1430 -705, -705, -705, -705, -690, -705, -705, -705, -705, -459,
1431 -705, -29, 745, -2, 149, -705, -705, 24, -381, -251,
1432 -705, -705, -705, -705, -163, -225, 614, -705, -705, 233,
1433 243, -705, 762, 634, -365, 389, 710, -705, -705, -705,
1434 -705, 59, -221, -705, 689, -705, -705, -24, -13, -705,
1435 -149, -309, -705, -705, 60, 335, 328, 633, -705, -705,
1436 -705, -705, -705, -705, 29, -705
1437 };
1438
1439 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1440 positive, shift that token. If negative, reduce the rule which
1441 number is the opposite. If zero, do what YYDEFACT says.
1442 If YYTABLE_NINF, syntax error. */
1443 #define YYTABLE_NINF -383
1444 static const yytype_int16 yytable[] =
1445 {
1446 98, 294, 169, 312, 90, 472, 88, 150, 150, 340,
1447 535, 164, 539, 170, 775, 617, 430, 91, 399, 527,
1448 193, 586, 769, 368, 231, 287, 808, 719, 321, 322,
1449 287, 344, 567, 485, 349, 352, 770, 199, 813, 597,
1450 444, 509, 180, 676, 395, 511, 151, 151, 636, 516,
1451 165, 221, 516, 287, 210, 858, 720, 806, 202, 219,
1452 129, 145, 220, 446, 467, 450, 271, 272, 273, 274,
1453 275, 276, 277, 278, 279, 280, 281, 282, 399, 446,
1454 640, 799, 776, 175, 33, 354, 171, 33, 343, 397,
1455 470, 641, 471, 450, 172, 501, 229, 208, 574, 609,
1456 575, 229, 290, 3, 230, -308, 174, -382, 696, 371,
1457 226, 229, 497, 398, 819, 33, -366, -366, 750, 230,
1458 754, 210, 176, 47, 288, 641, 497, 641, 522, 288,
1459 396, 568, 287, 297, 736, 777, 447, 177, 454, 217,
1460 181, 150, 456, 457, 458, 145, 229, 203, 310, -379,
1461 218, 610, 288, 229, 329, 539, 145, 182, 315, 820,
1462 817, 271, 272, 273, 274, 275, 276, 277, 278, 279,
1463 280, 281, 282, 289, 642, 521, 84, 598, 298, 232,
1464 151, 809, 810, 342, 323, 894, 345, 486, 150, 350,
1465 353, 771, 823, 814, 235, 510, 150, 150, 150, 512,
1466 150, 883, 367, 517, 84, 910, 691, 744, 642, 859,
1467 642, -366, -366, -308, -382, -289, -289, 542, 800, 229,
1468 532, 190, 445, 533, 33, 98, 400, 151, -378, 843,
1469 229, 288, 911, 912, 198, 151, 151, 151, 519, 151,
1470 556, -310, 448, 169, 33, 183, 884, 229, 145, 461,
1471 33, 33, 164, 697, 170, 371, 269, 270, 462, 497,
1472 33, 752, 753, 497, 497, 497, -309, 145, 229, 589,
1473 184, 400, 229, 400, 752, 753, 624, -310, 369, 370,
1474 519, 460, -309, 229, 185, 542, 400, 400, 229, 146,
1475 191, 165, 735, 196, 469, 751, 752, 753, 400, 401,
1476 400, 400, 206, 759, 532, 647, 497, 533, 644, 645,
1477 -291, -291, 145, 84, 33, 145, 648, 649, 765, 207,
1478 651, 543, 495, 147, -288, -288, 148, 171, 755, 199,
1479 228, 449, 211, 84, 149, 145, 495, 233, 98, 84,
1480 84, 802, 532, 523, 401, 533, 401, 544, 145, 84,
1481 212, 737, 213, 146, -125, 214, 145, 215, 33, 401,
1482 401, 496, 216, 264, 265, 266, 98, 267, 234, 150,
1483 90, 401, 88, 401, 401, 496, 534, 236, 534, 238,
1484 497, 534, 239, 91, 796, 752, 753, 147, 553, 543,
1485 148, 497, 283, 662, -290, -290, 665, 146, 149, 739,
1486 740, 284, 543, 84, 784, 785, 906, 672, 151, 285,
1487 532, 152, 155, 533, 286, 544, 150, 291, 655, 292,
1488 293, 176, 782, 532, 47, 217, 533, 842, 544, 851,
1489 267, 147, 296, 26, 148, 304, 299, 300, 305, 450,
1490 324, 307, 149, 311, 309, 346, 497, 84, 150, -193,
1491 150, 229, 497, 313, 497, 151, 314, 700, 701, 702,
1492 703, 704, 705, 331, 851, 336, 337, 150, 150, 495,
1493 338, 351, 361, 495, 495, 495, 383, 373, 581, 607,
1494 375, 390, 391, 584, 725, 393, 396, 151, 478, 151,
1495 595, 475, 481, 534, 150, 896, 150, 497, 760, 476,
1496 150, 150, 480, 729, 730, 482, 151, 151, 496, 484,
1497 450, 502, 496, 496, 496, 507, 495, 530, 631, 98,
1498 508, 534, 513, 90, 908, 88, 534, 534, 514, 515,
1499 531, 518, 169, 151, 525, 151, 91, 529, 536, 151,
1500 151, 164, 145, 170, 33, 261, 262, 263, 264, 265,
1501 266, 540, 267, 497, 541, 496, 271, 272, 273, 274,
1502 275, 276, 277, 278, 279, 280, 281, 282, 700, 701,
1503 702, 703, 704, 705, 150, 550, 551, 552, 497, 558,
1504 165, 559, 497, 146, 560, 561, 563, 497, 569, 161,
1505 495, 682, 605, 571, 572, 573, 145, 577, 33, 497,
1506 593, 495, 606, 608, 834, 614, -366, -366, 616, 619,
1507 623, 633, 626, 151, 837, 695, 171, 162, 630, 534,
1508 163, 627, 638, 634, 534, 639, 652, 653, 149, 496,
1509 497, 856, 659, 84, 660, 860, 497, 146, 666, 667,
1510 496, 864, 150, 671, 867, 673, 675, 400, 145, 869,
1511 33, 677, 150, 871, 497, 678, 495, 679, 683, 684,
1512 98, 685, 495, 98, 495, 690, 693, 717, 694, 534,
1513 98, 147, 716, 721, 148, 722, 723, 724, 726, 731,
1514 727, 151, 149, 891, 534, 728, 733, 84, 746, 146,
1515 854, 151, 742, 747, 758, 496, 763, 766, 772, 774,
1516 778, 496, 780, 496, 781, 787, 339, 495, 789, 768,
1517 790, 154, 154, 795, 907, 168, 803, 797, 400, 804,
1518 401, 807, 812, 162, 818, 914, 163, 816, 822, 824,
1519 827, 828, 153, 153, 149, 829, 840, 835, 839, 84,
1520 855, 853, 857, 145, 788, 33, 496, 861, 865, -181,
1521 792, 792, 870, 875, 874, 872, 876, 534, 98, 195,
1522 878, 877, 879, 495, 890, 880, 127, 128, 897, 130,
1523 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
1524 141, 142, 143, 144, 146, 899, 157, 160, 495, 900,
1525 223, 401, 495, 534, 832, 534, 362, 495, 901, 179,
1526 902, 904, 496, -187, 905, 909, 187, 189, 503, 495,
1527 686, 194, 618, 197, 688, 468, 578, 670, 147, 632,
1528 745, 148, 794, 505, 637, 628, 224, 496, 873, 149,
1529 534, 496, 98, 836, 84, 98, 496, 347, 681, 761,
1530 495, 826, 222, 225, 622, 154, 495, 680, 496, 366,
1531 621, 0, 0, 0, 98, 0, 0, 0, 98, 0,
1532 0, 534, 98, 0, 495, 98, 302, 98, 0, 98,
1533 888, 0, 0, 0, 0, 0, 0, 0, 0, 496,
1534 0, 0, 0, 0, 534, 496, 0, 0, 0, 98,
1535 534, 295, 154, 330, 0, 0, 0, 0, 0, 0,
1536 154, 154, 154, 496, 154, 98, 0, 0, 0, 0,
1537 0, 0, 98, 348, 0, 0, 0, 0, 0, 698,
1538 0, 357, 358, 360, 699, 363, 700, 701, 702, 703,
1539 704, 705, 706, 0, 317, 0, 318, 0, 319, 319,
1540 0, 0, 0, 325, 328, 194, 0, 333, 0, 0,
1541 0, 498, 0, 0, 0, 0, 168, 0, 0, 0,
1542 0, 0, 0, 0, 0, 506, -383, -383, -383, -383,
1543 259, 260, 261, 262, 263, 264, 265, 266, 157, 267,
1544 707, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1545 382, 0, 389, 0, 0, 0, 0, 0, 0, 0,
1546 319, 0, 402, 403, 404, 406, 407, 408, 409, 410,
1547 411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
1548 421, 422, 423, 424, 425, 426, 427, 428, 429, 0,
1549 0, 0, 0, 432, 433, 434, 435, 436, 437, 438,
1550 439, 440, 441, 442, 443, 389, 0, 319, 0, 319,
1551 455, 698, 0, 319, 319, 319, 699, 0, 700, 701,
1552 702, 703, 704, 705, 706, 464, 0, 466, 0, 389,
1553 488, 489, 0, 154, 0, 0, 0, 0, 0, 0,
1554 0, 0, 524, 0, 477, 0, 0, 0, 0, 0,
1555 0, 490, 0, 0, 302, 0, 0, 0, 592, 29,
1556 30, 145, 600, 601, 0, 0, 0, 0, 504, 491,
1557 0, 0, 762, 0, 0, 0, 0, 0, 0, 698,
1558 154, 0, 0, 0, 699, 0, 700, 701, 702, 703,
1559 704, 705, 706, 389, 194, 0, 0, 0, 0, 0,
1560 0, 557, 146, 0, 0, 629, 0, 528, 0, 0,
1561 0, 0, 154, 0, 154, 492, 65, 66, 67, 68,
1562 69, 0, 0, 0, 0, 0, 0, 554, 0, 0,
1563 73, 154, 154, 302, 0, 302, 493, 75, 76, 494,
1564 783, 0, 0, 79, 0, 0, 0, 0, 0, 0,
1565 0, 0, 588, 591, 0, 0, 0, 0, 154, 0,
1566 154, 0, 0, 0, 154, 154, 0, 0, 0, 0,
1567 0, 562, 0, 0, 0, 0, 0, 0, 0, 357,
1568 0, 620, 0, 0, 0, 363, 363, 0, 0, 0,
1569 689, 240, 241, 242, 0, 0, 0, 0, 0, 0,
1570 582, 0, 328, 587, 0, 168, 0, 243, 0, 244,
1571 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1572 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1573 265, 266, 0, 267, 0, 0, 0, 0, 154, 0,
1574 0, 389, 0, 0, 0, 748, 0, 0, 0, 0,
1575 0, 756, 389, 757, 0, 0, 0, 0, 0, 669,
1576 271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
1577 281, 282, 0, 389, 389, 0, 0, 646, 0, 0,
1578 0, 389, 389, 0, 0, 389, 0, 0, 0, 319,
1579 656, 0, 0, 0, 0, 0, 779, 0, 658, 0,
1580 0, 0, 0, 0, 0, 0, 154, 0, 0, 0,
1581 -366, -366, 0, 0, 0, 0, 154, 0, 0, 0,
1582 0, 0, 0, 0, 0, 0, 0, 302, 0, 0,
1583 0, 0, 0, 0, 0, 0, 0, 591, 0, 0,
1584 0, 0, 483, 0, 0, 692, 0, 526, 0, 0,
1585 0, 0, 825, 271, 272, 273, 274, 275, 276, 277,
1586 278, 279, 280, 281, 282, 0, 0, 0, 0, 0,
1587 0, 0, 0, 0, 319, 319, 0, 838, 0, 0,
1588 0, 841, 0, 0, 0, 0, 852, 0, 328, 0,
1589 0, 0, 0, 0, 0, 0, 0, 0, 862, 0,
1590 0, 0, 0, -366, -366, 4, 5, 6, 7, 8,
1591 0, 0, 0, 0, 9, 0, 0, 0, 0, 0,
1592 0, 0, 0, 0, 0, 0, 0, 0, 0, 881,
1593 0, 0, 0, 0, 0, 886, 0, 0, 0, 0,
1594 0, 0, 0, 0, 0, 0, 10, 11, 0, 0,
1595 0, 0, 12, 898, 13, 14, 15, 16, 17, 18,
1596 0, 0, 19, 20, 21, 22, 23, 24, 25, 26,
1597 27, 28, 0, 0, 798, 29, 30, 31, 32, 33,
1598 0, 34, 0, 0, 0, 35, 36, 37, 38, 39,
1599 0, 40, 0, 41, 0, 42, 0, 0, 43, 0,
1600 0, 0, 44, 45, 46, 47, 48, 49, 50, 830,
1601 51, 52, 53, 0, 0, 0, 54, 55, 56, 0,
1602 57, 58, 59, 60, 61, 62, 0, 0, 0, 0,
1603 63, 64, 65, 66, 67, 68, 69, 0, 0, 70,
1604 71, 0, 72, 0, 0, 0, 73, 0, 0, 863,
1605 0, 0, 74, 75, 76, 77, 0, 0, 78, 79,
1606 80, 0, 0, 81, 0, 82, 83, 520, 84, 4,
1607 5, 6, 7, 8, 0, 0, 0, 243, 9, 244,
1608 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1609 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1610 265, 266, 0, 267, 0, 0, 0, 0, 0, 0,
1611 10, 11, 0, 0, 0, 0, 12, 0, 13, 14,
1612 15, 16, 17, 18, 0, 0, 19, 20, 21, 22,
1613 23, 24, 25, 26, 27, 28, 0, 0, 0, 29,
1614 30, 31, 32, 33, 0, 34, 0, 0, 0, 35,
1615 36, 37, 38, 39, 0, 40, 0, 41, 0, 42,
1616 0, 0, 43, 0, 0, 0, 44, 45, 46, 47,
1617 48, 49, 50, 0, 51, 52, 53, 0, 0, 0,
1618 54, 55, 56, 0, 57, 58, 59, 60, 61, 62,
1619 0, 0, 0, 0, 63, 64, 65, 66, 67, 68,
1620 69, 0, 0, 70, 71, 0, 72, 0, 0, 0,
1621 73, 4, 5, 6, 7, 8, 74, 75, 76, 77,
1622 9, 0, 78, 79, 80, 0, 0, 81, 0, 82,
1623 83, 625, 84, 250, 251, 252, 253, 254, 255, 256,
1624 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
1625 0, 267, 10, 11, 0, 0, 0, 0, 12, 0,
1626 13, 14, 15, 16, 17, 18, 0, 0, 19, 20,
1627 21, 22, 23, 24, 25, 26, 27, 28, 0, 0,
1628 0, 29, 30, 31, 32, 33, 0, 34, 0, 0,
1629 0, 35, 36, 37, 38, 39, 0, 40, 0, 41,
1630 0, 42, 0, 0, 43, 0, 0, 0, 44, 45,
1631 46, 47, 48, 49, 50, 0, 51, 52, 53, 0,
1632 0, 0, 54, 55, 56, 0, 57, 58, 59, 60,
1633 61, 62, 0, 0, 0, 0, 63, 64, 65, 66,
1634 67, 68, 69, 0, 0, 70, 71, 0, 72, 0,
1635 0, 0, 73, 4, 5, 6, 7, 8, 74, 75,
1636 76, 77, 9, 0, 78, 79, 80, 0, 0, 81,
1637 0, 82, 83, 0, 84, -383, -383, -383, -383, -383,
1638 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1639 265, 266, 0, 267, 10, 11, 0, 0, 0, 0,
1640 12, 0, 13, 14, 15, 16, 17, 18, 0, 0,
1641 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1642 0, 0, 0, 29, 30, 31, 32, 33, 0, 34,
1643 0, 0, 0, 35, 36, 37, 38, 39, 0, 40,
1644 0, 41, 0, 42, 0, 0, 43, 0, 0, 0,
1645 44, 45, 46, 47, 0, 49, 50, 0, 51, 0,
1646 53, 0, 0, 0, 54, 55, 56, 0, 57, 58,
1647 59, 376, 61, 62, 0, 0, 0, 0, 63, 64,
1648 65, 66, 67, 68, 69, 0, 0, 70, 71, 0,
1649 72, 0, 0, 0, 73, 4, 5, 6, 7, 8,
1650 124, 75, 76, 77, 9, 0, 78, 79, 80, 0,
1651 0, 81, 0, 82, 83, 377, 84, 0, 0, 0,
1652 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1653 0, 0, 0, 0, 0, 0, 10, 11, 0, 0,
1654 0, 0, 12, 0, 13, 14, 15, 16, 17, 18,
1655 0, 0, 19, 20, 21, 22, 23, 24, 25, 26,
1656 27, 28, 0, 0, 0, 29, 30, 31, 32, 33,
1657 0, 34, 0, 0, 0, 35, 36, 37, 38, 39,
1658 0, 40, 0, 41, 0, 42, 0, 0, 43, 0,
1659 0, 0, 44, 45, 46, 47, 0, 49, 50, 0,
1660 51, 0, 53, 0, 0, 0, 54, 55, 56, 0,
1661 57, 58, 59, 376, 61, 62, 0, 0, 0, 0,
1662 63, 64, 65, 66, 67, 68, 69, 0, 0, 70,
1663 71, 0, 72, 0, 0, 0, 73, 4, 5, 6,
1664 7, 8, 124, 75, 76, 77, 9, 0, 78, 79,
1665 80, 0, 0, 81, 0, 82, 83, 500, 84, 0,
1666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1667 0, 0, 0, 0, 0, 0, 0, 0, 10, 11,
1668 0, 0, 0, 0, 12, 0, 13, 14, 15, 16,
1669 17, 18, 0, 0, 19, 20, 21, 22, 23, 24,
1670 25, 26, 27, 28, 0, 0, 0, 29, 30, 31,
1671 32, 33, 0, 34, 0, 0, 0, 35, 36, 37,
1672 38, 39, 743, 40, 0, 41, 0, 42, 0, 0,
1673 43, 0, 0, 0, 44, 45, 46, 47, 0, 49,
1674 50, 0, 51, 0, 53, 0, 0, 0, 54, 55,
1675 56, 0, 57, 58, 59, 376, 61, 62, 0, 0,
1676 0, 0, 63, 64, 65, 66, 67, 68, 69, 0,
1677 0, 70, 71, 0, 72, 0, 0, 0, 73, 4,
1678 5, 6, 7, 8, 124, 75, 76, 77, 9, 0,
1679 78, 79, 80, 0, 0, 81, 0, 82, 83, 0,
1680 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1682 10, 11, 0, 0, 0, 0, 12, 0, 13, 14,
1683 15, 16, 17, 18, 0, 0, 19, 20, 21, 22,
1684 23, 24, 25, 26, 27, 28, 0, 0, 0, 29,
1685 30, 31, 32, 33, 0, 34, 0, 0, 0, 35,
1686 36, 37, 38, 39, 0, 40, 0, 41, 0, 42,
1687 749, 0, 43, 0, 0, 0, 44, 45, 46, 47,
1688 0, 49, 50, 0, 51, 0, 53, 0, 0, 0,
1689 54, 55, 56, 0, 57, 58, 59, 376, 61, 62,
1690 0, 0, 0, 0, 63, 64, 65, 66, 67, 68,
1691 69, 0, 0, 70, 71, 0, 72, 0, 0, 0,
1692 73, 4, 5, 6, 7, 8, 124, 75, 76, 77,
1693 9, 0, 78, 79, 80, 0, 0, 81, 0, 82,
1694 83, 0, 84, 0, 0, 0, 0, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 10, 11, 0, 0, 0, 0, 12, 0,
1697 13, 14, 15, 16, 17, 18, 0, 0, 19, 20,
1698 21, 22, 23, 24, 25, 26, 27, 28, 0, 0,
1699 0, 29, 30, 31, 32, 33, 0, 34, 0, 0,
1700 0, 35, 36, 37, 38, 39, 0, 40, 0, 41,
1701 0, 42, 0, 0, 43, 0, 0, 0, 44, 45,
1702 46, 47, 0, 49, 50, 0, 51, 0, 53, 0,
1703 0, 0, 54, 55, 56, 0, 57, 58, 59, 376,
1704 61, 62, 0, 0, 0, 0, 63, 64, 65, 66,
1705 67, 68, 69, 0, 0, 70, 71, 0, 72, 0,
1706 0, 0, 73, 4, 5, 6, 7, 8, 124, 75,
1707 76, 77, 9, 0, 78, 79, 80, 0, 0, 81,
1708 0, 82, 83, 805, 84, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1710 0, 0, 0, 0, 10, 11, 0, 0, 0, 0,
1711 12, 0, 13, 14, 15, 16, 17, 18, 0, 0,
1712 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1713 0, 0, 0, 29, 30, 31, 32, 33, 0, 34,
1714 0, 0, 0, 35, 36, 37, 38, 39, 0, 40,
1715 0, 41, 868, 42, 0, 0, 43, 0, 0, 0,
1716 44, 45, 46, 47, 0, 49, 50, 0, 51, 0,
1717 53, 0, 0, 0, 54, 55, 56, 0, 57, 58,
1718 59, 376, 61, 62, 0, 0, 0, 0, 63, 64,
1719 65, 66, 67, 68, 69, 0, 0, 70, 71, 0,
1720 72, 0, 0, 0, 73, 4, 5, 6, 7, 8,
1721 124, 75, 76, 77, 9, 0, 78, 79, 80, 0,
1722 0, 81, 0, 82, 83, 0, 84, 0, 0, 0,
1723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1724 0, 0, 0, 0, 0, 0, 10, 11, 0, 0,
1725 0, 0, 12, 0, 13, 14, 15, 16, 17, 18,
1726 0, 0, 19, 20, 21, 22, 23, 24, 25, 26,
1727 27, 28, 0, 0, 0, 29, 30, 31, 32, 33,
1728 0, 34, 0, 0, 0, 35, 36, 37, 38, 39,
1729 0, 40, 0, 41, 0, 42, 0, 0, 43, 0,
1730 0, 0, 44, 45, 46, 47, 0, 49, 50, 0,
1731 51, 0, 53, 0, 0, 0, 54, 55, 56, 0,
1732 57, 58, 59, 376, 61, 62, 0, 0, 0, 0,
1733 63, 64, 65, 66, 67, 68, 69, 0, 0, 70,
1734 71, 0, 72, 0, 0, 0, 73, 4, 5, 6,
1735 7, 8, 124, 75, 76, 77, 9, 0, 78, 79,
1736 80, 0, 0, 81, 0, 82, 83, 882, 84, 0,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1738 0, 0, 0, 0, 0, 0, 0, 0, 10, 11,
1739 0, 0, 0, 0, 12, 0, 13, 14, 15, 16,
1740 17, 18, 0, 0, 19, 20, 21, 22, 23, 24,
1741 25, 26, 27, 28, 0, 0, 0, 29, 30, 31,
1742 32, 33, 0, 34, 0, 0, 0, 35, 36, 37,
1743 38, 39, 0, 40, 0, 41, 0, 42, 0, 0,
1744 43, 0, 0, 0, 44, 45, 46, 47, 0, 49,
1745 50, 0, 51, 0, 53, 0, 0, 0, 54, 55,
1746 56, 0, 57, 58, 59, 376, 61, 62, 0, 0,
1747 0, 0, 63, 64, 65, 66, 67, 68, 69, 0,
1748 0, 70, 71, 0, 72, 0, 0, 0, 73, 4,
1749 5, 6, 7, 8, 124, 75, 76, 77, 9, 0,
1750 78, 79, 80, 0, 0, 81, 0, 82, 83, 885,
1751 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1753 10, 11, 0, 0, 0, 0, 12, 0, 13, 14,
1754 15, 16, 17, 18, 0, 0, 19, 20, 21, 22,
1755 23, 24, 25, 26, 27, 28, 0, 0, 0, 29,
1756 30, 31, 32, 33, 0, 34, 0, 0, 0, 35,
1757 36, 37, 38, 39, 0, 40, 889, 41, 0, 42,
1758 0, 0, 43, 0, 0, 0, 44, 45, 46, 47,
1759 0, 49, 50, 0, 51, 0, 53, 0, 0, 0,
1760 54, 55, 56, 0, 57, 58, 59, 376, 61, 62,
1761 0, 0, 0, 0, 63, 64, 65, 66, 67, 68,
1762 69, 0, 0, 70, 71, 0, 72, 0, 0, 0,
1763 73, 4, 5, 6, 7, 8, 124, 75, 76, 77,
1764 9, 0, 78, 79, 80, 0, 0, 81, 0, 82,
1765 83, 0, 84, 0, 0, 0, 0, 0, 0, 0,
1766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1767 0, 0, 10, 11, 0, 0, 0, 0, 12, 0,
1768 13, 14, 15, 16, 17, 18, 0, 0, 19, 20,
1769 21, 22, 23, 24, 25, 26, 27, 28, 0, 0,
1770 0, 29, 30, 31, 32, 33, 0, 34, 0, 0,
1771 0, 35, 36, 37, 38, 39, 0, 40, 0, 41,
1772 0, 42, 0, 0, 43, 0, 0, 0, 44, 45,
1773 46, 47, 0, 49, 50, 0, 51, 0, 53, 0,
1774 0, 0, 54, 55, 56, 0, 57, 58, 59, 376,
1775 61, 62, 0, 0, 0, 0, 63, 64, 65, 66,
1776 67, 68, 69, 0, 0, 70, 71, 0, 72, 0,
1777 0, 0, 73, 4, 5, 6, 7, 8, 124, 75,
1778 76, 77, 9, 0, 78, 79, 80, 0, 0, 81,
1779 0, 82, 83, 892, 84, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1781 0, 0, 0, 0, 10, 11, 0, 0, 0, 0,
1782 12, 0, 13, 14, 15, 16, 17, 18, 0, 0,
1783 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1784 0, 0, 0, 29, 30, 31, 32, 33, 0, 34,
1785 0, 0, 0, 35, 36, 37, 38, 39, 0, 40,
1786 0, 41, 0, 42, 0, 0, 43, 0, 0, 0,
1787 44, 45, 46, 47, 0, 49, 50, 0, 51, 0,
1788 53, 0, 0, 0, 54, 55, 56, 0, 57, 58,
1789 59, 376, 61, 62, 0, 0, 0, 0, 63, 64,
1790 65, 66, 67, 68, 69, 0, 0, 70, 71, 0,
1791 72, 0, 0, 0, 73, 4, 5, 6, 7, 8,
1792 124, 75, 76, 77, 9, 0, 78, 79, 80, 0,
1793 0, 81, 0, 82, 83, 903, 84, 0, 0, 0,
1794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 10, 11, 0, 0,
1796 0, 0, 12, 0, 13, 14, 15, 16, 17, 18,
1797 0, 0, 19, 20, 21, 22, 23, 24, 25, 26,
1798 27, 28, 0, 0, 0, 29, 30, 31, 32, 33,
1799 0, 34, 0, 0, 0, 35, 36, 37, 38, 39,
1800 0, 40, 0, 41, 0, 42, 0, 0, 43, 0,
1801 0, 0, 44, 45, 46, 47, 0, 49, 50, 0,
1802 51, 0, 53, 0, 0, 0, 54, 55, 56, 0,
1803 57, 58, 59, 376, 61, 62, 0, 0, 0, 0,
1804 63, 64, 65, 66, 67, 68, 69, 0, 0, 70,
1805 71, 0, 72, 0, 0, 0, 73, 4, 5, 6,
1806 7, 8, 124, 75, 76, 77, 9, 0, 78, 79,
1807 80, 0, 0, 81, 0, 82, 83, 915, 84, 0,
1808 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 10, 11,
1810 0, 0, 0, 0, 12, 0, 13, 14, 15, 16,
1811 17, 18, 0, 0, 19, 20, 21, 22, 23, 24,
1812 25, 26, 27, 28, 0, 0, 0, 29, 30, 31,
1813 32, 33, 0, 34, 0, 0, 0, 35, 36, 37,
1814 38, 39, 0, 40, 0, 41, 0, 42, 0, 0,
1815 43, 0, 0, 0, 44, 45, 46, 47, 0, 49,
1816 50, 0, 51, 0, 53, 0, 0, 0, 54, 55,
1817 56, 0, 57, 58, 59, 376, 61, 62, 0, 0,
1818 0, 0, 63, 64, 65, 66, 67, 68, 69, 0,
1819 0, 70, 71, 0, 72, 0, 0, 0, 73, 4,
1820 5, 6, 7, 8, 124, 75, 76, 77, 9, 0,
1821 78, 79, 80, 0, 0, 81, 0, 82, 83, 0,
1822 84, 0, 580, 0, 0, 0, 0, 0, 0, 0,
1823 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1824 10, 11, 0, 0, 0, 0, 12, 0, 13, 14,
1825 15, 16, 17, 18, 0, 0, 19, 20, 21, 22,
1826 23, 24, 25, 26, 27, 28, 0, 0, 0, 29,
1827 30, 31, 32, 33, 0, 34, 0, 0, 0, 35,
1828 36, 37, 38, 39, 0, 40, 0, 41, 0, 42,
1829 0, 0, 43, 0, 0, 0, 44, 45, 46, 47,
1830 0, 49, 50, 0, 51, 0, 53, 0, 0, 0,
1831 0, 0, 56, 0, 57, 58, 59, 0, 0, 0,
1832 0, 0, 0, 0, 63, 64, 65, 66, 67, 68,
1833 69, 0, 0, 70, 71, 0, 72, 0, 0, 0,
1834 73, 4, 5, 6, 7, 8, 124, 75, 76, 77,
1835 9, 0, 0, 79, 80, 0, 0, 81, 0, 82,
1836 83, 0, 84, 0, 583, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 10, 11, 0, 0, 0, 0, 12, 0,
1839 13, 14, 15, 16, 17, 18, 0, 0, 19, 20,
1840 21, 22, 23, 24, 25, 26, 27, 28, 0, 0,
1841 0, 29, 30, 31, 32, 33, 0, 34, 0, 0,
1842 0, 35, 36, 37, 38, 39, 0, 40, 0, 41,
1843 0, 42, 0, 0, 43, 0, 0, 0, 44, 45,
1844 46, 47, 0, 49, 50, 0, 51, 0, 53, 0,
1845 0, 0, 0, 0, 56, 0, 57, 58, 59, 0,
1846 0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
1847 67, 68, 69, 0, 0, 70, 71, 0, 72, 0,
1848 0, 0, 73, 4, 5, 6, 7, 8, 124, 75,
1849 76, 77, 9, 0, 0, 79, 80, 0, 0, 81,
1850 0, 82, 83, 0, 84, 0, 594, 0, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 0, 0, 0, 0, 10, 11, 0, 0, 0, 0,
1853 12, 0, 13, 14, 15, 16, 17, 18, 0, 0,
1854 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1855 0, 0, 0, 29, 30, 31, 32, 33, 0, 34,
1856 0, 0, 0, 35, 36, 37, 38, 39, 0, 40,
1857 0, 41, 0, 42, 0, 0, 43, 0, 0, 0,
1858 44, 45, 46, 47, 0, 49, 50, 0, 51, 0,
1859 53, 0, 0, 0, 0, 0, 56, 0, 57, 58,
1860 59, 0, 0, 0, 0, 0, 0, 0, 63, 64,
1861 65, 66, 67, 68, 69, 0, 0, 70, 71, 0,
1862 72, 0, 0, 0, 73, 4, 5, 6, 7, 8,
1863 124, 75, 76, 77, 9, 0, 0, 79, 80, 0,
1864 0, 81, 0, 82, 83, 0, 84, 0, 791, 0,
1865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1866 0, 0, 0, 0, 0, 0, 10, 11, 0, 0,
1867 0, 0, 12, 0, 13, 14, 15, 16, 17, 18,
1868 0, 0, 19, 20, 21, 22, 23, 24, 25, 26,
1869 27, 28, 0, 0, 0, 29, 30, 31, 32, 33,
1870 0, 34, 0, 0, 0, 35, 36, 37, 38, 39,
1871 0, 40, 0, 41, 0, 42, 0, 0, 43, 0,
1872 0, 0, 44, 45, 46, 47, 0, 49, 50, 0,
1873 51, 0, 53, 0, 0, 0, 0, 0, 56, 0,
1874 57, 58, 59, 0, 0, 0, 0, 0, 0, 0,
1875 63, 64, 65, 66, 67, 68, 69, 0, 0, 70,
1876 71, 0, 72, 0, 0, 0, 73, 4, 5, 6,
1877 7, 8, 124, 75, 76, 77, 9, 0, 0, 79,
1878 80, 0, 0, 81, 0, 82, 83, 0, 84, 0,
1879 831, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 0, 0, 0, 0, 0, 10, 11,
1881 0, 0, 0, 0, 12, 0, 13, 14, 15, 16,
1882 17, 18, 0, 0, 19, 20, 21, 22, 23, 24,
1883 25, 26, 27, 28, 0, 0, 0, 29, 30, 31,
1884 32, 33, 0, 34, 0, 0, 0, 35, 36, 37,
1885 38, 39, 0, 40, 0, 41, 0, 42, 0, 0,
1886 43, 0, 0, 0, 44, 45, 46, 47, 0, 49,
1887 50, 0, 51, 0, 53, 0, 0, 0, 0, 0,
1888 56, 0, 57, 58, 59, 0, 0, 0, 0, 0,
1889 0, 0, 63, 64, 65, 66, 67, 68, 69, 0,
1890 0, 70, 71, 0, 72, 0, 0, 0, 73, 4,
1891 5, 6, 7, 8, 124, 75, 76, 77, 9, 0,
1892 0, 79, 80, 0, 0, 81, 0, 82, 83, 0,
1893 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 10, 11, 0, 0, 0, 0, 12, 0, 13, 14,
1896 15, 16, 17, 18, 0, 0, 19, 20, 21, 22,
1897 23, 24, 25, 26, 27, 28, 0, 0, 0, 29,
1898 30, 31, 32, 33, 0, 34, 0, 0, 0, 35,
1899 36, 37, 38, 39, 0, 40, 0, 41, 0, 42,
1900 0, 0, 43, 0, 0, 0, 44, 45, 46, 47,
1901 0, 49, 50, 0, 51, 0, 53, 0, 0, 0,
1902 0, 0, 56, 0, 57, 58, 59, 0, 0, 0,
1903 0, 0, 0, 0, 63, 64, 65, 66, 67, 68,
1904 69, 0, 0, 70, 71, 0, 72, 0, 0, 0,
1905 73, 4, 5, 6, 7, 8, 124, 75, 76, 77,
1906 9, 0, 0, 79, 80, 0, 0, 81, 0, 82,
1907 83, 0, 84, 0, 0, 0, 0, 0, 0, 0,
1908 384, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 0, 0, 10, 11, 0, 0, 0, 0, 12, 0,
1910 13, 14, 15, 16, 17, 18, 0, 0, 19, 20,
1911 21, 22, 23, 24, 25, 26, 27, 0, 0, 0,
1912 0, 29, 30, 122, 32, 33, 0, 0, 0, 0,
1913 0, 35, 36, 249, 250, 251, 252, 253, 254, 255,
1914 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
1915 266, 47, 267, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 123, 0, 0, 58, 59, 0,
1917 0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
1918 67, 68, 69, 0, 4, 5, 6, 7, 8, 0,
1919 0, 0, 73, 9, 0, 0, 0, 0, 124, 75,
1920 76, 77, 0, 0, 0, 79, 125, 0, 385, 81,
1921 0, 0, 0, 156, 84, 0, 0, 0, 0, 0,
1922 0, 0, 0, 0, 0, 10, 11, 0, 0, 0,
1923 0, 12, 0, 13, 14, 15, 16, 17, 18, 0,
1924 0, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1925 0, 0, 0, 0, 29, 30, 122, 32, 33, 0,
1926 0, 0, 0, 0, 35, 36, 0, 0, 0, 0,
1927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1928 0, 0, 0, 0, 47, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 123, 0, 0,
1930 58, 59, 0, 0, 0, 0, 0, 0, 0, 63,
1931 64, 65, 66, 67, 68, 69, 0, 4, 5, 6,
1932 7, 8, 0, 0, 0, 73, 9, 0, 0, 0,
1933 0, 124, 75, 76, 77, 0, 0, 0, 79, 125,
1934 0, 0, 81, 0, 0, 0, 0, 84, 0, 0,
1935 0, 0, 0, 0, 0, 0, 0, 0, 10, 11,
1936 0, 0, 0, 0, 12, 0, 13, 14, 15, 16,
1937 17, 18, 0, 0, 19, 20, 21, 22, 23, 24,
1938 25, 26, 27, 0, 0, 0, 0, 29, 30, 122,
1939 32, 33, 0, 0, 0, 0, 0, 35, 36, 0,
1940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1941 0, 0, 0, 0, 0, 0, 0, 47, 0, 0,
1942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1943 123, 0, 0, 58, 59, 0, 0, 0, 0, 0,
1944 0, 0, 63, 64, 65, 66, 67, 68, 69, 0,
1945 4, 5, 6, 7, 8, 0, 0, 0, 73, 9,
1946 0, 0, 0, 0, 124, 75, 76, 77, 0, 0,
1947 0, 79, 125, 0, 0, 81, 0, 186, 0, 0,
1948 84, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1949 0, 10, 11, 0, 0, 0, 0, 12, 0, 13,
1950 14, 15, 16, 17, 18, 0, 0, 19, 20, 21,
1951 22, 23, 24, 25, 26, 27, 0, 0, 0, 0,
1952 29, 30, 122, 32, 33, 0, 0, 0, 0, 0,
1953 35, 36, 0, 0, 0, 0, 0, 0, 0, 0,
1954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1955 47, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 123, 0, 0, 58, 59, 0, 0,
1957 0, 0, 0, 0, 0, 63, 64, 65, 66, 67,
1958 68, 69, 0, 4, 5, 6, 7, 8, 0, 0,
1959 0, 73, 9, 0, 0, 0, 0, 124, 75, 76,
1960 77, 0, 0, 0, 79, 125, 0, 0, 81, 0,
1961 188, 0, 0, 84, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 10, 11, 0, 0, 0, 0,
1963 12, 0, 13, 14, 15, 16, 17, 18, 0, 0,
1964 19, 20, 21, 22, 23, 24, 25, 26, 27, 0,
1965 0, 0, 0, 29, 30, 122, 32, 33, 0, 0,
1966 0, 0, 0, 35, 36, 0, 0, 0, 0, 0,
1967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1968 0, 0, 0, 47, 0, 0, 0, 0, 0, 0,
1969 0, 0, 0, 0, 0, 0, 123, 0, 0, 58,
1970 59, 0, 0, 0, 0, 0, 0, 0, 63, 64,
1971 65, 66, 67, 68, 69, 0, 4, 5, 6, 7,
1972 8, 0, 0, 0, 73, 9, 0, 0, 0, 0,
1973 124, 75, 76, 77, 0, 0, 0, 79, 125, 0,
1974 0, 81, 0, 192, 0, 0, 84, 0, 0, 0,
1975 0, 0, 0, 0, 0, 0, 0, 10, 11, 0,
1976 0, 0, 0, 12, 0, 13, 14, 15, 16, 17,
1977 18, 0, 0, 19, 20, 21, 22, 23, 24, 25,
1978 26, 27, 0, 0, 0, 0, 29, 30, 122, 32,
1979 33, 0, 0, 0, 0, 0, 35, 36, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 0, 0, 0, 47, 0, 0, 0,
1982 0, 0, 0, 0, 0, 0, 0, 0, 0, 123,
1983 0, 0, 58, 59, 0, 0, 0, 0, 0, 0,
1984 0, 63, 64, 65, 66, 67, 68, 69, 0, 4,
1985 5, 6, 7, 8, 0, 0, 0, 73, 9, 0,
1986 0, 0, 0, 124, 75, 76, 77, 0, 0, 0,
1987 79, 125, 405, 0, 81, 316, 0, 0, 0, 84,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 10, 11, 0, 0, 0, 0, 12, 0, 13, 14,
1990 15, 16, 17, 18, 0, 0, 19, 20, 21, 22,
1991 23, 24, 25, 26, 27, 0, 0, 0, 0, 29,
1992 30, 122, 32, 33, 0, 0, 0, 0, 0, 35,
1993 36, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1994 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,
1995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1996 0, 0, 123, 0, 0, 58, 59, 0, 0, 0,
1997 0, 0, 0, 0, 63, 64, 65, 66, 67, 68,
1998 69, 0, 4, 5, 6, 7, 8, 0, 0, 0,
1999 73, 9, 0, 0, 0, 0, 124, 75, 76, 77,
2000 0, 0, 0, 79, 125, 0, 0, 81, 0, 0,
2001 0, 431, 84, 0, 0, 0, 0, 0, 0, 0,
2002 0, 0, 0, 10, 11, 0, 0, 0, 0, 12,
2003 0, 13, 14, 15, 16, 17, 18, 0, 0, 19,
2004 20, 21, 22, 23, 24, 25, 26, 27, 0, 0,
2005 0, 0, 29, 30, 122, 32, 33, 0, 0, 0,
2006 0, 0, 35, 36, 0, 0, 0, 0, 0, 0,
2007 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2008 0, 0, 47, 0, 0, 0, 0, 0, 0, 0,
2009 0, 0, 0, 0, 0, 123, 0, 0, 58, 59,
2010 0, 0, 0, 0, 0, 0, 0, 63, 64, 65,
2011 66, 67, 68, 69, 0, 4, 5, 6, 7, 8,
2012 0, 0, 0, 73, 9, 0, 0, 0, 0, 124,
2013 75, 76, 77, 0, 0, 0, 79, 125, 0, 0,
2014 81, 0, 0, 0, 463, 84, 0, 0, 0, 0,
2015 0, 0, 0, 0, 0, 0, 10, 11, 0, 0,
2016 0, 0, 12, 0, 13, 14, 15, 16, 17, 18,
2017 0, 0, 19, 20, 21, 22, 23, 24, 25, 26,
2018 27, 0, 0, 0, 0, 29, 30, 122, 32, 33,
2019 0, 0, 0, 0, 0, 35, 36, 0, 0, 0,
2020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2021 0, 0, 0, 0, 0, 47, 0, 0, 0, 0,
2022 0, 0, 0, 0, 0, 0, 0, 0, 123, 0,
2023 0, 58, 59, 0, 0, 0, 0, 0, 0, 0,
2024 63, 64, 65, 66, 67, 68, 69, 0, 4, 5,
2025 6, 7, 8, 0, 0, 0, 73, 9, 0, 0,
2026 0, 0, 124, 75, 76, 77, 0, 0, 0, 79,
2027 125, 0, 0, 81, 0, 0, 0, 465, 84, 0,
2028 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
2029 11, 0, 0, 0, 0, 12, 0, 13, 14, 15,
2030 16, 17, 18, 0, 0, 19, 20, 21, 22, 23,
2031 24, 25, 26, 27, 0, 0, 0, 0, 29, 30,
2032 122, 32, 33, 0, 0, 0, 0, 0, 35, 36,
2033 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0, 47, 0,
2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036 0, 123, 0, 0, 58, 59, 0, 0, 0, 0,
2037 0, 0, 0, 63, 64, 65, 66, 67, 68, 69,
2038 0, 4, 5, 6, 7, 8, 0, 0, 0, 73,
2039 9, 0, 0, 0, 0, 124, 75, 76, 77, 0,
2040 0, 0, 79, 125, 0, 0, 81, 0, 0, 0,
2041 657, 84, 0, 0, 0, 0, 0, 0, 0, 0,
2042 0, 0, 10, 11, 0, 0, 0, 0, 12, 0,
2043 13, 14, 15, 16, 17, 18, 0, 0, 19, 20,
2044 21, 22, 23, 24, 25, 26, 27, 0, 0, 0,
2045 0, 29, 30, 122, 32, 33, 0, 0, 0, 0,
2046 0, 35, 36, 0, 0, 0, 0, 0, 0, 0,
2047 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2048 0, 47, 0, 0, 0, 0, 0, 0, 0, 0,
2049 0, 0, 0, 0, 123, 0, 0, 58, 59, 0,
2050 0, 0, 0, 0, 0, 0, 63, 64, 65, 66,
2051 67, 68, 69, 0, 4, 5, 6, 7, 8, 0,
2052 0, 0, 73, 9, 0, 0, 0, 0, 124, 75,
2053 76, 77, 0, 0, 0, 79, 125, 0, 0, 81,
2054 0, 0, 0, 0, 84, 0, 0, 0, 0, 0,
2055 0, 0, 0, 0, 0, 10, 11, 0, 0, 0,
2056 0, 12, 0, 13, 14, 15, 16, 17, 18, 0,
2057 0, 19, 20, 21, 22, 23, 24, 25, 26, 27,
2058 0, 0, 0, 0, 29, 30, 122, 32, 33, 0,
2059 0, 0, 0, 0, 35, 36, 0, 0, 0, 0,
2060 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2061 0, 0, 0, 0, 47, 0, 0, 0, 0, 0,
2062 0, 0, 0, 0, 0, 0, 0, 123, 0, 0,
2063 58, 59, 0, 0, 0, 0, 0, 0, 0, 63,
2064 64, 65, 66, 67, 68, 69, 0, 4, 5, 6,
2065 7, 8, 0, 0, 0, 73, 9, 0, 0, 0,
2066 0, 124, 75, 76, 77, 0, 0, 0, 79, 125,
2067 0, 0, 81, 0, 0, 0, 0, 84, 0, 0,
2068 0, 0, 0, 0, 0, 0, 0, 0, 10, 11,
2069 0, 0, 0, 0, 12, 0, 13, 14, 15, 16,
2070 17, 18, 0, 0, 19, 20, 21, 22, 23, 24,
2071 25, 26, 27, 0, 0, 0, 0, 29, 30, 122,
2072 32, 33, 0, 0, 0, 0, 0, 35, 36, 0,
2073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2074 0, 0, 0, 0, 0, 0, 0, 47, 0, 0,
2075 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2076 123, 0, 0, 58, 59, 0, 0, 0, 0, 0,
2077 0, 0, 63, 64, 65, 66, 67, 68, 69, 0,
2078 0, 0, 0, 0, 0, 0, 0, 0, 73, 0,
2079 0, 0, 0, 0, 124, 75, 76, 77, 240, 241,
2080 242, 79, 80, 0, 0, 81, 0, 0, 0, 0,
2081 84, 0, 0, 0, 243, 0, 244, 245, 246, 247,
2082 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2083 258, 259, 260, 261, 262, 263, 264, 265, 266, 0,
2084 267, 240, 241, 242, 0, 0, 0, 0, 0, 0,
2085 0, 0, 0, 0, 0, 0, 0, 243, 0, 244,
2086 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2087 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2088 265, 266, 0, 267, 240, 241, 242, 0, 0, 0,
2089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2090 243, 0, 244, 245, 246, 247, 248, 249, 250, 251,
2091 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2092 262, 263, 264, 265, 266, 0, 267, 0, 0, 0,
2093 0, 0, 0, 0, 0, 0, 0, 240, 241, 242,
2094 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2095 0, 0, 0, 243, 570, 244, 245, 246, 247, 248,
2096 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2097 259, 260, 261, 262, 263, 264, 265, 266, 0, 267,
2098 0, 0, 240, 241, 242, 0, 0, 0, 0, 0,
2099 0, 0, 0, 0, 0, 0, 0, 615, 243, 799,
2100 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
2101 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
2102 264, 265, 266, 0, 267, 240, 241, 242, 0, 0,
2103 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2104 650, 243, 0, 244, 245, 246, 247, 248, 249, 250,
2105 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2106 261, 262, 263, 264, 265, 266, 0, 267, 0, 0,
2107 0, 0, 0, 0, 0, 0, 240, 241, 242, 0,
2108 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2109 0, 0, 243, 734, 244, 245, 246, 247, 248, 249,
2110 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2111 260, 261, 262, 263, 264, 265, 266, 0, 267, 240,
2112 241, 242, 0, 0, 0, 0, 0, 0, 0, 0,
2113 0, 0, 0, 0, 0, 243, 800, 244, 245, 246,
2114 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2115 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2116 0, 267, 240, 241, 242, 0, 0, 0, 0, 0,
2117 0, 0, 0, 0, 0, 0, 0, 0, 243, 268,
2118 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
2119 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
2120 264, 265, 266, 0, 267, 0, 0, 0, 0, 0,
2121 0, 0, 0, 240, 241, 242, 0, 0, 0, 0,
2122 0, 0, 0, 0, 0, 0, 0, 0, 0, 243,
2123 334, 244, 245, 246, 247, 248, 249, 250, 251, 252,
2124 253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
2125 263, 264, 265, 266, 0, 267, 240, 241, 242, 0,
2126 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2127 0, 0, 243, 335, 244, 245, 246, 247, 248, 249,
2128 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2129 260, 261, 262, 263, 264, 265, 266, 0, 267, 240,
2130 241, 242, 0, 0, 0, 0, 0, 0, 0, 0,
2131 0, 0, 0, 0, 0, 243, 341, 244, 245, 246,
2132 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2133 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2134 0, 267, 0, 0, 0, 0, 0, 0, 0, 240,
2135 241, 242, 0, 0, 0, 0, 0, 0, 0, 0,
2136 0, 0, 0, 0, 0, 243, 374, 244, 245, 246,
2137 247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
2138 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
2139 0, 267, 240, 241, 242, 0, 0, 0, 0, 0,
2140 0, 0, 0, 0, 0, 0, 0, 0, 243, 459,
2141 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
2142 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
2143 264, 265, 266, 0, 267, 240, 241, 242, 0, 0,
2144 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2145 0, 243, 473, 244, 245, 246, 247, 248, 249, 250,
2146 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2147 261, 262, 263, 264, 265, 266, 0, 267, 0, 0,
2148 0, 0, 0, 0, 0, 240, 241, 242, 0, 0,
2149 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2150 0, 243, 474, 244, 245, 246, 247, 248, 249, 250,
2151 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2152 261, 262, 263, 264, 265, 266, 0, 267, 240, 241,
2153 242, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2154 0, 0, 0, 0, 243, 479, 244, 245, 246, 247,
2155 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2156 258, 259, 260, 261, 262, 263, 264, 265, 266, 0,
2157 267, 240, 241, 242, 0, 0, 0, 0, 0, 0,
2158 0, 0, 0, 0, 0, 0, 0, 243, 487, 244,
2159 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2160 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2161 265, 266, 0, 267, 0, 0, 0, 0, 0, 0,
2162 0, 240, 241, 242, 0, 0, 0, 0, 0, 0,
2163 0, 0, 0, 0, 0, 0, 0, 243, 664, 244,
2164 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
2165 255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2166 265, 266, 0, 267, 240, 241, 242, 0, 0, 0,
2167 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2168 243, 866, 244, 245, 246, 247, 248, 249, 250, 251,
2169 252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
2170 262, 263, 264, 265, 266, 0, 267, 0, 0, 0,
2171 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2172 0, 0, 0, 0, 887, 240, 241, 242, 0, 0,
2173 0, 0, 0, 0, 0, 0, 0, 0, 0, 303,
2174 0, 243, 0, 244, 245, 246, 247, 248, 249, 250,
2175 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2176 261, 262, 263, 264, 265, 266, 0, 267, 240, 241,
2177 242, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2178 0, 0, 372, 0, 243, 555, 244, 245, 246, 247,
2179 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2180 258, 259, 260, 261, 262, 263, 264, 265, 266, 0,
2181 267, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2182 0, 0, 0, 0, 0, 0, 240, 241, 242, 0,
2183 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2184 0, 0, 243, 576, 244, 245, 246, 247, 248, 249,
2185 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
2186 260, 261, 262, 263, 264, 265, 266, 0, 267, 241,
2187 242, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2188 0, 0, 0, 0, 243, 0, 244, 245, 246, 247,
2189 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2190 258, 259, 260, 261, 262, 263, 264, 265, 266, 242,
2191 267, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2192 0, 0, 0, 243, 0, 244, 245, 246, 247, 248,
2193 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2194 259, 260, 261, 262, 263, 264, 265, 266, 0, 267,
2195 244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
2196 254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
2197 264, 265, 266, 0, 267, 246, 247, 248, 249, 250,
2198 251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
2199 261, 262, 263, 264, 265, 266, 0, 267, 247, 248,
2200 249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
2201 259, 260, 261, 262, 263, 264, 265, 266, 0, 267,
2202 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2203 258, 259, 260, 261, 262, 263, 264, 265, 266, 0,
2204 267
2205 };
2206
2207 static const yytype_int16 yycheck[] =
2208 {
2209 2, 126, 26, 166, 2, 314, 2, 22, 23, 196,
2210 391, 26, 393, 26, 718, 508, 267, 2, 239, 384,
2211 49, 480, 712, 218, 8, 65, 8, 639, 177, 8,
2212 65, 8, 65, 8, 8, 8, 8, 52, 8, 26,
2213 283, 8, 38, 598, 75, 8, 22, 23, 541, 8,
2214 26, 80, 8, 65, 56, 8, 640, 761, 77, 74,
2215 161, 75, 77, 284, 307, 286, 13, 14, 15, 16,
2216 17, 18, 19, 20, 21, 22, 23, 24, 299, 300,
2217 32, 26, 32, 26, 77, 210, 26, 77, 95, 238,
2218 311, 77, 313, 314, 161, 95, 153, 77, 463, 107,
2219 465, 153, 115, 0, 161, 147, 161, 147, 633, 161,
2220 81, 153, 337, 75, 32, 77, 63, 64, 673, 161,
2221 675, 123, 65, 103, 164, 77, 351, 77, 371, 164,
2222 161, 164, 65, 148, 659, 719, 285, 65, 287, 153,
2223 161, 156, 291, 292, 293, 75, 153, 166, 163, 161,
2224 164, 159, 164, 153, 183, 536, 75, 161, 171, 77,
2225 772, 13, 14, 15, 16, 17, 18, 19, 20, 21,
2226 22, 23, 24, 166, 160, 370, 166, 164, 149, 163,
2227 156, 163, 164, 198, 163, 875, 163, 162, 203, 163,
2228 163, 163, 776, 163, 163, 162, 211, 212, 213, 162,
2229 215, 32, 217, 162, 166, 909, 162, 666, 160, 162,
2230 160, 63, 64, 147, 147, 162, 163, 25, 163, 153,
2231 150, 75, 75, 153, 77, 227, 239, 203, 161, 75,
2232 153, 164, 163, 164, 153, 211, 212, 213, 161, 215,
2233 67, 147, 75, 267, 77, 161, 77, 153, 75, 75,
2234 77, 77, 267, 634, 267, 161, 63, 64, 75, 484,
2235 77, 98, 99, 488, 489, 490, 147, 75, 153, 32,
2236 161, 284, 153, 286, 98, 99, 519, 147, 163, 164,
2237 161, 296, 147, 153, 161, 25, 299, 300, 153, 116,
2238 75, 267, 657, 164, 309, 97, 98, 99, 311, 239,
2239 313, 314, 122, 684, 150, 556, 531, 153, 551, 552,
2240 162, 163, 75, 166, 77, 75, 559, 560, 699, 122,
2241 563, 129, 337, 150, 162, 163, 153, 267, 165, 344,
2242 164, 164, 161, 166, 161, 75, 351, 75, 340, 166,
2243 166, 165, 150, 372, 284, 153, 286, 155, 75, 166,
2244 161, 660, 161, 116, 162, 161, 75, 161, 77, 299,
2245 300, 337, 161, 47, 48, 49, 368, 51, 75, 384,
2246 368, 311, 368, 313, 314, 351, 391, 32, 393, 65,
2247 605, 396, 147, 368, 97, 98, 99, 150, 401, 129,
2248 153, 616, 161, 580, 162, 163, 583, 116, 161, 70,
2249 71, 147, 129, 166, 70, 71, 899, 594, 384, 65,
2250 150, 22, 23, 153, 126, 155, 431, 65, 567, 65,
2251 65, 65, 731, 150, 103, 153, 153, 808, 155, 810,
2252 51, 150, 153, 67, 153, 167, 147, 147, 8, 660,
2253 87, 161, 161, 147, 153, 164, 671, 166, 463, 103,
2254 465, 153, 677, 147, 679, 431, 126, 111, 112, 113,
2255 114, 115, 116, 75, 845, 163, 13, 482, 483, 484,
2256 163, 13, 162, 488, 489, 490, 75, 162, 474, 494,
2257 162, 75, 124, 479, 647, 124, 161, 463, 161, 465,
2258 486, 167, 8, 508, 509, 876, 511, 722, 685, 167,
2259 515, 516, 163, 652, 653, 95, 482, 483, 484, 13,
2260 731, 75, 488, 489, 490, 77, 531, 8, 533, 521,
2261 161, 536, 162, 521, 905, 521, 541, 542, 163, 161,
2262 13, 162, 556, 509, 161, 511, 521, 162, 125, 515,
2263 516, 556, 75, 556, 77, 44, 45, 46, 47, 48,
2264 49, 164, 51, 778, 161, 531, 13, 14, 15, 16,
2265 17, 18, 19, 20, 21, 22, 23, 24, 111, 112,
2266 113, 114, 115, 116, 589, 167, 161, 161, 803, 162,
2267 556, 161, 807, 116, 161, 167, 161, 812, 167, 122,
2268 605, 606, 161, 167, 167, 167, 75, 162, 77, 824,
2269 75, 616, 153, 147, 791, 75, 63, 64, 13, 163,
2270 13, 164, 162, 589, 801, 630, 556, 150, 153, 634,
2271 153, 162, 162, 8, 639, 8, 65, 65, 161, 605,
2272 855, 818, 164, 166, 126, 822, 861, 116, 163, 127,
2273 616, 828, 657, 13, 831, 163, 163, 660, 75, 836,
2274 77, 127, 667, 840, 879, 167, 671, 8, 75, 161,
2275 662, 164, 677, 665, 679, 162, 162, 109, 163, 684,
2276 672, 150, 162, 77, 153, 13, 162, 162, 162, 126,
2277 162, 657, 161, 870, 699, 162, 167, 166, 162, 116,
2278 815, 667, 163, 162, 162, 671, 75, 77, 26, 161,
2279 13, 677, 167, 679, 167, 161, 163, 722, 163, 711,
2280 162, 22, 23, 163, 901, 26, 127, 163, 731, 77,
2281 660, 13, 13, 150, 164, 912, 153, 75, 164, 13,
2282 161, 26, 22, 23, 161, 72, 164, 163, 162, 166,
2283 13, 77, 77, 75, 740, 77, 722, 13, 163, 95,
2284 746, 747, 164, 95, 163, 165, 154, 772, 760, 49,
2285 147, 163, 13, 778, 163, 75, 4, 5, 75, 7,
2286 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
2287 18, 19, 20, 21, 116, 161, 24, 25, 803, 77,
2288 80, 731, 807, 808, 790, 810, 128, 812, 26, 37,
2289 163, 75, 778, 75, 8, 162, 44, 45, 344, 824,
2290 611, 49, 509, 51, 611, 308, 468, 590, 150, 536,
2291 667, 153, 747, 349, 542, 530, 81, 803, 845, 161,
2292 845, 807, 834, 798, 166, 837, 812, 203, 605, 690,
2293 855, 782, 80, 81, 516, 156, 861, 604, 824, 216,
2294 515, -1, -1, -1, 856, -1, -1, -1, 860, -1,
2295 -1, 876, 864, -1, 879, 867, 156, 869, -1, 871,
2296 866, -1, -1, -1, -1, -1, -1, -1, -1, 855,
2297 -1, -1, -1, -1, 899, 861, -1, -1, -1, 891,
2298 905, 129, 203, 183, -1, -1, -1, -1, -1, -1,
2299 211, 212, 213, 879, 215, 907, -1, -1, -1, -1,
2300 -1, -1, 914, 203, -1, -1, -1, -1, -1, 104,
2301 -1, 211, 212, 213, 109, 215, 111, 112, 113, 114,
2302 115, 116, 117, -1, 172, -1, 174, -1, 176, 177,
2303 -1, -1, -1, 181, 182, 183, -1, 185, -1, -1,
2304 -1, 337, -1, -1, -1, -1, 267, -1, -1, -1,
2305 -1, -1, -1, -1, -1, 351, 38, 39, 40, 41,
2306 42, 43, 44, 45, 46, 47, 48, 49, 216, 51,
2307 165, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2308 228, -1, 230, -1, -1, -1, -1, -1, -1, -1,
2309 238, -1, 240, 241, 242, 243, 244, 245, 246, 247,
2310 248, 249, 250, 251, 252, 253, 254, 255, 256, 257,
2311 258, 259, 260, 261, 262, 263, 264, 265, 266, -1,
2312 -1, -1, -1, 271, 272, 273, 274, 275, 276, 277,
2313 278, 279, 280, 281, 282, 283, -1, 285, -1, 287,
2314 288, 104, -1, 291, 292, 293, 109, -1, 111, 112,
2315 113, 114, 115, 116, 117, 303, -1, 305, -1, 307,
2316 44, 45, -1, 384, -1, -1, -1, -1, -1, -1,
2317 -1, -1, 372, -1, 322, -1, -1, -1, -1, -1,
2318 -1, 65, -1, -1, 384, -1, -1, -1, 484, 73,
2319 74, 75, 488, 489, -1, -1, -1, -1, 346, 83,
2320 -1, -1, 165, -1, -1, -1, -1, -1, -1, 104,
2321 431, -1, -1, -1, 109, -1, 111, 112, 113, 114,
2322 115, 116, 117, 371, 372, -1, -1, -1, -1, -1,
2323 -1, 431, 116, -1, -1, 531, -1, 385, -1, -1,
2324 -1, -1, 463, -1, 465, 129, 130, 131, 132, 133,
2325 134, -1, -1, -1, -1, -1, -1, 405, -1, -1,
2326 144, 482, 483, 463, -1, 465, 150, 151, 152, 153,
2327 165, -1, -1, 157, -1, -1, -1, -1, -1, -1,
2328 -1, -1, 482, 483, -1, -1, -1, -1, 509, -1,
2329 511, -1, -1, -1, 515, 516, -1, -1, -1, -1,
2330 -1, 449, -1, -1, -1, -1, -1, -1, -1, 509,
2331 -1, 511, -1, -1, -1, 515, 516, -1, -1, -1,
2332 616, 9, 10, 11, -1, -1, -1, -1, -1, -1,
2333 478, -1, 480, 481, -1, 556, -1, 25, -1, 27,
2334 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2335 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2336 48, 49, -1, 51, -1, -1, -1, -1, 589, -1,
2337 -1, 519, -1, -1, -1, 671, -1, -1, -1, -1,
2338 -1, 677, 530, 679, -1, -1, -1, -1, -1, 589,
2339 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
2340 23, 24, -1, 551, 552, -1, -1, 555, -1, -1,
2341 -1, 559, 560, -1, -1, 563, -1, -1, -1, 567,
2342 568, -1, -1, -1, -1, -1, 722, -1, 576, -1,
2343 -1, -1, -1, -1, -1, -1, 657, -1, -1, -1,
2344 63, 64, -1, -1, -1, -1, 667, -1, -1, -1,
2345 -1, -1, -1, -1, -1, -1, -1, 657, -1, -1,
2346 -1, -1, -1, -1, -1, -1, -1, 667, -1, -1,
2347 -1, -1, 95, -1, -1, 623, -1, 165, -1, -1,
2348 -1, -1, 778, 13, 14, 15, 16, 17, 18, 19,
2349 20, 21, 22, 23, 24, -1, -1, -1, -1, -1,
2350 -1, -1, -1, -1, 652, 653, -1, 803, -1, -1,
2351 -1, 807, -1, -1, -1, -1, 812, -1, 666, -1,
2352 -1, -1, -1, -1, -1, -1, -1, -1, 824, -1,
2353 -1, -1, -1, 63, 64, 3, 4, 5, 6, 7,
2354 -1, -1, -1, -1, 12, -1, -1, -1, -1, -1,
2355 -1, -1, -1, -1, -1, -1, -1, -1, -1, 855,
2356 -1, -1, -1, -1, -1, 861, -1, -1, -1, -1,
2357 -1, -1, -1, -1, -1, -1, 44, 45, -1, -1,
2358 -1, -1, 50, 879, 52, 53, 54, 55, 56, 57,
2359 -1, -1, 60, 61, 62, 63, 64, 65, 66, 67,
2360 68, 69, -1, -1, 752, 73, 74, 75, 76, 77,
2361 -1, 79, -1, -1, -1, 83, 84, 85, 86, 87,
2362 -1, 89, -1, 91, -1, 93, -1, -1, 96, -1,
2363 -1, -1, 100, 101, 102, 103, 104, 105, 106, 787,
2364 108, 109, 110, -1, -1, -1, 114, 115, 116, -1,
2365 118, 119, 120, 121, 122, 123, -1, -1, -1, -1,
2366 128, 129, 130, 131, 132, 133, 134, -1, -1, 137,
2367 138, -1, 140, -1, -1, -1, 144, -1, -1, 827,
2368 -1, -1, 150, 151, 152, 153, -1, -1, 156, 157,
2369 158, -1, -1, 161, -1, 163, 164, 165, 166, 3,
2370 4, 5, 6, 7, -1, -1, -1, 25, 12, 27,
2371 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2372 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2373 48, 49, -1, 51, -1, -1, -1, -1, -1, -1,
2374 44, 45, -1, -1, -1, -1, 50, -1, 52, 53,
2375 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
2376 64, 65, 66, 67, 68, 69, -1, -1, -1, 73,
2377 74, 75, 76, 77, -1, 79, -1, -1, -1, 83,
2378 84, 85, 86, 87, -1, 89, -1, 91, -1, 93,
2379 -1, -1, 96, -1, -1, -1, 100, 101, 102, 103,
2380 104, 105, 106, -1, 108, 109, 110, -1, -1, -1,
2381 114, 115, 116, -1, 118, 119, 120, 121, 122, 123,
2382 -1, -1, -1, -1, 128, 129, 130, 131, 132, 133,
2383 134, -1, -1, 137, 138, -1, 140, -1, -1, -1,
2384 144, 3, 4, 5, 6, 7, 150, 151, 152, 153,
2385 12, -1, 156, 157, 158, -1, -1, 161, -1, 163,
2386 164, 165, 166, 33, 34, 35, 36, 37, 38, 39,
2387 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2388 -1, 51, 44, 45, -1, -1, -1, -1, 50, -1,
2389 52, 53, 54, 55, 56, 57, -1, -1, 60, 61,
2390 62, 63, 64, 65, 66, 67, 68, 69, -1, -1,
2391 -1, 73, 74, 75, 76, 77, -1, 79, -1, -1,
2392 -1, 83, 84, 85, 86, 87, -1, 89, -1, 91,
2393 -1, 93, -1, -1, 96, -1, -1, -1, 100, 101,
2394 102, 103, 104, 105, 106, -1, 108, 109, 110, -1,
2395 -1, -1, 114, 115, 116, -1, 118, 119, 120, 121,
2396 122, 123, -1, -1, -1, -1, 128, 129, 130, 131,
2397 132, 133, 134, -1, -1, 137, 138, -1, 140, -1,
2398 -1, -1, 144, 3, 4, 5, 6, 7, 150, 151,
2399 152, 153, 12, -1, 156, 157, 158, -1, -1, 161,
2400 -1, 163, 164, -1, 166, 33, 34, 35, 36, 37,
2401 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2402 48, 49, -1, 51, 44, 45, -1, -1, -1, -1,
2403 50, -1, 52, 53, 54, 55, 56, 57, -1, -1,
2404 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2405 -1, -1, -1, 73, 74, 75, 76, 77, -1, 79,
2406 -1, -1, -1, 83, 84, 85, 86, 87, -1, 89,
2407 -1, 91, -1, 93, -1, -1, 96, -1, -1, -1,
2408 100, 101, 102, 103, -1, 105, 106, -1, 108, -1,
2409 110, -1, -1, -1, 114, 115, 116, -1, 118, 119,
2410 120, 121, 122, 123, -1, -1, -1, -1, 128, 129,
2411 130, 131, 132, 133, 134, -1, -1, 137, 138, -1,
2412 140, -1, -1, -1, 144, 3, 4, 5, 6, 7,
2413 150, 151, 152, 153, 12, -1, 156, 157, 158, -1,
2414 -1, 161, -1, 163, 164, 165, 166, -1, -1, -1,
2415 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2416 -1, -1, -1, -1, -1, -1, 44, 45, -1, -1,
2417 -1, -1, 50, -1, 52, 53, 54, 55, 56, 57,
2418 -1, -1, 60, 61, 62, 63, 64, 65, 66, 67,
2419 68, 69, -1, -1, -1, 73, 74, 75, 76, 77,
2420 -1, 79, -1, -1, -1, 83, 84, 85, 86, 87,
2421 -1, 89, -1, 91, -1, 93, -1, -1, 96, -1,
2422 -1, -1, 100, 101, 102, 103, -1, 105, 106, -1,
2423 108, -1, 110, -1, -1, -1, 114, 115, 116, -1,
2424 118, 119, 120, 121, 122, 123, -1, -1, -1, -1,
2425 128, 129, 130, 131, 132, 133, 134, -1, -1, 137,
2426 138, -1, 140, -1, -1, -1, 144, 3, 4, 5,
2427 6, 7, 150, 151, 152, 153, 12, -1, 156, 157,
2428 158, -1, -1, 161, -1, 163, 164, 165, 166, -1,
2429 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2430 -1, -1, -1, -1, -1, -1, -1, -1, 44, 45,
2431 -1, -1, -1, -1, 50, -1, 52, 53, 54, 55,
2432 56, 57, -1, -1, 60, 61, 62, 63, 64, 65,
2433 66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
2434 76, 77, -1, 79, -1, -1, -1, 83, 84, 85,
2435 86, 87, 88, 89, -1, 91, -1, 93, -1, -1,
2436 96, -1, -1, -1, 100, 101, 102, 103, -1, 105,
2437 106, -1, 108, -1, 110, -1, -1, -1, 114, 115,
2438 116, -1, 118, 119, 120, 121, 122, 123, -1, -1,
2439 -1, -1, 128, 129, 130, 131, 132, 133, 134, -1,
2440 -1, 137, 138, -1, 140, -1, -1, -1, 144, 3,
2441 4, 5, 6, 7, 150, 151, 152, 153, 12, -1,
2442 156, 157, 158, -1, -1, 161, -1, 163, 164, -1,
2443 166, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2444 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2445 44, 45, -1, -1, -1, -1, 50, -1, 52, 53,
2446 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
2447 64, 65, 66, 67, 68, 69, -1, -1, -1, 73,
2448 74, 75, 76, 77, -1, 79, -1, -1, -1, 83,
2449 84, 85, 86, 87, -1, 89, -1, 91, -1, 93,
2450 94, -1, 96, -1, -1, -1, 100, 101, 102, 103,
2451 -1, 105, 106, -1, 108, -1, 110, -1, -1, -1,
2452 114, 115, 116, -1, 118, 119, 120, 121, 122, 123,
2453 -1, -1, -1, -1, 128, 129, 130, 131, 132, 133,
2454 134, -1, -1, 137, 138, -1, 140, -1, -1, -1,
2455 144, 3, 4, 5, 6, 7, 150, 151, 152, 153,
2456 12, -1, 156, 157, 158, -1, -1, 161, -1, 163,
2457 164, -1, 166, -1, -1, -1, -1, -1, -1, -1,
2458 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2459 -1, -1, 44, 45, -1, -1, -1, -1, 50, -1,
2460 52, 53, 54, 55, 56, 57, -1, -1, 60, 61,
2461 62, 63, 64, 65, 66, 67, 68, 69, -1, -1,
2462 -1, 73, 74, 75, 76, 77, -1, 79, -1, -1,
2463 -1, 83, 84, 85, 86, 87, -1, 89, -1, 91,
2464 -1, 93, -1, -1, 96, -1, -1, -1, 100, 101,
2465 102, 103, -1, 105, 106, -1, 108, -1, 110, -1,
2466 -1, -1, 114, 115, 116, -1, 118, 119, 120, 121,
2467 122, 123, -1, -1, -1, -1, 128, 129, 130, 131,
2468 132, 133, 134, -1, -1, 137, 138, -1, 140, -1,
2469 -1, -1, 144, 3, 4, 5, 6, 7, 150, 151,
2470 152, 153, 12, -1, 156, 157, 158, -1, -1, 161,
2471 -1, 163, 164, 165, 166, -1, -1, -1, -1, -1,
2472 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2473 -1, -1, -1, -1, 44, 45, -1, -1, -1, -1,
2474 50, -1, 52, 53, 54, 55, 56, 57, -1, -1,
2475 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2476 -1, -1, -1, 73, 74, 75, 76, 77, -1, 79,
2477 -1, -1, -1, 83, 84, 85, 86, 87, -1, 89,
2478 -1, 91, 92, 93, -1, -1, 96, -1, -1, -1,
2479 100, 101, 102, 103, -1, 105, 106, -1, 108, -1,
2480 110, -1, -1, -1, 114, 115, 116, -1, 118, 119,
2481 120, 121, 122, 123, -1, -1, -1, -1, 128, 129,
2482 130, 131, 132, 133, 134, -1, -1, 137, 138, -1,
2483 140, -1, -1, -1, 144, 3, 4, 5, 6, 7,
2484 150, 151, 152, 153, 12, -1, 156, 157, 158, -1,
2485 -1, 161, -1, 163, 164, -1, 166, -1, -1, -1,
2486 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2487 -1, -1, -1, -1, -1, -1, 44, 45, -1, -1,
2488 -1, -1, 50, -1, 52, 53, 54, 55, 56, 57,
2489 -1, -1, 60, 61, 62, 63, 64, 65, 66, 67,
2490 68, 69, -1, -1, -1, 73, 74, 75, 76, 77,
2491 -1, 79, -1, -1, -1, 83, 84, 85, 86, 87,
2492 -1, 89, -1, 91, -1, 93, -1, -1, 96, -1,
2493 -1, -1, 100, 101, 102, 103, -1, 105, 106, -1,
2494 108, -1, 110, -1, -1, -1, 114, 115, 116, -1,
2495 118, 119, 120, 121, 122, 123, -1, -1, -1, -1,
2496 128, 129, 130, 131, 132, 133, 134, -1, -1, 137,
2497 138, -1, 140, -1, -1, -1, 144, 3, 4, 5,
2498 6, 7, 150, 151, 152, 153, 12, -1, 156, 157,
2499 158, -1, -1, 161, -1, 163, 164, 165, 166, -1,
2500 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2501 -1, -1, -1, -1, -1, -1, -1, -1, 44, 45,
2502 -1, -1, -1, -1, 50, -1, 52, 53, 54, 55,
2503 56, 57, -1, -1, 60, 61, 62, 63, 64, 65,
2504 66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
2505 76, 77, -1, 79, -1, -1, -1, 83, 84, 85,
2506 86, 87, -1, 89, -1, 91, -1, 93, -1, -1,
2507 96, -1, -1, -1, 100, 101, 102, 103, -1, 105,
2508 106, -1, 108, -1, 110, -1, -1, -1, 114, 115,
2509 116, -1, 118, 119, 120, 121, 122, 123, -1, -1,
2510 -1, -1, 128, 129, 130, 131, 132, 133, 134, -1,
2511 -1, 137, 138, -1, 140, -1, -1, -1, 144, 3,
2512 4, 5, 6, 7, 150, 151, 152, 153, 12, -1,
2513 156, 157, 158, -1, -1, 161, -1, 163, 164, 165,
2514 166, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2515 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2516 44, 45, -1, -1, -1, -1, 50, -1, 52, 53,
2517 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
2518 64, 65, 66, 67, 68, 69, -1, -1, -1, 73,
2519 74, 75, 76, 77, -1, 79, -1, -1, -1, 83,
2520 84, 85, 86, 87, -1, 89, 90, 91, -1, 93,
2521 -1, -1, 96, -1, -1, -1, 100, 101, 102, 103,
2522 -1, 105, 106, -1, 108, -1, 110, -1, -1, -1,
2523 114, 115, 116, -1, 118, 119, 120, 121, 122, 123,
2524 -1, -1, -1, -1, 128, 129, 130, 131, 132, 133,
2525 134, -1, -1, 137, 138, -1, 140, -1, -1, -1,
2526 144, 3, 4, 5, 6, 7, 150, 151, 152, 153,
2527 12, -1, 156, 157, 158, -1, -1, 161, -1, 163,
2528 164, -1, 166, -1, -1, -1, -1, -1, -1, -1,
2529 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2530 -1, -1, 44, 45, -1, -1, -1, -1, 50, -1,
2531 52, 53, 54, 55, 56, 57, -1, -1, 60, 61,
2532 62, 63, 64, 65, 66, 67, 68, 69, -1, -1,
2533 -1, 73, 74, 75, 76, 77, -1, 79, -1, -1,
2534 -1, 83, 84, 85, 86, 87, -1, 89, -1, 91,
2535 -1, 93, -1, -1, 96, -1, -1, -1, 100, 101,
2536 102, 103, -1, 105, 106, -1, 108, -1, 110, -1,
2537 -1, -1, 114, 115, 116, -1, 118, 119, 120, 121,
2538 122, 123, -1, -1, -1, -1, 128, 129, 130, 131,
2539 132, 133, 134, -1, -1, 137, 138, -1, 140, -1,
2540 -1, -1, 144, 3, 4, 5, 6, 7, 150, 151,
2541 152, 153, 12, -1, 156, 157, 158, -1, -1, 161,
2542 -1, 163, 164, 165, 166, -1, -1, -1, -1, -1,
2543 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2544 -1, -1, -1, -1, 44, 45, -1, -1, -1, -1,
2545 50, -1, 52, 53, 54, 55, 56, 57, -1, -1,
2546 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2547 -1, -1, -1, 73, 74, 75, 76, 77, -1, 79,
2548 -1, -1, -1, 83, 84, 85, 86, 87, -1, 89,
2549 -1, 91, -1, 93, -1, -1, 96, -1, -1, -1,
2550 100, 101, 102, 103, -1, 105, 106, -1, 108, -1,
2551 110, -1, -1, -1, 114, 115, 116, -1, 118, 119,
2552 120, 121, 122, 123, -1, -1, -1, -1, 128, 129,
2553 130, 131, 132, 133, 134, -1, -1, 137, 138, -1,
2554 140, -1, -1, -1, 144, 3, 4, 5, 6, 7,
2555 150, 151, 152, 153, 12, -1, 156, 157, 158, -1,
2556 -1, 161, -1, 163, 164, 165, 166, -1, -1, -1,
2557 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2558 -1, -1, -1, -1, -1, -1, 44, 45, -1, -1,
2559 -1, -1, 50, -1, 52, 53, 54, 55, 56, 57,
2560 -1, -1, 60, 61, 62, 63, 64, 65, 66, 67,
2561 68, 69, -1, -1, -1, 73, 74, 75, 76, 77,
2562 -1, 79, -1, -1, -1, 83, 84, 85, 86, 87,
2563 -1, 89, -1, 91, -1, 93, -1, -1, 96, -1,
2564 -1, -1, 100, 101, 102, 103, -1, 105, 106, -1,
2565 108, -1, 110, -1, -1, -1, 114, 115, 116, -1,
2566 118, 119, 120, 121, 122, 123, -1, -1, -1, -1,
2567 128, 129, 130, 131, 132, 133, 134, -1, -1, 137,
2568 138, -1, 140, -1, -1, -1, 144, 3, 4, 5,
2569 6, 7, 150, 151, 152, 153, 12, -1, 156, 157,
2570 158, -1, -1, 161, -1, 163, 164, 165, 166, -1,
2571 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2572 -1, -1, -1, -1, -1, -1, -1, -1, 44, 45,
2573 -1, -1, -1, -1, 50, -1, 52, 53, 54, 55,
2574 56, 57, -1, -1, 60, 61, 62, 63, 64, 65,
2575 66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
2576 76, 77, -1, 79, -1, -1, -1, 83, 84, 85,
2577 86, 87, -1, 89, -1, 91, -1, 93, -1, -1,
2578 96, -1, -1, -1, 100, 101, 102, 103, -1, 105,
2579 106, -1, 108, -1, 110, -1, -1, -1, 114, 115,
2580 116, -1, 118, 119, 120, 121, 122, 123, -1, -1,
2581 -1, -1, 128, 129, 130, 131, 132, 133, 134, -1,
2582 -1, 137, 138, -1, 140, -1, -1, -1, 144, 3,
2583 4, 5, 6, 7, 150, 151, 152, 153, 12, -1,
2584 156, 157, 158, -1, -1, 161, -1, 163, 164, -1,
2585 166, -1, 26, -1, -1, -1, -1, -1, -1, -1,
2586 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2587 44, 45, -1, -1, -1, -1, 50, -1, 52, 53,
2588 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
2589 64, 65, 66, 67, 68, 69, -1, -1, -1, 73,
2590 74, 75, 76, 77, -1, 79, -1, -1, -1, 83,
2591 84, 85, 86, 87, -1, 89, -1, 91, -1, 93,
2592 -1, -1, 96, -1, -1, -1, 100, 101, 102, 103,
2593 -1, 105, 106, -1, 108, -1, 110, -1, -1, -1,
2594 -1, -1, 116, -1, 118, 119, 120, -1, -1, -1,
2595 -1, -1, -1, -1, 128, 129, 130, 131, 132, 133,
2596 134, -1, -1, 137, 138, -1, 140, -1, -1, -1,
2597 144, 3, 4, 5, 6, 7, 150, 151, 152, 153,
2598 12, -1, -1, 157, 158, -1, -1, 161, -1, 163,
2599 164, -1, 166, -1, 26, -1, -1, -1, -1, -1,
2600 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2601 -1, -1, 44, 45, -1, -1, -1, -1, 50, -1,
2602 52, 53, 54, 55, 56, 57, -1, -1, 60, 61,
2603 62, 63, 64, 65, 66, 67, 68, 69, -1, -1,
2604 -1, 73, 74, 75, 76, 77, -1, 79, -1, -1,
2605 -1, 83, 84, 85, 86, 87, -1, 89, -1, 91,
2606 -1, 93, -1, -1, 96, -1, -1, -1, 100, 101,
2607 102, 103, -1, 105, 106, -1, 108, -1, 110, -1,
2608 -1, -1, -1, -1, 116, -1, 118, 119, 120, -1,
2609 -1, -1, -1, -1, -1, -1, 128, 129, 130, 131,
2610 132, 133, 134, -1, -1, 137, 138, -1, 140, -1,
2611 -1, -1, 144, 3, 4, 5, 6, 7, 150, 151,
2612 152, 153, 12, -1, -1, 157, 158, -1, -1, 161,
2613 -1, 163, 164, -1, 166, -1, 26, -1, -1, -1,
2614 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2615 -1, -1, -1, -1, 44, 45, -1, -1, -1, -1,
2616 50, -1, 52, 53, 54, 55, 56, 57, -1, -1,
2617 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
2618 -1, -1, -1, 73, 74, 75, 76, 77, -1, 79,
2619 -1, -1, -1, 83, 84, 85, 86, 87, -1, 89,
2620 -1, 91, -1, 93, -1, -1, 96, -1, -1, -1,
2621 100, 101, 102, 103, -1, 105, 106, -1, 108, -1,
2622 110, -1, -1, -1, -1, -1, 116, -1, 118, 119,
2623 120, -1, -1, -1, -1, -1, -1, -1, 128, 129,
2624 130, 131, 132, 133, 134, -1, -1, 137, 138, -1,
2625 140, -1, -1, -1, 144, 3, 4, 5, 6, 7,
2626 150, 151, 152, 153, 12, -1, -1, 157, 158, -1,
2627 -1, 161, -1, 163, 164, -1, 166, -1, 26, -1,
2628 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2629 -1, -1, -1, -1, -1, -1, 44, 45, -1, -1,
2630 -1, -1, 50, -1, 52, 53, 54, 55, 56, 57,
2631 -1, -1, 60, 61, 62, 63, 64, 65, 66, 67,
2632 68, 69, -1, -1, -1, 73, 74, 75, 76, 77,
2633 -1, 79, -1, -1, -1, 83, 84, 85, 86, 87,
2634 -1, 89, -1, 91, -1, 93, -1, -1, 96, -1,
2635 -1, -1, 100, 101, 102, 103, -1, 105, 106, -1,
2636 108, -1, 110, -1, -1, -1, -1, -1, 116, -1,
2637 118, 119, 120, -1, -1, -1, -1, -1, -1, -1,
2638 128, 129, 130, 131, 132, 133, 134, -1, -1, 137,
2639 138, -1, 140, -1, -1, -1, 144, 3, 4, 5,
2640 6, 7, 150, 151, 152, 153, 12, -1, -1, 157,
2641 158, -1, -1, 161, -1, 163, 164, -1, 166, -1,
2642 26, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2643 -1, -1, -1, -1, -1, -1, -1, -1, 44, 45,
2644 -1, -1, -1, -1, 50, -1, 52, 53, 54, 55,
2645 56, 57, -1, -1, 60, 61, 62, 63, 64, 65,
2646 66, 67, 68, 69, -1, -1, -1, 73, 74, 75,
2647 76, 77, -1, 79, -1, -1, -1, 83, 84, 85,
2648 86, 87, -1, 89, -1, 91, -1, 93, -1, -1,
2649 96, -1, -1, -1, 100, 101, 102, 103, -1, 105,
2650 106, -1, 108, -1, 110, -1, -1, -1, -1, -1,
2651 116, -1, 118, 119, 120, -1, -1, -1, -1, -1,
2652 -1, -1, 128, 129, 130, 131, 132, 133, 134, -1,
2653 -1, 137, 138, -1, 140, -1, -1, -1, 144, 3,
2654 4, 5, 6, 7, 150, 151, 152, 153, 12, -1,
2655 -1, 157, 158, -1, -1, 161, -1, 163, 164, -1,
2656 166, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2657 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2658 44, 45, -1, -1, -1, -1, 50, -1, 52, 53,
2659 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
2660 64, 65, 66, 67, 68, 69, -1, -1, -1, 73,
2661 74, 75, 76, 77, -1, 79, -1, -1, -1, 83,
2662 84, 85, 86, 87, -1, 89, -1, 91, -1, 93,
2663 -1, -1, 96, -1, -1, -1, 100, 101, 102, 103,
2664 -1, 105, 106, -1, 108, -1, 110, -1, -1, -1,
2665 -1, -1, 116, -1, 118, 119, 120, -1, -1, -1,
2666 -1, -1, -1, -1, 128, 129, 130, 131, 132, 133,
2667 134, -1, -1, 137, 138, -1, 140, -1, -1, -1,
2668 144, 3, 4, 5, 6, 7, 150, 151, 152, 153,
2669 12, -1, -1, 157, 158, -1, -1, 161, -1, 163,
2670 164, -1, 166, -1, -1, -1, -1, -1, -1, -1,
2671 32, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2672 -1, -1, 44, 45, -1, -1, -1, -1, 50, -1,
2673 52, 53, 54, 55, 56, 57, -1, -1, 60, 61,
2674 62, 63, 64, 65, 66, 67, 68, -1, -1, -1,
2675 -1, 73, 74, 75, 76, 77, -1, -1, -1, -1,
2676 -1, 83, 84, 32, 33, 34, 35, 36, 37, 38,
2677 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2678 49, 103, 51, -1, -1, -1, -1, -1, -1, -1,
2679 -1, -1, -1, -1, 116, -1, -1, 119, 120, -1,
2680 -1, -1, -1, -1, -1, -1, 128, 129, 130, 131,
2681 132, 133, 134, -1, 3, 4, 5, 6, 7, -1,
2682 -1, -1, 144, 12, -1, -1, -1, -1, 150, 151,
2683 152, 153, -1, -1, -1, 157, 158, -1, 160, 161,
2684 -1, -1, -1, 32, 166, -1, -1, -1, -1, -1,
2685 -1, -1, -1, -1, -1, 44, 45, -1, -1, -1,
2686 -1, 50, -1, 52, 53, 54, 55, 56, 57, -1,
2687 -1, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2688 -1, -1, -1, -1, 73, 74, 75, 76, 77, -1,
2689 -1, -1, -1, -1, 83, 84, -1, -1, -1, -1,
2690 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2691 -1, -1, -1, -1, 103, -1, -1, -1, -1, -1,
2692 -1, -1, -1, -1, -1, -1, -1, 116, -1, -1,
2693 119, 120, -1, -1, -1, -1, -1, -1, -1, 128,
2694 129, 130, 131, 132, 133, 134, -1, 3, 4, 5,
2695 6, 7, -1, -1, -1, 144, 12, -1, -1, -1,
2696 -1, 150, 151, 152, 153, -1, -1, -1, 157, 158,
2697 -1, -1, 161, -1, -1, -1, -1, 166, -1, -1,
2698 -1, -1, -1, -1, -1, -1, -1, -1, 44, 45,
2699 -1, -1, -1, -1, 50, -1, 52, 53, 54, 55,
2700 56, 57, -1, -1, 60, 61, 62, 63, 64, 65,
2701 66, 67, 68, -1, -1, -1, -1, 73, 74, 75,
2702 76, 77, -1, -1, -1, -1, -1, 83, 84, -1,
2703 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2704 -1, -1, -1, -1, -1, -1, -1, 103, -1, -1,
2705 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2706 116, -1, -1, 119, 120, -1, -1, -1, -1, -1,
2707 -1, -1, 128, 129, 130, 131, 132, 133, 134, -1,
2708 3, 4, 5, 6, 7, -1, -1, -1, 144, 12,
2709 -1, -1, -1, -1, 150, 151, 152, 153, -1, -1,
2710 -1, 157, 158, -1, -1, 161, -1, 163, -1, -1,
2711 166, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2712 -1, 44, 45, -1, -1, -1, -1, 50, -1, 52,
2713 53, 54, 55, 56, 57, -1, -1, 60, 61, 62,
2714 63, 64, 65, 66, 67, 68, -1, -1, -1, -1,
2715 73, 74, 75, 76, 77, -1, -1, -1, -1, -1,
2716 83, 84, -1, -1, -1, -1, -1, -1, -1, -1,
2717 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2718 103, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2719 -1, -1, -1, 116, -1, -1, 119, 120, -1, -1,
2720 -1, -1, -1, -1, -1, 128, 129, 130, 131, 132,
2721 133, 134, -1, 3, 4, 5, 6, 7, -1, -1,
2722 -1, 144, 12, -1, -1, -1, -1, 150, 151, 152,
2723 153, -1, -1, -1, 157, 158, -1, -1, 161, -1,
2724 163, -1, -1, 166, -1, -1, -1, -1, -1, -1,
2725 -1, -1, -1, -1, 44, 45, -1, -1, -1, -1,
2726 50, -1, 52, 53, 54, 55, 56, 57, -1, -1,
2727 60, 61, 62, 63, 64, 65, 66, 67, 68, -1,
2728 -1, -1, -1, 73, 74, 75, 76, 77, -1, -1,
2729 -1, -1, -1, 83, 84, -1, -1, -1, -1, -1,
2730 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2731 -1, -1, -1, 103, -1, -1, -1, -1, -1, -1,
2732 -1, -1, -1, -1, -1, -1, 116, -1, -1, 119,
2733 120, -1, -1, -1, -1, -1, -1, -1, 128, 129,
2734 130, 131, 132, 133, 134, -1, 3, 4, 5, 6,
2735 7, -1, -1, -1, 144, 12, -1, -1, -1, -1,
2736 150, 151, 152, 153, -1, -1, -1, 157, 158, -1,
2737 -1, 161, -1, 163, -1, -1, 166, -1, -1, -1,
2738 -1, -1, -1, -1, -1, -1, -1, 44, 45, -1,
2739 -1, -1, -1, 50, -1, 52, 53, 54, 55, 56,
2740 57, -1, -1, 60, 61, 62, 63, 64, 65, 66,
2741 67, 68, -1, -1, -1, -1, 73, 74, 75, 76,
2742 77, -1, -1, -1, -1, -1, 83, 84, -1, -1,
2743 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2744 -1, -1, -1, -1, -1, -1, 103, -1, -1, -1,
2745 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
2746 -1, -1, 119, 120, -1, -1, -1, -1, -1, -1,
2747 -1, 128, 129, 130, 131, 132, 133, 134, -1, 3,
2748 4, 5, 6, 7, -1, -1, -1, 144, 12, -1,
2749 -1, -1, -1, 150, 151, 152, 153, -1, -1, -1,
2750 157, 158, 26, -1, 161, 162, -1, -1, -1, 166,
2751 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2752 44, 45, -1, -1, -1, -1, 50, -1, 52, 53,
2753 54, 55, 56, 57, -1, -1, 60, 61, 62, 63,
2754 64, 65, 66, 67, 68, -1, -1, -1, -1, 73,
2755 74, 75, 76, 77, -1, -1, -1, -1, -1, 83,
2756 84, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2757 -1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
2758 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2759 -1, -1, 116, -1, -1, 119, 120, -1, -1, -1,
2760 -1, -1, -1, -1, 128, 129, 130, 131, 132, 133,
2761 134, -1, 3, 4, 5, 6, 7, -1, -1, -1,
2762 144, 12, -1, -1, -1, -1, 150, 151, 152, 153,
2763 -1, -1, -1, 157, 158, -1, -1, 161, -1, -1,
2764 -1, 32, 166, -1, -1, -1, -1, -1, -1, -1,
2765 -1, -1, -1, 44, 45, -1, -1, -1, -1, 50,
2766 -1, 52, 53, 54, 55, 56, 57, -1, -1, 60,
2767 61, 62, 63, 64, 65, 66, 67, 68, -1, -1,
2768 -1, -1, 73, 74, 75, 76, 77, -1, -1, -1,
2769 -1, -1, 83, 84, -1, -1, -1, -1, -1, -1,
2770 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2771 -1, -1, 103, -1, -1, -1, -1, -1, -1, -1,
2772 -1, -1, -1, -1, -1, 116, -1, -1, 119, 120,
2773 -1, -1, -1, -1, -1, -1, -1, 128, 129, 130,
2774 131, 132, 133, 134, -1, 3, 4, 5, 6, 7,
2775 -1, -1, -1, 144, 12, -1, -1, -1, -1, 150,
2776 151, 152, 153, -1, -1, -1, 157, 158, -1, -1,
2777 161, -1, -1, -1, 32, 166, -1, -1, -1, -1,
2778 -1, -1, -1, -1, -1, -1, 44, 45, -1, -1,
2779 -1, -1, 50, -1, 52, 53, 54, 55, 56, 57,
2780 -1, -1, 60, 61, 62, 63, 64, 65, 66, 67,
2781 68, -1, -1, -1, -1, 73, 74, 75, 76, 77,
2782 -1, -1, -1, -1, -1, 83, 84, -1, -1, -1,
2783 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2784 -1, -1, -1, -1, -1, 103, -1, -1, -1, -1,
2785 -1, -1, -1, -1, -1, -1, -1, -1, 116, -1,
2786 -1, 119, 120, -1, -1, -1, -1, -1, -1, -1,
2787 128, 129, 130, 131, 132, 133, 134, -1, 3, 4,
2788 5, 6, 7, -1, -1, -1, 144, 12, -1, -1,
2789 -1, -1, 150, 151, 152, 153, -1, -1, -1, 157,
2790 158, -1, -1, 161, -1, -1, -1, 32, 166, -1,
2791 -1, -1, -1, -1, -1, -1, -1, -1, -1, 44,
2792 45, -1, -1, -1, -1, 50, -1, 52, 53, 54,
2793 55, 56, 57, -1, -1, 60, 61, 62, 63, 64,
2794 65, 66, 67, 68, -1, -1, -1, -1, 73, 74,
2795 75, 76, 77, -1, -1, -1, -1, -1, 83, 84,
2796 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2797 -1, -1, -1, -1, -1, -1, -1, -1, 103, -1,
2798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2799 -1, 116, -1, -1, 119, 120, -1, -1, -1, -1,
2800 -1, -1, -1, 128, 129, 130, 131, 132, 133, 134,
2801 -1, 3, 4, 5, 6, 7, -1, -1, -1, 144,
2802 12, -1, -1, -1, -1, 150, 151, 152, 153, -1,
2803 -1, -1, 157, 158, -1, -1, 161, -1, -1, -1,
2804 32, 166, -1, -1, -1, -1, -1, -1, -1, -1,
2805 -1, -1, 44, 45, -1, -1, -1, -1, 50, -1,
2806 52, 53, 54, 55, 56, 57, -1, -1, 60, 61,
2807 62, 63, 64, 65, 66, 67, 68, -1, -1, -1,
2808 -1, 73, 74, 75, 76, 77, -1, -1, -1, -1,
2809 -1, 83, 84, -1, -1, -1, -1, -1, -1, -1,
2810 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2811 -1, 103, -1, -1, -1, -1, -1, -1, -1, -1,
2812 -1, -1, -1, -1, 116, -1, -1, 119, 120, -1,
2813 -1, -1, -1, -1, -1, -1, 128, 129, 130, 131,
2814 132, 133, 134, -1, 3, 4, 5, 6, 7, -1,
2815 -1, -1, 144, 12, -1, -1, -1, -1, 150, 151,
2816 152, 153, -1, -1, -1, 157, 158, -1, -1, 161,
2817 -1, -1, -1, -1, 166, -1, -1, -1, -1, -1,
2818 -1, -1, -1, -1, -1, 44, 45, -1, -1, -1,
2819 -1, 50, -1, 52, 53, 54, 55, 56, 57, -1,
2820 -1, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2821 -1, -1, -1, -1, 73, 74, 75, 76, 77, -1,
2822 -1, -1, -1, -1, 83, 84, -1, -1, -1, -1,
2823 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2824 -1, -1, -1, -1, 103, -1, -1, -1, -1, -1,
2825 -1, -1, -1, -1, -1, -1, -1, 116, -1, -1,
2826 119, 120, -1, -1, -1, -1, -1, -1, -1, 128,
2827 129, 130, 131, 132, 133, 134, -1, 3, 4, 5,
2828 6, 7, -1, -1, -1, 144, 12, -1, -1, -1,
2829 -1, 150, 151, 152, 153, -1, -1, -1, 157, 158,
2830 -1, -1, 161, -1, -1, -1, -1, 166, -1, -1,
2831 -1, -1, -1, -1, -1, -1, -1, -1, 44, 45,
2832 -1, -1, -1, -1, 50, -1, 52, 53, 54, 55,
2833 56, 57, -1, -1, 60, 61, 62, 63, 64, 65,
2834 66, 67, 68, -1, -1, -1, -1, 73, 74, 75,
2835 76, 77, -1, -1, -1, -1, -1, 83, 84, -1,
2836 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2837 -1, -1, -1, -1, -1, -1, -1, 103, -1, -1,
2838 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2839 116, -1, -1, 119, 120, -1, -1, -1, -1, -1,
2840 -1, -1, 128, 129, 130, 131, 132, 133, 134, -1,
2841 -1, -1, -1, -1, -1, -1, -1, -1, 144, -1,
2842 -1, -1, -1, -1, 150, 151, 152, 153, 9, 10,
2843 11, 157, 158, -1, -1, 161, -1, -1, -1, -1,
2844 166, -1, -1, -1, 25, -1, 27, 28, 29, 30,
2845 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2846 41, 42, 43, 44, 45, 46, 47, 48, 49, -1,
2847 51, 9, 10, 11, -1, -1, -1, -1, -1, -1,
2848 -1, -1, -1, -1, -1, -1, -1, 25, -1, 27,
2849 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2850 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2851 48, 49, -1, 51, 9, 10, 11, -1, -1, -1,
2852 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2853 25, -1, 27, 28, 29, 30, 31, 32, 33, 34,
2854 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2855 45, 46, 47, 48, 49, -1, 51, -1, -1, -1,
2856 -1, -1, -1, -1, -1, -1, -1, 9, 10, 11,
2857 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2858 -1, -1, -1, 25, 165, 27, 28, 29, 30, 31,
2859 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2860 42, 43, 44, 45, 46, 47, 48, 49, -1, 51,
2861 -1, -1, 9, 10, 11, -1, -1, -1, -1, -1,
2862 -1, -1, -1, -1, -1, -1, -1, 165, 25, 26,
2863 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2864 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2865 47, 48, 49, -1, 51, 9, 10, 11, -1, -1,
2866 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2867 165, 25, -1, 27, 28, 29, 30, 31, 32, 33,
2868 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2869 44, 45, 46, 47, 48, 49, -1, 51, -1, -1,
2870 -1, -1, -1, -1, -1, -1, 9, 10, 11, -1,
2871 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2872 -1, -1, 25, 165, 27, 28, 29, 30, 31, 32,
2873 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2874 43, 44, 45, 46, 47, 48, 49, -1, 51, 9,
2875 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
2876 -1, -1, -1, -1, -1, 25, 163, 27, 28, 29,
2877 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2878 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2879 -1, 51, 9, 10, 11, -1, -1, -1, -1, -1,
2880 -1, -1, -1, -1, -1, -1, -1, -1, 25, 163,
2881 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2882 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2883 47, 48, 49, -1, 51, -1, -1, -1, -1, -1,
2884 -1, -1, -1, 9, 10, 11, -1, -1, -1, -1,
2885 -1, -1, -1, -1, -1, -1, -1, -1, -1, 25,
2886 163, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2887 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2888 46, 47, 48, 49, -1, 51, 9, 10, 11, -1,
2889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2890 -1, -1, 25, 163, 27, 28, 29, 30, 31, 32,
2891 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2892 43, 44, 45, 46, 47, 48, 49, -1, 51, 9,
2893 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
2894 -1, -1, -1, -1, -1, 25, 163, 27, 28, 29,
2895 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2896 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2897 -1, 51, -1, -1, -1, -1, -1, -1, -1, 9,
2898 10, 11, -1, -1, -1, -1, -1, -1, -1, -1,
2899 -1, -1, -1, -1, -1, 25, 162, 27, 28, 29,
2900 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
2901 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
2902 -1, 51, 9, 10, 11, -1, -1, -1, -1, -1,
2903 -1, -1, -1, -1, -1, -1, -1, -1, 25, 162,
2904 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2905 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2906 47, 48, 49, -1, 51, 9, 10, 11, -1, -1,
2907 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2908 -1, 25, 162, 27, 28, 29, 30, 31, 32, 33,
2909 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2910 44, 45, 46, 47, 48, 49, -1, 51, -1, -1,
2911 -1, -1, -1, -1, -1, 9, 10, 11, -1, -1,
2912 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2913 -1, 25, 162, 27, 28, 29, 30, 31, 32, 33,
2914 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2915 44, 45, 46, 47, 48, 49, -1, 51, 9, 10,
2916 11, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2917 -1, -1, -1, -1, 25, 162, 27, 28, 29, 30,
2918 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2919 41, 42, 43, 44, 45, 46, 47, 48, 49, -1,
2920 51, 9, 10, 11, -1, -1, -1, -1, -1, -1,
2921 -1, -1, -1, -1, -1, -1, -1, 25, 162, 27,
2922 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2923 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2924 48, 49, -1, 51, -1, -1, -1, -1, -1, -1,
2925 -1, 9, 10, 11, -1, -1, -1, -1, -1, -1,
2926 -1, -1, -1, -1, -1, -1, -1, 25, 162, 27,
2927 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2928 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2929 48, 49, -1, 51, 9, 10, 11, -1, -1, -1,
2930 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2931 25, 162, 27, 28, 29, 30, 31, 32, 33, 34,
2932 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2933 45, 46, 47, 48, 49, -1, 51, -1, -1, -1,
2934 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2935 -1, -1, -1, -1, 162, 9, 10, 11, -1, -1,
2936 -1, -1, -1, -1, -1, -1, -1, -1, -1, 127,
2937 -1, 25, -1, 27, 28, 29, 30, 31, 32, 33,
2938 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2939 44, 45, 46, 47, 48, 49, -1, 51, 9, 10,
2940 11, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2941 -1, -1, 127, -1, 25, 26, 27, 28, 29, 30,
2942 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2943 41, 42, 43, 44, 45, 46, 47, 48, 49, -1,
2944 51, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2945 -1, -1, -1, -1, -1, -1, 9, 10, 11, -1,
2946 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2947 -1, -1, 25, 127, 27, 28, 29, 30, 31, 32,
2948 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2949 43, 44, 45, 46, 47, 48, 49, -1, 51, 10,
2950 11, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2951 -1, -1, -1, -1, 25, -1, 27, 28, 29, 30,
2952 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2953 41, 42, 43, 44, 45, 46, 47, 48, 49, 11,
2954 51, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2955 -1, -1, -1, 25, -1, 27, 28, 29, 30, 31,
2956 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2957 42, 43, 44, 45, 46, 47, 48, 49, -1, 51,
2958 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2959 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2960 47, 48, 49, -1, 51, 29, 30, 31, 32, 33,
2961 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2962 44, 45, 46, 47, 48, 49, -1, 51, 30, 31,
2963 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2964 42, 43, 44, 45, 46, 47, 48, 49, -1, 51,
2965 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
2966 41, 42, 43, 44, 45, 46, 47, 48, 49, -1,
2967 51
2968 };
2969
2970 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2971 symbol of state STATE-NUM. */
2972 static const yytype_uint16 yystos[] =
2973 {
2974 0, 169, 170, 0, 3, 4, 5, 6, 7, 12,
2975 44, 45, 50, 52, 53, 54, 55, 56, 57, 60,
2976 61, 62, 63, 64, 65, 66, 67, 68, 69, 73,
2977 74, 75, 76, 77, 79, 83, 84, 85, 86, 87,
2978 89, 91, 93, 96, 100, 101, 102, 103, 104, 105,
2979 106, 108, 109, 110, 114, 115, 116, 118, 119, 120,
2980 121, 122, 123, 128, 129, 130, 131, 132, 133, 134,
2981 137, 138, 140, 144, 150, 151, 152, 153, 156, 157,
2982 158, 161, 163, 164, 166, 171, 172, 175, 178, 179,
2983 186, 187, 189, 190, 191, 193, 249, 250, 251, 254,
2984 255, 263, 266, 270, 271, 273, 274, 280, 281, 282,
2985 283, 284, 285, 286, 287, 292, 297, 299, 300, 301,
2986 302, 303, 75, 116, 150, 158, 251, 270, 270, 161,
2987 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
2988 270, 270, 270, 270, 270, 75, 116, 150, 153, 161,
2989 171, 255, 273, 274, 282, 273, 32, 270, 295, 296,
2990 270, 122, 150, 153, 171, 255, 257, 258, 282, 285,
2991 286, 292, 161, 261, 161, 26, 65, 65, 246, 270,
2992 178, 161, 161, 161, 161, 161, 163, 270, 163, 270,
2993 75, 75, 163, 249, 270, 274, 164, 270, 153, 171,
2994 173, 174, 77, 166, 220, 221, 122, 122, 77, 222,
2995 251, 161, 161, 161, 161, 161, 161, 153, 164, 171,
2996 171, 249, 270, 274, 250, 270, 302, 176, 164, 153,
2997 161, 8, 163, 75, 75, 163, 32, 188, 65, 147,
2998 9, 10, 11, 25, 27, 28, 29, 30, 31, 32,
2999 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
3000 43, 44, 45, 46, 47, 48, 49, 51, 163, 63,
3001 64, 13, 14, 15, 16, 17, 18, 19, 20, 21,
3002 22, 23, 24, 161, 147, 65, 126, 65, 164, 166,
3003 286, 65, 65, 65, 188, 270, 153, 171, 302, 147,
3004 147, 272, 274, 127, 167, 8, 268, 161, 262, 153,
3005 171, 147, 262, 147, 126, 286, 162, 270, 270, 270,
3006 288, 288, 8, 163, 87, 270, 247, 248, 270, 249,
3007 274, 75, 202, 270, 163, 163, 163, 13, 163, 163,
3008 176, 163, 171, 95, 8, 163, 164, 271, 274, 8,
3009 163, 13, 8, 163, 188, 184, 185, 274, 274, 298,
3010 274, 162, 128, 274, 293, 294, 295, 171, 170, 163,
3011 164, 161, 127, 162, 162, 162, 121, 165, 177, 178,
3012 186, 187, 270, 75, 32, 160, 217, 218, 219, 270,
3013 75, 124, 192, 124, 194, 75, 161, 288, 75, 280,
3014 286, 292, 270, 270, 270, 26, 270, 270, 270, 270,
3015 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
3016 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
3017 257, 32, 270, 270, 270, 270, 270, 270, 270, 270,
3018 270, 270, 270, 270, 217, 75, 280, 288, 75, 164,
3019 280, 289, 290, 291, 288, 270, 288, 288, 288, 162,
3020 171, 75, 75, 32, 270, 32, 270, 217, 192, 171,
3021 280, 280, 289, 162, 162, 167, 167, 270, 161, 162,
3022 163, 8, 95, 95, 13, 8, 162, 162, 44, 45,
3023 65, 83, 129, 150, 153, 171, 255, 263, 264, 265,
3024 165, 95, 75, 174, 270, 221, 264, 77, 161, 8,
3025 162, 8, 162, 162, 163, 161, 8, 162, 162, 161,
3026 165, 170, 217, 249, 274, 161, 165, 272, 270, 162,
3027 8, 13, 150, 153, 171, 256, 125, 195, 196, 256,
3028 164, 161, 25, 129, 155, 211, 212, 214, 215, 256,
3029 167, 161, 161, 286, 270, 26, 67, 274, 162, 161,
3030 161, 167, 270, 161, 277, 278, 279, 65, 164, 167,
3031 165, 167, 167, 167, 272, 272, 127, 162, 195, 259,
3032 26, 178, 270, 26, 178, 206, 247, 270, 274, 32,
3033 198, 274, 264, 75, 26, 178, 201, 26, 164, 203,
3034 264, 264, 264, 267, 269, 161, 153, 171, 147, 107,
3035 159, 180, 181, 183, 75, 165, 13, 211, 185, 163,
3036 274, 293, 294, 13, 217, 165, 162, 162, 219, 264,
3037 153, 171, 196, 164, 8, 223, 211, 215, 162, 8,
3038 32, 77, 160, 213, 217, 217, 270, 257, 217, 217,
3039 165, 217, 65, 65, 275, 288, 270, 32, 270, 164,
3040 126, 260, 176, 207, 162, 176, 163, 127, 197, 274,
3041 197, 13, 176, 163, 204, 163, 204, 127, 167, 8,
3042 268, 267, 171, 75, 161, 164, 181, 182, 183, 264,
3043 162, 162, 270, 162, 163, 171, 223, 256, 104, 109,
3044 111, 112, 113, 114, 115, 116, 117, 165, 224, 226,
3045 239, 240, 241, 242, 243, 245, 162, 109, 252, 214,
3046 213, 77, 13, 162, 162, 262, 162, 162, 162, 288,
3047 288, 126, 276, 167, 165, 272, 223, 289, 208, 70,
3048 71, 209, 163, 88, 247, 198, 162, 162, 264, 94,
3049 204, 97, 98, 99, 204, 165, 264, 264, 162, 256,
3050 176, 252, 165, 75, 227, 256, 77, 244, 251, 242,
3051 8, 163, 26, 216, 161, 216, 32, 213, 13, 264,
3052 167, 167, 289, 165, 70, 71, 210, 161, 178, 163,
3053 162, 26, 178, 200, 200, 163, 97, 163, 270, 26,
3054 163, 205, 165, 127, 77, 165, 216, 13, 8, 163,
3055 164, 228, 13, 8, 163, 225, 75, 214, 164, 32,
3056 77, 253, 164, 213, 13, 264, 279, 161, 26, 72,
3057 270, 26, 178, 199, 176, 163, 205, 176, 264, 162,
3058 164, 264, 256, 75, 229, 230, 231, 232, 234, 235,
3059 236, 256, 264, 77, 188, 13, 176, 77, 8, 162,
3060 176, 13, 264, 270, 176, 163, 162, 176, 92, 176,
3061 164, 176, 165, 231, 163, 95, 154, 163, 147, 13,
3062 75, 264, 165, 32, 77, 165, 264, 162, 178, 90,
3063 163, 176, 165, 237, 242, 233, 256, 75, 264, 161,
3064 77, 26, 163, 165, 75, 8, 211, 176, 256, 162,
3065 216, 163, 164, 238, 176, 165
3066 };
3067
3068 #define yyerrok (yyerrstatus = 0)
3069 #define yyclearin (yychar = YYEMPTY)
3070 #define YYEMPTY (-2)
3071 #define YYEOF 0
3072
3073 #define YYACCEPT goto yyacceptlab
3074 #define YYABORT goto yyabortlab
3075 #define YYERROR goto yyerrorlab
3076
3077
3078 /* Like YYERROR except do call yyerror. This remains here temporarily
3079 to ease the transition to the new meaning of YYERROR, for GCC.
3080 Once GCC version 2 has supplanted version 1, this can go. */
3081
3082 #define YYFAIL goto yyerrlab
3083
3084 #define YYRECOVERING() (!!yyerrstatus)
3085
3086 #define YYBACKUP(Token, Value) \
3087 do \
3088 if (yychar == YYEMPTY && yylen == 1) \
3089 { \
3090 yychar = (Token); \
3091 yylval = (Value); \
3092 yytoken = YYTRANSLATE (yychar); \
3093 YYPOPSTACK (1); \
3094 goto yybackup; \
3095 } \
3096 else \
3097 { \
3098 yyerror (yyscanner, root, YY_("syntax error: cannot back up")); \
3099 YYERROR; \
3100 } \
3101 while (YYID (0))
3102
3103
3104 #define YYTERROR 1
3105 #define YYERRCODE 256
3106
3107
3108 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
3109 If N is 0, then set CURRENT to the empty location which ends
3110 the previous symbol: RHS[0] (always defined). */
3111
3112 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
3113 #ifndef YYLLOC_DEFAULT
3114 # define YYLLOC_DEFAULT(Current, Rhs, N) \
3115 do \
3116 if (YYID (N)) \
3117 { \
3118 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
3119 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
3120 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
3121 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
3122 } \
3123 else \
3124 { \
3125 (Current).first_line = (Current).last_line = \
3126 YYRHSLOC (Rhs, 0).last_line; \
3127 (Current).first_column = (Current).last_column = \
3128 YYRHSLOC (Rhs, 0).last_column; \
3129 } \
3130 while (YYID (0))
3131 #endif
3132
3133
3134 /* YY_LOCATION_PRINT -- Print the location on the stream.
3135 This macro was not mandated originally: define only if we know
3136 we won't break user code: when these are the locations we know. */
3137
3138 #ifndef YY_LOCATION_PRINT
3139 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
3140 # define YY_LOCATION_PRINT(File, Loc) \
3141 fprintf (File, "%d.%d-%d.%d", \
3142 (Loc).first_line, (Loc).first_column, \
3143 (Loc).last_line, (Loc).last_column)
3144 # else
3145 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
3146 # endif
3147 #endif
3148
3149
3150 /* YYLEX -- calling `yylex' with the right arguments. */
3151
3152 #ifdef YYLEX_PARAM
3153 # define YYLEX yylex (&yylval, YYLEX_PARAM)
3154 #else
3155 # define YYLEX yylex (&yylval, yyscanner)
3156 #endif
3157
3158 /* Enable debugging if requested. */
3159 #if YYDEBUG
3160
3161 # ifndef YYFPRINTF
3162 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
3163 # define YYFPRINTF fprintf
3164 # endif
3165
3166 # define YYDPRINTF(Args) \
3167 do { \
3168 if (yydebug) \
3169 YYFPRINTF Args; \
3170 } while (YYID (0))
3171
3172 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
3173 do { \
3174 if (yydebug) \
3175 { \
3176 YYFPRINTF (stderr, "%s ", Title); \
3177 yy_symbol_print (stderr, \
3178 Type, Value, yyscanner, root); \
3179 YYFPRINTF (stderr, "\n"); \
3180 } \
3181 } while (YYID (0))
3182
3183
3184 /*--------------------------------.
3185 | Print this symbol on YYOUTPUT. |
3186 `--------------------------------*/
3187
3188 /*ARGSUSED*/
3189 #if (defined __STDC__ || defined __C99__FUNC__ \
3190 || defined __cplusplus || defined _MSC_VER)
3191 static void
yy_symbol_value_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,void * yyscanner,xhpast::Node ** root)3192 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void* yyscanner, xhpast::Node** root)
3193 #else
3194 static void
3195 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yyscanner, root)
3196 FILE *yyoutput;
3197 int yytype;
3198 YYSTYPE const * const yyvaluep;
3199 void* yyscanner;
3200 xhpast::Node** root;
3201 #endif
3202 {
3203 if (!yyvaluep)
3204 return;
3205 YYUSE (yyscanner);
3206 YYUSE (root);
3207 # ifdef YYPRINT
3208 if (yytype < YYNTOKENS)
3209 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
3210 # else
3211 YYUSE (yyoutput);
3212 # endif
3213 switch (yytype)
3214 {
3215 default:
3216 break;
3217 }
3218 }
3219
3220
3221 /*--------------------------------.
3222 | Print this symbol on YYOUTPUT. |
3223 `--------------------------------*/
3224
3225 #if (defined __STDC__ || defined __C99__FUNC__ \
3226 || defined __cplusplus || defined _MSC_VER)
3227 static void
yy_symbol_print(FILE * yyoutput,int yytype,YYSTYPE const * const yyvaluep,void * yyscanner,xhpast::Node ** root)3228 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, void* yyscanner, xhpast::Node** root)
3229 #else
3230 static void
3231 yy_symbol_print (yyoutput, yytype, yyvaluep, yyscanner, root)
3232 FILE *yyoutput;
3233 int yytype;
3234 YYSTYPE const * const yyvaluep;
3235 void* yyscanner;
3236 xhpast::Node** root;
3237 #endif
3238 {
3239 if (yytype < YYNTOKENS)
3240 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
3241 else
3242 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
3243
3244 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yyscanner, root);
3245 YYFPRINTF (yyoutput, ")");
3246 }
3247
3248 /*------------------------------------------------------------------.
3249 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
3250 | TOP (included). |
3251 `------------------------------------------------------------------*/
3252
3253 #if (defined __STDC__ || defined __C99__FUNC__ \
3254 || defined __cplusplus || defined _MSC_VER)
3255 static void
yy_stack_print(yytype_int16 * bottom,yytype_int16 * top)3256 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
3257 #else
3258 static void
3259 yy_stack_print (bottom, top)
3260 yytype_int16 *bottom;
3261 yytype_int16 *top;
3262 #endif
3263 {
3264 YYFPRINTF (stderr, "Stack now");
3265 for (; bottom <= top; ++bottom)
3266 YYFPRINTF (stderr, " %d", *bottom);
3267 YYFPRINTF (stderr, "\n");
3268 }
3269
3270 # define YY_STACK_PRINT(Bottom, Top) \
3271 do { \
3272 if (yydebug) \
3273 yy_stack_print ((Bottom), (Top)); \
3274 } while (YYID (0))
3275
3276
3277 /*------------------------------------------------.
3278 | Report that the YYRULE is going to be reduced. |
3279 `------------------------------------------------*/
3280
3281 #if (defined __STDC__ || defined __C99__FUNC__ \
3282 || defined __cplusplus || defined _MSC_VER)
3283 static void
yy_reduce_print(YYSTYPE * yyvsp,int yyrule,void * yyscanner,xhpast::Node ** root)3284 yy_reduce_print (YYSTYPE *yyvsp, int yyrule, void* yyscanner, xhpast::Node** root)
3285 #else
3286 static void
3287 yy_reduce_print (yyvsp, yyrule, yyscanner, root)
3288 YYSTYPE *yyvsp;
3289 int yyrule;
3290 void* yyscanner;
3291 xhpast::Node** root;
3292 #endif
3293 {
3294 int yynrhs = yyr2[yyrule];
3295 int yyi;
3296 unsigned long int yylno = yyrline[yyrule];
3297 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
3298 yyrule - 1, yylno);
3299 /* The symbols being reduced. */
3300 for (yyi = 0; yyi < yynrhs; yyi++)
3301 {
3302 fprintf (stderr, " $%d = ", yyi + 1);
3303 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
3304 &(yyvsp[(yyi + 1) - (yynrhs)])
3305 , yyscanner, root);
3306 fprintf (stderr, "\n");
3307 }
3308 }
3309
3310 # define YY_REDUCE_PRINT(Rule) \
3311 do { \
3312 if (yydebug) \
3313 yy_reduce_print (yyvsp, Rule, yyscanner, root); \
3314 } while (YYID (0))
3315
3316 /* Nonzero means print parse trace. It is left uninitialized so that
3317 multiple parsers can coexist. */
3318 int yydebug;
3319 #else /* !YYDEBUG */
3320 # define YYDPRINTF(Args)
3321 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
3322 # define YY_STACK_PRINT(Bottom, Top)
3323 # define YY_REDUCE_PRINT(Rule)
3324 #endif /* !YYDEBUG */
3325
3326
3327 /* YYINITDEPTH -- initial size of the parser's stacks. */
3328 #ifndef YYINITDEPTH
3329 # define YYINITDEPTH 200
3330 #endif
3331
3332 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
3333 if the built-in stack extension method is used).
3334
3335 Do not make this value too large; the results are undefined if
3336 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
3337 evaluated with infinite-precision integer arithmetic. */
3338
3339 #ifndef YYMAXDEPTH
3340 # define YYMAXDEPTH 10000
3341 #endif
3342
3343
3344
3345 #if YYERROR_VERBOSE
3346
3347 # ifndef yystrlen
3348 # if defined __GLIBC__ && defined _STRING_H
3349 # define yystrlen strlen
3350 # else
3351 /* Return the length of YYSTR. */
3352 #if (defined __STDC__ || defined __C99__FUNC__ \
3353 || defined __cplusplus || defined _MSC_VER)
3354 static YYSIZE_T
yystrlen(const char * yystr)3355 yystrlen (const char *yystr)
3356 #else
3357 static YYSIZE_T
3358 yystrlen (yystr)
3359 const char *yystr;
3360 #endif
3361 {
3362 YYSIZE_T yylen;
3363 for (yylen = 0; yystr[yylen]; yylen++)
3364 continue;
3365 return yylen;
3366 }
3367 # endif
3368 # endif
3369
3370 # ifndef yystpcpy
3371 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
3372 # define yystpcpy stpcpy
3373 # else
3374 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
3375 YYDEST. */
3376 #if (defined __STDC__ || defined __C99__FUNC__ \
3377 || defined __cplusplus || defined _MSC_VER)
3378 static char *
yystpcpy(char * yydest,const char * yysrc)3379 yystpcpy (char *yydest, const char *yysrc)
3380 #else
3381 static char *
3382 yystpcpy (yydest, yysrc)
3383 char *yydest;
3384 const char *yysrc;
3385 #endif
3386 {
3387 char *yyd = yydest;
3388 const char *yys = yysrc;
3389
3390 while ((*yyd++ = *yys++) != '\0')
3391 continue;
3392
3393 return yyd - 1;
3394 }
3395 # endif
3396 # endif
3397
3398 # ifndef yytnamerr
3399 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
3400 quotes and backslashes, so that it's suitable for yyerror. The
3401 heuristic is that double-quoting is unnecessary unless the string
3402 contains an apostrophe, a comma, or backslash (other than
3403 backslash-backslash). YYSTR is taken from yytname. If YYRES is
3404 null, do not copy; instead, return the length of what the result
3405 would have been. */
3406 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)3407 yytnamerr (char *yyres, const char *yystr)
3408 {
3409 if (*yystr == '"')
3410 {
3411 YYSIZE_T yyn = 0;
3412 char const *yyp = yystr;
3413
3414 for (;;)
3415 switch (*++yyp)
3416 {
3417 case '\'':
3418 case ',':
3419 goto do_not_strip_quotes;
3420
3421 case '\\':
3422 if (*++yyp != '\\')
3423 goto do_not_strip_quotes;
3424 /* Fall through. */
3425 default:
3426 if (yyres)
3427 yyres[yyn] = *yyp;
3428 yyn++;
3429 break;
3430
3431 case '"':
3432 if (yyres)
3433 yyres[yyn] = '\0';
3434 return yyn;
3435 }
3436 do_not_strip_quotes: ;
3437 }
3438
3439 if (! yyres)
3440 return yystrlen (yystr);
3441
3442 return yystpcpy (yyres, yystr) - yyres;
3443 }
3444 # endif
3445
3446 /* Copy into YYRESULT an error message about the unexpected token
3447 YYCHAR while in state YYSTATE. Return the number of bytes copied,
3448 including the terminating null byte. If YYRESULT is null, do not
3449 copy anything; just return the number of bytes that would be
3450 copied. As a special case, return 0 if an ordinary "syntax error"
3451 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
3452 size calculation. */
3453 static YYSIZE_T
yysyntax_error(char * yyresult,int yystate,int yychar)3454 yysyntax_error (char *yyresult, int yystate, int yychar)
3455 {
3456 int yyn = yypact[yystate];
3457
3458 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3459 return 0;
3460 else
3461 {
3462 int yytype = YYTRANSLATE (yychar);
3463 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
3464 YYSIZE_T yysize = yysize0;
3465 YYSIZE_T yysize1;
3466 int yysize_overflow = 0;
3467 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3468 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3469 int yyx;
3470
3471 # if 0
3472 /* This is so xgettext sees the translatable formats that are
3473 constructed on the fly. */
3474 YY_("syntax error, unexpected %s");
3475 YY_("syntax error, unexpected %s, expecting %s");
3476 YY_("syntax error, unexpected %s, expecting %s or %s");
3477 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
3478 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
3479 # endif
3480 char *yyfmt;
3481 char const *yyf;
3482 static char const yyunexpected[] = "syntax error, unexpected %s";
3483 static char const yyexpecting[] = ", expecting %s";
3484 static char const yyor[] = " or %s";
3485 char yyformat[sizeof yyunexpected
3486 + sizeof yyexpecting - 1
3487 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
3488 * (sizeof yyor - 1))];
3489 char const *yyprefix = yyexpecting;
3490
3491 /* Start YYX at -YYN if negative to avoid negative indexes in
3492 YYCHECK. */
3493 int yyxbegin = yyn < 0 ? -yyn : 0;
3494
3495 /* Stay within bounds of both yycheck and yytname. */
3496 int yychecklim = YYLAST - yyn + 1;
3497 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
3498 int yycount = 1;
3499
3500 yyarg[0] = yytname[yytype];
3501 yyfmt = yystpcpy (yyformat, yyunexpected);
3502
3503 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3504 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
3505 {
3506 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3507 {
3508 yycount = 1;
3509 yysize = yysize0;
3510 yyformat[sizeof yyunexpected - 1] = '\0';
3511 break;
3512 }
3513 yyarg[yycount++] = yytname[yyx];
3514 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3515 yysize_overflow |= (yysize1 < yysize);
3516 yysize = yysize1;
3517 yyfmt = yystpcpy (yyfmt, yyprefix);
3518 yyprefix = yyor;
3519 }
3520
3521 yyf = YY_(yyformat);
3522 yysize1 = yysize + yystrlen (yyf);
3523 yysize_overflow |= (yysize1 < yysize);
3524 yysize = yysize1;
3525
3526 if (yysize_overflow)
3527 return YYSIZE_MAXIMUM;
3528
3529 if (yyresult)
3530 {
3531 /* Avoid sprintf, as that infringes on the user's name space.
3532 Don't have undefined behavior even if the translation
3533 produced a string with the wrong number of "%s"s. */
3534 char *yyp = yyresult;
3535 int yyi = 0;
3536 while ((*yyp = *yyf) != '\0')
3537 {
3538 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3539 {
3540 yyp += yytnamerr (yyp, yyarg[yyi++]);
3541 yyf += 2;
3542 }
3543 else
3544 {
3545 yyp++;
3546 yyf++;
3547 }
3548 }
3549 }
3550 return yysize;
3551 }
3552 }
3553 #endif /* YYERROR_VERBOSE */
3554
3555
3556 /*-----------------------------------------------.
3557 | Release the memory associated to this symbol. |
3558 `-----------------------------------------------*/
3559
3560 /*ARGSUSED*/
3561 #if (defined __STDC__ || defined __C99__FUNC__ \
3562 || defined __cplusplus || defined _MSC_VER)
3563 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep,void * yyscanner,xhpast::Node ** root)3564 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, void* yyscanner, xhpast::Node** root)
3565 #else
3566 static void
3567 yydestruct (yymsg, yytype, yyvaluep, yyscanner, root)
3568 const char *yymsg;
3569 int yytype;
3570 YYSTYPE *yyvaluep;
3571 void* yyscanner;
3572 xhpast::Node** root;
3573 #endif
3574 {
3575 YYUSE (yyvaluep);
3576 YYUSE (yyscanner);
3577 YYUSE (root);
3578
3579 if (!yymsg)
3580 yymsg = "Deleting";
3581 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
3582
3583 switch (yytype)
3584 {
3585
3586 default:
3587 break;
3588 }
3589 }
3590
3591
3592 /* Prevent warnings from -Wmissing-prototypes. */
3593
3594 #ifdef YYPARSE_PARAM
3595 #if defined __STDC__ || defined __cplusplus
3596 int yyparse (void *YYPARSE_PARAM);
3597 #else
3598 int yyparse ();
3599 #endif
3600 #else /* ! YYPARSE_PARAM */
3601 #if defined __STDC__ || defined __cplusplus
3602 int yyparse (void* yyscanner, xhpast::Node** root);
3603 #else
3604 int yyparse ();
3605 #endif
3606 #endif /* ! YYPARSE_PARAM */
3607
3608
3609
3610
3611
3612
3613 /*----------.
3614 | yyparse. |
3615 `----------*/
3616
3617 #ifdef YYPARSE_PARAM
3618 #if (defined __STDC__ || defined __C99__FUNC__ \
3619 || defined __cplusplus || defined _MSC_VER)
3620 int
yyparse(void * YYPARSE_PARAM)3621 yyparse (void *YYPARSE_PARAM)
3622 #else
3623 int
3624 yyparse (YYPARSE_PARAM)
3625 void *YYPARSE_PARAM;
3626 #endif
3627 #else /* ! YYPARSE_PARAM */
3628 #if (defined __STDC__ || defined __C99__FUNC__ \
3629 || defined __cplusplus || defined _MSC_VER)
3630 int
3631 yyparse (void* yyscanner, xhpast::Node** root)
3632 #else
3633 int
3634 yyparse (yyscanner, root)
3635 void* yyscanner;
3636 xhpast::Node** root;
3637 #endif
3638 #endif
3639 {
3640 /* The look-ahead symbol. */
3641 int yychar;
3642
3643 /* The semantic value of the look-ahead symbol. */
3644 YYSTYPE yylval;
3645
3646 /* Number of syntax errors so far. */
3647 int yynerrs;
3648
3649 int yystate;
3650 int yyn;
3651 int yyresult;
3652 /* Number of tokens to shift before error messages enabled. */
3653 int yyerrstatus;
3654 /* Look-ahead token as an internal (translated) token number. */
3655 int yytoken = 0;
3656 #if YYERROR_VERBOSE
3657 /* Buffer for error messages, and its allocated size. */
3658 char yymsgbuf[128];
3659 char *yymsg = yymsgbuf;
3660 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
3661 #endif
3662
3663 /* Three stacks and their tools:
3664 `yyss': related to states,
3665 `yyvs': related to semantic values,
3666 `yyls': related to locations.
3667
3668 Refer to the stacks thru separate pointers, to allow yyoverflow
3669 to reallocate them elsewhere. */
3670
3671 /* The state stack. */
3672 yytype_int16 yyssa[YYINITDEPTH];
3673 yytype_int16 *yyss = yyssa;
3674 yytype_int16 *yyssp;
3675
3676 /* The semantic value stack. */
3677 YYSTYPE yyvsa[YYINITDEPTH];
3678 YYSTYPE *yyvs = yyvsa;
3679 YYSTYPE *yyvsp;
3680
3681
3682
3683 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
3684
3685 YYSIZE_T yystacksize = YYINITDEPTH;
3686
3687 /* The variables used to return semantic value and location from the
3688 action routines. */
3689 YYSTYPE yyval;
3690
3691
3692 /* The number of symbols on the RHS of the reduced rule.
3693 Keep to zero when no symbol should be popped. */
3694 int yylen = 0;
3695
3696 YYDPRINTF ((stderr, "Starting parse\n"));
3697
3698 yystate = 0;
3699 yyerrstatus = 0;
3700 yynerrs = 0;
3701 yychar = YYEMPTY; /* Cause a token to be read. */
3702
3703 /* Initialize stack pointers.
3704 Waste one element of value and location stack
3705 so that they stay on the same level as the state stack.
3706 The wasted elements are never initialized. */
3707
3708 yyssp = yyss;
3709 yyvsp = yyvs;
3710
3711 goto yysetstate;
3712
3713 /*------------------------------------------------------------.
3714 | yynewstate -- Push a new state, which is found in yystate. |
3715 `------------------------------------------------------------*/
3716 yynewstate:
3717 /* In all cases, when you get here, the value and location stacks
3718 have just been pushed. So pushing a state here evens the stacks. */
3719 yyssp++;
3720
3721 yysetstate:
3722 *yyssp = yystate;
3723
3724 if (yyss + yystacksize - 1 <= yyssp)
3725 {
3726 /* Get the current used size of the three stacks, in elements. */
3727 YYSIZE_T yysize = yyssp - yyss + 1;
3728
3729 #ifdef yyoverflow
3730 {
3731 /* Give user a chance to reallocate the stack. Use copies of
3732 these so that the &'s don't force the real ones into
3733 memory. */
3734 YYSTYPE *yyvs1 = yyvs;
3735 yytype_int16 *yyss1 = yyss;
3736
3737
3738 /* Each stack pointer address is followed by the size of the
3739 data in use in that stack, in bytes. This used to be a
3740 conditional around just the two extra args, but that might
3741 be undefined if yyoverflow is a macro. */
3742 yyoverflow (YY_("memory exhausted"),
3743 &yyss1, yysize * sizeof (*yyssp),
3744 &yyvs1, yysize * sizeof (*yyvsp),
3745
3746 &yystacksize);
3747
3748 yyss = yyss1;
3749 yyvs = yyvs1;
3750 }
3751 #else /* no yyoverflow */
3752 # ifndef YYSTACK_RELOCATE
3753 goto yyexhaustedlab;
3754 # else
3755 /* Extend the stack our own way. */
3756 if (YYMAXDEPTH <= yystacksize)
3757 goto yyexhaustedlab;
3758 yystacksize *= 2;
3759 if (YYMAXDEPTH < yystacksize)
3760 yystacksize = YYMAXDEPTH;
3761
3762 {
3763 yytype_int16 *yyss1 = yyss;
3764 union yyalloc *yyptr =
3765 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3766 if (! yyptr)
3767 goto yyexhaustedlab;
3768 YYSTACK_RELOCATE (yyss);
3769 YYSTACK_RELOCATE (yyvs);
3770
3771 # undef YYSTACK_RELOCATE
3772 if (yyss1 != yyssa)
3773 YYSTACK_FREE (yyss1);
3774 }
3775 # endif
3776 #endif /* no yyoverflow */
3777
3778 yyssp = yyss + yysize - 1;
3779 yyvsp = yyvs + yysize - 1;
3780
3781
3782 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3783 (unsigned long int) yystacksize));
3784
3785 if (yyss + yystacksize - 1 <= yyssp)
3786 YYABORT;
3787 }
3788
3789 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3790
3791 goto yybackup;
3792
3793 /*-----------.
3794 | yybackup. |
3795 `-----------*/
3796 yybackup:
3797
3798 /* Do appropriate processing given the current state. Read a
3799 look-ahead token if we need one and don't already have one. */
3800
3801 /* First try to decide what to do without reference to look-ahead token. */
3802 yyn = yypact[yystate];
3803 if (yyn == YYPACT_NINF)
3804 goto yydefault;
3805
3806 /* Not known => get a look-ahead token if don't already have one. */
3807
3808 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
3809 if (yychar == YYEMPTY)
3810 {
3811 YYDPRINTF ((stderr, "Reading a token: "));
3812 yychar = YYLEX;
3813 }
3814
3815 if (yychar <= YYEOF)
3816 {
3817 yychar = yytoken = YYEOF;
3818 YYDPRINTF ((stderr, "Now at end of input.\n"));
3819 }
3820 else
3821 {
3822 yytoken = YYTRANSLATE (yychar);
3823 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3824 }
3825
3826 /* If the proper action on seeing token YYTOKEN is to reduce or to
3827 detect an error, take that action. */
3828 yyn += yytoken;
3829 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3830 goto yydefault;
3831 yyn = yytable[yyn];
3832 if (yyn <= 0)
3833 {
3834 if (yyn == 0 || yyn == YYTABLE_NINF)
3835 goto yyerrlab;
3836 yyn = -yyn;
3837 goto yyreduce;
3838 }
3839
3840 if (yyn == YYFINAL)
3841 YYACCEPT;
3842
3843 /* Count tokens shifted since error; after three, turn off error
3844 status. */
3845 if (yyerrstatus)
3846 yyerrstatus--;
3847
3848 /* Shift the look-ahead token. */
3849 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3850
3851 /* Discard the shifted token unless it is eof. */
3852 if (yychar != YYEOF)
3853 yychar = YYEMPTY;
3854
3855 yystate = yyn;
3856 *++yyvsp = yylval;
3857
3858 goto yynewstate;
3859
3860
3861 /*-----------------------------------------------------------.
3862 | yydefault -- do the default action for the current state. |
3863 `-----------------------------------------------------------*/
3864 yydefault:
3865 yyn = yydefact[yystate];
3866 if (yyn == 0)
3867 goto yyerrlab;
3868 goto yyreduce;
3869
3870
3871 /*-----------------------------.
3872 | yyreduce -- Do a reduction. |
3873 `-----------------------------*/
3874 yyreduce:
3875 /* yyn is the number of a rule to reduce with. */
3876 yylen = yyr2[yyn];
3877
3878 /* If YYLEN is nonzero, implement the default value of the action:
3879 `$$ = $1'.
3880
3881 Otherwise, the following line sets YYVAL to garbage.
3882 This behavior is undocumented and Bison
3883 users should not rely upon it. Assigning to YYVAL
3884 unconditionally makes the parser a bit smaller, and it avoids a
3885 GCC warning that YYVAL may be used uninitialized. */
3886 yyval = yyvsp[1-yylen];
3887
3888
3889 YY_REDUCE_PRINT (yyn);
3890 switch (yyn)
3891 {
3892 case 2:
3893 #line 207 "parser.y"
3894 {
3895 *root = NNEW(n_PROGRAM)->appendChild((yyvsp[(1) - (1)]));
3896 ;}
3897 break;
3898
3899 case 3:
3900 #line 213 "parser.y"
3901 {
3902 (yyval) = (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
3903 ;}
3904 break;
3905
3906 case 4:
3907 #line 216 "parser.y"
3908 {
3909 (yyval) = NNEW(n_STATEMENT_LIST);
3910 ;}
3911 break;
3912
3913 case 5:
3914 #line 222 "parser.y"
3915 {
3916 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_SYMBOL_NAME);
3917 ;}
3918 break;
3919
3920 case 6:
3921 #line 225 "parser.y"
3922 {
3923 (yyval) = NMORE((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]));
3924 ;}
3925 break;
3926
3927 case 10:
3928 #line 234 "parser.y"
3929 {
3930 (yyvsp[(1) - (4)]) = NSPAN((yyvsp[(1) - (4)]), n_HALT_COMPILER, (yyvsp[(3) - (4)]));
3931 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (4)]));
3932 NMORE((yyval), (yyvsp[(4) - (4)]));
3933 ;}
3934 break;
3935
3936 case 11:
3937 #line 239 "parser.y"
3938 {
3939 NSPAN((yyvsp[(1) - (3)]), n_NAMESPACE, (yyvsp[(2) - (3)]));
3940 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
3941 (yyvsp[(1) - (3)])->appendChild(NNEW(n_EMPTY));
3942 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (3)]));
3943 NMORE((yyval), (yyvsp[(3) - (3)]));
3944 ;}
3945 break;
3946
3947 case 12:
3948 #line 246 "parser.y"
3949 {
3950 NSPAN((yyvsp[(1) - (5)]), n_NAMESPACE, (yyvsp[(5) - (5)]));
3951 (yyvsp[(1) - (5)])->appendChild((yyvsp[(2) - (5)]));
3952 (yyvsp[(1) - (5)])->appendChild(NEXPAND((yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])));
3953 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (5)]));
3954 ;}
3955 break;
3956
3957 case 13:
3958 #line 252 "parser.y"
3959 {
3960 NSPAN((yyvsp[(1) - (4)]), n_NAMESPACE, (yyvsp[(4) - (4)]));
3961 (yyvsp[(1) - (4)])->appendChild(NNEW(n_EMPTY));
3962 NMORE((yyvsp[(3) - (4)]), (yyvsp[(4) - (4)]));
3963 NMORE((yyvsp[(3) - (4)]), (yyvsp[(2) - (4)]));
3964 (yyvsp[(1) - (4)])->appendChild((yyvsp[(3) - (4)]));
3965 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (4)]));
3966 ;}
3967 break;
3968
3969 case 14:
3970 #line 260 "parser.y"
3971 {
3972 NMORE((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
3973 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(2) - (3)]));
3974 NMORE((yyval), (yyvsp[(3) - (3)]));
3975 ;}
3976 break;
3977
3978 case 15:
3979 #line 265 "parser.y"
3980 {
3981 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (2)]));
3982 NMORE((yyval), (yyvsp[(2) - (2)]));
3983 ;}
3984 break;
3985
3986 case 16:
3987 #line 272 "parser.y"
3988 {
3989 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
3990 ;}
3991 break;
3992
3993 case 17:
3994 #line 275 "parser.y"
3995 {
3996 (yyval) = NNEW(n_USE_LIST);
3997 (yyval)->appendChild((yyvsp[(1) - (1)]));
3998 ;}
3999 break;
4000
4001 case 18:
4002 #line 282 "parser.y"
4003 {
4004 (yyval) = NNEW(n_USE);
4005 (yyval)->appendChild((yyvsp[(1) - (1)]));
4006 (yyval)->appendChild(NNEW(n_EMPTY));
4007 ;}
4008 break;
4009
4010 case 19:
4011 #line 287 "parser.y"
4012 {
4013 (yyval) = NNEW(n_USE);
4014 (yyval)->appendChild((yyvsp[(1) - (3)]));
4015 NTYPE((yyvsp[(3) - (3)]), n_STRING);
4016 (yyval)->appendChild((yyvsp[(3) - (3)]));
4017 ;}
4018 break;
4019
4020 case 20:
4021 #line 293 "parser.y"
4022 {
4023 (yyval) = NNEW(n_USE);
4024 NMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
4025 (yyval)->appendChild((yyvsp[(2) - (2)]));
4026 (yyval)->appendChild(NNEW(n_EMPTY));
4027 ;}
4028 break;
4029
4030 case 21:
4031 #line 299 "parser.y"
4032 {
4033 (yyval) = NNEW(n_USE);
4034 NMORE((yyvsp[(2) - (4)]), (yyvsp[(1) - (4)]));
4035 (yyval)->appendChild((yyvsp[(2) - (4)]));
4036 NTYPE((yyvsp[(4) - (4)]), n_STRING);
4037 (yyval)->appendChild((yyvsp[(4) - (4)]));
4038 ;}
4039 break;
4040
4041 case 22:
4042 #line 309 "parser.y"
4043 {
4044 NMORE((yyval), (yyvsp[(5) - (5)]));
4045 (yyval)->appendChild(
4046 NNEW(n_CONSTANT_DECLARATION)
4047 ->appendChild(NTYPE((yyvsp[(3) - (5)]), n_STRING))
4048 ->appendChild((yyvsp[(5) - (5)])));
4049 ;}
4050 break;
4051
4052 case 23:
4053 #line 316 "parser.y"
4054 {
4055 NSPAN((yyval), n_CONSTANT_DECLARATION_LIST, (yyvsp[(4) - (4)]));
4056 (yyval)->appendChild(
4057 NNEW(n_CONSTANT_DECLARATION)
4058 ->appendChild(NTYPE((yyvsp[(2) - (4)]), n_STRING))
4059 ->appendChild((yyvsp[(4) - (4)])));
4060 ;}
4061 break;
4062
4063 case 24:
4064 #line 326 "parser.y"
4065 {
4066 (yyval) = (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
4067 ;}
4068 break;
4069
4070 case 25:
4071 #line 329 "parser.y"
4072 {
4073 (yyval) = NNEW(n_STATEMENT_LIST);
4074 ;}
4075 break;
4076
4077 case 29:
4078 #line 338 "parser.y"
4079 {
4080 (yyvsp[(1) - (4)]) = NSPAN((yyvsp[(1) - (4)]), n_HALT_COMPILER, (yyvsp[(3) - (4)]));
4081 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (4)]));
4082 NMORE((yyval), (yyvsp[(4) - (4)]));
4083 ;}
4084 break;
4085
4086 case 31:
4087 #line 347 "parser.y"
4088 {
4089 NTYPE((yyvsp[(1) - (2)]), n_STRING);
4090 (yyval) = NNEW(n_LABEL);
4091 (yyval)->appendChild((yyvsp[(1) - (2)]));
4092 NMORE((yyval), (yyvsp[(2) - (2)]));
4093 ;}
4094 break;
4095
4096 case 32:
4097 #line 353 "parser.y"
4098 {
4099 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_OPEN_TAG);
4100 ;}
4101 break;
4102
4103 case 33:
4104 #line 356 "parser.y"
4105 {
4106 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_OPEN_TAG);
4107 ;}
4108 break;
4109
4110 case 34:
4111 #line 359 "parser.y"
4112 {
4113 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_CLOSE_TAG);
4114 ;}
4115 break;
4116
4117 case 35:
4118 #line 365 "parser.y"
4119 {
4120 (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));
4121 ;}
4122 break;
4123
4124 case 36:
4125 #line 368 "parser.y"
4126 {
4127 (yyval) = NNEW(n_CONDITION_LIST);
4128
4129 (yyvsp[(1) - (7)]) = NTYPE((yyvsp[(1) - (7)]), n_IF);
4130 (yyvsp[(1) - (7)])->appendChild(NSPAN((yyvsp[(2) - (7)]), n_CONTROL_CONDITION, (yyvsp[(4) - (7)]))->appendChild((yyvsp[(3) - (7)])));
4131 (yyvsp[(1) - (7)])->appendChild((yyvsp[(5) - (7)]));
4132
4133 (yyval)->appendChild((yyvsp[(1) - (7)]));
4134 (yyval)->appendChildren((yyvsp[(6) - (7)]));
4135
4136 // Hacks: merge a list of if (x) { } else if (y) { } into a single condition
4137 // list instead of a condition tree.
4138
4139 if ((yyvsp[(7) - (7)])->type == n_EMPTY) {
4140 // Ignore.
4141 } else if ((yyvsp[(7) - (7)])->type == n_ELSE) {
4142 xhpast::Node *stype = (yyvsp[(7) - (7)])->firstChild()->firstChild();
4143 if (stype && stype->type == n_CONDITION_LIST) {
4144 NTYPE(stype->firstChild(), n_ELSEIF);
4145 stype->firstChild()->l_tok = (yyvsp[(7) - (7)])->l_tok;
4146 (yyval)->appendChildren(stype);
4147 } else {
4148 (yyval)->appendChild((yyvsp[(7) - (7)]));
4149 }
4150 } else {
4151 (yyval)->appendChild((yyvsp[(7) - (7)]));
4152 }
4153
4154 (yyval) = NNEW(n_STATEMENT)->appendChild((yyval));
4155 ;}
4156 break;
4157
4158 case 37:
4159 #line 402 "parser.y"
4160 {
4161
4162 (yyval) = NNEW(n_CONDITION_LIST);
4163 NTYPE((yyvsp[(1) - (10)]), n_IF);
4164 (yyvsp[(1) - (10)])->appendChild(NSPAN((yyvsp[(2) - (10)]), n_CONTROL_CONDITION, (yyvsp[(4) - (10)]))->appendChild((yyvsp[(3) - (10)])));
4165 (yyvsp[(1) - (10)])->appendChild((yyvsp[(6) - (10)]));
4166
4167 (yyval)->appendChild((yyvsp[(1) - (10)]));
4168 (yyval)->appendChildren((yyvsp[(7) - (10)]));
4169 (yyval)->appendChild((yyvsp[(8) - (10)]));
4170 NMORE((yyval), (yyvsp[(9) - (10)]));
4171
4172 (yyval) = NNEW(n_STATEMENT)->appendChild((yyval));
4173 NMORE((yyval), (yyvsp[(10) - (10)]));
4174 ;}
4175 break;
4176
4177 case 38:
4178 #line 417 "parser.y"
4179 {
4180 NTYPE((yyvsp[(1) - (5)]), n_WHILE);
4181 (yyvsp[(1) - (5)])->appendChild(NSPAN((yyvsp[(2) - (5)]), n_CONTROL_CONDITION, (yyvsp[(4) - (5)]))->appendChild((yyvsp[(3) - (5)])));
4182 (yyvsp[(1) - (5)])->appendChild((yyvsp[(5) - (5)]));
4183
4184 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (5)]));
4185 ;}
4186 break;
4187
4188 case 39:
4189 #line 424 "parser.y"
4190 {
4191 NTYPE((yyvsp[(1) - (7)]), n_DO_WHILE);
4192 (yyvsp[(1) - (7)])->appendChild((yyvsp[(2) - (7)]));
4193 (yyvsp[(1) - (7)])->appendChild(NSPAN((yyvsp[(4) - (7)]), n_CONTROL_CONDITION, (yyvsp[(6) - (7)]))->appendChild((yyvsp[(5) - (7)])));
4194
4195 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (7)]));
4196 NMORE((yyval), (yyvsp[(7) - (7)]));
4197 ;}
4198 break;
4199
4200 case 40:
4201 #line 432 "parser.y"
4202 {
4203 NTYPE((yyvsp[(1) - (9)]), n_FOR);
4204
4205 NSPAN((yyvsp[(2) - (9)]), n_FOR_EXPRESSION, (yyvsp[(8) - (9)]))
4206 ->appendChild((yyvsp[(3) - (9)]))
4207 ->appendChild((yyvsp[(5) - (9)]))
4208 ->appendChild((yyvsp[(7) - (9)]));
4209
4210 (yyvsp[(1) - (9)])->appendChild((yyvsp[(2) - (9)]));
4211 (yyvsp[(1) - (9)])->appendChild((yyvsp[(9) - (9)]));
4212
4213 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (9)]));
4214 ;}
4215 break;
4216
4217 case 41:
4218 #line 445 "parser.y"
4219 {
4220 NTYPE((yyvsp[(1) - (5)]), n_SWITCH);
4221 (yyvsp[(1) - (5)])->appendChild(NSPAN((yyvsp[(2) - (5)]), n_CONTROL_CONDITION, (yyvsp[(4) - (5)]))->appendChild((yyvsp[(3) - (5)])));
4222 (yyvsp[(1) - (5)])->appendChild((yyvsp[(5) - (5)]));
4223
4224 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (5)]));
4225 ;}
4226 break;
4227
4228 case 42:
4229 #line 452 "parser.y"
4230 {
4231 NTYPE((yyvsp[(1) - (2)]), n_BREAK);
4232 (yyvsp[(1) - (2)])->appendChild(NNEW(n_EMPTY));
4233
4234 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (2)]));
4235 NMORE((yyval), (yyvsp[(2) - (2)]));
4236 ;}
4237 break;
4238
4239 case 43:
4240 #line 459 "parser.y"
4241 {
4242 NTYPE((yyvsp[(1) - (3)]), n_BREAK);
4243 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
4244
4245 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (3)]));
4246 NMORE((yyval), (yyvsp[(3) - (3)]));
4247 ;}
4248 break;
4249
4250 case 44:
4251 #line 466 "parser.y"
4252 {
4253 NTYPE((yyvsp[(1) - (2)]), n_CONTINUE);
4254 (yyvsp[(1) - (2)])->appendChild(NNEW(n_EMPTY));
4255
4256 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (2)]));
4257 NMORE((yyval), (yyvsp[(2) - (2)]));
4258 ;}
4259 break;
4260
4261 case 45:
4262 #line 473 "parser.y"
4263 {
4264 NTYPE((yyvsp[(1) - (3)]), n_CONTINUE);
4265 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
4266
4267 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (3)]));
4268 NMORE((yyval), (yyvsp[(3) - (3)]));
4269 ;}
4270 break;
4271
4272 case 46:
4273 #line 480 "parser.y"
4274 {
4275 NTYPE((yyvsp[(1) - (2)]), n_RETURN);
4276 (yyvsp[(1) - (2)])->appendChild(NNEW(n_EMPTY));
4277
4278 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (2)]));
4279 NMORE((yyval), (yyvsp[(2) - (2)]));
4280 ;}
4281 break;
4282
4283 case 47:
4284 #line 487 "parser.y"
4285 {
4286 NTYPE((yyvsp[(1) - (3)]), n_RETURN);
4287 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
4288
4289 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (3)]));
4290 NMORE((yyval), (yyvsp[(3) - (3)]));
4291 ;}
4292 break;
4293
4294 case 48:
4295 #line 494 "parser.y"
4296 {
4297 NTYPE((yyvsp[(1) - (3)]), n_RETURN);
4298 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
4299
4300 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (3)]));
4301 NMORE((yyval), (yyvsp[(3) - (3)]));
4302 ;}
4303 break;
4304
4305 case 49:
4306 #line 501 "parser.y"
4307 {
4308 NMORE((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
4309 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(2) - (3)]));
4310 NMORE((yyval), (yyvsp[(3) - (3)]));
4311 ;}
4312 break;
4313
4314 case 50:
4315 #line 506 "parser.y"
4316 {
4317 NMORE((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
4318 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(2) - (3)]));
4319 NMORE((yyval), (yyvsp[(3) - (3)]));
4320 ;}
4321 break;
4322
4323 case 51:
4324 #line 511 "parser.y"
4325 {
4326 NMORE((yyvsp[(2) - (3)]), (yyvsp[(1) - (3)]));
4327 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(2) - (3)]));
4328 NMORE((yyval), (yyvsp[(3) - (3)]));
4329 ;}
4330 break;
4331
4332 case 52:
4333 #line 516 "parser.y"
4334 {
4335 NTYPE((yyvsp[(1) - (1)]), n_INLINE_HTML);
4336 (yyval) = (yyvsp[(1) - (1)]);
4337 ;}
4338 break;
4339
4340 case 53:
4341 #line 520 "parser.y"
4342 {
4343 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (2)]));
4344 NMORE((yyval), (yyvsp[(2) - (2)]));
4345 ;}
4346 break;
4347
4348 case 54:
4349 #line 524 "parser.y"
4350 {
4351 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (2)]));
4352 NMORE((yyval), (yyvsp[(2) - (2)]));
4353 ;}
4354 break;
4355
4356 case 55:
4357 #line 528 "parser.y"
4358 {
4359 NMORE((yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]));
4360 NMORE((yyvsp[(3) - (5)]), (yyvsp[(1) - (5)]));
4361 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(3) - (5)]));
4362 NMORE((yyval), (yyvsp[(5) - (5)]));
4363 ;}
4364 break;
4365
4366 case 56:
4367 #line 535 "parser.y"
4368 {
4369 NTYPE((yyvsp[(1) - (8)]), n_FOREACH);
4370 NSPAN((yyvsp[(2) - (8)]), n_FOREACH_EXPRESSION, (yyvsp[(7) - (8)]));
4371 (yyvsp[(2) - (8)])->appendChild((yyvsp[(3) - (8)]));
4372 if ((yyvsp[(6) - (8)])->type == n_EMPTY) {
4373 (yyvsp[(2) - (8)])->appendChild((yyvsp[(6) - (8)]));
4374 (yyvsp[(2) - (8)])->appendChild((yyvsp[(5) - (8)]));
4375 } else {
4376 (yyvsp[(2) - (8)])->appendChild((yyvsp[(5) - (8)]));
4377 (yyvsp[(2) - (8)])->appendChild((yyvsp[(6) - (8)]));
4378 }
4379 (yyvsp[(1) - (8)])->appendChild((yyvsp[(2) - (8)]));
4380
4381 (yyvsp[(1) - (8)])->appendChild((yyvsp[(8) - (8)]));
4382
4383 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (8)]));
4384 ;}
4385 break;
4386
4387 case 57:
4388 #line 553 "parser.y"
4389 {
4390 NTYPE((yyvsp[(1) - (8)]), n_FOREACH);
4391 NSPAN((yyvsp[(2) - (8)]), n_FOREACH_EXPRESSION, (yyvsp[(7) - (8)]));
4392 (yyvsp[(2) - (8)])->appendChild((yyvsp[(3) - (8)]));
4393 if ((yyvsp[(6) - (8)])->type == n_EMPTY) {
4394 (yyvsp[(2) - (8)])->appendChild((yyvsp[(6) - (8)]));
4395 (yyvsp[(2) - (8)])->appendChild((yyvsp[(5) - (8)]));
4396 } else {
4397 (yyvsp[(2) - (8)])->appendChild((yyvsp[(5) - (8)]));
4398 (yyvsp[(2) - (8)])->appendChild((yyvsp[(6) - (8)]));
4399 }
4400 (yyvsp[(1) - (8)])->appendChild((yyvsp[(2) - (8)]));
4401 (yyvsp[(1) - (8)])->appendChild((yyvsp[(8) - (8)]));
4402
4403 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (8)]));
4404 ;}
4405 break;
4406
4407 case 58:
4408 #line 569 "parser.y"
4409 {
4410 NTYPE((yyvsp[(1) - (5)]), n_DECLARE);
4411 (yyvsp[(1) - (5)])->appendChild((yyvsp[(3) - (5)]));
4412 (yyvsp[(1) - (5)])->appendChild((yyvsp[(5) - (5)]));
4413 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (5)]));
4414 ;}
4415 break;
4416
4417 case 59:
4418 #line 575 "parser.y"
4419 {
4420 (yyval) = NNEW(n_STATEMENT)->appendChild(NNEW(n_EMPTY));
4421 NMORE((yyval), (yyvsp[(1) - (1)]));
4422 ;}
4423 break;
4424
4425 case 60:
4426 #line 579 "parser.y"
4427 {
4428 NTYPE((yyvsp[(1) - (6)]), n_TRY);
4429 (yyvsp[(1) - (6)])->appendChild(NEXPAND((yyvsp[(2) - (6)]), (yyvsp[(3) - (6)]), (yyvsp[(4) - (6)])));
4430
4431 (yyvsp[(1) - (6)])->appendChild((yyvsp[(5) - (6)]));
4432 (yyvsp[(1) - (6)])->appendChild((yyvsp[(6) - (6)]));
4433
4434 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (6)]));
4435 ;}
4436 break;
4437
4438 case 61:
4439 #line 588 "parser.y"
4440 {
4441 NTYPE((yyvsp[(1) - (5)]), n_TRY);
4442 (yyvsp[(1) - (5)])->appendChild(NEXPAND((yyvsp[(2) - (5)]), (yyvsp[(3) - (5)]), (yyvsp[(4) - (5)])));
4443
4444 (yyvsp[(1) - (5)])->appendChild(NNEW(n_CATCH_LIST));
4445 (yyvsp[(1) - (5)])->appendChild((yyvsp[(5) - (5)]));
4446
4447 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (5)]));
4448 ;}
4449 break;
4450
4451 case 62:
4452 #line 597 "parser.y"
4453 {
4454 NTYPE((yyvsp[(1) - (3)]), n_THROW);
4455 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
4456
4457 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (3)]));
4458 NMORE((yyval), (yyvsp[(3) - (3)]));
4459
4460 ;}
4461 break;
4462
4463 case 63:
4464 #line 605 "parser.y"
4465 {
4466 NTYPE((yyvsp[(1) - (3)]), n_GOTO);
4467 NTYPE((yyvsp[(2) - (3)]), n_STRING);
4468 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
4469
4470 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (3)]));
4471 NMORE((yyval), (yyvsp[(3) - (3)]));
4472 ;}
4473 break;
4474
4475 case 64:
4476 #line 616 "parser.y"
4477 {
4478 (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
4479 (yyval) = (yyvsp[(1) - (2)]);
4480 ;}
4481 break;
4482
4483 case 65:
4484 #line 620 "parser.y"
4485 {
4486 (yyval) = NNEW(n_CATCH_LIST);
4487 (yyval)->appendChild((yyvsp[(1) - (1)]));
4488 ;}
4489 break;
4490
4491 case 66:
4492 #line 627 "parser.y"
4493 {
4494 NTYPE((yyvsp[(1) - (8)]), n_CATCH);
4495 (yyvsp[(1) - (8)])->appendChild((yyvsp[(3) - (8)]));
4496 (yyvsp[(1) - (8)])->appendChild(NTYPE((yyvsp[(4) - (8)]), n_VARIABLE));
4497 (yyvsp[(1) - (8)])->appendChild(NEXPAND((yyvsp[(6) - (8)]), (yyvsp[(7) - (8)]), (yyvsp[(8) - (8)])));
4498 NMORE((yyvsp[(1) - (8)]), (yyvsp[(8) - (8)]));
4499 (yyval) = (yyvsp[(1) - (8)]);
4500 ;}
4501 break;
4502
4503 case 67:
4504 #line 638 "parser.y"
4505 {
4506 (yyval) = NNEW(n_EMPTY);
4507 ;}
4508 break;
4509
4510 case 69:
4511 #line 645 "parser.y"
4512 {
4513 NTYPE((yyvsp[(1) - (4)]), n_FINALLY);
4514 (yyvsp[(1) - (4)])->appendChild((yyvsp[(3) - (4)]));
4515 NMORE((yyvsp[(1) - (4)]), (yyvsp[(4) - (4)]));
4516 (yyval) = (yyvsp[(1) - (4)]);
4517 ;}
4518 break;
4519
4520 case 70:
4521 #line 654 "parser.y"
4522 {
4523 (yyval) = NNEW(n_UNSET_LIST);
4524 (yyval)->appendChild((yyvsp[(1) - (1)]));
4525 ;}
4526 break;
4527
4528 case 71:
4529 #line 658 "parser.y"
4530 {
4531 (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
4532 (yyval) = (yyvsp[(1) - (3)]);
4533 ;}
4534 break;
4535
4536 case 75:
4537 #line 677 "parser.y"
4538 {
4539 (yyval) = NNEW(n_EMPTY);
4540 ;}
4541 break;
4542
4543 case 76:
4544 #line 680 "parser.y"
4545 {
4546 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_REFERENCE);
4547 ;}
4548 break;
4549
4550 case 77:
4551 #line 687 "parser.y"
4552 {
4553 NSPAN((yyvsp[(1) - (10)]), n_FUNCTION_DECLARATION, (yyvsp[(9) - (10)]));
4554 (yyvsp[(1) - (10)])->appendChild(NNEW(n_EMPTY));
4555 (yyvsp[(1) - (10)])->appendChild((yyvsp[(2) - (10)]));
4556 (yyvsp[(1) - (10)])->appendChild(NTYPE((yyvsp[(3) - (10)]), n_STRING));
4557 (yyvsp[(1) - (10)])->appendChild(NEXPAND((yyvsp[(4) - (10)]), (yyvsp[(5) - (10)]), (yyvsp[(6) - (10)])));
4558 (yyvsp[(1) - (10)])->appendChild(NNEW(n_EMPTY));
4559 (yyvsp[(1) - (10)])->appendChild((yyvsp[(7) - (10)]));
4560 (yyvsp[(1) - (10)])->appendChild(NEXPAND((yyvsp[(8) - (10)]), (yyvsp[(9) - (10)]), (yyvsp[(10) - (10)])));
4561
4562 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (10)]));
4563 ;}
4564 break;
4565
4566 case 78:
4567 #line 703 "parser.y"
4568 {
4569 (yyval) = NNEW(n_CLASS_DECLARATION);
4570 (yyval)->appendChild((yyvsp[(1) - (7)]));
4571 (yyval)->appendChild(NTYPE((yyvsp[(2) - (7)]), n_CLASS_NAME));
4572 (yyval)->appendChild((yyvsp[(3) - (7)]));
4573 (yyval)->appendChild((yyvsp[(4) - (7)]));
4574 (yyval)->appendChild(NEXPAND((yyvsp[(5) - (7)]), (yyvsp[(6) - (7)]), (yyvsp[(7) - (7)])));
4575 NMORE((yyval), (yyvsp[(7) - (7)]));
4576
4577 (yyval) = NNEW(n_STATEMENT)->appendChild((yyval));
4578 ;}
4579 break;
4580
4581 case 79:
4582 #line 714 "parser.y"
4583 {
4584 (yyval) = NNEW(n_INTERFACE_DECLARATION);
4585 (yyval)->appendChild(NNEW(n_CLASS_ATTRIBUTES));
4586 NMORE((yyval), (yyvsp[(1) - (6)]));
4587 (yyval)->appendChild(NTYPE((yyvsp[(2) - (6)]), n_CLASS_NAME));
4588 (yyval)->appendChild((yyvsp[(3) - (6)]));
4589 (yyval)->appendChild(NNEW(n_EMPTY));
4590 (yyval)->appendChild(NEXPAND((yyvsp[(4) - (6)]), (yyvsp[(5) - (6)]), (yyvsp[(6) - (6)])));
4591 NMORE((yyval), (yyvsp[(6) - (6)]));
4592
4593 (yyval) = NNEW(n_STATEMENT)->appendChild((yyval));
4594 ;}
4595 break;
4596
4597 case 80:
4598 #line 729 "parser.y"
4599 {
4600 NTYPE((yyvsp[(1) - (1)]), n_CLASS_ATTRIBUTES);
4601 (yyval) = (yyvsp[(1) - (1)]);
4602 ;}
4603 break;
4604
4605 case 81:
4606 #line 733 "parser.y"
4607 {
4608 NTYPE((yyvsp[(2) - (2)]), n_CLASS_ATTRIBUTES);
4609 NMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
4610 (yyvsp[(2) - (2)])->appendChild(NTYPE((yyvsp[(1) - (2)]), n_STRING));
4611
4612 (yyval) = (yyvsp[(2) - (2)]);
4613 ;}
4614 break;
4615
4616 case 82:
4617 #line 740 "parser.y"
4618 {
4619 NTYPE((yyvsp[(2) - (2)]), n_CLASS_ATTRIBUTES);
4620 NMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
4621 (yyvsp[(2) - (2)])->appendChild(NTYPE((yyvsp[(1) - (2)]), n_STRING));
4622
4623 (yyval) = (yyvsp[(2) - (2)]);
4624 ;}
4625 break;
4626
4627 case 83:
4628 #line 747 "parser.y"
4629 {
4630 (yyval) = NNEW(n_CLASS_ATTRIBUTES);
4631 (yyval)->appendChild(NTYPE((yyvsp[(1) - (1)]), n_STRING));
4632 ;}
4633 break;
4634
4635 case 84:
4636 #line 754 "parser.y"
4637 {
4638 (yyval) = NNEW(n_EMPTY);
4639 ;}
4640 break;
4641
4642 case 85:
4643 #line 757 "parser.y"
4644 {
4645 (yyval) = NTYPE((yyvsp[(1) - (2)]), n_EXTENDS_LIST)->appendChild((yyvsp[(2) - (2)]));
4646 ;}
4647 break;
4648
4649 case 87:
4650 #line 767 "parser.y"
4651 {
4652 (yyval) = NNEW(n_EMPTY);
4653 ;}
4654 break;
4655
4656 case 88:
4657 #line 770 "parser.y"
4658 {
4659 NTYPE((yyvsp[(1) - (2)]), n_EXTENDS_LIST);
4660 (yyvsp[(1) - (2)])->appendChildren((yyvsp[(2) - (2)]));
4661 (yyval) = (yyvsp[(1) - (2)]);
4662 ;}
4663 break;
4664
4665 case 89:
4666 #line 778 "parser.y"
4667 {
4668 (yyval) = NNEW(n_EMPTY);
4669 ;}
4670 break;
4671
4672 case 90:
4673 #line 781 "parser.y"
4674 {
4675 NTYPE((yyvsp[(1) - (2)]), n_IMPLEMENTS_LIST);
4676 (yyvsp[(1) - (2)])->appendChildren((yyvsp[(2) - (2)]));
4677 (yyval) = (yyvsp[(1) - (2)]);
4678 ;}
4679 break;
4680
4681 case 91:
4682 #line 789 "parser.y"
4683 {
4684 (yyval) = NNEW(n_IMPLEMENTS_LIST)->appendChild((yyvsp[(1) - (1)]));
4685 ;}
4686 break;
4687
4688 case 92:
4689 #line 792 "parser.y"
4690 {
4691 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
4692 ;}
4693 break;
4694
4695 case 93:
4696 #line 798 "parser.y"
4697 {
4698 (yyval) = NNEW(n_EMPTY);
4699 ;}
4700 break;
4701
4702 case 94:
4703 #line 801 "parser.y"
4704 {
4705 (yyval) = (yyvsp[(2) - (2)]);
4706 ;}
4707 break;
4708
4709 case 96:
4710 #line 808 "parser.y"
4711 {
4712 NTYPE((yyvsp[(1) - (2)]), n_VARIABLE_REFERENCE);
4713 (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
4714 (yyval) = (yyvsp[(1) - (2)]);
4715 ;}
4716 break;
4717
4718 case 98:
4719 #line 817 "parser.y"
4720 {
4721 NMORE((yyvsp[(2) - (4)]), (yyvsp[(1) - (4)]));
4722 NMORE((yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));
4723 (yyval) = (yyvsp[(2) - (4)]);
4724 ;}
4725 break;
4726
4727 case 100:
4728 #line 826 "parser.y"
4729 {
4730 NMORE((yyvsp[(2) - (4)]), (yyvsp[(1) - (4)]));
4731 NMORE((yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));
4732 (yyval) = (yyvsp[(2) - (4)]);
4733 ;}
4734 break;
4735
4736 case 102:
4737 #line 835 "parser.y"
4738 {
4739 NMORE((yyvsp[(2) - (4)]), (yyvsp[(1) - (4)]));
4740 NMORE((yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));
4741 (yyval) = (yyvsp[(2) - (4)]);
4742 ;}
4743 break;
4744
4745 case 103:
4746 #line 843 "parser.y"
4747 {
4748 (yyval) = NNEW(n_DECLARE_DECLARATION);
4749 (yyval)->appendChild(NTYPE((yyvsp[(1) - (3)]), n_STRING));
4750 (yyval)->appendChild((yyvsp[(3) - (3)]));
4751 (yyval) = NNEW(n_DECLARE_DECLARATION_LIST)->appendChild((yyval));
4752 ;}
4753 break;
4754
4755 case 104:
4756 #line 849 "parser.y"
4757 {
4758 (yyval) = NNEW(n_DECLARE_DECLARATION);
4759 (yyval)->appendChild(NTYPE((yyvsp[(3) - (5)]), n_STRING));
4760 (yyval)->appendChild((yyvsp[(5) - (5)]));
4761
4762 (yyvsp[(1) - (5)])->appendChild((yyval));
4763 (yyval) = (yyvsp[(1) - (5)]);
4764 ;}
4765 break;
4766
4767 case 105:
4768 #line 860 "parser.y"
4769 {
4770 (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));
4771 ;}
4772 break;
4773
4774 case 106:
4775 #line 863 "parser.y"
4776 {
4777 // ...why does this rule exist?
4778
4779 NTYPE((yyvsp[(2) - (4)]), n_STATEMENT);
4780 (yyvsp[(1) - (4)])->appendChild(NNEW(n_EMPTY));
4781
4782 (yyval) = NNEW(n_STATEMENT_LIST)->appendChild((yyvsp[(2) - (4)]));
4783 (yyval)->appendChildren((yyvsp[(3) - (4)]));
4784 NEXPAND((yyvsp[(1) - (4)]), (yyval), (yyvsp[(4) - (4)]));
4785 ;}
4786 break;
4787
4788 case 107:
4789 #line 873 "parser.y"
4790 {
4791 NMORE((yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));
4792 NMORE((yyvsp[(2) - (4)]), (yyvsp[(1) - (4)]));
4793 (yyval) = (yyvsp[(2) - (4)]);
4794 ;}
4795 break;
4796
4797 case 108:
4798 #line 878 "parser.y"
4799 {
4800 NTYPE((yyvsp[(2) - (5)]), n_STATEMENT);
4801 (yyvsp[(1) - (5)])->appendChild(NNEW(n_EMPTY));
4802
4803 (yyval) = NNEW(n_STATEMENT_LIST)->appendChild((yyvsp[(2) - (5)]));
4804 (yyval)->appendChildren((yyvsp[(3) - (5)]));
4805 NMORE((yyval), (yyvsp[(5) - (5)]));
4806 NMORE((yyval), (yyvsp[(1) - (5)]));
4807 ;}
4808 break;
4809
4810 case 109:
4811 #line 890 "parser.y"
4812 {
4813 (yyval) = NNEW(n_STATEMENT_LIST);
4814 ;}
4815 break;
4816
4817 case 110:
4818 #line 893 "parser.y"
4819 {
4820 NTYPE((yyvsp[(2) - (5)]), n_CASE);
4821 (yyvsp[(2) - (5)])->appendChild((yyvsp[(3) - (5)]));
4822 (yyvsp[(2) - (5)])->appendChild((yyvsp[(5) - (5)]));
4823
4824 (yyvsp[(1) - (5)])->appendChild((yyvsp[(2) - (5)]));
4825 (yyval) = (yyvsp[(1) - (5)]);
4826 ;}
4827 break;
4828
4829 case 111:
4830 #line 901 "parser.y"
4831 {
4832 NTYPE((yyvsp[(2) - (4)]), n_DEFAULT);
4833 (yyvsp[(2) - (4)])->appendChild((yyvsp[(4) - (4)]));
4834
4835 (yyvsp[(1) - (4)])->appendChild((yyvsp[(2) - (4)]));
4836 (yyval) = (yyvsp[(1) - (4)]);
4837 ;}
4838 break;
4839
4840 case 115:
4841 #line 917 "parser.y"
4842 {
4843 NMORE((yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]));
4844 NMORE((yyvsp[(2) - (4)]), (yyvsp[(1) - (4)]));
4845 (yyval) = (yyvsp[(2) - (4)]);
4846 ;}
4847 break;
4848
4849 case 116:
4850 #line 925 "parser.y"
4851 {
4852 (yyval) = NNEW(n_CONDITION_LIST);
4853 ;}
4854 break;
4855
4856 case 117:
4857 #line 928 "parser.y"
4858 {
4859 NTYPE((yyvsp[(2) - (6)]), n_ELSEIF);
4860 (yyvsp[(2) - (6)])->appendChild(NSPAN((yyvsp[(3) - (6)]), n_CONTROL_CONDITION, (yyvsp[(5) - (6)]))->appendChild((yyvsp[(4) - (6)])));
4861 (yyvsp[(2) - (6)])->appendChild((yyvsp[(6) - (6)]));
4862
4863 (yyval) = (yyvsp[(1) - (6)])->appendChild((yyvsp[(2) - (6)]));
4864 ;}
4865 break;
4866
4867 case 118:
4868 #line 938 "parser.y"
4869 {
4870 (yyval) = NNEW(n_CONDITION_LIST);
4871 ;}
4872 break;
4873
4874 case 119:
4875 #line 941 "parser.y"
4876 {
4877 NTYPE((yyvsp[(2) - (7)]), n_ELSEIF);
4878 (yyvsp[(2) - (7)])->appendChild((yyvsp[(4) - (7)]));
4879 (yyvsp[(2) - (7)])->appendChild((yyvsp[(7) - (7)]));
4880
4881 (yyval) = (yyvsp[(1) - (7)])->appendChild((yyvsp[(2) - (7)]));
4882 ;}
4883 break;
4884
4885 case 120:
4886 #line 951 "parser.y"
4887 {
4888 (yyval) = NNEW(n_EMPTY);
4889 ;}
4890 break;
4891
4892 case 121:
4893 #line 954 "parser.y"
4894 {
4895 NTYPE((yyvsp[(1) - (2)]), n_ELSE);
4896 (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
4897 (yyval) = (yyvsp[(1) - (2)]);
4898 ;}
4899 break;
4900
4901 case 122:
4902 #line 962 "parser.y"
4903 {
4904 (yyval) = NNEW(n_EMPTY);
4905 ;}
4906 break;
4907
4908 case 123:
4909 #line 965 "parser.y"
4910 {
4911 NTYPE((yyvsp[(1) - (3)]), n_ELSE);
4912 (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
4913 (yyval) = (yyvsp[(1) - (3)]);
4914 ;}
4915 break;
4916
4917 case 125:
4918 #line 974 "parser.y"
4919 {
4920 (yyval) = NNEW(n_DECLARATION_PARAMETER_LIST);
4921 ;}
4922 break;
4923
4924 case 126:
4925 #line 980 "parser.y"
4926 {
4927 (yyval) = NNEW(n_DECLARATION_PARAMETER);
4928 (yyval)->appendChild((yyvsp[(1) - (2)]));
4929 (yyval)->appendChild((yyvsp[(2) - (2)]));
4930 (yyval)->appendChild(NNEW(n_EMPTY));
4931
4932 (yyval) = NNEW(n_DECLARATION_PARAMETER_LIST)->appendChild((yyval));
4933 ;}
4934 break;
4935
4936 case 127:
4937 #line 988 "parser.y"
4938 {
4939 (yyval) = NNEW(n_DECLARATION_PARAMETER);
4940 (yyval)->appendChild((yyvsp[(1) - (3)]));
4941 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_VARIABLE_REFERENCE));
4942 (yyvsp[(2) - (3)])->appendChild((yyvsp[(3) - (3)]));
4943 (yyval)->appendChild(NNEW(n_EMPTY));
4944
4945 (yyval) = NNEW(n_DECLARATION_PARAMETER_LIST)->appendChild((yyval));
4946 ;}
4947 break;
4948
4949 case 128:
4950 #line 997 "parser.y"
4951 {
4952 (yyval) = NNEW(n_DECLARATION_PARAMETER);
4953 (yyval)->appendChild((yyvsp[(1) - (5)]));
4954 (yyval)->appendChild(NTYPE((yyvsp[(2) - (5)]), n_VARIABLE_REFERENCE));
4955 (yyvsp[(2) - (5)])->appendChild((yyvsp[(3) - (5)]));
4956 (yyval)->appendChild((yyvsp[(5) - (5)]));
4957
4958 (yyval) = NNEW(n_DECLARATION_PARAMETER_LIST)->appendChild((yyval));
4959 ;}
4960 break;
4961
4962 case 129:
4963 #line 1006 "parser.y"
4964 {
4965 (yyval) = NNEW(n_DECLARATION_PARAMETER);
4966 (yyval)->appendChild((yyvsp[(1) - (4)]));
4967 (yyval)->appendChild((yyvsp[(2) - (4)]));
4968 (yyval)->appendChild((yyvsp[(4) - (4)]));
4969
4970 (yyval) = NNEW(n_DECLARATION_PARAMETER_LIST)->appendChild((yyval));
4971 ;}
4972 break;
4973
4974 case 130:
4975 #line 1014 "parser.y"
4976 {
4977 (yyval) = NNEW(n_DECLARATION_PARAMETER);
4978 (yyval)->appendChild((yyvsp[(3) - (4)]));
4979 (yyval)->appendChild((yyvsp[(4) - (4)]));
4980 (yyval)->appendChild(NNEW(n_EMPTY));
4981
4982 (yyval) = (yyvsp[(1) - (4)])->appendChild((yyval));
4983 ;}
4984 break;
4985
4986 case 131:
4987 #line 1022 "parser.y"
4988 {
4989 (yyval) = NNEW(n_DECLARATION_PARAMETER);
4990 (yyval)->appendChild((yyvsp[(3) - (5)]));
4991 (yyval)->appendChild(NTYPE((yyvsp[(4) - (5)]), n_VARIABLE_REFERENCE));
4992 (yyvsp[(4) - (5)])->appendChild((yyvsp[(5) - (5)]));
4993 (yyval)->appendChild(NNEW(n_EMPTY));
4994
4995 (yyval) = (yyvsp[(1) - (5)])->appendChild((yyval));
4996 ;}
4997 break;
4998
4999 case 132:
5000 #line 1032 "parser.y"
5001 {
5002 (yyval) = NNEW(n_DECLARATION_PARAMETER);
5003 (yyval)->appendChild((yyvsp[(3) - (7)]));
5004 (yyval)->appendChild(NTYPE((yyvsp[(4) - (7)]), n_VARIABLE_REFERENCE));
5005 (yyvsp[(4) - (7)])->appendChild((yyvsp[(5) - (7)]));
5006 (yyval)->appendChild((yyvsp[(7) - (7)]));
5007
5008 (yyval) = (yyvsp[(1) - (7)])->appendChild((yyval));
5009 ;}
5010 break;
5011
5012 case 133:
5013 #line 1042 "parser.y"
5014 {
5015 (yyval) = NNEW(n_DECLARATION_PARAMETER);
5016 (yyval)->appendChild((yyvsp[(3) - (6)]));
5017 (yyval)->appendChild((yyvsp[(4) - (6)]));
5018 (yyval)->appendChild((yyvsp[(6) - (6)]));
5019
5020 (yyval) = (yyvsp[(1) - (6)])->appendChild((yyval));
5021 ;}
5022 break;
5023
5024 case 134:
5025 #line 1053 "parser.y"
5026 {
5027 NTYPE((yyvsp[(1) - (2)]), n_UNPACK);
5028 (yyval) = (yyvsp[(1) - (2)])->appendChild(NTYPE((yyvsp[(2) - (2)]), n_VARIABLE));
5029 ;}
5030 break;
5031
5032 case 135:
5033 #line 1057 "parser.y"
5034 {
5035 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_VARIABLE);
5036 ;}
5037 break;
5038
5039 case 136:
5040 #line 1063 "parser.y"
5041 {
5042 (yyval) = NNEW(n_EMPTY);
5043 ;}
5044 break;
5045
5046 case 138:
5047 #line 1067 "parser.y"
5048 {
5049 (yyval) = NNEW(n_NULLABLE_TYPE);
5050 (yyval)->appendChild((yyvsp[(2) - (2)]));
5051 ;}
5052 break;
5053
5054 case 139:
5055 #line 1074 "parser.y"
5056 {
5057 (yyval) = (yyvsp[(1) - (1)]);
5058 ;}
5059 break;
5060
5061 case 140:
5062 #line 1077 "parser.y"
5063 {
5064 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_TYPE_NAME);
5065 ;}
5066 break;
5067
5068 case 141:
5069 #line 1080 "parser.y"
5070 {
5071 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_TYPE_NAME);
5072 ;}
5073 break;
5074
5075 case 142:
5076 #line 1086 "parser.y"
5077 {
5078 (yyval) = NNEW(n_EMPTY);
5079 ;}
5080 break;
5081
5082 case 143:
5083 #line 1089 "parser.y"
5084 {
5085 (yyval) = NNEW(n_DECLARATION_RETURN);
5086 (yyval)->appendChild((yyvsp[(2) - (2)]));
5087 ;}
5088 break;
5089
5090 case 145:
5091 #line 1097 "parser.y"
5092 {
5093 (yyval) = NNEW(n_CALL_PARAMETER_LIST);
5094 ;}
5095 break;
5096
5097 case 146:
5098 #line 1103 "parser.y"
5099 {
5100 (yyval) = NNEW(n_CALL_PARAMETER_LIST)->appendChild((yyvsp[(1) - (1)]));
5101 ;}
5102 break;
5103
5104 case 147:
5105 #line 1106 "parser.y"
5106 {
5107 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
5108 ;}
5109 break;
5110
5111 case 149:
5112 #line 1113 "parser.y"
5113 {
5114 NTYPE((yyvsp[(1) - (2)]), n_UNPACK);
5115 (yyval) = (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
5116 ;}
5117 break;
5118
5119 case 150:
5120 #line 1117 "parser.y"
5121 {
5122 NTYPE((yyvsp[(1) - (2)]), n_VARIABLE_REFERENCE);
5123 (yyval) = (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
5124 ;}
5125 break;
5126
5127 case 151:
5128 #line 1124 "parser.y"
5129 {
5130 (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
5131 (yyval) = (yyvsp[(1) - (3)]);
5132 ;}
5133 break;
5134
5135 case 152:
5136 #line 1128 "parser.y"
5137 {
5138 (yyval) = NNEW(n_GLOBAL_DECLARATION_LIST);
5139 (yyval)->appendChild((yyvsp[(1) - (1)]));
5140 ;}
5141 break;
5142
5143 case 153:
5144 #line 1135 "parser.y"
5145 {
5146 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_VARIABLE);
5147 ;}
5148 break;
5149
5150 case 154:
5151 #line 1138 "parser.y"
5152 {
5153 (yyval) = NTYPE((yyvsp[(1) - (2)]), n_VARIABLE_VARIABLE);
5154 (yyval)->appendChild((yyvsp[(2) - (2)]));
5155 ;}
5156 break;
5157
5158 case 155:
5159 #line 1142 "parser.y"
5160 {
5161 (yyval) = NTYPE((yyvsp[(1) - (4)]), n_VARIABLE_VARIABLE);
5162 (yyval)->appendChild((yyvsp[(3) - (4)]));
5163 ;}
5164 break;
5165
5166 case 156:
5167 #line 1149 "parser.y"
5168 {
5169 NTYPE((yyvsp[(3) - (3)]), n_VARIABLE);
5170 (yyval) = NNEW(n_STATIC_DECLARATION);
5171 (yyval)->appendChild((yyvsp[(3) - (3)]));
5172 (yyval)->appendChild(NNEW(n_EMPTY));
5173
5174 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyval));
5175 ;}
5176 break;
5177
5178 case 157:
5179 #line 1157 "parser.y"
5180 {
5181 NTYPE((yyvsp[(3) - (5)]), n_VARIABLE);
5182 (yyval) = NNEW(n_STATIC_DECLARATION);
5183 (yyval)->appendChild((yyvsp[(3) - (5)]));
5184 (yyval)->appendChild((yyvsp[(5) - (5)]));
5185
5186 (yyval) = (yyvsp[(1) - (5)])->appendChild((yyval));
5187 ;}
5188 break;
5189
5190 case 158:
5191 #line 1165 "parser.y"
5192 {
5193 NTYPE((yyvsp[(1) - (1)]), n_VARIABLE);
5194 (yyval) = NNEW(n_STATIC_DECLARATION);
5195 (yyval)->appendChild((yyvsp[(1) - (1)]));
5196 (yyval)->appendChild(NNEW(n_EMPTY));
5197
5198 (yyval) = NNEW(n_STATIC_DECLARATION_LIST)->appendChild((yyval));
5199 ;}
5200 break;
5201
5202 case 159:
5203 #line 1173 "parser.y"
5204 {
5205 NTYPE((yyvsp[(1) - (3)]), n_VARIABLE);
5206 (yyval) = NNEW(n_STATIC_DECLARATION);
5207 (yyval)->appendChild((yyvsp[(1) - (3)]));
5208 (yyval)->appendChild((yyvsp[(3) - (3)]));
5209
5210 (yyval) = NNEW(n_STATIC_DECLARATION_LIST)->appendChild((yyval));
5211 ;}
5212 break;
5213
5214 case 160:
5215 #line 1184 "parser.y"
5216 {
5217 (yyval) = (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
5218 ;}
5219 break;
5220
5221 case 161:
5222 #line 1187 "parser.y"
5223 {
5224 (yyval) = NNEW(n_STATEMENT_LIST);
5225 ;}
5226 break;
5227
5228 case 162:
5229 #line 1193 "parser.y"
5230 {
5231 (yyval) = NNEW(n_CLASS_MEMBER_DECLARATION_LIST);
5232 (yyval)->appendChild((yyvsp[(1) - (3)]));
5233 (yyval)->appendChildren((yyvsp[(2) - (3)]));
5234
5235 (yyval) = NNEW(n_STATEMENT)->appendChild((yyval));
5236 NMORE((yyval), (yyvsp[(3) - (3)]));
5237 ;}
5238 break;
5239
5240 case 163:
5241 #line 1201 "parser.y"
5242 {
5243 (yyval) = NNEW(n_STATEMENT)->appendChild((yyvsp[(1) - (2)]));
5244 NMORE((yyval), (yyvsp[(2) - (2)]));
5245 ;}
5246 break;
5247
5248 case 164:
5249 #line 1205 "parser.y"
5250 {
5251 (yyval) = (yyvsp[(1) - (1)]);
5252 ;}
5253 break;
5254
5255 case 165:
5256 #line 1208 "parser.y"
5257 {
5258 /* empty */
5259 ;}
5260 break;
5261
5262 case 166:
5263 #line 1210 "parser.y"
5264 {
5265 (yyval) = NNEW(n_METHOD_DECLARATION);
5266 NMORE((yyval), (yyvsp[(2) - (10)]));
5267 (yyval)->appendChild((yyvsp[(1) - (10)]));
5268 (yyval)->appendChild((yyvsp[(4) - (10)]));
5269 (yyval)->appendChild(NTYPE((yyvsp[(5) - (10)]), n_STRING));
5270 (yyval)->appendChild(NEXPAND((yyvsp[(6) - (10)]), (yyvsp[(7) - (10)]), (yyvsp[(8) - (10)])));
5271 (yyval)->appendChild(NNEW(n_EMPTY));
5272 (yyval)->appendChild((yyvsp[(9) - (10)]));
5273 (yyval)->appendChild((yyvsp[(10) - (10)]));
5274
5275 (yyval) = NNEW(n_STATEMENT)->appendChild((yyval));
5276 ;}
5277 break;
5278
5279 case 167:
5280 #line 1226 "parser.y"
5281 {
5282 (yyval) = NTYPE((yyvsp[(1) - (3)]), n_TRAIT_USE);
5283 (yyval)->appendChildren((yyvsp[(2) - (3)]));
5284 (yyval)->appendChild((yyvsp[(3) - (3)]));
5285 ;}
5286 break;
5287
5288 case 168:
5289 #line 1234 "parser.y"
5290 {
5291 (yyval) = NNEW(n_TRAIT_USE_LIST)->appendChild((yyvsp[(1) - (1)]));
5292 ;}
5293 break;
5294
5295 case 169:
5296 #line 1237 "parser.y"
5297 {
5298 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
5299 ;}
5300 break;
5301
5302 case 170:
5303 #line 1243 "parser.y"
5304 {
5305 (yyval) = NNEW(n_EMPTY);
5306 ;}
5307 break;
5308
5309 case 171:
5310 #line 1246 "parser.y"
5311 {
5312 (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));
5313 ;}
5314 break;
5315
5316 case 172:
5317 #line 1252 "parser.y"
5318 {
5319 (yyval) = NNEW(n_TRAIT_ADAPTATION_LIST);
5320 ;}
5321 break;
5322
5323 case 173:
5324 #line 1255 "parser.y"
5325 {
5326 (yyval) = (yyvsp[(1) - (1)]);
5327 ;}
5328 break;
5329
5330 case 174:
5331 #line 1261 "parser.y"
5332 {
5333 (yyval) = NNEW(n_TRAIT_ADAPTATION_LIST);
5334 (yyval)->appendChild((yyvsp[(1) - (1)]));
5335 ;}
5336 break;
5337
5338 case 175:
5339 #line 1265 "parser.y"
5340 {
5341 (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
5342 (yyval) = (yyvsp[(1) - (2)]);
5343 ;}
5344 break;
5345
5346 case 176:
5347 #line 1272 "parser.y"
5348 {
5349 (yyval) = NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
5350 ;}
5351 break;
5352
5353 case 177:
5354 #line 1275 "parser.y"
5355 {
5356 (yyval) = NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
5357 ;}
5358 break;
5359
5360 case 178:
5361 #line 1281 "parser.y"
5362 {
5363 (yyval) = NNEW(n_TRAIT_INSTEADOF);
5364 (yyval)->appendChild((yyvsp[(1) - (3)]));
5365 (yyval)->appendChild((yyvsp[(3) - (3)]));
5366 ;}
5367 break;
5368
5369 case 179:
5370 #line 1289 "parser.y"
5371 {
5372 (yyval) = NNEW(n_TRAIT_REFERENCE_LIST);
5373 (yyval)->appendChild((yyvsp[(1) - (1)]));
5374 ;}
5375 break;
5376
5377 case 180:
5378 #line 1293 "parser.y"
5379 {
5380 (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
5381 (yyval) = (yyvsp[(1) - (3)]);
5382 ;}
5383 break;
5384
5385 case 181:
5386 #line 1300 "parser.y"
5387 {
5388 (yyval) = NNEW(n_TRAIT_METHOD_REFERENCE);
5389 (yyval)->appendChild(NTYPE((yyvsp[(1) - (1)]), n_STRING));
5390 ;}
5391 break;
5392
5393 case 182:
5394 #line 1304 "parser.y"
5395 {
5396 (yyval) = (yyvsp[(1) - (1)]);
5397 ;}
5398 break;
5399
5400 case 183:
5401 #line 1310 "parser.y"
5402 {
5403 NTYPE((yyvsp[(2) - (3)]), n_TRAIT_METHOD_REFERENCE);
5404 NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), NTYPE((yyvsp[(3) - (3)]), n_STRING));
5405 (yyval) = (yyvsp[(2) - (3)]);
5406 ;}
5407 break;
5408
5409 case 184:
5410 #line 1318 "parser.y"
5411 {
5412 (yyval) = NNEW(n_TRAIT_AS);
5413 (yyval)->appendChild((yyvsp[(1) - (4)]));
5414 (yyval)->appendChild((yyvsp[(3) - (4)]));
5415 (yyval)->appendChild(NTYPE((yyvsp[(4) - (4)]), n_STRING));
5416 ;}
5417 break;
5418
5419 case 185:
5420 #line 1324 "parser.y"
5421 {
5422 (yyval) = NNEW(n_TRAIT_AS);
5423 (yyval)->appendChild((yyvsp[(1) - (3)]));
5424 (yyval)->appendChild((yyvsp[(3) - (3)]));
5425 (yyval)->appendChild(NNEW(n_EMPTY));
5426 ;}
5427 break;
5428
5429 case 186:
5430 #line 1333 "parser.y"
5431 {
5432 (yyval) = NNEW(n_EMPTY);
5433 ;}
5434 break;
5435
5436 case 187:
5437 #line 1336 "parser.y"
5438 {
5439 (yyval) = NNEW(n_METHOD_MODIFIER_LIST);
5440 (yyval)->appendChild((yyvsp[(1) - (1)]));
5441 ;}
5442 break;
5443
5444 case 188:
5445 #line 1344 "parser.y"
5446 {
5447 (yyval) = NNEW(n_EMPTY);
5448 ;}
5449 break;
5450
5451 case 189:
5452 #line 1347 "parser.y"
5453 {
5454 (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));
5455 ;}
5456 break;
5457
5458 case 191:
5459 #line 1354 "parser.y"
5460 {
5461 (yyval) = NNEW(n_CLASS_MEMBER_MODIFIER_LIST);
5462 (yyval)->appendChild(NTYPE((yyvsp[(1) - (1)]), n_STRING));
5463 ;}
5464 break;
5465
5466 case 192:
5467 #line 1361 "parser.y"
5468 {
5469 (yyval) = NNEW(n_METHOD_MODIFIER_LIST);
5470 ;}
5471 break;
5472
5473 case 193:
5474 #line 1364 "parser.y"
5475 {
5476 NTYPE((yyvsp[(1) - (1)]), n_METHOD_MODIFIER_LIST);
5477 (yyval) = (yyvsp[(1) - (1)]);
5478 ;}
5479 break;
5480
5481 case 194:
5482 #line 1371 "parser.y"
5483 {
5484 (yyval) = NNEW(n_CLASS_MEMBER_MODIFIER_LIST);
5485 (yyval)->appendChild((yyvsp[(1) - (1)]));
5486 ;}
5487 break;
5488
5489 case 195:
5490 #line 1375 "parser.y"
5491 {
5492 (yyval) = (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
5493 ;}
5494 break;
5495
5496 case 196:
5497 #line 1381 "parser.y"
5498 {
5499 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_STRING);
5500 ;}
5501 break;
5502
5503 case 203:
5504 #line 1396 "parser.y"
5505 {
5506 (yyval) = NNEW(n_CLASS_MEMBER_DECLARATION);
5507 (yyval)->appendChild(NTYPE((yyvsp[(3) - (3)]), n_VARIABLE));
5508 (yyval)->appendChild(NNEW(n_EMPTY));
5509
5510 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyval));
5511 ;}
5512 break;
5513
5514 case 204:
5515 #line 1403 "parser.y"
5516 {
5517 (yyval) = NNEW(n_CLASS_MEMBER_DECLARATION);
5518 (yyval)->appendChild(NTYPE((yyvsp[(3) - (5)]), n_VARIABLE));
5519 (yyval)->appendChild((yyvsp[(5) - (5)]));
5520
5521 (yyval) = (yyvsp[(1) - (5)])->appendChild((yyval));
5522 ;}
5523 break;
5524
5525 case 205:
5526 #line 1410 "parser.y"
5527 {
5528 (yyval) = NNEW(n_CLASS_MEMBER_DECLARATION);
5529 (yyval)->appendChild(NTYPE((yyvsp[(1) - (1)]), n_VARIABLE));
5530 (yyval)->appendChild(NNEW(n_EMPTY));
5531
5532 (yyval) = NNEW(n_CLASS_MEMBER_DECLARATION_LIST)->appendChild((yyval));
5533 ;}
5534 break;
5535
5536 case 206:
5537 #line 1417 "parser.y"
5538 {
5539 (yyval) = NNEW(n_CLASS_MEMBER_DECLARATION);
5540 (yyval)->appendChild(NTYPE((yyvsp[(1) - (3)]), n_VARIABLE));
5541 (yyval)->appendChild((yyvsp[(3) - (3)]));
5542
5543 (yyval) = NNEW(n_CLASS_MEMBER_DECLARATION_LIST)->appendChild((yyval));
5544 ;}
5545 break;
5546
5547 case 207:
5548 #line 1427 "parser.y"
5549 {
5550 (yyval) = NNEW(n_CLASS_CONSTANT_DECLARATION);
5551 (yyval)->appendChild(NTYPE((yyvsp[(3) - (5)]), n_STRING));
5552 (yyval)->appendChild((yyvsp[(5) - (5)]));
5553
5554 (yyvsp[(1) - (5)])->appendChild((yyval));
5555
5556 (yyval) = (yyvsp[(1) - (5)]);
5557 ;}
5558 break;
5559
5560 case 208:
5561 #line 1436 "parser.y"
5562 {
5563 NTYPE((yyvsp[(1) - (4)]), n_CLASS_CONSTANT_DECLARATION_LIST);
5564 (yyval) = NNEW(n_CLASS_CONSTANT_DECLARATION);
5565 (yyval)->appendChild(NTYPE((yyvsp[(2) - (4)]), n_STRING));
5566 (yyval)->appendChild((yyvsp[(4) - (4)]));
5567 (yyvsp[(1) - (4)])->appendChild((yyval));
5568
5569 (yyval) = (yyvsp[(1) - (4)]);
5570 ;}
5571 break;
5572
5573 case 209:
5574 #line 1448 "parser.y"
5575 {
5576 (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
5577 ;}
5578 break;
5579
5580 case 210:
5581 #line 1451 "parser.y"
5582 {
5583 (yyval) = NNEW(n_ECHO_LIST);
5584 (yyval)->appendChild((yyvsp[(1) - (1)]));
5585 ;}
5586 break;
5587
5588 case 211:
5589 #line 1458 "parser.y"
5590 {
5591 (yyval) = NNEW(n_EMPTY);
5592 ;}
5593 break;
5594
5595 case 213:
5596 #line 1466 "parser.y"
5597 {
5598 (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
5599 ;}
5600 break;
5601
5602 case 214:
5603 #line 1469 "parser.y"
5604 {
5605 (yyval) = NNEW(n_EXPRESSION_LIST);
5606 (yyval)->appendChild((yyvsp[(1) - (1)]));
5607 ;}
5608 break;
5609
5610 case 215:
5611 #line 1476 "parser.y"
5612 {
5613 NTYPE((yyvsp[(1) - (6)]), n_LIST);
5614 (yyvsp[(1) - (6)])->appendChild(NEXPAND((yyvsp[(2) - (6)]), (yyvsp[(3) - (6)]), (yyvsp[(4) - (6)])));
5615 (yyval) = NNEW(n_BINARY_EXPRESSION);
5616 (yyval)->appendChild((yyvsp[(1) - (6)]));
5617 (yyval)->appendChild(NTYPE((yyvsp[(5) - (6)]), n_OPERATOR));
5618 (yyval)->appendChild((yyvsp[(6) - (6)]));
5619 ;}
5620 break;
5621
5622 case 216:
5623 #line 1484 "parser.y"
5624 {
5625 (yyval) = NNEW(n_BINARY_EXPRESSION);
5626 (yyval)->appendChild((yyvsp[(1) - (3)]));
5627 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5628 (yyval)->appendChild((yyvsp[(3) - (3)]));
5629 ;}
5630 break;
5631
5632 case 217:
5633 #line 1490 "parser.y"
5634 {
5635 (yyval) = NNEW(n_BINARY_EXPRESSION);
5636 (yyval)->appendChild((yyvsp[(1) - (4)]));
5637 (yyval)->appendChild(NTYPE((yyvsp[(2) - (4)]), n_OPERATOR));
5638
5639 NTYPE((yyvsp[(3) - (4)]), n_VARIABLE_REFERENCE);
5640 (yyvsp[(3) - (4)])->appendChild((yyvsp[(4) - (4)]));
5641
5642 (yyval)->appendChild((yyvsp[(3) - (4)]));
5643 ;}
5644 break;
5645
5646 case 218:
5647 #line 1500 "parser.y"
5648 {
5649 (yyval) = NNEW(n_BINARY_EXPRESSION);
5650 (yyval)->appendChild((yyvsp[(1) - (6)]));
5651 (yyval)->appendChild(NTYPE((yyvsp[(2) - (6)]), n_OPERATOR));
5652
5653 NTYPE((yyvsp[(4) - (6)]), n_NEW);
5654 (yyvsp[(4) - (6)])->appendChild((yyvsp[(5) - (6)]));
5655 (yyvsp[(4) - (6)])->appendChild((yyvsp[(6) - (6)]));
5656
5657 NTYPE((yyvsp[(3) - (6)]), n_VARIABLE_REFERENCE);
5658 (yyvsp[(3) - (6)])->appendChild((yyvsp[(4) - (6)]));
5659
5660 (yyval)->appendChild((yyvsp[(3) - (6)]));
5661 ;}
5662 break;
5663
5664 case 219:
5665 #line 1514 "parser.y"
5666 {
5667 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
5668 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
5669 (yyval)->appendChild((yyvsp[(2) - (2)]));
5670 ;}
5671 break;
5672
5673 case 220:
5674 #line 1519 "parser.y"
5675 {
5676 (yyval) = NNEW(n_BINARY_EXPRESSION);
5677 (yyval)->appendChild((yyvsp[(1) - (3)]));
5678 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5679 (yyval)->appendChild((yyvsp[(3) - (3)]));
5680 ;}
5681 break;
5682
5683 case 221:
5684 #line 1525 "parser.y"
5685 {
5686 (yyval) = NNEW(n_BINARY_EXPRESSION);
5687 (yyval)->appendChild((yyvsp[(1) - (3)]));
5688 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5689 (yyval)->appendChild((yyvsp[(3) - (3)]));
5690 ;}
5691 break;
5692
5693 case 222:
5694 #line 1531 "parser.y"
5695 {
5696 (yyval) = NNEW(n_BINARY_EXPRESSION);
5697 (yyval)->appendChild((yyvsp[(1) - (3)]));
5698 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5699 (yyval)->appendChild((yyvsp[(3) - (3)]));
5700 ;}
5701 break;
5702
5703 case 223:
5704 #line 1537 "parser.y"
5705 {
5706 (yyval) = NNEW(n_BINARY_EXPRESSION);
5707 (yyval)->appendChild((yyvsp[(1) - (3)]));
5708 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5709 (yyval)->appendChild((yyvsp[(3) - (3)]));
5710 ;}
5711 break;
5712
5713 case 224:
5714 #line 1543 "parser.y"
5715 {
5716 (yyval) = NNEW(n_BINARY_EXPRESSION);
5717 (yyval)->appendChild((yyvsp[(1) - (3)]));
5718 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5719 (yyval)->appendChild((yyvsp[(3) - (3)]));
5720 ;}
5721 break;
5722
5723 case 225:
5724 #line 1549 "parser.y"
5725 {
5726 (yyval) = NNEW(n_BINARY_EXPRESSION);
5727 (yyval)->appendChild((yyvsp[(1) - (3)]));
5728 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5729 (yyval)->appendChild((yyvsp[(3) - (3)]));
5730 ;}
5731 break;
5732
5733 case 226:
5734 #line 1555 "parser.y"
5735 {
5736 (yyval) = NNEW(n_BINARY_EXPRESSION);
5737 (yyval)->appendChild((yyvsp[(1) - (3)]));
5738 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5739 (yyval)->appendChild((yyvsp[(3) - (3)]));
5740 ;}
5741 break;
5742
5743 case 227:
5744 #line 1561 "parser.y"
5745 {
5746 (yyval) = NNEW(n_BINARY_EXPRESSION);
5747 (yyval)->appendChild((yyvsp[(1) - (3)]));
5748 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5749 (yyval)->appendChild((yyvsp[(3) - (3)]));
5750 ;}
5751 break;
5752
5753 case 228:
5754 #line 1567 "parser.y"
5755 {
5756 (yyval) = NNEW(n_BINARY_EXPRESSION);
5757 (yyval)->appendChild((yyvsp[(1) - (3)]));
5758 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5759 (yyval)->appendChild((yyvsp[(3) - (3)]));
5760 ;}
5761 break;
5762
5763 case 229:
5764 #line 1573 "parser.y"
5765 {
5766 (yyval) = NNEW(n_BINARY_EXPRESSION);
5767 (yyval)->appendChild((yyvsp[(1) - (3)]));
5768 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5769 (yyval)->appendChild((yyvsp[(3) - (3)]));
5770 ;}
5771 break;
5772
5773 case 230:
5774 #line 1579 "parser.y"
5775 {
5776 (yyval) = NNEW(n_BINARY_EXPRESSION);
5777 (yyval)->appendChild((yyvsp[(1) - (3)]));
5778 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5779 (yyval)->appendChild((yyvsp[(3) - (3)]));
5780 ;}
5781 break;
5782
5783 case 231:
5784 #line 1585 "parser.y"
5785 {
5786 (yyval) = NNEW(n_UNARY_POSTFIX_EXPRESSION);
5787 (yyval)->appendChild((yyvsp[(1) - (2)]));
5788 (yyval)->appendChild(NTYPE((yyvsp[(2) - (2)]), n_OPERATOR));
5789 ;}
5790 break;
5791
5792 case 232:
5793 #line 1590 "parser.y"
5794 {
5795 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
5796 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
5797 (yyval)->appendChild((yyvsp[(2) - (2)]));
5798 ;}
5799 break;
5800
5801 case 233:
5802 #line 1595 "parser.y"
5803 {
5804 (yyval) = NNEW(n_UNARY_POSTFIX_EXPRESSION);
5805 (yyval)->appendChild((yyvsp[(1) - (2)]));
5806 (yyval)->appendChild(NTYPE((yyvsp[(2) - (2)]), n_OPERATOR));
5807 ;}
5808 break;
5809
5810 case 234:
5811 #line 1600 "parser.y"
5812 {
5813 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
5814 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
5815 (yyval)->appendChild((yyvsp[(2) - (2)]));
5816 ;}
5817 break;
5818
5819 case 235:
5820 #line 1605 "parser.y"
5821 {
5822 (yyval) = NNEW(n_BINARY_EXPRESSION);
5823 (yyval)->appendChild((yyvsp[(1) - (3)]));
5824 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5825 (yyval)->appendChild((yyvsp[(3) - (3)]));
5826 ;}
5827 break;
5828
5829 case 236:
5830 #line 1611 "parser.y"
5831 {
5832 (yyval) = NNEW(n_BINARY_EXPRESSION);
5833 (yyval)->appendChild((yyvsp[(1) - (3)]));
5834 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5835 (yyval)->appendChild((yyvsp[(3) - (3)]));
5836 ;}
5837 break;
5838
5839 case 237:
5840 #line 1617 "parser.y"
5841 {
5842 (yyval) = NNEW(n_BINARY_EXPRESSION);
5843 (yyval)->appendChild((yyvsp[(1) - (3)]));
5844 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5845 (yyval)->appendChild((yyvsp[(3) - (3)]));
5846 ;}
5847 break;
5848
5849 case 238:
5850 #line 1623 "parser.y"
5851 {
5852 (yyval) = NNEW(n_BINARY_EXPRESSION);
5853 (yyval)->appendChild((yyvsp[(1) - (3)]));
5854 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5855 (yyval)->appendChild((yyvsp[(3) - (3)]));
5856 ;}
5857 break;
5858
5859 case 239:
5860 #line 1629 "parser.y"
5861 {
5862 (yyval) = NNEW(n_BINARY_EXPRESSION);
5863 (yyval)->appendChild((yyvsp[(1) - (3)]));
5864 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5865 (yyval)->appendChild((yyvsp[(3) - (3)]));
5866 ;}
5867 break;
5868
5869 case 240:
5870 #line 1635 "parser.y"
5871 {
5872 (yyval) = NNEW(n_BINARY_EXPRESSION);
5873 (yyval)->appendChild((yyvsp[(1) - (3)]));
5874 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5875 (yyval)->appendChild((yyvsp[(3) - (3)]));
5876 ;}
5877 break;
5878
5879 case 241:
5880 #line 1641 "parser.y"
5881 {
5882 (yyval) = NNEW(n_BINARY_EXPRESSION);
5883 (yyval)->appendChild((yyvsp[(1) - (3)]));
5884 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5885 (yyval)->appendChild((yyvsp[(3) - (3)]));
5886 ;}
5887 break;
5888
5889 case 242:
5890 #line 1647 "parser.y"
5891 {
5892 (yyval) = NNEW(n_BINARY_EXPRESSION);
5893 (yyval)->appendChild((yyvsp[(1) - (3)]));
5894 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5895 (yyval)->appendChild((yyvsp[(3) - (3)]));
5896 ;}
5897 break;
5898
5899 case 243:
5900 #line 1653 "parser.y"
5901 {
5902
5903 /* The concatenation operator generates n_CONCATENATION_LIST instead of
5904 n_BINARY_EXPRESSION because we tend to run into stack depth issues in a
5905 lot of real-world cases otherwise (e.g., in PHP and JSON decoders). */
5906
5907 if ((yyvsp[(1) - (3)])->type == n_CONCATENATION_LIST && (yyvsp[(3) - (3)])->type == n_CONCATENATION_LIST) {
5908 (yyvsp[(1) - (3)])->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5909 (yyvsp[(1) - (3)])->appendChildren((yyvsp[(3) - (3)]));
5910 (yyval) = (yyvsp[(1) - (3)]);
5911 } else if ((yyvsp[(1) - (3)])->type == n_CONCATENATION_LIST) {
5912 (yyvsp[(1) - (3)])->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5913 (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
5914 (yyval) = (yyvsp[(1) - (3)]);
5915 } else if ((yyvsp[(3) - (3)])->type == n_CONCATENATION_LIST) {
5916 (yyval) = NNEW(n_CONCATENATION_LIST);
5917 (yyval)->appendChild((yyvsp[(1) - (3)]));
5918 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5919 (yyval)->appendChildren((yyvsp[(3) - (3)]));
5920 } else {
5921 (yyval) = NNEW(n_CONCATENATION_LIST);
5922 (yyval)->appendChild((yyvsp[(1) - (3)]));
5923 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5924 (yyval)->appendChild((yyvsp[(3) - (3)]));
5925 }
5926 ;}
5927 break;
5928
5929 case 244:
5930 #line 1679 "parser.y"
5931 {
5932 (yyval) = NNEW(n_BINARY_EXPRESSION);
5933 (yyval)->appendChild((yyvsp[(1) - (3)]));
5934 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5935 (yyval)->appendChild((yyvsp[(3) - (3)]));
5936 ;}
5937 break;
5938
5939 case 245:
5940 #line 1685 "parser.y"
5941 {
5942 (yyval) = NNEW(n_BINARY_EXPRESSION);
5943 (yyval)->appendChild((yyvsp[(1) - (3)]));
5944 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5945 (yyval)->appendChild((yyvsp[(3) - (3)]));
5946 ;}
5947 break;
5948
5949 case 246:
5950 #line 1691 "parser.y"
5951 {
5952 (yyval) = NNEW(n_BINARY_EXPRESSION);
5953 (yyval)->appendChild((yyvsp[(1) - (3)]));
5954 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5955 (yyval)->appendChild((yyvsp[(3) - (3)]));
5956 ;}
5957 break;
5958
5959 case 247:
5960 #line 1697 "parser.y"
5961 {
5962 (yyval) = NNEW(n_BINARY_EXPRESSION);
5963 (yyval)->appendChild((yyvsp[(1) - (3)]));
5964 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5965 (yyval)->appendChild((yyvsp[(3) - (3)]));
5966 ;}
5967 break;
5968
5969 case 248:
5970 #line 1703 "parser.y"
5971 {
5972 (yyval) = NNEW(n_BINARY_EXPRESSION);
5973 (yyval)->appendChild((yyvsp[(1) - (3)]));
5974 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5975 (yyval)->appendChild((yyvsp[(3) - (3)]));
5976 ;}
5977 break;
5978
5979 case 249:
5980 #line 1709 "parser.y"
5981 {
5982 (yyval) = NNEW(n_BINARY_EXPRESSION);
5983 (yyval)->appendChild((yyvsp[(1) - (3)]));
5984 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5985 (yyval)->appendChild((yyvsp[(3) - (3)]));
5986 ;}
5987 break;
5988
5989 case 250:
5990 #line 1715 "parser.y"
5991 {
5992 (yyval) = NNEW(n_BINARY_EXPRESSION);
5993 (yyval)->appendChild((yyvsp[(1) - (3)]));
5994 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
5995 (yyval)->appendChild((yyvsp[(3) - (3)]));
5996 ;}
5997 break;
5998
5999 case 251:
6000 #line 1721 "parser.y"
6001 {
6002 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
6003 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
6004 (yyval)->appendChild((yyvsp[(2) - (2)]));
6005 ;}
6006 break;
6007
6008 case 252:
6009 #line 1726 "parser.y"
6010 {
6011 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
6012 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
6013 (yyval)->appendChild((yyvsp[(2) - (2)]));
6014 ;}
6015 break;
6016
6017 case 253:
6018 #line 1731 "parser.y"
6019 {
6020 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
6021 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
6022 (yyval)->appendChild((yyvsp[(2) - (2)]));
6023 ;}
6024 break;
6025
6026 case 254:
6027 #line 1736 "parser.y"
6028 {
6029 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
6030 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
6031 (yyval)->appendChild((yyvsp[(2) - (2)]));
6032 ;}
6033 break;
6034
6035 case 255:
6036 #line 1741 "parser.y"
6037 {
6038 (yyval) = NNEW(n_BINARY_EXPRESSION);
6039 (yyval)->appendChild((yyvsp[(1) - (3)]));
6040 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6041 (yyval)->appendChild((yyvsp[(3) - (3)]));
6042 ;}
6043 break;
6044
6045 case 256:
6046 #line 1747 "parser.y"
6047 {
6048 (yyval) = NNEW(n_BINARY_EXPRESSION);
6049 (yyval)->appendChild((yyvsp[(1) - (3)]));
6050 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6051 (yyval)->appendChild((yyvsp[(3) - (3)]));
6052 ;}
6053 break;
6054
6055 case 257:
6056 #line 1753 "parser.y"
6057 {
6058 (yyval) = NNEW(n_BINARY_EXPRESSION);
6059 (yyval)->appendChild((yyvsp[(1) - (3)]));
6060 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6061 (yyval)->appendChild((yyvsp[(3) - (3)]));
6062 ;}
6063 break;
6064
6065 case 258:
6066 #line 1759 "parser.y"
6067 {
6068 (yyval) = NNEW(n_BINARY_EXPRESSION);
6069 (yyval)->appendChild((yyvsp[(1) - (3)]));
6070 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6071 (yyval)->appendChild((yyvsp[(3) - (3)]));
6072 ;}
6073 break;
6074
6075 case 259:
6076 #line 1765 "parser.y"
6077 {
6078 (yyval) = NNEW(n_BINARY_EXPRESSION);
6079 (yyval)->appendChild((yyvsp[(1) - (3)]));
6080 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6081 (yyval)->appendChild((yyvsp[(3) - (3)]));
6082 ;}
6083 break;
6084
6085 case 260:
6086 #line 1771 "parser.y"
6087 {
6088 (yyval) = NNEW(n_BINARY_EXPRESSION);
6089 (yyval)->appendChild((yyvsp[(1) - (3)]));
6090 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6091 (yyval)->appendChild((yyvsp[(3) - (3)]));
6092 ;}
6093 break;
6094
6095 case 261:
6096 #line 1777 "parser.y"
6097 {
6098 (yyval) = NNEW(n_BINARY_EXPRESSION);
6099 (yyval)->appendChild((yyvsp[(1) - (3)]));
6100 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6101 (yyval)->appendChild((yyvsp[(3) - (3)]));
6102 ;}
6103 break;
6104
6105 case 262:
6106 #line 1783 "parser.y"
6107 {
6108 (yyval) = NNEW(n_BINARY_EXPRESSION);
6109 (yyval)->appendChild((yyvsp[(1) - (3)]));
6110 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6111 (yyval)->appendChild((yyvsp[(3) - (3)]));
6112 ;}
6113 break;
6114
6115 case 263:
6116 #line 1789 "parser.y"
6117 {
6118 (yyval) = NNEW(n_BINARY_EXPRESSION);
6119 (yyval)->appendChild((yyvsp[(1) - (3)]));
6120 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6121 (yyval)->appendChild((yyvsp[(3) - (3)]));
6122 ;}
6123 break;
6124
6125 case 264:
6126 #line 1795 "parser.y"
6127 {
6128 (yyval) = NNEW(n_BINARY_EXPRESSION);
6129 (yyval)->appendChild((yyvsp[(1) - (3)]));
6130 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6131 (yyval)->appendChild((yyvsp[(3) - (3)]));
6132 ;}
6133 break;
6134
6135 case 267:
6136 #line 1803 "parser.y"
6137 {
6138 (yyval) = NNEW(n_TERNARY_EXPRESSION);
6139 (yyval)->appendChild((yyvsp[(1) - (5)]));
6140 (yyval)->appendChild(NTYPE((yyvsp[(2) - (5)]), n_OPERATOR));
6141 (yyval)->appendChild((yyvsp[(3) - (5)]));
6142 (yyval)->appendChild(NTYPE((yyvsp[(4) - (5)]), n_OPERATOR));
6143 (yyval)->appendChild((yyvsp[(5) - (5)]));
6144 ;}
6145 break;
6146
6147 case 268:
6148 #line 1811 "parser.y"
6149 {
6150 (yyval) = NNEW(n_TERNARY_EXPRESSION);
6151 (yyval)->appendChild((yyvsp[(1) - (4)]));
6152 (yyval)->appendChild(NTYPE((yyvsp[(2) - (4)]), n_OPERATOR));
6153 (yyval)->appendChild(NNEW(n_EMPTY));
6154 (yyval)->appendChild(NTYPE((yyvsp[(3) - (4)]), n_OPERATOR));
6155 (yyval)->appendChild((yyvsp[(4) - (4)]));
6156 ;}
6157 break;
6158
6159 case 269:
6160 #line 1819 "parser.y"
6161 {
6162 (yyval) = NNEW(n_BINARY_EXPRESSION);
6163 (yyval)->appendChild((yyvsp[(1) - (3)]));
6164 (yyval)->appendChild(NTYPE((yyvsp[(2) - (3)]), n_OPERATOR));
6165 (yyval)->appendChild((yyvsp[(3) - (3)]));
6166 ;}
6167 break;
6168
6169 case 271:
6170 #line 1826 "parser.y"
6171 {
6172 (yyval) = NNEW(n_CAST_EXPRESSION);
6173 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_CAST));
6174 (yyval)->appendChild((yyvsp[(2) - (2)]));
6175 ;}
6176 break;
6177
6178 case 272:
6179 #line 1831 "parser.y"
6180 {
6181 (yyval) = NNEW(n_CAST_EXPRESSION);
6182 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_CAST));
6183 (yyval)->appendChild((yyvsp[(2) - (2)]));
6184 ;}
6185 break;
6186
6187 case 273:
6188 #line 1836 "parser.y"
6189 {
6190 (yyval) = NNEW(n_CAST_EXPRESSION);
6191 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_CAST));
6192 (yyval)->appendChild((yyvsp[(2) - (2)]));
6193 ;}
6194 break;
6195
6196 case 274:
6197 #line 1841 "parser.y"
6198 {
6199 (yyval) = NNEW(n_CAST_EXPRESSION);
6200 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_CAST));
6201 (yyval)->appendChild((yyvsp[(2) - (2)]));
6202 ;}
6203 break;
6204
6205 case 275:
6206 #line 1846 "parser.y"
6207 {
6208 (yyval) = NNEW(n_CAST_EXPRESSION);
6209 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_CAST));
6210 (yyval)->appendChild((yyvsp[(2) - (2)]));
6211 ;}
6212 break;
6213
6214 case 276:
6215 #line 1851 "parser.y"
6216 {
6217 (yyval) = NNEW(n_CAST_EXPRESSION);
6218 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_CAST));
6219 (yyval)->appendChild((yyvsp[(2) - (2)]));
6220 ;}
6221 break;
6222
6223 case 277:
6224 #line 1856 "parser.y"
6225 {
6226 (yyval) = NNEW(n_CAST_EXPRESSION);
6227 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_CAST));
6228 (yyval)->appendChild((yyvsp[(2) - (2)]));
6229 ;}
6230 break;
6231
6232 case 278:
6233 #line 1861 "parser.y"
6234 {
6235 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
6236 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
6237 (yyval)->appendChild((yyvsp[(2) - (2)]));
6238 ;}
6239 break;
6240
6241 case 279:
6242 #line 1866 "parser.y"
6243 {
6244 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
6245 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
6246 (yyval)->appendChild((yyvsp[(2) - (2)]));
6247 ;}
6248 break;
6249
6250 case 280:
6251 #line 1871 "parser.y"
6252 {
6253 NTYPE((yyvsp[(1) - (1)]), n_BACKTICKS_EXPRESSION);
6254 (yyval) = (yyvsp[(1) - (1)]);
6255 ;}
6256 break;
6257
6258 case 284:
6259 #line 1878 "parser.y"
6260 {
6261 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
6262 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
6263 (yyval)->appendChild((yyvsp[(2) - (2)]));
6264 ;}
6265 break;
6266
6267 case 285:
6268 #line 1883 "parser.y"
6269 {
6270 NTYPE((yyvsp[(1) - (1)]), n_YIELD);
6271 (yyvsp[(1) - (1)])->appendChild(NNEW(n_EMPTY));
6272 (yyvsp[(1) - (1)])->appendChild(NNEW(n_EMPTY));
6273 (yyval) = (yyvsp[(1) - (1)]);
6274 ;}
6275 break;
6276
6277 case 286:
6278 #line 1892 "parser.y"
6279 {
6280 NSPAN((yyvsp[(1) - (10)]), n_FUNCTION_DECLARATION, (yyvsp[(9) - (10)]));
6281 (yyvsp[(1) - (10)])->appendChild(NNEW(n_EMPTY));
6282 (yyvsp[(1) - (10)])->appendChild((yyvsp[(2) - (10)]));
6283 (yyvsp[(1) - (10)])->appendChild(NNEW(n_EMPTY));
6284 (yyvsp[(1) - (10)])->appendChild(NEXPAND((yyvsp[(3) - (10)]), (yyvsp[(4) - (10)]), (yyvsp[(5) - (10)])));
6285 (yyvsp[(1) - (10)])->appendChild((yyvsp[(6) - (10)]));
6286 (yyvsp[(1) - (10)])->appendChild((yyvsp[(7) - (10)]));
6287 (yyvsp[(1) - (10)])->appendChild(NEXPAND((yyvsp[(8) - (10)]), (yyvsp[(9) - (10)]), (yyvsp[(10) - (10)])));
6288
6289 (yyval) = (yyvsp[(1) - (10)]);
6290 ;}
6291 break;
6292
6293 case 287:
6294 #line 1907 "parser.y"
6295 {
6296 NSPAN((yyvsp[(2) - (11)]), n_FUNCTION_DECLARATION, (yyvsp[(10) - (11)]));
6297 NMORE((yyvsp[(2) - (11)]), (yyvsp[(1) - (11)]));
6298
6299 (yyval) = NNEW(n_FUNCTION_MODIFIER_LIST);
6300 (yyval)->appendChild(NTYPE((yyvsp[(1) - (11)]), n_STRING));
6301 (yyvsp[(2) - (11)])->appendChild((yyvsp[(1) - (11)]));
6302
6303 (yyvsp[(2) - (11)])->appendChild(NNEW(n_EMPTY));
6304 (yyvsp[(2) - (11)])->appendChild((yyvsp[(3) - (11)]));
6305 (yyvsp[(2) - (11)])->appendChild(NNEW(n_EMPTY));
6306 (yyvsp[(2) - (11)])->appendChild(NEXPAND((yyvsp[(4) - (11)]), (yyvsp[(5) - (11)]), (yyvsp[(6) - (11)])));
6307 (yyvsp[(2) - (11)])->appendChild((yyvsp[(7) - (11)]));
6308 (yyvsp[(2) - (11)])->appendChild((yyvsp[(8) - (11)]));
6309 (yyvsp[(2) - (11)])->appendChild(NEXPAND((yyvsp[(9) - (11)]), (yyvsp[(10) - (11)]), (yyvsp[(11) - (11)])));
6310
6311 (yyval) = (yyvsp[(2) - (11)]);
6312 ;}
6313 break;
6314
6315 case 288:
6316 #line 1928 "parser.y"
6317 {
6318 NTYPE((yyvsp[(1) - (2)]), n_YIELD);
6319 (yyvsp[(2) - (2)])->appendChild(NNEW(n_EMPTY));
6320 (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
6321 (yyval) = (yyvsp[(1) - (2)]);
6322 ;}
6323 break;
6324
6325 case 289:
6326 #line 1934 "parser.y"
6327 {
6328 NTYPE((yyvsp[(1) - (2)]), n_YIELD);
6329 (yyvsp[(2) - (2)])->appendChild(NNEW(n_EMPTY));
6330 (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
6331 (yyval) = (yyvsp[(1) - (2)]);
6332 ;}
6333 break;
6334
6335 case 290:
6336 #line 1940 "parser.y"
6337 {
6338 NTYPE((yyvsp[(1) - (4)]), n_YIELD);
6339 (yyvsp[(1) - (4)])->appendChild((yyvsp[(2) - (4)]));
6340 (yyvsp[(1) - (4)])->appendChild((yyvsp[(4) - (4)]));
6341 (yyval) = (yyvsp[(1) - (4)]);
6342 ;}
6343 break;
6344
6345 case 291:
6346 #line 1946 "parser.y"
6347 {
6348 NTYPE((yyvsp[(1) - (4)]), n_YIELD);
6349 (yyvsp[(1) - (4)])->appendChild((yyvsp[(2) - (4)]));
6350 (yyvsp[(1) - (4)])->appendChild((yyvsp[(4) - (4)]));
6351 (yyval) = (yyvsp[(1) - (4)]);
6352 ;}
6353 break;
6354
6355 case 293:
6356 #line 1959 "parser.y"
6357 {
6358 (yyval) = NNEW(n_EMPTY);
6359 ;}
6360 break;
6361
6362 case 294:
6363 #line 1962 "parser.y"
6364 {
6365 NTYPE((yyvsp[(1) - (4)]), n_LEXICAL_VARIABLE_LIST);
6366 (yyvsp[(1) - (4)])->appendChildren((yyvsp[(3) - (4)]));
6367 (yyval) = (yyvsp[(1) - (4)]);
6368 ;}
6369 break;
6370
6371 case 295:
6372 #line 1970 "parser.y"
6373 {
6374 (yyval) = (yyvsp[(1) - (3)])->appendChild(NTYPE((yyvsp[(3) - (3)]), n_VARIABLE));
6375 ;}
6376 break;
6377
6378 case 296:
6379 #line 1973 "parser.y"
6380 {
6381 NTYPE((yyvsp[(3) - (4)]), n_VARIABLE_REFERENCE);
6382 (yyvsp[(3) - (4)])->appendChild(NTYPE((yyvsp[(4) - (4)]), n_VARIABLE));
6383 (yyval) = (yyvsp[(1) - (4)])->appendChild((yyvsp[(3) - (4)]));
6384 ;}
6385 break;
6386
6387 case 297:
6388 #line 1978 "parser.y"
6389 {
6390 (yyval) = NNEW(n_LEXICAL_VARIABLE_LIST);
6391 (yyval)->appendChild(NTYPE((yyvsp[(1) - (1)]), n_VARIABLE));
6392 ;}
6393 break;
6394
6395 case 298:
6396 #line 1982 "parser.y"
6397 {
6398 NTYPE((yyvsp[(1) - (2)]), n_VARIABLE_REFERENCE);
6399 (yyvsp[(1) - (2)])->appendChild(NTYPE((yyvsp[(2) - (2)]), n_VARIABLE));
6400 (yyval) = NNEW(n_LEXICAL_VARIABLE_LIST);
6401 (yyval)->appendChild((yyvsp[(1) - (2)]));
6402 ;}
6403 break;
6404
6405 case 299:
6406 #line 1991 "parser.y"
6407 {
6408 (yyval) = NNEW(n_FUNCTION_CALL);
6409 (yyval)->appendChild((yyvsp[(1) - (4)]));
6410 (yyval)->appendChild(NEXPAND((yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), (yyvsp[(4) - (4)])));
6411 ;}
6412 break;
6413
6414 case 300:
6415 #line 1997 "parser.y"
6416 {
6417 NMORE((yyvsp[(3) - (6)]), (yyvsp[(1) - (6)]));
6418 (yyval) = NNEW(n_FUNCTION_CALL);
6419 (yyval)->appendChild((yyvsp[(3) - (6)]));
6420 (yyval)->appendChild(NEXPAND((yyvsp[(4) - (6)]), (yyvsp[(5) - (6)]), (yyvsp[(6) - (6)])));
6421 ;}
6422 break;
6423
6424 case 301:
6425 #line 2003 "parser.y"
6426 {
6427 NMORE((yyvsp[(2) - (5)]), (yyvsp[(1) - (5)]));
6428 (yyval) = NNEW(n_FUNCTION_CALL);
6429 (yyval)->appendChild((yyvsp[(2) - (5)]));
6430 (yyval)->appendChild(NEXPAND((yyvsp[(3) - (5)]), (yyvsp[(4) - (5)]), (yyvsp[(5) - (5)])));
6431 ;}
6432 break;
6433
6434 case 302:
6435 #line 2010 "parser.y"
6436 {
6437 (yyval) = NNEW(n_CLASS_STATIC_ACCESS);
6438 (yyval)->appendChild((yyvsp[(1) - (6)]));
6439 (yyval)->appendChild(NTYPE((yyvsp[(3) - (6)]), n_STRING));
6440
6441 (yyval) = NNEW(n_FUNCTION_CALL)->appendChild((yyval));
6442 (yyval)->appendChild(NEXPAND((yyvsp[(4) - (6)]), (yyvsp[(5) - (6)]), (yyvsp[(6) - (6)])));
6443 ;}
6444 break;
6445
6446 case 303:
6447 #line 2019 "parser.y"
6448 {
6449 (yyval) = NNEW(n_CLASS_STATIC_ACCESS);
6450 (yyval)->appendChild((yyvsp[(1) - (6)]));
6451 (yyval)->appendChild(NTYPE((yyvsp[(3) - (6)]), n_STRING));
6452
6453 (yyval) = NNEW(n_FUNCTION_CALL)->appendChild((yyval));
6454 (yyval)->appendChild(NEXPAND((yyvsp[(4) - (6)]), (yyvsp[(5) - (6)]), (yyvsp[(6) - (6)])));
6455 ;}
6456 break;
6457
6458 case 304:
6459 #line 2028 "parser.y"
6460 {
6461 (yyval) = NNEW(n_CLASS_STATIC_ACCESS);
6462 (yyval)->appendChild((yyvsp[(1) - (6)]));
6463 (yyval)->appendChild(NTYPE((yyvsp[(3) - (6)]), n_STRING));
6464
6465 (yyval) = NNEW(n_FUNCTION_CALL)->appendChild((yyval));
6466 (yyval)->appendChild(NEXPAND((yyvsp[(4) - (6)]), (yyvsp[(5) - (6)]), (yyvsp[(6) - (6)])));
6467 ;}
6468 break;
6469
6470 case 305:
6471 #line 2037 "parser.y"
6472 {
6473 (yyval) = NNEW(n_CLASS_STATIC_ACCESS);
6474 (yyval)->appendChild((yyvsp[(1) - (6)]));
6475 (yyval)->appendChild(NTYPE((yyvsp[(3) - (6)]), n_STRING));
6476
6477 (yyval) = NNEW(n_FUNCTION_CALL)->appendChild((yyval));
6478 (yyval)->appendChild(NEXPAND((yyvsp[(4) - (6)]), (yyvsp[(5) - (6)]), (yyvsp[(6) - (6)])));
6479 ;}
6480 break;
6481
6482 case 306:
6483 #line 2045 "parser.y"
6484 {
6485 (yyval) = NNEW(n_FUNCTION_CALL);
6486 (yyval)->appendChild((yyvsp[(1) - (4)]));
6487 (yyval)->appendChild(NEXPAND((yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), (yyvsp[(4) - (4)])));
6488 ;}
6489 break;
6490
6491 case 307:
6492 #line 2053 "parser.y"
6493 {
6494 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_CLASS_NAME);
6495 ;}
6496 break;
6497
6498 case 308:
6499 #line 2056 "parser.y"
6500 {
6501 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_CLASS_NAME);
6502 ;}
6503 break;
6504
6505 case 309:
6506 #line 2059 "parser.y"
6507 {
6508 NMORE((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)]));
6509 (yyval) = NTYPE((yyvsp[(3) - (3)]), n_CLASS_NAME);
6510 ;}
6511 break;
6512
6513 case 310:
6514 #line 2063 "parser.y"
6515 {
6516 NMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
6517 (yyval) = NTYPE((yyvsp[(2) - (2)]), n_CLASS_NAME);
6518 ;}
6519 break;
6520
6521 case 311:
6522 #line 2070 "parser.y"
6523 {
6524 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_CLASS_NAME);
6525 ;}
6526 break;
6527
6528 case 312:
6529 #line 2073 "parser.y"
6530 {
6531 NMORE((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)]));
6532 (yyval) = NTYPE((yyvsp[(3) - (3)]), n_CLASS_NAME);
6533 ;}
6534 break;
6535
6536 case 313:
6537 #line 2077 "parser.y"
6538 {
6539 NMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
6540 (yyval) = NTYPE((yyvsp[(2) - (2)]), n_CLASS_NAME);
6541 ;}
6542 break;
6543
6544 case 316:
6545 #line 2092 "parser.y"
6546 {
6547 (yyval) = NNEW(n_OBJECT_PROPERTY_ACCESS);
6548 (yyval)->appendChild((yyvsp[(1) - (4)]));
6549 (yyval)->appendChild((yyvsp[(3) - (4)]));
6550 for (xhpast::node_list_t::iterator ii = (yyvsp[(4) - (4)])->children.begin();
6551 ii != (yyvsp[(4) - (4)])->children.end();
6552 ++ii) {
6553
6554 (yyval) = NNEW(n_OBJECT_PROPERTY_ACCESS)->appendChild((yyval));
6555 (yyval)->appendChild(*ii);
6556 }
6557 ;}
6558 break;
6559
6560 case 318:
6561 #line 2108 "parser.y"
6562 {
6563 (yyval) = (yyvsp[(1) - (2)])->appendChild((yyvsp[(2) - (2)]));
6564 ;}
6565 break;
6566
6567 case 319:
6568 #line 2111 "parser.y"
6569 {
6570 (yyval) = NNEW(n_EMPTY);
6571 ;}
6572 break;
6573
6574 case 320:
6575 #line 2117 "parser.y"
6576 {
6577 (yyval) = (yyvsp[(2) - (2)]);
6578 ;}
6579 break;
6580
6581 case 321:
6582 #line 2123 "parser.y"
6583 {
6584 (yyval) = NNEW(n_EMPTY);
6585 ;}
6586 break;
6587
6588 case 322:
6589 #line 2126 "parser.y"
6590 {
6591 NSPAN((yyvsp[(1) - (2)]), n_EMPTY, (yyvsp[(2) - (2)]));
6592 (yyval) = (yyvsp[(1) - (2)]);
6593 ;}
6594 break;
6595
6596 case 323:
6597 #line 2130 "parser.y"
6598 {
6599 NSPAN((yyvsp[(1) - (3)]), n_PARENTHETICAL_EXPRESSION, (yyvsp[(3) - (3)]));
6600 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
6601 (yyval) = (yyvsp[(1) - (3)]);
6602 ;}
6603 break;
6604
6605 case 324:
6606 #line 2138 "parser.y"
6607 {
6608 (yyval) = NNEW(n_EMPTY);
6609 ;}
6610 break;
6611
6612 case 325:
6613 #line 2141 "parser.y"
6614 {
6615 (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));
6616 ;}
6617 break;
6618
6619 case 326:
6620 #line 2147 "parser.y"
6621 {
6622 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_NUMERIC_SCALAR);
6623 ;}
6624 break;
6625
6626 case 327:
6627 #line 2150 "parser.y"
6628 {
6629 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_NUMERIC_SCALAR);
6630 ;}
6631 break;
6632
6633 case 328:
6634 #line 2153 "parser.y"
6635 {
6636 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_STRING_SCALAR);
6637 ;}
6638 break;
6639
6640 case 329:
6641 #line 2156 "parser.y"
6642 {
6643 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR);
6644 ;}
6645 break;
6646
6647 case 330:
6648 #line 2159 "parser.y"
6649 {
6650 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR);
6651 ;}
6652 break;
6653
6654 case 331:
6655 #line 2162 "parser.y"
6656 {
6657 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR);
6658 ;}
6659 break;
6660
6661 case 332:
6662 #line 2165 "parser.y"
6663 {
6664 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR);
6665 ;}
6666 break;
6667
6668 case 333:
6669 #line 2168 "parser.y"
6670 {
6671 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR);
6672 ;}
6673 break;
6674
6675 case 334:
6676 #line 2171 "parser.y"
6677 {
6678 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR);
6679 ;}
6680 break;
6681
6682 case 335:
6683 #line 2174 "parser.y"
6684 {
6685 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR);
6686 ;}
6687 break;
6688
6689 case 336:
6690 #line 2177 "parser.y"
6691 {
6692 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_MAGIC_SCALAR);
6693 ;}
6694 break;
6695
6696 case 337:
6697 #line 2180 "parser.y"
6698 {
6699 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_HEREDOC);
6700 ;}
6701 break;
6702
6703 case 340:
6704 #line 2188 "parser.y"
6705 {
6706 NMORE((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)]));
6707 (yyval) = (yyvsp[(3) - (3)]);
6708 ;}
6709 break;
6710
6711 case 341:
6712 #line 2192 "parser.y"
6713 {
6714 NMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
6715 (yyval) = (yyvsp[(2) - (2)]);
6716 ;}
6717 break;
6718
6719 case 342:
6720 #line 2196 "parser.y"
6721 {
6722 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
6723 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
6724 (yyval)->appendChild((yyvsp[(2) - (2)]));
6725 ;}
6726 break;
6727
6728 case 343:
6729 #line 2201 "parser.y"
6730 {
6731 (yyval) = NNEW(n_UNARY_PREFIX_EXPRESSION);
6732 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_OPERATOR));
6733 (yyval)->appendChild((yyvsp[(2) - (2)]));
6734 ;}
6735 break;
6736
6737 case 344:
6738 #line 2206 "parser.y"
6739 {
6740 NTYPE((yyvsp[(1) - (4)]), n_ARRAY_LITERAL);
6741 (yyvsp[(1) - (4)])->appendChild(NEXPAND((yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), (yyvsp[(4) - (4)])));
6742 (yyval) = (yyvsp[(1) - (4)]);
6743 ;}
6744 break;
6745
6746 case 345:
6747 #line 2211 "parser.y"
6748 {
6749 NTYPE((yyvsp[(1) - (3)]), n_ARRAY_LITERAL);
6750 (yyvsp[(1) - (3)])->appendChild(NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])));
6751 (yyval) = (yyvsp[(1) - (3)]);
6752 ;}
6753 break;
6754
6755 case 347:
6756 #line 2220 "parser.y"
6757 {
6758 (yyval) = NNEW(n_CLASS_STATIC_ACCESS);
6759 (yyval)->appendChild((yyvsp[(1) - (3)]));
6760 (yyval)->appendChild(NTYPE((yyvsp[(3) - (3)]), n_STRING));
6761 ;}
6762 break;
6763
6764 case 351:
6765 #line 2231 "parser.y"
6766 {
6767 (yyval) = NMORE((yyvsp[(3) - (3)]), (yyvsp[(1) - (3)]));
6768 ;}
6769 break;
6770
6771 case 352:
6772 #line 2234 "parser.y"
6773 {
6774 (yyval) = NMORE((yyvsp[(2) - (2)]), (yyvsp[(1) - (2)]));
6775 ;}
6776 break;
6777
6778 case 354:
6779 #line 2241 "parser.y"
6780 {
6781 (yyval) = NNEW(n_ARRAY_VALUE_LIST);
6782 ;}
6783 break;
6784
6785 case 355:
6786 #line 2244 "parser.y"
6787 {
6788 (yyval) = NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
6789 ;}
6790 break;
6791
6792 case 356:
6793 #line 2250 "parser.y"
6794 {
6795 (yyval) = NNEW(n_EMPTY);
6796 ;}
6797 break;
6798
6799 case 358:
6800 #line 2261 "parser.y"
6801 {
6802 (yyval) = NNEW(n_ARRAY_VALUE);
6803 (yyval)->appendChild((yyvsp[(3) - (5)]));
6804 (yyval)->appendChild((yyvsp[(5) - (5)]));
6805
6806 (yyval) = (yyvsp[(1) - (5)])->appendChild((yyval));
6807 ;}
6808 break;
6809
6810 case 359:
6811 #line 2268 "parser.y"
6812 {
6813 (yyval) = NNEW(n_ARRAY_VALUE);
6814 (yyval)->appendChild(NNEW(n_EMPTY));
6815 (yyval)->appendChild((yyvsp[(3) - (3)]));
6816
6817 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyval));
6818 ;}
6819 break;
6820
6821 case 360:
6822 #line 2275 "parser.y"
6823 {
6824 (yyval) = NNEW(n_ARRAY_VALUE);
6825 (yyval)->appendChild((yyvsp[(1) - (3)]));
6826 (yyval)->appendChild((yyvsp[(3) - (3)]));
6827
6828 (yyval) = NNEW(n_ARRAY_VALUE_LIST)->appendChild((yyval));
6829 ;}
6830 break;
6831
6832 case 361:
6833 #line 2282 "parser.y"
6834 {
6835 (yyval) = NNEW(n_ARRAY_VALUE);
6836 (yyval)->appendChild(NNEW(n_EMPTY));
6837 (yyval)->appendChild((yyvsp[(1) - (1)]));
6838
6839 (yyval) = NNEW(n_ARRAY_VALUE_LIST)->appendChild((yyval));
6840 ;}
6841 break;
6842
6843 case 367:
6844 #line 2312 "parser.y"
6845 {
6846 (yyval) = NNEW(n_OBJECT_PROPERTY_ACCESS);
6847 (yyval)->appendChild((yyvsp[(1) - (5)]));
6848 (yyval)->appendChild((yyvsp[(3) - (5)]));
6849
6850 if ((yyvsp[(4) - (5)])->type != n_EMPTY) {
6851 (yyval) = NNEW(n_METHOD_CALL)->appendChild((yyval));
6852 (yyval)->appendChild((yyvsp[(4) - (5)]));
6853 }
6854
6855 for (xhpast::node_list_t::iterator ii = (yyvsp[(5) - (5)])->children.begin();
6856 ii != (yyvsp[(5) - (5)])->children.end();
6857 ++ii) {
6858
6859 if ((*ii)->type == n_CALL_PARAMETER_LIST) {
6860 (yyval) = NNEW(n_METHOD_CALL)->appendChild((yyval));
6861 (yyval)->appendChild((*ii));
6862 } else {
6863 (yyval) = NNEW(n_OBJECT_PROPERTY_ACCESS)->appendChild((yyval));
6864 (yyval)->appendChild((*ii));
6865 }
6866 }
6867 ;}
6868 break;
6869
6870 case 369:
6871 #line 2339 "parser.y"
6872 {
6873 (yyval) = (yyvsp[(1) - (2)])->appendChildren((yyvsp[(2) - (2)]));
6874 ;}
6875 break;
6876
6877 case 370:
6878 #line 2342 "parser.y"
6879 {
6880 (yyval) = NNEW(n_EMPTY);
6881 ;}
6882 break;
6883
6884 case 371:
6885 #line 2348 "parser.y"
6886 {
6887 (yyval) = NNEW(n_EMPTY);
6888 (yyval)->appendChild((yyvsp[(2) - (3)]));
6889 if ((yyvsp[(3) - (3)])->type != n_EMPTY) {
6890 (yyval)->appendChild((yyvsp[(3) - (3)]));
6891 }
6892 ;}
6893 break;
6894
6895 case 372:
6896 #line 2358 "parser.y"
6897 {
6898 (yyval) = NNEW(n_INDEX_ACCESS);
6899 (yyval)->appendChild((yyvsp[(1) - (4)]));
6900 (yyval)->appendChild((yyvsp[(3) - (4)]));
6901 NMORE((yyval), (yyvsp[(4) - (4)]));
6902 ;}
6903 break;
6904
6905 case 373:
6906 #line 2364 "parser.y"
6907 {
6908 (yyval) = NNEW(n_INDEX_ACCESS);
6909 (yyval)->appendChild((yyvsp[(1) - (4)]));
6910 (yyval)->appendChild((yyvsp[(3) - (4)]));
6911 NMORE((yyval), (yyvsp[(4) - (4)]));
6912 ;}
6913 break;
6914
6915 case 374:
6916 #line 2373 "parser.y"
6917 {
6918 (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));
6919 ;}
6920 break;
6921
6922 case 377:
6923 #line 2381 "parser.y"
6924 {
6925 (yyval) = NNEW(n_EMPTY);
6926 ;}
6927 break;
6928
6929 case 379:
6930 #line 2388 "parser.y"
6931 {
6932 xhpast::Node *last = (yyvsp[(1) - (2)]);
6933 NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
6934 while (last->firstChild() &&
6935 last->firstChild()->type == n_VARIABLE_VARIABLE) {
6936 NMORE(last, (yyvsp[(2) - (2)]));
6937 last = last->firstChild();
6938 }
6939 last->appendChild((yyvsp[(2) - (2)]));
6940
6941 (yyval) = (yyvsp[(1) - (2)]);
6942 ;}
6943 break;
6944
6945 case 380:
6946 #line 2403 "parser.y"
6947 {
6948 (yyval) = NNEW(n_CLASS_STATIC_ACCESS);
6949 (yyval)->appendChild((yyvsp[(1) - (3)]));
6950 (yyval)->appendChild((yyvsp[(3) - (3)]));
6951 ;}
6952 break;
6953
6954 case 381:
6955 #line 2408 "parser.y"
6956 {
6957 (yyval) = NNEW(n_CLASS_STATIC_ACCESS);
6958 (yyval)->appendChild((yyvsp[(1) - (3)]));
6959 (yyval)->appendChild((yyvsp[(3) - (3)]));
6960 ;}
6961 break;
6962
6963 case 383:
6964 #line 2420 "parser.y"
6965 {
6966 (yyval) = NNEW(n_INDEX_ACCESS);
6967 (yyval)->appendChild((yyvsp[(1) - (4)]));
6968 (yyval)->appendChild((yyvsp[(3) - (4)]));
6969 NMORE((yyval), (yyvsp[(4) - (4)]));
6970 ;}
6971 break;
6972
6973 case 384:
6974 #line 2426 "parser.y"
6975 {
6976 (yyval) = NNEW(n_INDEX_ACCESS);
6977 (yyval)->appendChild((yyvsp[(1) - (4)]));
6978 (yyval)->appendChild((yyvsp[(3) - (4)]));
6979 NMORE((yyval), (yyvsp[(4) - (4)]));
6980 ;}
6981 break;
6982
6983 case 389:
6984 #line 2442 "parser.y"
6985 {
6986 (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));
6987 ;}
6988 break;
6989
6990 case 390:
6991 #line 2445 "parser.y"
6992 {
6993 xhpast::Node *last = (yyvsp[(1) - (2)]);
6994 NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
6995 while (last->firstChild() &&
6996 last->firstChild()->type == n_VARIABLE_VARIABLE) {
6997 NMORE(last, (yyvsp[(2) - (2)]));
6998 last = last->firstChild();
6999 }
7000 last->appendChild((yyvsp[(2) - (2)]));
7001
7002 (yyval) = (yyvsp[(1) - (2)]);
7003 ;}
7004 break;
7005
7006 case 392:
7007 #line 2461 "parser.y"
7008 {
7009 (yyval) = NNEW(n_INDEX_ACCESS);
7010 (yyval)->appendChild((yyvsp[(1) - (4)]));
7011 (yyval)->appendChild((yyvsp[(3) - (4)]));
7012 NMORE((yyval), (yyvsp[(4) - (4)]));
7013 ;}
7014 break;
7015
7016 case 393:
7017 #line 2467 "parser.y"
7018 {
7019 (yyval) = NNEW(n_INDEX_ACCESS);
7020 (yyval)->appendChild((yyvsp[(1) - (4)]));
7021 (yyval)->appendChild((yyvsp[(3) - (4)]));
7022 NMORE((yyval), (yyvsp[(4) - (4)]));
7023 ;}
7024 break;
7025
7026 case 395:
7027 #line 2477 "parser.y"
7028 {
7029 NTYPE((yyvsp[(1) - (1)]), n_VARIABLE);
7030 ;}
7031 break;
7032
7033 case 396:
7034 #line 2480 "parser.y"
7035 {
7036 NSPAN((yyvsp[(1) - (4)]), n_VARIABLE_EXPRESSION, (yyvsp[(4) - (4)]));
7037 (yyvsp[(1) - (4)])->appendChild((yyvsp[(3) - (4)]));
7038 (yyval) = (yyvsp[(1) - (4)]);
7039 ;}
7040 break;
7041
7042 case 397:
7043 #line 2488 "parser.y"
7044 {
7045 (yyval) = NNEW(n_EMPTY);
7046 ;}
7047 break;
7048
7049 case 398:
7050 #line 2491 "parser.y"
7051 {
7052 (yyval) = (yyvsp[(1) - (1)]);
7053 ;}
7054 break;
7055
7056 case 401:
7057 #line 2502 "parser.y"
7058 {
7059 (yyval) = NNEW(n_INDEX_ACCESS);
7060 (yyval)->appendChild((yyvsp[(1) - (4)]));
7061 (yyval)->appendChild((yyvsp[(3) - (4)]));
7062 NMORE((yyval), (yyvsp[(4) - (4)]));
7063 ;}
7064 break;
7065
7066 case 402:
7067 #line 2508 "parser.y"
7068 {
7069 (yyval) = NNEW(n_INDEX_ACCESS);
7070 (yyval)->appendChild((yyvsp[(1) - (4)]));
7071 (yyval)->appendChild((yyvsp[(3) - (4)]));
7072 NMORE((yyval), (yyvsp[(4) - (4)]));
7073 ;}
7074 break;
7075
7076 case 404:
7077 #line 2518 "parser.y"
7078 {
7079 NTYPE((yyvsp[(1) - (1)]), n_STRING);
7080 (yyval) = (yyvsp[(1) - (1)]);
7081 ;}
7082 break;
7083
7084 case 405:
7085 #line 2522 "parser.y"
7086 {
7087 (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));
7088 ;}
7089 break;
7090
7091 case 406:
7092 #line 2528 "parser.y"
7093 {
7094 (yyval) = NTYPE((yyvsp[(1) - (1)]), n_VARIABLE_VARIABLE);
7095 ;}
7096 break;
7097
7098 case 407:
7099 #line 2531 "parser.y"
7100 {
7101 (yyvsp[(2) - (2)]) = NTYPE((yyvsp[(2) - (2)]), n_VARIABLE_VARIABLE);
7102
7103 xhpast::Node *last = (yyvsp[(1) - (2)]);
7104 while (last->firstChild() &&
7105 last->firstChild()->type == n_VARIABLE_VARIABLE) {
7106 last = last->firstChild();
7107 }
7108 last->appendChild((yyvsp[(2) - (2)]));
7109
7110 (yyval) = (yyvsp[(1) - (2)]);
7111 ;}
7112 break;
7113
7114 case 408:
7115 #line 2546 "parser.y"
7116 {
7117 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
7118 ;}
7119 break;
7120
7121 case 409:
7122 #line 2549 "parser.y"
7123 {
7124 (yyval) = NNEW(n_ASSIGNMENT_LIST);
7125 (yyval)->appendChild((yyvsp[(1) - (1)]));
7126 ;}
7127 break;
7128
7129 case 411:
7130 #line 2557 "parser.y"
7131 {
7132 (yyval) = NNEW(n_LIST);
7133 (yyval)->appendChild(NEXPAND((yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), (yyvsp[(4) - (4)])));
7134 ;}
7135 break;
7136
7137 case 412:
7138 #line 2561 "parser.y"
7139 {
7140 (yyval) = NNEW(n_EMPTY);
7141 ;}
7142 break;
7143
7144 case 413:
7145 #line 2567 "parser.y"
7146 {
7147 (yyval) = NNEW(n_ARRAY_VALUE_LIST);
7148 ;}
7149 break;
7150
7151 case 414:
7152 #line 2570 "parser.y"
7153 {
7154 (yyval) = NMORE((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]));
7155 ;}
7156 break;
7157
7158 case 415:
7159 #line 2576 "parser.y"
7160 {
7161 (yyval) = NNEW(n_ARRAY_VALUE);
7162 (yyval)->appendChild((yyvsp[(3) - (5)]));
7163 (yyval)->appendChild((yyvsp[(5) - (5)]));
7164
7165 (yyval) = (yyvsp[(1) - (5)])->appendChild((yyval));
7166 ;}
7167 break;
7168
7169 case 416:
7170 #line 2583 "parser.y"
7171 {
7172 (yyval) = NNEW(n_ARRAY_VALUE);
7173 (yyval)->appendChild(NNEW(n_EMPTY));
7174 (yyval)->appendChild((yyvsp[(3) - (3)]));
7175
7176 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyval));
7177 ;}
7178 break;
7179
7180 case 417:
7181 #line 2590 "parser.y"
7182 {
7183 (yyval) = NNEW(n_ARRAY_VALUE);
7184 (yyval)->appendChild((yyvsp[(1) - (3)]));
7185 (yyval)->appendChild((yyvsp[(3) - (3)]));
7186
7187 (yyval) = NNEW(n_ARRAY_VALUE_LIST)->appendChild((yyval));
7188 ;}
7189 break;
7190
7191 case 418:
7192 #line 2597 "parser.y"
7193 {
7194 (yyval) = NNEW(n_ARRAY_VALUE);
7195 (yyval)->appendChild(NNEW(n_EMPTY));
7196 (yyval)->appendChild((yyvsp[(1) - (1)]));
7197
7198 (yyval) = NNEW(n_ARRAY_VALUE_LIST)->appendChild((yyval));
7199 ;}
7200 break;
7201
7202 case 419:
7203 #line 2604 "parser.y"
7204 {
7205 (yyval) = NNEW(n_ARRAY_VALUE);
7206 (yyval)->appendChild((yyvsp[(3) - (6)]));
7207 (yyval)->appendChild(NTYPE((yyvsp[(5) - (6)]), n_VARIABLE_REFERENCE)->appendChild((yyvsp[(6) - (6)])));
7208
7209 (yyval) = (yyvsp[(1) - (6)])->appendChild((yyval));
7210 ;}
7211 break;
7212
7213 case 420:
7214 #line 2611 "parser.y"
7215 {
7216 (yyval) = NNEW(n_ARRAY_VALUE);
7217 (yyval)->appendChild(NNEW(n_EMPTY));
7218 (yyval)->appendChild(NTYPE((yyvsp[(3) - (4)]), n_VARIABLE_REFERENCE)->appendChild((yyvsp[(4) - (4)])));
7219
7220 (yyval) = (yyvsp[(1) - (4)])->appendChild((yyval));
7221 ;}
7222 break;
7223
7224 case 421:
7225 #line 2618 "parser.y"
7226 {
7227 (yyval) = NNEW(n_ARRAY_VALUE);
7228 (yyval)->appendChild((yyvsp[(1) - (4)]));
7229 (yyval)->appendChild(NTYPE((yyvsp[(3) - (4)]), n_VARIABLE_REFERENCE)->appendChild((yyvsp[(4) - (4)])));
7230
7231 (yyval) = NNEW(n_ARRAY_VALUE_LIST)->appendChild((yyval));
7232 ;}
7233 break;
7234
7235 case 422:
7236 #line 2625 "parser.y"
7237 {
7238 (yyval) = NNEW(n_ARRAY_VALUE);
7239 (yyval)->appendChild(NNEW(n_EMPTY));
7240 (yyval)->appendChild(NTYPE((yyvsp[(1) - (2)]), n_VARIABLE_REFERENCE)->appendChild((yyvsp[(2) - (2)])));
7241
7242 (yyval) = NNEW(n_ARRAY_VALUE_LIST)->appendChild((yyval));
7243 ;}
7244 break;
7245
7246 case 423:
7247 #line 2635 "parser.y"
7248 {
7249 NTYPE((yyvsp[(1) - (4)]), n_SYMBOL_NAME);
7250
7251 NSPAN((yyvsp[(2) - (4)]), n_CALL_PARAMETER_LIST, (yyvsp[(4) - (4)]));
7252 (yyvsp[(2) - (4)])->appendChildren((yyvsp[(3) - (4)]));
7253
7254 (yyval) = NNEW(n_FUNCTION_CALL);
7255 (yyval)->appendChild((yyvsp[(1) - (4)]));
7256 (yyval)->appendChild((yyvsp[(2) - (4)]));
7257 ;}
7258 break;
7259
7260 case 424:
7261 #line 2645 "parser.y"
7262 {
7263 NTYPE((yyvsp[(1) - (4)]), n_SYMBOL_NAME);
7264
7265 NSPAN((yyvsp[(2) - (4)]), n_CALL_PARAMETER_LIST, (yyvsp[(4) - (4)]));
7266 (yyvsp[(2) - (4)])->appendChild((yyvsp[(3) - (4)]));
7267
7268 (yyval) = NNEW(n_FUNCTION_CALL);
7269 (yyval)->appendChild((yyvsp[(1) - (4)]));
7270 (yyval)->appendChild((yyvsp[(2) - (4)]));
7271 ;}
7272 break;
7273
7274 case 425:
7275 #line 2655 "parser.y"
7276 {
7277 (yyval) = NTYPE((yyvsp[(1) - (2)]), n_INCLUDE_FILE)->appendChild((yyvsp[(2) - (2)]));
7278 ;}
7279 break;
7280
7281 case 426:
7282 #line 2658 "parser.y"
7283 {
7284 (yyval) = NTYPE((yyvsp[(1) - (2)]), n_INCLUDE_FILE)->appendChild((yyvsp[(2) - (2)]));
7285 ;}
7286 break;
7287
7288 case 427:
7289 #line 2661 "parser.y"
7290 {
7291 NTYPE((yyvsp[(1) - (4)]), n_SYMBOL_NAME);
7292
7293 NSPAN((yyvsp[(2) - (4)]), n_CALL_PARAMETER_LIST, (yyvsp[(4) - (4)]));
7294 (yyvsp[(2) - (4)])->appendChild((yyvsp[(3) - (4)]));
7295
7296 (yyval) = NNEW(n_FUNCTION_CALL);
7297 (yyval)->appendChild((yyvsp[(1) - (4)]));
7298 (yyval)->appendChild((yyvsp[(2) - (4)]));
7299 ;}
7300 break;
7301
7302 case 428:
7303 #line 2671 "parser.y"
7304 {
7305 (yyval) = NTYPE((yyvsp[(1) - (2)]), n_INCLUDE_FILE)->appendChild((yyvsp[(2) - (2)]));
7306 ;}
7307 break;
7308
7309 case 429:
7310 #line 2674 "parser.y"
7311 {
7312 (yyval) = NTYPE((yyvsp[(1) - (2)]), n_INCLUDE_FILE)->appendChild((yyvsp[(2) - (2)]));
7313 ;}
7314 break;
7315
7316 case 430:
7317 #line 2680 "parser.y"
7318 {
7319 (yyval) = NNEW(n_EMPTY);
7320 (yyval)->appendChild((yyvsp[(1) - (1)]));
7321 ;}
7322 break;
7323
7324 case 431:
7325 #line 2684 "parser.y"
7326 {
7327 (yyval) = (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
7328 ;}
7329 break;
7330
7331 case 432:
7332 #line 2690 "parser.y"
7333 {
7334 NSPAN((yyvsp[(1) - (3)]), n_PARENTHETICAL_EXPRESSION, (yyvsp[(3) - (3)]));
7335 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
7336 (yyval) = (yyvsp[(1) - (3)]);
7337 ;}
7338 break;
7339
7340 case 433:
7341 #line 2695 "parser.y"
7342 {
7343 (yyval) = NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)]));
7344 ;}
7345 break;
7346
7347 case 434:
7348 #line 2701 "parser.y"
7349 {
7350 (yyval) = NNEW(n_INDEX_ACCESS);
7351 (yyval)->appendChild((yyvsp[(1) - (4)]));
7352 (yyval)->appendChild((yyvsp[(3) - (4)]));
7353 NMORE((yyval), (yyvsp[(4) - (4)]));
7354 ;}
7355 break;
7356
7357 case 435:
7358 #line 2707 "parser.y"
7359 {
7360 (yyval) = NNEW(n_INDEX_ACCESS);
7361 (yyval)->appendChild((yyvsp[(1) - (4)]));
7362 (yyval)->appendChild((yyvsp[(3) - (4)]));
7363 NMORE((yyval), (yyvsp[(4) - (4)]));
7364 ;}
7365 break;
7366
7367 case 436:
7368 #line 2713 "parser.y"
7369 {
7370 (yyval) = NNEW(n_INDEX_ACCESS);
7371 (yyval)->appendChild(NTYPE((yyvsp[(1) - (4)]), n_STRING_SCALAR));
7372 (yyval)->appendChild((yyvsp[(3) - (4)]));
7373 NMORE((yyval), (yyvsp[(4) - (4)]));
7374 ;}
7375 break;
7376
7377 case 437:
7378 #line 2719 "parser.y"
7379 {
7380 (yyval) = NNEW(n_INDEX_ACCESS);
7381 (yyval)->appendChild((yyvsp[(1) - (4)]));
7382 (yyval)->appendChild((yyvsp[(3) - (4)]));
7383 NMORE((yyval), (yyvsp[(4) - (4)]));
7384 ;}
7385 break;
7386
7387 case 438:
7388 #line 2725 "parser.y"
7389 {
7390 (yyval) = NNEW(n_INDEX_ACCESS);
7391 (yyval)->appendChild(NTYPE((yyvsp[(1) - (4)]), n_STRING));
7392 (yyval)->appendChild((yyvsp[(3) - (4)]));
7393 NMORE((yyval), (yyvsp[(4) - (4)]));
7394 ;}
7395 break;
7396
7397 case 439:
7398 #line 2734 "parser.y"
7399 {
7400 NTYPE((yyvsp[(1) - (4)]), n_ARRAY_LITERAL);
7401 (yyvsp[(1) - (4)])->appendChild(NEXPAND((yyvsp[(2) - (4)]), (yyvsp[(3) - (4)]), (yyvsp[(4) - (4)])));
7402 (yyval) = (yyvsp[(1) - (4)]);
7403 ;}
7404 break;
7405
7406 case 440:
7407 #line 2739 "parser.y"
7408 {
7409 NTYPE((yyvsp[(1) - (3)]), n_ARRAY_LITERAL);
7410 (yyvsp[(1) - (3)])->appendChild(NEXPAND((yyvsp[(1) - (3)]), (yyvsp[(2) - (3)]), (yyvsp[(3) - (3)])));
7411 (yyval) = (yyvsp[(1) - (3)]);
7412 ;}
7413 break;
7414
7415 case 441:
7416 #line 2747 "parser.y"
7417 {
7418 NTYPE((yyvsp[(1) - (3)]), n_NEW);
7419 (yyvsp[(1) - (3)])->appendChild((yyvsp[(2) - (3)]));
7420 (yyvsp[(1) - (3)])->appendChild((yyvsp[(3) - (3)]));
7421 (yyval) = (yyvsp[(1) - (3)]);
7422 ;}
7423 break;
7424
7425 case 442:
7426 #line 2754 "parser.y"
7427 {
7428 (yyval) = NNEW(n_CLASS_DECLARATION);
7429 (yyval)->appendChild(NNEW(n_EMPTY));
7430 (yyval)->appendChild(NNEW(n_EMPTY));
7431 (yyval)->appendChild((yyvsp[(4) - (8)]));
7432 (yyval)->appendChild((yyvsp[(5) - (8)]));
7433 (yyval)->appendChild(NEXPAND((yyvsp[(6) - (8)]), (yyvsp[(7) - (8)]), (yyvsp[(8) - (8)])));
7434 NMORE((yyval), (yyvsp[(8) - (8)]));
7435
7436 NTYPE((yyvsp[(1) - (8)]), n_NEW);
7437 (yyvsp[(1) - (8)])->appendChild((yyval));
7438 (yyvsp[(1) - (8)])->appendChild((yyvsp[(3) - (8)]));
7439 (yyval) = (yyvsp[(1) - (8)]);
7440 ;}
7441 break;
7442
7443 case 443:
7444 #line 2771 "parser.y"
7445 {
7446 (yyval) = NNEW(n_CLASS_STATIC_ACCESS);
7447 (yyval)->appendChild((yyvsp[(1) - (3)]));
7448 (yyval)->appendChild(NTYPE((yyvsp[(3) - (3)]), n_STRING));
7449 ;}
7450 break;
7451
7452 case 444:
7453 #line 2776 "parser.y"
7454 {
7455 (yyval) = NNEW(n_CLASS_STATIC_ACCESS);
7456 (yyval)->appendChild((yyvsp[(1) - (3)]));
7457 (yyval)->appendChild(NTYPE((yyvsp[(3) - (3)]), n_STRING));
7458 ;}
7459 break;
7460
7461
7462 /* Line 1267 of yacc.c. */
7463 #line 7464 "parser.yacc.cpp"
7464 default: break;
7465 }
7466 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
7467
7468 YYPOPSTACK (yylen);
7469 yylen = 0;
7470 YY_STACK_PRINT (yyss, yyssp);
7471
7472 *++yyvsp = yyval;
7473
7474
7475 /* Now `shift' the result of the reduction. Determine what state
7476 that goes to, based on the state we popped back to and the rule
7477 number reduced by. */
7478
7479 yyn = yyr1[yyn];
7480
7481 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
7482 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
7483 yystate = yytable[yystate];
7484 else
7485 yystate = yydefgoto[yyn - YYNTOKENS];
7486
7487 goto yynewstate;
7488
7489
7490 /*------------------------------------.
7491 | yyerrlab -- here on detecting error |
7492 `------------------------------------*/
7493 yyerrlab:
7494 /* If not already recovering from an error, report this error. */
7495 if (!yyerrstatus)
7496 {
7497 ++yynerrs;
7498 #if ! YYERROR_VERBOSE
7499 yyerror (yyscanner, root, YY_("syntax error"));
7500 #else
7501 {
7502 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
7503 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
7504 {
7505 YYSIZE_T yyalloc = 2 * yysize;
7506 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
7507 yyalloc = YYSTACK_ALLOC_MAXIMUM;
7508 if (yymsg != yymsgbuf)
7509 YYSTACK_FREE (yymsg);
7510 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
7511 if (yymsg)
7512 yymsg_alloc = yyalloc;
7513 else
7514 {
7515 yymsg = yymsgbuf;
7516 yymsg_alloc = sizeof yymsgbuf;
7517 }
7518 }
7519
7520 if (0 < yysize && yysize <= yymsg_alloc)
7521 {
7522 (void) yysyntax_error (yymsg, yystate, yychar);
7523 yyerror (yyscanner, root, yymsg);
7524 }
7525 else
7526 {
7527 yyerror (yyscanner, root, YY_("syntax error"));
7528 if (yysize != 0)
7529 goto yyexhaustedlab;
7530 }
7531 }
7532 #endif
7533 }
7534
7535
7536
7537 if (yyerrstatus == 3)
7538 {
7539 /* If just tried and failed to reuse look-ahead token after an
7540 error, discard it. */
7541
7542 if (yychar <= YYEOF)
7543 {
7544 /* Return failure if at end of input. */
7545 if (yychar == YYEOF)
7546 YYABORT;
7547 }
7548 else
7549 {
7550 yydestruct ("Error: discarding",
7551 yytoken, &yylval, yyscanner, root);
7552 yychar = YYEMPTY;
7553 }
7554 }
7555
7556 /* Else will try to reuse look-ahead token after shifting the error
7557 token. */
7558 goto yyerrlab1;
7559
7560
7561 /*---------------------------------------------------.
7562 | yyerrorlab -- error raised explicitly by YYERROR. |
7563 `---------------------------------------------------*/
7564 yyerrorlab:
7565
7566 /* Pacify compilers like GCC when the user code never invokes
7567 YYERROR and the label yyerrorlab therefore never appears in user
7568 code. */
7569 if (/*CONSTCOND*/ 0)
7570 goto yyerrorlab;
7571
7572 /* Do not reclaim the symbols of the rule which action triggered
7573 this YYERROR. */
7574 YYPOPSTACK (yylen);
7575 yylen = 0;
7576 YY_STACK_PRINT (yyss, yyssp);
7577 yystate = *yyssp;
7578 goto yyerrlab1;
7579
7580
7581 /*-------------------------------------------------------------.
7582 | yyerrlab1 -- common code for both syntax error and YYERROR. |
7583 `-------------------------------------------------------------*/
7584 yyerrlab1:
7585 yyerrstatus = 3; /* Each real token shifted decrements this. */
7586
7587 for (;;)
7588 {
7589 yyn = yypact[yystate];
7590 if (yyn != YYPACT_NINF)
7591 {
7592 yyn += YYTERROR;
7593 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
7594 {
7595 yyn = yytable[yyn];
7596 if (0 < yyn)
7597 break;
7598 }
7599 }
7600
7601 /* Pop the current state because it cannot handle the error token. */
7602 if (yyssp == yyss)
7603 YYABORT;
7604
7605
7606 yydestruct ("Error: popping",
7607 yystos[yystate], yyvsp, yyscanner, root);
7608 YYPOPSTACK (1);
7609 yystate = *yyssp;
7610 YY_STACK_PRINT (yyss, yyssp);
7611 }
7612
7613 if (yyn == YYFINAL)
7614 YYACCEPT;
7615
7616 *++yyvsp = yylval;
7617
7618
7619 /* Shift the error token. */
7620 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
7621
7622 yystate = yyn;
7623 goto yynewstate;
7624
7625
7626 /*-------------------------------------.
7627 | yyacceptlab -- YYACCEPT comes here. |
7628 `-------------------------------------*/
7629 yyacceptlab:
7630 yyresult = 0;
7631 goto yyreturn;
7632
7633 /*-----------------------------------.
7634 | yyabortlab -- YYABORT comes here. |
7635 `-----------------------------------*/
7636 yyabortlab:
7637 yyresult = 1;
7638 goto yyreturn;
7639
7640 #ifndef yyoverflow
7641 /*-------------------------------------------------.
7642 | yyexhaustedlab -- memory exhaustion comes here. |
7643 `-------------------------------------------------*/
7644 yyexhaustedlab:
7645 yyerror (yyscanner, root, YY_("memory exhausted"));
7646 yyresult = 2;
7647 /* Fall through. */
7648 #endif
7649
7650 yyreturn:
7651 if (yychar != YYEOF && yychar != YYEMPTY)
7652 yydestruct ("Cleanup: discarding lookahead",
7653 yytoken, &yylval, yyscanner, root);
7654 /* Do not reclaim the symbols of the rule which action triggered
7655 this YYABORT or YYACCEPT. */
7656 YYPOPSTACK (yylen);
7657 YY_STACK_PRINT (yyss, yyssp);
7658 while (yyssp != yyss)
7659 {
7660 yydestruct ("Cleanup: popping",
7661 yystos[*yyssp], yyvsp, yyscanner, root);
7662 YYPOPSTACK (1);
7663 }
7664 #ifndef yyoverflow
7665 if (yyss != yyssa)
7666 YYSTACK_FREE (yyss);
7667 #endif
7668 #if YYERROR_VERBOSE
7669 if (yymsg != yymsgbuf)
7670 YYSTACK_FREE (yymsg);
7671 #endif
7672 /* Make sure YYID is used. */
7673 return YYID (yyresult);
7674 }
7675
7676
7677 #line 2783 "parser.y"
7678
7679
yytokname(int tok)7680 const char* yytokname(int tok) {
7681 if (tok < 255) {
7682 return NULL;
7683 }
7684 return yytname[YYTRANSLATE(tok)];
7685 }
7686
7687 /* @generated */
7688