1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton implementation for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
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)
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.
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. */
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.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
36 /* C LALR(1) parser skeleton written by Richard Stallman, by
37 simplifying the original so-called "semantic" parser. */
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. */
46 /* Identify Bison output. */
50 #define YYBISON_VERSION "2.3"
53 #define YYSKELETON_NAME "yacc.c"
58 /* Using locations. */
59 #define YYLSP_NEEDED 0
61 /* Substitute the variable and function names. */
62 #define yyparse swf5parse
64 #define yyerror swf5error
65 #define yylval swf5lval
66 #define yychar swf5char
67 #define yydebug swf5debug
68 #define yynerrs swf5nerrs
74 /* Put the tokens into the symbol table, so that GDB and other debuggers
155 SETTARGETEXPRESSION = 336,
156 DUPLICATEMOVIECLIP = 337,
157 REMOVEMOVIECLIP = 338,
158 STRINGLESSTHAN = 339,
170 LOADVARIABLESNUM = 351,
242 #define NEXTFRAME 289
243 #define PREVFRAME 290
246 #define TOGGLEQUALITY 293
247 #define STOPSOUNDS 294
252 #define SETREGISTER 299
253 #define CALLFUNCTION 300
254 #define CALLMETHOD 301
265 #define INSTANCEOF 312
266 #define ENUMERATE 313
267 #define INITOBJECT 314
268 #define INITARRAY 315
269 #define GETMEMBER 316
270 #define SETMEMBER 317
271 #define SHIFTLEFT 318
272 #define SHIFTRIGHT 319
273 #define SHIFTRIGHT2 320
274 #define VAREQUALS 321
279 #define OLDEQUALS 326
280 #define OLDLESSTHAN 327
281 #define LOGICALAND 328
282 #define LOGICALOR 329
285 #define STRINGLENGTH 332
286 #define SUBSTRING 333
287 #define GETVARIABLE 334
288 #define SETVARIABLE 335
289 #define SETTARGETEXPRESSION 336
290 #define DUPLICATEMOVIECLIP 337
291 #define REMOVEMOVIECLIP 338
292 #define STRINGLESSTHAN 339
294 #define MBSUBSTRING 341
297 #define BRANCHALWAYS 344
298 #define BRANCHIFTRUE 345
302 #define LOADVARIABLES 349
303 #define LOADMOVIE 350
304 #define LOADVARIABLESNUM 351
305 #define LOADMOVIENUM 352
306 #define CALLFRAME 353
307 #define STARTDRAG 354
309 #define GOTOFRAME 356
310 #define SETTARGET 357
317 #define IDENTIFIER 364
346 /* Copy the first part of user declarations. */
347 #line 5 "swf5compiler.y"
355 #include "assembler.h"
357 #define YYPARSE_PARAM buffer
363 /* Enabling traces. */
368 /* Enabling verbose error messages. */
369 #ifdef YYERROR_VERBOSE
370 # undef YYERROR_VERBOSE
371 # define YYERROR_VERBOSE 1
373 # define YYERROR_VERBOSE 0
376 /* Enabling the token table. */
377 #ifndef YYTOKEN_TABLE
378 # define YYTOKEN_TABLE 0
381 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
382 typedef union YYSTYPE
383 #line 21 "swf5compiler.y"
387 SWFGetUrl2Method getURLMethod;
398 struct switchcase switchcase;
399 struct switchcases switchcases;
402 Buffer obj, ident, memexpr;
405 /* Line 187 of yacc.c. */
406 #line 407 "swf5compiler.tab.c"
408 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
409 # define YYSTYPE_IS_DECLARED 1
410 # define YYSTYPE_IS_TRIVIAL 1
415 /* Copy the second part of user declarations. */
418 /* Line 216 of yacc.c. */
419 #line 420 "swf5compiler.tab.c"
426 typedef YYTYPE_UINT8 yytype_uint8;
428 typedef unsigned char yytype_uint8;
432 typedef YYTYPE_INT8 yytype_int8;
433 #elif (defined __STDC__ || defined __C99__FUNC__ \
434 || defined __cplusplus || defined _MSC_VER)
435 typedef signed char yytype_int8;
437 typedef short int yytype_int8;
441 typedef YYTYPE_UINT16 yytype_uint16;
443 typedef unsigned short int yytype_uint16;
447 typedef YYTYPE_INT16 yytype_int16;
449 typedef short int yytype_int16;
453 # ifdef __SIZE_TYPE__
454 # define YYSIZE_T __SIZE_TYPE__
455 # elif defined size_t
456 # define YYSIZE_T size_t
457 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
458 || defined __cplusplus || defined _MSC_VER)
459 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
460 # define YYSIZE_T size_t
462 # define YYSIZE_T unsigned int
466 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
471 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
472 # define YY_(msgid) dgettext ("bison-runtime", msgid)
476 # define YY_(msgid) msgid
480 /* Suppress unused-variable warnings by "using" E. */
481 #if ! defined lint || defined __GNUC__
482 # define YYUSE(e) ((void) (e))
484 # define YYUSE(e) /* empty */
487 /* Identity function, used to suppress warnings about constant conditions. */
491 #if (defined __STDC__ || defined __C99__FUNC__ \
492 || defined __cplusplus || defined _MSC_VER)
505 #if ! defined yyoverflow || YYERROR_VERBOSE
507 /* The parser invokes alloca or malloc; define the necessary symbols. */
509 # ifdef YYSTACK_USE_ALLOCA
510 # if YYSTACK_USE_ALLOCA
512 # define YYSTACK_ALLOC __builtin_alloca
513 # elif defined __BUILTIN_VA_ARG_INCR
514 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
516 # define YYSTACK_ALLOC __alloca
517 # elif defined _MSC_VER
518 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
519 # define alloca _alloca
521 # define YYSTACK_ALLOC alloca
522 # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
523 || defined __cplusplus || defined _MSC_VER)
524 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
533 # ifdef YYSTACK_ALLOC
534 /* Pacify GCC's `empty if-body' warning. */
535 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
536 # ifndef YYSTACK_ALLOC_MAXIMUM
537 /* The OS might guarantee only one guard page at the bottom of the stack,
538 and a page size can be as small as 4096 bytes. So we cannot safely
539 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
540 to allow for a few compiler-allocated temporary stack slots. */
541 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
544 # define YYSTACK_ALLOC YYMALLOC
545 # define YYSTACK_FREE YYFREE
546 # ifndef YYSTACK_ALLOC_MAXIMUM
547 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
549 # if (defined __cplusplus && ! defined _STDLIB_H \
550 && ! ((defined YYMALLOC || defined malloc) \
551 && (defined YYFREE || defined free)))
552 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
558 # define YYMALLOC malloc
559 # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
560 || defined __cplusplus || defined _MSC_VER)
561 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
566 # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
567 || defined __cplusplus || defined _MSC_VER)
568 void free (void *); /* INFRINGES ON USER NAME SPACE */
572 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
575 #if (! defined yyoverflow \
576 && (! defined __cplusplus \
577 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
579 /* A type that is properly aligned for any stack member. */
586 /* The size of the maximum gap between one aligned stack and the next. */
587 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
589 /* The size of an array large to enough to hold all stacks, each with
591 # define YYSTACK_BYTES(N) \
592 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
593 + YYSTACK_GAP_MAXIMUM)
595 /* Copy COUNT objects from FROM to TO. The source and destination do
598 # if defined __GNUC__ && 1 < __GNUC__
599 # define YYCOPY(To, From, Count) \
600 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
602 # define YYCOPY(To, From, Count) \
606 for (yyi = 0; yyi < (Count); yyi++) \
607 (To)[yyi] = (From)[yyi]; \
613 /* Relocate STACK from its old location to the new one. The
614 local variables YYSIZE and YYSTACKSIZE give the old and new number of
615 elements in the stack, and YYPTR gives the new location of the
616 stack. Advance YYPTR to a properly aligned location for the next
618 # define YYSTACK_RELOCATE(Stack) \
621 YYSIZE_T yynewbytes; \
622 YYCOPY (&yyptr->Stack, Stack, yysize); \
623 Stack = &yyptr->Stack; \
624 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
625 yyptr += yynewbytes / sizeof (*yyptr); \
631 /* YYFINAL -- State number of the termination state. */
633 /* YYLAST -- Last index in YYTABLE. */
636 /* YYNTOKENS -- Number of terminals. */
637 #define YYNTOKENS 159
638 /* YYNNTS -- Number of nonterminals. */
640 /* YYNRULES -- Number of rules. */
642 /* YYNRULES -- Number of states. */
643 #define YYNSTATES 616
645 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
647 #define YYMAXUTOK 389
649 #define YYTRANSLATE(YYX) \
650 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
652 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
653 static const yytype_uint8 yytranslate[] =
655 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
658 2, 2, 2, 147, 2, 2, 2, 146, 139, 2,
659 157, 158, 144, 142, 132, 143, 151, 145, 2, 2,
660 2, 2, 2, 2, 2, 2, 2, 2, 136, 156,
661 137, 133, 138, 135, 2, 2, 2, 2, 2, 2,
662 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
663 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
664 2, 152, 2, 153, 141, 2, 2, 2, 2, 2,
665 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
667 2, 2, 2, 154, 140, 155, 148, 2, 2, 2,
668 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
669 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
670 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
671 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
672 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
673 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
674 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
675 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
676 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
677 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
678 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
679 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
680 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
681 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
682 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
683 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
684 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
685 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
686 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
687 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
688 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
689 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
690 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
691 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
692 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
693 125, 126, 127, 128, 129, 130, 131, 134, 149, 150
697 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
699 static const yytype_uint16 yyprhs[] =
701 0, 0, 3, 4, 7, 8, 10, 13, 15, 17,
702 19, 22, 25, 27, 31, 33, 36, 38, 40, 42,
703 44, 46, 48, 50, 58, 61, 65, 67, 71, 79,
704 85, 86, 88, 90, 98, 99, 102, 109, 114, 118,
705 120, 122, 124, 126, 128, 130, 132, 134, 136, 138,
706 140, 142, 144, 146, 148, 150, 152, 154, 156, 158,
707 160, 162, 164, 166, 168, 170, 172, 174, 176, 178,
708 180, 182, 184, 186, 188, 190, 192, 194, 196, 198,
709 200, 202, 204, 206, 208, 210, 212, 214, 216, 218,
710 220, 222, 224, 226, 228, 230, 232, 234, 236, 238,
711 240, 242, 244, 246, 248, 250, 252, 254, 256, 258,
712 260, 262, 264, 266, 268, 270, 272, 274, 275, 277,
713 281, 283, 290, 292, 296, 301, 303, 305, 307, 309,
714 310, 311, 317, 324, 335, 344, 354, 355, 357, 360,
715 363, 364, 367, 370, 373, 375, 377, 382, 385, 390,
716 396, 401, 409, 417, 425, 433, 441, 446, 453, 468,
717 472, 481, 486, 493, 497, 501, 505, 509, 513, 517,
718 522, 527, 532, 537, 542, 547, 552, 556, 561, 566,
719 571, 576, 581, 588, 597, 602, 603, 605, 609, 615,
720 622, 630, 634, 636, 640, 642, 644, 646, 648, 650,
721 652, 654, 656, 658, 660, 662, 664, 666, 668, 670,
722 672, 674, 678, 683, 685, 688, 691, 694, 698, 702,
723 706, 710, 714, 718, 722, 726, 730, 734, 738, 742,
724 746, 750, 754, 758, 762, 766, 770, 776, 780, 784,
725 786, 789, 795, 799, 801, 805, 807, 809, 811, 813,
726 816, 819, 823, 826, 828, 831, 833, 835, 837, 839,
727 841, 845, 849, 851, 852, 858, 861, 863, 865, 867,
728 870, 873, 877, 881, 883, 886, 887, 892, 894, 896,
729 898, 900, 902, 904, 906, 910, 911, 915, 917, 920,
730 922, 924, 926, 928, 930, 932, 934, 936, 938, 940,
731 942, 944, 946, 948, 950, 952, 954, 956, 958, 960,
732 962, 964, 966, 968, 970, 972, 974, 976, 978, 980,
733 982, 984, 986, 988, 990, 992, 994, 996, 998, 1000,
734 1002, 1004, 1006, 1008, 1010, 1012, 1014, 1016, 1018, 1020,
735 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1039
738 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
739 static const yytype_int16 yyrhs[] =
741 160, 0, -1, -1, 161, 162, -1, -1, 163, -1,
742 162, 163, -1, 166, -1, 179, -1, 166, -1, 164,
743 166, -1, 154, 155, -1, 165, -1, 154, 164, 155,
744 -1, 156, -1, 207, 156, -1, 170, -1, 185, -1,
745 187, -1, 188, -1, 173, -1, 168, -1, 167, -1,
746 20, 157, 202, 158, 154, 164, 155, -1, 18, 156,
747 -1, 18, 203, 156, -1, 207, -1, 169, 132, 207,
748 -1, 12, 157, 202, 158, 166, 6, 166, -1, 12,
749 157, 202, 158, 166, -1, -1, 202, -1, 7, -1,
750 172, 157, 202, 158, 154, 174, 155, -1, -1, 174,
751 175, -1, 8, 202, 136, 164, 3, 156, -1, 8,
752 202, 136, 164, -1, 9, 136, 164, -1, 109, -1,
753 16, -1, 17, -1, 23, -1, 24, -1, 25, -1,
754 26, -1, 27, -1, 28, -1, 29, -1, 30, -1,
755 31, -1, 32, -1, 33, -1, 34, -1, 35, -1,
756 36, -1, 37, -1, 38, -1, 39, -1, 40, -1,
757 41, -1, 42, -1, 43, -1, 44, -1, 45, -1,
758 46, -1, 47, -1, 48, -1, 49, -1, 50, -1,
759 51, -1, 52, -1, 53, -1, 54, -1, 55, -1,
760 56, -1, 57, -1, 58, -1, 59, -1, 60, -1,
761 61, -1, 62, -1, 63, -1, 64, -1, 65, -1,
762 66, -1, 67, -1, 68, -1, 69, -1, 70, -1,
763 71, -1, 72, -1, 73, -1, 74, -1, 75, -1,
764 76, -1, 77, -1, 78, -1, 79, -1, 80, -1,
765 81, -1, 82, -1, 83, -1, 99, -1, 100, -1,
766 84, -1, 85, -1, 86, -1, 87, -1, 88, -1,
767 89, -1, 90, -1, 91, -1, 92, -1, 93, -1,
768 94, -1, 95, -1, -1, 176, -1, 177, 132, 176,
769 -1, 5, -1, 178, 176, 157, 177, 158, 166, -1,
770 176, -1, 202, 151, 176, -1, 202, 152, 202, 153,
771 -1, 192, -1, 195, -1, 13, -1, 14, -1, -1,
772 -1, 181, 157, 202, 158, 166, -1, 182, 166, 13,
773 157, 202, 158, -1, 10, 157, 186, 156, 171, 156,
774 186, 158, 183, 166, -1, 10, 157, 176, 11, 180,
775 158, 184, 166, -1, 10, 157, 15, 176, 11, 180,
776 158, 184, 166, -1, -1, 169, -1, 4, 156, -1,
777 3, 156, -1, -1, 132, 93, -1, 132, 92, -1,
778 132, 108, -1, 104, -1, 202, -1, 109, 157, 193,
779 158, -1, 17, 109, -1, 17, 200, 151, 109, -1,
780 17, 200, 152, 202, 153, -1, 28, 157, 203, 158,
781 -1, 32, 157, 202, 132, 202, 189, 158, -1, 94,
782 157, 202, 132, 202, 189, 158, -1, 96, 157, 202,
783 132, 190, 189, 158, -1, 95, 157, 202, 132, 202,
784 189, 158, -1, 97, 157, 202, 132, 190, 189, 158,
785 -1, 98, 157, 202, 158, -1, 99, 157, 202, 132,
786 202, 158, -1, 99, 157, 202, 132, 202, 132, 202,
787 132, 202, 132, 202, 132, 202, 158, -1, 100, 157,
788 158, -1, 82, 157, 202, 132, 202, 132, 202, 158,
789 -1, 83, 157, 202, 158, -1, 33, 157, 108, 132,
790 108, 158, -1, 34, 157, 158, -1, 35, 157, 158,
791 -1, 36, 157, 158, -1, 37, 157, 158, -1, 39,
792 157, 158, -1, 38, 157, 158, -1, 101, 157, 104,
793 158, -1, 101, 157, 108, 158, -1, 101, 157, 202,
794 158, -1, 102, 157, 108, 158, -1, 102, 157, 202,
795 158, -1, 109, 157, 193, 158, -1, 22, 157, 202,
796 158, -1, 24, 157, 158, -1, 23, 157, 202, 158,
797 -1, 25, 157, 203, 158, -1, 29, 157, 202, 158,
798 -1, 30, 157, 202, 158, -1, 31, 157, 202, 158,
799 -1, 26, 157, 202, 132, 202, 158, -1, 78, 157,
800 202, 132, 202, 132, 202, 158, -1, 56, 157, 203,
801 158, -1, -1, 203, -1, 193, 132, 203, -1, 178,
802 157, 177, 158, 166, -1, 200, 151, 176, 157, 193,
803 158, -1, 200, 152, 202, 153, 157, 193, 158, -1,
804 176, 136, 203, -1, 196, -1, 197, 132, 196, -1,
805 118, -1, 121, -1, 120, -1, 119, -1, 122, -1,
806 123, -1, 124, -1, 134, -1, 128, -1, 129, -1,
807 130, -1, 116, -1, 117, -1, 201, -1, 192, -1,
808 195, -1, 176, -1, 200, 151, 176, -1, 200, 152,
809 202, 153, -1, 204, -1, 143, 202, -1, 148, 202,
810 -1, 147, 202, -1, 202, 115, 202, -1, 202, 114,
811 202, -1, 202, 144, 202, -1, 202, 145, 202, -1,
812 202, 146, 202, -1, 202, 142, 202, -1, 202, 143,
813 202, -1, 202, 139, 202, -1, 202, 140, 202, -1,
814 202, 141, 202, -1, 202, 137, 202, -1, 202, 138,
815 202, -1, 202, 111, 202, -1, 202, 112, 202, -1,
816 202, 110, 202, -1, 202, 113, 202, -1, 202, 125,
817 202, -1, 202, 126, 202, -1, 202, 127, 202, -1,
818 202, 135, 202, 136, 202, -1, 201, 133, 203, -1,
819 202, 57, 200, -1, 202, -1, 16, 176, -1, 16,
820 176, 157, 193, 158, -1, 152, 193, 153, -1, 165,
821 -1, 154, 197, 155, -1, 192, -1, 194, -1, 195,
822 -1, 200, -1, 199, 201, -1, 201, 199, -1, 157,
823 202, 158, -1, 143, 104, -1, 104, -1, 143, 105,
824 -1, 105, -1, 106, -1, 103, -1, 108, -1, 206,
825 -1, 205, 132, 206, -1, 176, 133, 203, -1, 176,
826 -1, -1, 21, 154, 208, 209, 155, -1, 15, 205,
827 -1, 191, -1, 192, -1, 195, -1, 199, 201, -1,
828 201, 199, -1, 201, 133, 203, -1, 201, 198, 202,
829 -1, 214, -1, 209, 214, -1, -1, 20, 211, 209,
830 19, -1, 108, -1, 104, -1, 105, -1, 106, -1,
831 103, -1, 107, -1, 212, -1, 213, 132, 212, -1,
832 -1, 43, 215, 213, -1, 210, -1, 44, 107, -1,
833 45, -1, 18, -1, 46, -1, 47, -1, 48, -1,
834 49, -1, 50, -1, 51, -1, 52, -1, 53, -1,
835 54, -1, 55, -1, 56, -1, 57, -1, 58, -1,
836 17, -1, 16, -1, 60, -1, 59, -1, 61, -1,
837 62, -1, 63, -1, 64, -1, 65, -1, 15, -1,
838 66, -1, 67, -1, 68, -1, 69, -1, 70, -1,
839 71, -1, 72, -1, 73, -1, 74, -1, 75, -1,
840 76, -1, 77, -1, 78, -1, 29, -1, 40, -1,
841 41, -1, 42, -1, 79, -1, 80, -1, 81, -1,
842 26, -1, 82, -1, 83, -1, 28, -1, 84, -1,
843 23, -1, 85, -1, 30, -1, 31, -1, 24, -1,
844 86, -1, 87, -1, 88, -1, 89, 108, -1, 90,
848 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
849 static const yytype_uint16 yyrline[] =
851 0, 152, 152, 152, 160, 164, 165, 169, 171, 176,
852 179, 185, 189, 190, 191, 192, 193, 194, 195, 196,
853 197, 198, 199, 203, 214, 224, 236, 237, 241, 252,
854 262, 263, 267, 272, 286, 289, 297, 302, 307, 317,
855 318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
856 328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
857 338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
858 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
859 358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
860 368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
861 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
862 388, 389, 390, 391, 392, 393, 394, 399, 402, 407,
863 414, 419, 433, 438, 444, 449, 451, 455, 460, 466,
864 471, 475, 488, 501, 536, 569, 603, 604, 610, 621,
865 634, 636, 638, 640, 647, 654, 662, 670, 676, 683,
866 690, 694, 701, 708, 715, 722, 729, 735, 742, 753,
867 758, 766, 770, 780, 784, 788, 792, 796, 800, 804,
868 810, 817, 823, 830, 839, 846, 850, 854, 858, 862,
869 866, 870, 874, 879, 885, 894, 897, 902, 911, 924,
870 932, 941, 948, 952, 958, 959, 960, 961, 962, 963,
871 964, 965, 966, 967, 968, 972, 973, 991, 1009, 1010,
872 1015, 1022, 1028, 1037, 1039, 1044, 1049, 1053, 1062, 1072,
873 1077, 1082, 1087, 1092, 1097, 1102, 1107, 1112, 1117, 1122,
874 1128, 1133, 1137, 1142, 1146, 1150, 1154, 1164, 1191, 1199,
875 1201, 1207, 1213, 1218, 1223, 1231, 1233, 1235, 1237, 1239,
876 1284, 1329, 1332, 1336, 1340, 1344, 1348, 1352, 1356, 1363,
877 1365, 1371, 1377, 1385, 1384, 1389, 1392, 1394, 1398, 1402,
878 1441, 1480, 1501, 1546, 1547, 1552, 1551, 1559, 1562, 1565,
879 1568, 1571, 1573, 1580, 1581, 1585, 1585, 1591, 1593, 1600,
880 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, 1620,
881 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1638, 1640,
882 1642, 1644, 1646, 1648, 1650, 1654, 1655, 1656, 1657, 1658,
883 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668,
884 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678,
885 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1688, 1692
889 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
890 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
891 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
892 static const char *const yytname[] =
894 "$end", "error", "$undefined", "BREAK", "CONTINUE", "FUNCTION", "ELSE",
895 "SWITCH", "CASE", "DEFAULT", "FOR", "IN", "IF", "WHILE", "DO", "VAR",
896 "NEW", "DELETE", "RETURN", "END", "WITH", "ASM", "EVAL", "RANDOM",
897 "GETTIMER", "LENGTH", "CONCAT", "SUBSTR", "TRACE", "INT", "ORD", "CHR",
898 "GETURL", "GETURL1", "NEXTFRAME", "PREVFRAME", "PLAY", "STOP",
899 "TOGGLEQUALITY", "STOPSOUNDS", "DUP", "SWAP", "POP", "PUSH",
900 "SETREGISTER", "CALLFUNCTION", "CALLMETHOD", "AND", "OR", "XOR",
901 "MODULO", "ADD", "LESSTHAN", "EQUALS", "INC", "DEC", "TYPEOF",
902 "INSTANCEOF", "ENUMERATE", "INITOBJECT", "INITARRAY", "GETMEMBER",
903 "SETMEMBER", "SHIFTLEFT", "SHIFTRIGHT", "SHIFTRIGHT2", "VAREQUALS",
904 "OLDADD", "SUBTRACT", "MULTIPLY", "DIVIDE", "OLDEQUALS", "OLDLESSTHAN",
905 "LOGICALAND", "LOGICALOR", "NOT", "STRINGEQ", "STRINGLENGTH",
906 "SUBSTRING", "GETVARIABLE", "SETVARIABLE", "SETTARGETEXPRESSION",
907 "DUPLICATEMOVIECLIP", "REMOVEMOVIECLIP", "STRINGLESSTHAN", "MBLENGTH",
908 "MBSUBSTRING", "MBORD", "MBCHR", "BRANCHALWAYS", "BRANCHIFTRUE",
909 "GETURL2", "POST", "GET", "LOADVARIABLES", "LOADMOVIE",
910 "LOADVARIABLESNUM", "LOADMOVIENUM", "CALLFRAME", "STARTDRAG", "STOPDRAG",
911 "GOTOFRAME", "SETTARGET", "NULLVAL", "INTEGER", "DOUBLE", "BOOLEAN",
912 "REGISTER", "STRING", "IDENTIFIER", "\"==\"", "\"<=\"", "\">=\"",
913 "\"!=\"", "\"&&\"", "\"||\"", "\"++\"", "\"--\"", "\"+=\"", "\"/=\"",
914 "\"*=\"", "\"-=\"", "\"%=\"", "\"&=\"", "\"|=\"", "\"<<\"", "\">>\"",
915 "\">>>\"", "\"<<=\"", "\">>=\"", "\">>>=\"", "NOELSE", "','", "'='",
916 "\"^=\"", "'?'", "':'", "'<'", "'>'", "'&'", "'|'", "'^'", "'+'", "'-'",
917 "'*'", "'/'", "'%'", "'!'", "'~'", "UMINUS", "POSTFIX", "'.'", "'['",
918 "']'", "'{'", "'}'", "';'", "'('", "')'", "$accept", "program", "@1",
919 "code", "anycode", "stmts", "emptybraces", "stmt", "with_stmt",
920 "return_stmt", "assign_stmts", "if_stmt", "expr_opt", "switch_init",
921 "switch_stmt", "switch_cases", "switch_case", "identifier",
922 "formals_list", "function_init", "function_decl", "obj_ref",
923 "while_init", "do_init", "for_init", "for_in_init", "iter_stmt",
924 "assign_stmts_opt", "cont_stmt", "break_stmt", "urlmethod", "level",
925 "void_function_call", "function_call", "expr_list", "anon_function_decl",
926 "method_call", "objexpr", "objexpr_list", "assignop", "incdecop",
927 "lvalue_expr", "lvalue", "expr", "expr_or_obj", "primary", "init_vars",
928 "init_var", "assign_stmt", "@2", "opcode_list", "with", "@3",
929 "push_item", "push_list", "opcode", "@4", 0
934 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
936 static const yytype_uint16 yytoknum[] =
938 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
939 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
940 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
941 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
942 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
943 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
944 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
945 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
946 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
947 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
948 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
949 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
950 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
951 385, 386, 44, 61, 387, 63, 58, 60, 62, 38,
952 124, 94, 43, 45, 42, 47, 37, 33, 126, 388,
953 389, 46, 91, 93, 123, 125, 59, 40, 41
957 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
958 static const yytype_uint8 yyr1[] =
960 0, 159, 161, 160, 160, 162, 162, 163, 163, 164,
961 164, 165, 166, 166, 166, 166, 166, 166, 166, 166,
962 166, 166, 166, 167, 168, 168, 169, 169, 170, 170,
963 171, 171, 172, 173, 174, 174, 175, 175, 175, 176,
964 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
965 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
966 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
967 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
968 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
969 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
970 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
971 176, 176, 176, 176, 176, 176, 176, 177, 177, 177,
972 178, 179, 180, 180, 180, 180, 180, 181, 182, 183,
973 184, 185, 185, 185, 185, 185, 186, 186, 187, 188,
974 189, 189, 189, 189, 190, 190, 191, 191, 191, 191,
975 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
976 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
977 191, 191, 191, 191, 192, 192, 192, 192, 192, 192,
978 192, 192, 192, 192, 192, 193, 193, 193, 194, 195,
979 195, 196, 197, 197, 198, 198, 198, 198, 198, 198,
980 198, 198, 198, 198, 198, 199, 199, 200, 200, 200,
981 201, 201, 201, 202, 202, 202, 202, 202, 202, 202,
982 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
983 202, 202, 202, 202, 202, 202, 202, 202, 202, 203,
984 203, 203, 203, 203, 203, 204, 204, 204, 204, 204,
985 204, 204, 204, 204, 204, 204, 204, 204, 204, 205,
986 205, 206, 206, 208, 207, 207, 207, 207, 207, 207,
987 207, 207, 207, 209, 209, 211, 210, 212, 212, 212,
988 212, 212, 212, 213, 213, 215, 214, 214, 214, 214,
989 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
990 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
991 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
992 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
993 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
994 214, 214, 214, 214, 214, 214, 214, 214, 214
997 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
998 static const yytype_uint8 yyr2[] =
1000 0, 2, 0, 2, 0, 1, 2, 1, 1, 1,
1001 2, 2, 1, 3, 1, 2, 1, 1, 1, 1,
1002 1, 1, 1, 7, 2, 3, 1, 3, 7, 5,
1003 0, 1, 1, 7, 0, 2, 6, 4, 3, 1,
1004 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1005 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1006 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1007 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1008 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1009 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1010 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1011 1, 1, 1, 1, 1, 1, 1, 0, 1, 3,
1012 1, 6, 1, 3, 4, 1, 1, 1, 1, 0,
1013 0, 5, 6, 10, 8, 9, 0, 1, 2, 2,
1014 0, 2, 2, 2, 1, 1, 4, 2, 4, 5,
1015 4, 7, 7, 7, 7, 7, 4, 6, 14, 3,
1016 8, 4, 6, 3, 3, 3, 3, 3, 3, 4,
1017 4, 4, 4, 4, 4, 4, 3, 4, 4, 4,
1018 4, 4, 6, 8, 4, 0, 1, 3, 5, 6,
1019 7, 3, 1, 3, 1, 1, 1, 1, 1, 1,
1020 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1021 1, 3, 4, 1, 2, 2, 2, 3, 3, 3,
1022 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1023 3, 3, 3, 3, 3, 3, 5, 3, 3, 1,
1024 2, 5, 3, 1, 3, 1, 1, 1, 1, 2,
1025 2, 3, 2, 1, 2, 1, 1, 1, 1, 1,
1026 3, 3, 1, 0, 5, 2, 1, 1, 1, 2,
1027 2, 3, 3, 1, 2, 0, 4, 1, 1, 1,
1028 1, 1, 1, 1, 3, 0, 3, 1, 2, 1,
1029 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1030 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1031 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1032 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1033 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1034 1, 1, 1, 1, 1, 1, 1, 2, 2
1037 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1038 STATE-NUM when YYTABLE doesn't specify something else to do. Zero
1039 means the default is an error. */
1040 static const yytype_uint16 yydefact[] =
1042 2, 0, 0, 1, 0, 0, 120, 32, 0, 0,
1043 127, 128, 0, 40, 41, 0, 0, 0, 0, 42,
1044 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1045 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1046 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1047 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1048 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1049 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1050 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1051 115, 116, 0, 0, 0, 103, 104, 0, 0, 39,
1052 205, 206, 0, 14, 3, 5, 12, 7, 22, 21,
1053 16, 0, 20, 210, 0, 8, 0, 0, 17, 18,
1054 19, 266, 267, 268, 0, 0, 207, 0, 139, 138,
1055 136, 0, 41, 42, 43, 44, 45, 47, 48, 49,
1056 50, 51, 52, 53, 54, 55, 56, 57, 58, 75,
1057 97, 101, 102, 115, 116, 103, 104, 39, 262, 265,
1058 259, 147, 208, 209, 0, 207, 40, 257, 253, 255,
1059 256, 258, 39, 0, 0, 0, 185, 0, 24, 0,
1060 243, 0, 208, 246, 209, 0, 248, 207, 239, 0,
1061 213, 0, 263, 0, 0, 0, 0, 0, 0, 0,
1062 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1064 0, 0, 0, 185, 11, 0, 9, 6, 0, 0,
1065 0, 0, 269, 0, 0, 194, 197, 196, 195, 198,
1066 199, 200, 202, 203, 204, 0, 201, 0, 270, 15,
1067 0, 137, 210, 0, 26, 0, 0, 0, 185, 0,
1068 0, 240, 252, 254, 214, 216, 215, 0, 186, 0,
1069 192, 0, 0, 117, 249, 0, 250, 0, 0, 0,
1070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1071 0, 0, 0, 0, 0, 0, 0, 0, 25, 0,
1072 0, 0, 0, 176, 0, 0, 0, 0, 0, 0,
1073 0, 0, 163, 164, 165, 166, 168, 167, 0, 0,
1074 0, 0, 0, 0, 0, 0, 0, 0, 159, 253,
1075 258, 0, 258, 0, 0, 13, 10, 0, 117, 0,
1076 0, 211, 0, 271, 272, 262, 0, 0, 30, 0,
1077 261, 260, 0, 39, 0, 185, 0, 242, 0, 0,
1078 244, 251, 118, 0, 237, 238, 231, 229, 230, 232,
1079 218, 217, 233, 234, 235, 0, 227, 228, 224, 225,
1080 226, 222, 223, 219, 220, 221, 0, 313, 305, 304,
1081 290, 275, 339, 343, 334, 337, 327, 341, 342, 328,
1082 329, 330, 285, 0, 289, 291, 292, 293, 294, 295,
1083 296, 297, 298, 299, 300, 301, 302, 303, 307, 306,
1084 308, 309, 310, 311, 312, 314, 315, 316, 317, 318,
1085 319, 320, 321, 322, 323, 324, 325, 326, 331, 332,
1086 333, 335, 336, 338, 340, 344, 345, 346, 0, 0,
1087 0, 287, 273, 175, 177, 178, 0, 150, 179, 180,
1088 181, 0, 0, 184, 0, 0, 161, 0, 0, 0,
1089 0, 156, 0, 169, 170, 171, 172, 173, 146, 0,
1090 0, 0, 0, 185, 212, 0, 27, 210, 0, 208,
1091 209, 0, 0, 31, 29, 174, 149, 0, 187, 191,
1092 193, 0, 0, 0, 0, 0, 0, 288, 347, 348,
1093 264, 274, 0, 140, 0, 0, 0, 140, 140, 253,
1094 140, 145, 140, 0, 34, 0, 131, 0, 0, 185,
1095 0, 130, 0, 0, 136, 0, 241, 119, 188, 236,
1096 0, 0, 281, 278, 279, 280, 282, 277, 283, 286,
1097 182, 0, 0, 162, 0, 0, 0, 0, 0, 0,
1098 0, 157, 0, 121, 132, 189, 0, 130, 0, 123,
1099 0, 0, 28, 23, 276, 0, 142, 141, 143, 151,
1100 0, 0, 152, 154, 153, 155, 0, 0, 0, 33,
1101 35, 190, 0, 134, 124, 129, 284, 183, 160, 0,
1102 0, 0, 135, 0, 0, 0, 38, 133, 0, 37,
1103 0, 0, 0, 139, 0, 158
1106 /* YYDEFGOTO[NTERM-NUM]. */
1107 static const yytype_int16 yydefgoto[] =
1109 -1, 1, 2, 104, 105, 225, 106, 226, 108, 109,
1110 251, 110, 492, 111, 112, 562, 590, 113, 363, 181,
1111 115, 488, 116, 117, 603, 568, 118, 253, 119, 120,
1112 552, 520, 121, 182, 267, 183, 184, 270, 271, 247,
1113 185, 186, 187, 188, 268, 190, 159, 160, 127, 300,
1114 450, 451, 505, 548, 549, 452, 506
1117 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1119 #define YYPACT_NINF -496
1120 static const yytype_int16 yypact[] =
1122 17, 30, 908, -496, -136, -123, -496, -496, -126, -105,
1123 -496, -496, 4178, -496, 4003, 1907, -101, -120, -88, -80,
1124 -75, -72, -65, -496, -62, -50, -43, -40, -38, -31,
1125 -30, -28, -27, -25, -24, -21, -496, -496, -496, -496,
1126 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1127 -496, -496, -20, -496, -496, -496, -496, -496, -496, -496,
1128 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1129 -496, -496, -496, -496, -18, -496, -496, -496, -17, -16,
1130 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1131 -15, -11, -8, -5, 5, 6, 7, 8, 9, 22,
1132 -496, -496, 1165, -496, 908, -496, -496, -496, -496, -496,
1133 -496, 23, -496, -496, 4178, -496, 24, 1627, -496, -496,
1134 -496, -496, -125, -97, 4091, -78, -58, -57, -496, -496,
1135 3137, 2190, -496, -496, -496, -496, -496, -496, -496, -496,
1136 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1137 -496, -496, -496, -496, -496, -496, -496, -496, 49, -96,
1138 -496, -71, -496, -496, -64, -496, 4178, -496, -496, -496,
1139 -496, -496, 27, 2326, 2190, 2190, 2051, 3002, -496, 2190,
1140 -496, 37, -496, -496, -496, 4091, -78, -49, 4896, -47,
1141 -496, 2190, -496, 2190, 2190, -3, 2051, 2190, 2051, 2190,
1142 2190, 2190, 2190, 45, 40, 42, 47, 48, 51, 52,
1143 2051, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190,
1144 53, 2462, 2598, 2051, -496, 1319, -496, -496, 2190, 39,
1145 2190, 143, -54, 4178, 2190, -496, -496, -496, -496, -496,
1146 -496, -496, -496, -496, -496, 2051, -496, 2190, -496, -496,
1147 4178, 69, 174, 46, -496, 331, 2051, 4178, 2051, 4265,
1148 2190, 50, -496, -496, 146, 146, 146, -103, -496, 76,
1149 -496, -113, 576, 4178, -54, 2051, -496, 4091, 2190, 2190,
1150 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190,
1151 2190, 2190, 2190, 2190, 2190, 2190, 2190, 2190, -496, 750,
1152 5163, 962, 999, -496, 55, 688, 56, 2850, 3280, 3317,
1153 4304, 86, -496, -496, -496, -496, -496, -496, 58, 4341,
1154 4378, 3354, 4415, 4452, 4489, 4526, 3391, 4563, -496, 61,
1155 62, 3428, 64, 3465, -119, -496, -496, 3502, 4178, 3539,
1156 68, 70, 3761, -496, 4896, -9, 3234, 2190, 2190, 1627,
1157 -496, -496, -118, -121, 3798, 2051, 2051, -496, 2051, 4178,
1158 -496, -496, -496, -117, -496, -78, 4955, 192, 192, 4955,
1159 4933, 4933, 26, 26, 26, 4600, 192, 192, 32, 32,
1160 32, -33, -33, 146, 146, 146, 75, -496, -496, -496,
1161 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1162 -496, -496, -496, 123, -496, -496, -496, -496, -496, -496,
1163 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1164 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1165 -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
1166 -496, -496, -496, -496, -496, -496, -496, -496, 124, 125,
1167 2869, -496, -496, -496, -496, -496, 2190, -496, -496, -496,
1168 -496, 2190, 127, -496, 2190, 2190, -496, 2190, 2190, 2734,
1169 2734, -496, 2190, -496, -496, -496, -496, -496, -48, 77,
1170 -114, 1627, 2190, 2051, 80, 2190, -496, 82, 83, 88,
1171 89, 3872, 94, 4896, 236, -496, -61, -111, -496, -496,
1172 -496, 4178, 1627, 2190, 1627, 5163, 84, -496, -496, -496,
1173 -496, -496, 3576, 4637, 96, 4674, 4711, 4637, 4637, -110,
1174 112, 4896, 112, 289, -496, 1627, -496, 3613, -109, 2051,
1175 97, -496, 4178, 2190, 3234, 1627, -496, -496, -496, 4896,
1176 1473, 5087, -496, -496, -496, -496, -496, -496, -496, 120,
1177 -496, -14, 98, -496, 2190, 2190, 99, 101, 102, 103,
1178 2190, -496, -4, -496, -496, -496, -107, -496, 1627, -496,
1179 3835, 104, -496, -496, -496, 84, -496, -496, -496, -496,
1180 3650, 3687, -496, -496, -496, -496, 4748, 2190, 128, -496,
1181 -496, -496, 1627, -496, -496, -496, -496, -496, -496, 2190,
1182 4785, 1627, -496, 1627, 4822, 1627, 1627, -496, 2190, 1772,
1183 4859, 109, 2190, -1, 3724, -496
1186 /* YYPGOTO[NTERM-NUM]. */
1187 static const yytype_int16 yypgoto[] =
1189 -496, -496, -496, -496, 162, -495, 28, 44, -496, -496,
1190 -496, -496, -496, -496, -496, -496, -496, 20, -66, 4,
1191 -496, -211, -496, -496, -496, -289, -496, -254, -496, -496,
1192 -397, -189, -496, -2, -220, -496, 14, -77, -496, -496,
1193 141, 43, 91, 562, 38, -496, -496, 31, -129, -496,
1194 -218, -496, -496, -290, -496, -440, -496
1197 /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
1198 positive, shift that token. If negative, reduce the rule which
1199 number is the opposite. If zero, do what YYDEFACT says.
1200 If YYTABLE_NINF, syntax error. */
1201 #define YYTABLE_NINF -213
1202 static const yytype_int16 yytable[] =
1204 122, 254, 485, 334, 587, 588, 114, -36, -36, 540,
1205 511, -148, 162, 356, 356, 501, 123, -4, 501, 359,
1206 128, 356, -144, 356, 277, 356, -208, -208, 163, 356,
1207 3, 130, 158, 129, 192, -148, 257, -148, 352, 478,
1208 495, 502, 360, 180, 525, 125, 107, 536, -144, 565,
1209 357, 591, 131, 189, -209, -209, 191, 164, 100, 101,
1210 235, 236, 237, 238, 239, 240, 241, 100, 101, 193,
1211 242, 243, 244, 233, 234, 245, 246, 194, 576, 577,
1212 -39, -39, 195, 277, 275, 196, 258, 259, 260, 277,
1213 -212, -212, 197, 126, 578, 198, 529, -207, -207, 249,
1214 122, 511, 122, -174, -174, 165, 606, 199, 114, 298,
1215 609, 295, 296, 297, 200, 122, 123, 201, 123, 202,
1216 556, 557, 162, 558, 256, 559, 203, 204, 122, 205,
1217 206, 123, 207, 208, 229, 497, 209, 210, 163, 211,
1218 212, 213, 214, 124, 123, 125, 215, 125, 107, 216,
1219 252, 589, 217, 311, -36, 303, 340, 284, 285, 286,
1220 125, 231, 218, 219, 220, 221, 222, 125, 293, 294,
1221 295, 296, 297, 125, 293, 294, 295, 296, 297, 223,
1222 228, 230, 256, 162, 258, 347, 261, 542, 543, 544,
1223 545, 546, 547, 126, 273, 126, 338, 269, 312, 163,
1224 313, 346, 348, 277, 180, 314, 315, 355, 126, 316,
1225 317, 328, 358, 455, 457, 232, 463, 486, 462, 473,
1226 474, 126, 476, 122, 180, 482, 180, 483, 125, 504,
1227 507, 524, 508, 509, 304, 514, 306, 529, 180, 123,
1228 -122, 531, 535, 124, 551, 124, -125, -126, 318, 277,
1229 534, 180, 575, 341, 553, 567, 579, 582, 124, 583,
1230 584, 585, 595, 528, 601, 613, 227, 248, 125, 336,
1231 345, 124, 480, 180, 530, 162, 274, 158, 592, 341,
1232 571, 522, 500, 343, 180, 596, 180, 541, 351, 0,
1233 0, 163, 0, 362, 350, 0, 0, 0, 0, 0,
1234 0, 0, 0, 180, 0, 0, 0, 0, 0, 566,
1235 0, 0, 0, 364, 0, 0, 126, 284, 285, 286,
1236 365, 0, 0, 0, 0, 0, 0, 0, 276, 0,
1237 0, 290, 291, 292, 293, 294, 295, 296, 297, 0,
1238 0, 0, 0, 0, 122, 489, 277, 122, 0, 0,
1239 0, 0, 0, 0, 0, 0, 0, 0, 362, 0,
1240 123, 490, 0, 123, 0, 0, 124, 487, 165, 0,
1241 0, 0, 0, 0, 0, 0, 0, 0, 0, 269,
1242 0, 0, 0, 180, 180, 0, 180, 0, 277, 125,
1243 0, 0, 125, 494, 498, 0, 499, 0, 0, 278,
1244 279, 280, 281, 282, 283, 254, 0, 0, 0, 0,
1245 0, 0, 0, 0, 284, 285, 286, 0, 0, 0,
1246 0, 560, 0, 0, 287, 0, 288, 289, 290, 291,
1247 292, 293, 294, 295, 296, 297, 0, 126, 0, 0,
1248 126, 278, 279, 280, 281, 282, 283, 561, 0, 0,
1249 0, 0, 0, 0, 0, 0, 284, 285, 286, 0,
1250 0, 0, 0, 0, 0, 0, 287, 0, 288, 289,
1251 290, 291, 292, 293, 294, 295, 296, 297, 0, 122,
1252 0, 0, 0, 489, 0, 0, 0, 124, 0, 349,
1253 124, 0, 0, 0, 0, 123, 0, 0, 0, 490,
1254 122, 0, 122, 0, 0, 487, 0, 0, 0, 0,
1255 0, 180, 0, 0, 0, 0, 123, 0, 123, 0,
1256 0, 537, 0, 122, 125, 526, 0, 0, 0, 0,
1257 0, 0, 122, 122, 0, 0, 0, 0, 122, 123,
1258 0, 0, 0, 0, 0, 125, 538, 125, 123, 123,
1259 0, 0, 569, 0, 123, 0, 0, 180, 0, 0,
1260 0, 0, 0, 0, 0, 0, 122, 0, 125, 563,
1261 0, 0, 126, 0, 0, 0, 0, 125, 125, 572,
1262 0, 0, 123, 125, 336, 0, 0, 0, 0, 0,
1263 122, 0, 0, 126, 0, 126, 0, 0, 0, 122,
1264 0, 122, 0, 122, 122, 0, 123, 122, 0, 0,
1265 0, 125, 593, 0, 0, 123, 126, 123, 0, 123,
1266 123, 0, 124, 123, 0, 126, 126, 0, 0, 0,
1267 0, 126, 0, 277, 0, 125, 602, 0, 0, 0,
1268 0, 0, 0, 124, 125, 124, 125, 607, 125, 125,
1269 336, 0, 125, 336, 0, 0, 0, 0, 0, 126,
1270 0, 0, 0, 0, 0, 0, 124, 0, 0, 0,
1271 0, 0, 0, 0, 0, 124, 124, 0, 0, 0,
1272 0, 124, 0, 126, 0, 0, 278, 279, 280, 281,
1273 282, 283, 126, 255, 126, 0, 126, 126, 0, 0,
1274 126, 284, 285, 286, 0, 0, 0, 0, 0, 124,
1275 0, 287, 0, 288, 289, 290, 291, 292, 293, 294,
1276 295, 296, 297, 0, 0, 0, 0, 0, 0, 0,
1277 0, 0, 0, 124, 361, 264, 265, 266, 0, 0,
1278 0, 272, 124, 0, 124, 277, 124, 124, 0, 0,
1279 124, 0, 0, 299, 0, 301, 302, 0, 0, 305,
1280 0, 307, 308, 309, 310, 0, 0, 0, 0, 0,
1281 0, 0, 0, 319, 320, 321, 322, 323, 324, 325,
1282 326, 327, 0, 331, 333, 0, 0, 0, 0, 0,
1283 337, 0, 339, 0, 0, 0, 342, 0, 278, 279,
1284 280, 281, 282, 283, 0, 0, 0, 277, 0, 344,
1285 0, 0, 0, 284, 285, 286, 0, 0, 0, 0,
1286 456, 0, 354, 287, 0, 288, 289, 290, 291, 292,
1287 293, 294, 295, 296, 297, 0, 0, 0, 0, 0,
1288 366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1289 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
1290 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1291 0, 0, 0, 0, 0, 284, 285, 286, 0, 0,
1292 0, 0, 0, 0, 0, 287, 0, 288, 289, 290,
1293 291, 292, 293, 294, 295, 296, 297, 0, 0, 0,
1294 0, 0, 0, 0, 0, 0, 0, 0, 386, 491,
1295 493, 4, 5, 6, 0, 7, 0, 0, 8, 0,
1296 9, 10, 11, 12, 13, 14, 15, 0, 16, 17,
1297 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1298 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1299 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1300 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1301 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1302 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1303 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1304 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1305 98, 0, 0, 0, 0, 0, 0, 99, 512, 277,
1306 0, 0, 0, 513, 100, 101, 515, 516, 0, 517,
1307 518, 521, 521, 0, 523, 0, 0, 0, 0, 0,
1308 0, 0, 0, 0, 527, 0, 0, 491, 0, 0,
1309 0, 0, 0, 0, 0, 0, 277, 0, 0, 0,
1310 0, 0, 102, 0, 103, 539, 0, 0, 0, 0,
1311 0, 0, 278, 279, 280, 281, 282, 283, 0, 0,
1312 0, 0, 0, 0, 0, 0, 0, 284, 285, 286,
1313 0, 0, 0, 0, 0, 570, 0, 287, 0, 288,
1314 289, 290, 291, 292, 293, 294, 295, 296, 297, 278,
1315 279, 280, 281, 282, 283, 0, 580, 581, 0, 0,
1316 453, 0, 586, 0, 284, 285, 286, 0, 0, 0,
1317 0, 0, 0, 0, 287, 0, 288, 289, 290, 291,
1318 292, 293, 294, 295, 296, 297, 0, 0, 0, 600,
1319 0, 0, 0, 0, 0, 0, 0, 454, 0, 0,
1320 0, 604, 0, 0, 0, 0, 0, 0, 4, 5,
1321 610, 0, 7, 0, 614, 8, 0, 9, 10, 11,
1322 12, 13, 14, 15, 0, 16, 17, 18, 19, 20,
1323 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1324 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1325 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1326 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1327 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1328 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1329 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1330 91, 92, 93, 94, 95, 96, 97, 98, 0, 0,
1331 0, 0, 0, 0, 99, 0, 0, 0, 0, 0,
1332 0, 100, 101, 0, 0, 0, 0, 0, 0, 0,
1333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1335 0, 0, 0, 0, 0, 0, 0, 0, 0, 102,
1336 224, 103, 4, 5, 0, 0, 7, 0, 0, 8,
1337 0, 9, 10, 11, 12, 13, 14, 15, 0, 16,
1338 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
1339 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1340 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1341 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1342 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1343 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1344 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1345 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1346 97, 98, 0, 0, 0, 0, 0, 0, 99, 0,
1347 0, 0, 0, 0, 0, 100, 101, 0, 0, 0,
1348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1350 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1351 0, 0, 0, 102, 335, 103, 4, 5, 0, 0,
1352 7, 0, 0, 8, 0, 9, 10, 11, 12, 13,
1353 14, 15, 0, 16, 17, 18, 19, 20, 21, 22,
1354 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1355 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1356 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1357 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1358 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1359 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1360 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1361 93, 94, 95, 96, 97, 98, 0, 0, 0, 0,
1362 0, 0, 99, 0, 0, 0, 0, 0, 0, 100,
1363 101, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1364 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1366 0, 0, 0, 0, 0, 0, 0, 102, 573, 103,
1367 4, 5, 0, 0, 7, 0, 0, 8, 0, 9,
1368 10, 11, 12, 13, 14, 15, 0, 16, 17, 18,
1369 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1370 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1371 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1372 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1373 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1374 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1375 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1376 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1377 0, 0, 0, 0, 0, 0, 99, 0, 0, 0,
1378 0, 0, 0, 100, 101, 0, 0, 0, 0, 0,
1379 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1381 0, 0, 0, 0, 0, 611, 5, 0, 0, 7,
1382 0, 102, 8, 103, 9, 10, 11, 12, 13, 14,
1383 15, 0, 16, 17, 18, 19, 20, 21, 22, 23,
1384 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1385 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1386 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1387 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1388 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1389 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1390 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1391 94, 95, 96, 97, 98, 0, 0, 0, 0, 0,
1392 0, 99, 0, 0, 0, 0, 0, 0, 100, 101,
1393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1395 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
1396 0, 0, 0, 166, 132, 0, 102, 0, 103, 18,
1397 19, 20, 21, 22, 23, 137, 25, 26, 27, 141,
1398 142, 143, 144, 145, 146, 147, 148, 36, 37, 38,
1399 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1400 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1401 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1402 69, 70, 71, 72, 73, 74, 75, 76, 77, 151,
1403 152, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1404 89, 153, 154, 0, 0, 0, 155, 156, 0, 0,
1405 167, 168, 169, 170, 0, 171, 172, 0, 0, 0,
1406 0, 0, 0, 100, 101, 0, 0, 0, 0, 0,
1407 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1408 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1409 173, 0, 0, 0, 174, 175, 6, 0, 0, 176,
1410 0, 177, 0, 178, 179, 0, 0, 166, 132, 0,
1411 0, 0, 0, 18, 19, 20, 21, 22, 23, 137,
1412 25, 26, 27, 141, 142, 143, 144, 145, 146, 147,
1413 148, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1414 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1415 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1416 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1417 75, 76, 77, 151, 152, 80, 81, 82, 83, 84,
1418 85, 86, 87, 88, 89, 153, 154, 0, 0, 0,
1419 155, 156, 0, 0, 167, 168, 169, 170, 0, 171,
1420 172, 0, 0, 0, 0, 0, 0, 100, 101, 0,
1421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423 0, 0, 0, 0, 173, 6, 0, 0, 174, 175,
1424 0, 0, 0, 176, 0, 177, 13, 132, 179, 0,
1425 0, 0, 18, 19, 20, 21, 22, 23, 137, 25,
1426 26, 27, 141, 142, 143, 144, 145, 146, 147, 148,
1427 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
1428 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
1429 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
1430 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
1431 76, 77, 151, 152, 80, 81, 82, 83, 84, 85,
1432 86, 87, 88, 89, 153, 154, 0, 0, 0, 155,
1433 156, 0, 0, 167, 168, 169, 170, 0, 171, 172,
1434 0, 0, 0, 0, 0, 0, 100, 101, 0, 0,
1435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1436 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1437 0, 6, 0, 173, 0, 0, 0, 174, 175, 0,
1438 0, 0, 13, 132, 0, 0, 0, 179, 18, 19,
1439 20, 21, 22, 23, 137, 25, 26, 27, 141, 142,
1440 143, 144, 145, 146, 147, 148, 36, 37, 38, 39,
1441 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1442 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1443 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1444 70, 71, 72, 73, 74, 75, 76, 77, 151, 152,
1445 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1446 153, 154, 0, 0, 0, 155, 156, 0, 0, 167,
1447 262, 263, 170, 0, 171, 172, 0, 0, 0, 0,
1448 0, 0, 100, 101, 0, 0, 0, 0, 0, 0,
1449 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1450 0, 0, 0, 0, 0, 0, 0, 6, 0, 173,
1451 0, 0, 0, 174, 175, 0, 0, 0, 13, 132,
1452 0, 0, 0, 179, 18, 19, 20, 21, 22, 23,
1453 137, 25, 26, 27, 141, 142, 143, 144, 145, 146,
1454 147, 148, 36, 37, 38, 39, 40, 41, 42, 43,
1455 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1456 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1457 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1458 74, 75, 76, 77, 151, 152, 80, 81, 82, 83,
1459 84, 85, 86, 87, 88, 89, 153, 154, 0, 0,
1460 0, 155, 156, 0, 0, 167, 329, 169, 170, 0,
1461 330, 172, 0, 0, 0, 0, 0, 0, 100, 101,
1462 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1463 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1464 0, 0, 0, 6, 0, 173, 0, 0, 0, 174,
1465 175, 0, 0, 0, 13, 132, 0, 0, 0, 179,
1466 18, 19, 20, 21, 22, 23, 137, 25, 26, 27,
1467 141, 142, 143, 144, 145, 146, 147, 148, 36, 37,
1468 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1469 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1470 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1471 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1472 151, 152, 80, 81, 82, 83, 84, 85, 86, 87,
1473 88, 89, 153, 154, 0, 0, 0, 155, 156, 0,
1474 0, 167, 168, 169, 170, 0, 332, 172, 0, 0,
1475 0, 0, 0, 0, 100, 101, 0, 0, 0, 0,
1476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1477 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
1478 0, 173, 0, 0, 0, 174, 175, 0, 0, 0,
1479 13, 132, 0, 0, 0, 179, 18, 19, 20, 21,
1480 22, 23, 137, 25, 26, 27, 141, 142, 143, 144,
1481 145, 146, 147, 148, 36, 37, 38, 39, 40, 41,
1482 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1483 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1484 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1485 72, 73, 74, 75, 76, 77, 151, 152, 80, 81,
1486 82, 83, 84, 85, 86, 87, 88, 89, 153, 154,
1487 0, 0, 0, 155, 156, 0, 0, 167, 519, 169,
1488 170, 0, 171, 172, 0, 0, 0, 0, 0, 0,
1489 100, 101, 0, 0, 0, 0, 0, 0, 0, 0,
1490 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491 0, 0, 0, 0, 0, 0, 0, 173, 0, 0,
1492 0, 174, 175, 0, 387, 388, 389, 390, 0, 391,
1493 0, 179, 392, 393, 0, 394, 0, 395, 396, 397,
1494 398, 0, 0, 0, 0, 0, 0, 277, 0, 399,
1495 400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
1496 410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
1497 420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
1498 430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
1499 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
1500 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1501 0, 0, 0, 0, 0, 284, 285, 286, 0, 0,
1502 0, 0, 0, 0, 0, 287, 0, 288, 289, 290,
1503 291, 292, 293, 294, 295, 296, 297, 0, 0, 0,
1504 0, 0, 0, 0, 0, 0, 0, 0, 458, 0,
1505 0, 0, 0, 0, 0, 0, 0, 0, 13, 132,
1506 0, 0, 0, 0, 510, 133, 134, 135, 136, 23,
1507 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
1508 147, 148, 36, 37, 38, 39, 40, 41, 42, 43,
1509 44, 45, 46, 47, 48, 49, 50, 51, 149, 53,
1510 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1511 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1512 150, 75, 76, 77, 151, 152, 80, 81, 82, 83,
1513 84, 85, 86, 87, 88, 89, 153, 154, 0, 0,
1514 0, 155, 156, 0, 0, 0, 0, 0, 0, 0,
1515 0, 157, 0, 0, 0, 0, 0, 0, 0, 0,
1516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1518 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1519 0, 0, 250, 13, 14, 0, 0, 224, 17, 18,
1520 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
1521 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1522 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1523 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1524 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1525 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1526 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1527 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
1528 0, 0, 0, 0, 0, 0, 99, 0, 0, 12,
1529 13, 14, 0, 100, 101, 17, 18, 19, 20, 21,
1530 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1531 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1532 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1533 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1534 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1535 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1536 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1537 92, 93, 94, 95, 96, 97, 98, 277, 0, 0,
1538 0, 0, 0, 99, 0, 0, 0, 0, 0, 0,
1539 100, 101, 0, 0, 0, 0, 0, 0, 0, 0,
1540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1541 0, 0, 0, 0, 277, 0, 0, 0, 0, 0,
1542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1543 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1544 0, 0, 0, 0, 0, 284, 285, 286, 0, 0,
1545 0, 277, 0, 0, 0, 287, 0, 288, 289, 290,
1546 291, 292, 293, 294, 295, 296, 297, 278, 279, 280,
1547 281, 282, 283, 0, 0, 0, 0, 0, 459, 0,
1548 0, 0, 284, 285, 286, 0, 0, 0, 277, 0,
1549 0, 0, 287, 0, 288, 289, 290, 291, 292, 293,
1550 294, 295, 296, 297, 278, 279, 280, 281, 282, 283,
1551 0, 0, 0, 0, 0, 460, 0, 0, 0, 284,
1552 285, 286, 0, 0, 0, 277, 0, 0, 0, 287,
1553 0, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1554 297, 278, 279, 280, 281, 282, 283, 0, 0, 0,
1555 0, 0, 466, 0, 0, 0, 284, 285, 286, 0,
1556 0, 0, 277, 0, 0, 0, 287, 0, 288, 289,
1557 290, 291, 292, 293, 294, 295, 296, 297, 278, 279,
1558 280, 281, 282, 283, 0, 0, 0, 0, 0, 471,
1559 0, 0, 0, 284, 285, 286, 0, 0, 0, 277,
1560 0, 0, 0, 287, 0, 288, 289, 290, 291, 292,
1561 293, 294, 295, 296, 297, 278, 279, 280, 281, 282,
1562 283, 0, 0, 0, 0, 0, 475, 0, 0, 0,
1563 284, 285, 286, 0, 0, 0, 277, 0, 0, 0,
1564 287, 0, 288, 289, 290, 291, 292, 293, 294, 295,
1565 296, 297, 278, 279, 280, 281, 282, 283, 0, 0,
1566 0, 0, 0, 477, 0, 0, 0, 284, 285, 286,
1567 0, 0, 0, 277, 0, 0, 0, 287, 0, 288,
1568 289, 290, 291, 292, 293, 294, 295, 296, 297, 278,
1569 279, 280, 281, 282, 283, 0, 0, 0, 0, 0,
1570 479, 0, 0, 0, 284, 285, 286, 0, 0, 0,
1571 277, 0, 0, 0, 287, 0, 288, 289, 290, 291,
1572 292, 293, 294, 295, 296, 297, 278, 279, 280, 281,
1573 282, 283, 0, 0, 0, 0, 0, 481, 0, 0,
1574 0, 284, 285, 286, 0, 0, 0, 277, 0, 0,
1575 0, 287, 0, 288, 289, 290, 291, 292, 293, 294,
1576 295, 296, 297, 278, 279, 280, 281, 282, 283, 0,
1577 0, 0, 0, 0, 550, 0, 0, 0, 284, 285,
1578 286, 0, 0, 0, 277, 0, 0, 0, 287, 0,
1579 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1580 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1581 0, 564, 0, 0, 0, 284, 285, 286, 0, 0,
1582 0, 277, 0, 0, 0, 287, 0, 288, 289, 290,
1583 291, 292, 293, 294, 295, 296, 297, 278, 279, 280,
1584 281, 282, 283, 0, 0, 0, 0, 0, 597, 0,
1585 0, 0, 284, 285, 286, 0, 0, 0, 277, 0,
1586 0, 0, 287, 0, 288, 289, 290, 291, 292, 293,
1587 294, 295, 296, 297, 278, 279, 280, 281, 282, 283,
1588 0, 0, 0, 0, 0, 598, 0, 0, 0, 284,
1589 285, 286, 0, 0, 0, 277, 0, 0, 0, 287,
1590 0, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1591 297, 278, 279, 280, 281, 282, 283, 0, 0, 0,
1592 0, 0, 615, 0, 0, 0, 284, 285, 286, 0,
1593 0, 0, 277, 0, 0, 0, 287, 0, 288, 289,
1594 290, 291, 292, 293, 294, 295, 296, 297, 278, 279,
1595 280, 281, 282, 283, 484, 0, 0, 0, 0, 0,
1596 0, 0, 0, 284, 285, 286, 0, 0, 0, 277,
1597 0, 0, 0, 287, 0, 288, 289, 290, 291, 292,
1598 293, 294, 295, 296, 297, 278, 279, 280, 281, 282,
1599 283, 496, 0, 0, 0, 0, 0, 0, 0, 0,
1600 284, 285, 286, 0, 0, 0, 0, 0, 0, 0,
1601 287, 0, 288, 289, 290, 291, 292, 293, 294, 295,
1602 296, 297, 278, 279, 280, 281, 282, 283, 594, 0,
1603 0, 0, 0, 0, 0, 0, 0, 284, 285, 286,
1604 0, 0, 0, 0, 0, 0, 0, 287, 0, 288,
1605 289, 290, 291, 292, 293, 294, 295, 296, 297, 13,
1606 132, 0, 0, 532, 533, 18, 19, 20, 21, 22,
1607 23, 137, 25, 26, 27, 141, 142, 143, 144, 145,
1608 146, 147, 148, 36, 37, 38, 39, 40, 41, 42,
1609 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1610 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1611 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1612 73, 74, 75, 76, 77, 151, 152, 80, 81, 82,
1613 83, 84, 85, 86, 87, 88, 89, 153, 154, 0,
1614 0, 0, 155, 156, 0, 0, 0, 13, 132, 0,
1615 0, 0, 161, 18, 19, 20, 21, 22, 23, 137,
1616 25, 26, 27, 141, 142, 143, 144, 145, 146, 147,
1617 148, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1618 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1619 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1620 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1621 75, 76, 77, 151, 152, 80, 81, 82, 83, 84,
1622 85, 86, 87, 88, 89, 153, 154, 0, 0, 0,
1623 155, 156, 0, 0, 13, 132, 0, 0, 0, 0,
1624 172, 133, 134, 135, 136, 23, 137, 138, 139, 140,
1625 141, 142, 143, 144, 145, 146, 147, 148, 36, 37,
1626 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1627 48, 49, 50, 51, 149, 53, 54, 55, 56, 57,
1628 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1629 68, 69, 70, 71, 72, 73, 150, 75, 76, 77,
1630 151, 152, 80, 81, 82, 83, 84, 85, 86, 87,
1631 88, 89, 153, 154, 0, 0, 0, 155, 156, 0,
1632 0, 13, 132, 0, 0, 0, 0, 157, 133, 134,
1633 135, 136, 23, 137, 138, 139, 140, 141, 142, 143,
1634 144, 145, 146, 147, 148, 36, 37, 38, 39, 40,
1635 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1636 51, 149, 53, 54, 55, 56, 57, 58, 59, 60,
1637 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1638 71, 72, 73, 150, 75, 76, 77, 151, 152, 80,
1639 81, 82, 83, 84, 85, 86, 87, 88, 89, 153,
1640 154, 277, 0, 0, 155, 156, 0, 0, 0, 0,
1641 0, 0, 0, 0, 353, 0, 0, 0, 0, 0,
1642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1643 0, 0, 0, 0, 0, 0, 0, 0, 277, 0,
1644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1645 0, 0, 0, 0, 278, 279, 280, 281, 282, 283,
1646 0, 0, 0, 0, 0, 0, 0, 0, 0, 284,
1647 285, 286, 0, 0, 0, 277, 461, 0, 0, 287,
1648 0, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1649 297, 278, 279, 280, 281, 282, 283, 0, 0, 0,
1650 0, 0, 0, 0, 0, 0, 284, 285, 286, 0,
1651 0, 0, 277, 464, 0, 0, 287, 0, 288, 289,
1652 290, 291, 292, 293, 294, 295, 296, 297, 278, 279,
1653 280, 281, 282, 283, 0, 0, 0, 0, 0, 0,
1654 0, 0, 0, 284, 285, 286, 0, 0, 0, 277,
1655 465, 0, 0, 287, 0, 288, 289, 290, 291, 292,
1656 293, 294, 295, 296, 297, 278, 279, 280, 281, 282,
1657 283, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1658 284, 285, 286, 0, 0, 0, 277, 467, 0, 0,
1659 287, 0, 288, 289, 290, 291, 292, 293, 294, 295,
1660 296, 297, 278, 279, 280, 281, 282, 283, 0, 0,
1661 0, 0, 0, 0, 0, 0, 0, 284, 285, 286,
1662 0, 0, 0, 277, 468, 0, 0, 287, 0, 288,
1663 289, 290, 291, 292, 293, 294, 295, 296, 297, 278,
1664 279, 280, 281, 282, 283, 0, 0, 0, 0, 0,
1665 0, 0, 0, 0, 284, 285, 286, 0, 0, 0,
1666 277, 469, 0, 0, 287, 0, 288, 289, 290, 291,
1667 292, 293, 294, 295, 296, 297, 278, 279, 280, 281,
1668 282, 283, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 284, 285, 286, 0, 0, 0, 277, 470, 0,
1670 0, 287, 0, 288, 289, 290, 291, 292, 293, 294,
1671 295, 296, 297, 278, 279, 280, 281, 282, 283, 0,
1672 0, 0, 0, 0, 0, 0, 0, 0, 284, 285,
1673 286, 0, 0, 0, 277, 472, 0, 0, 287, 0,
1674 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1675 278, 279, 280, 281, 282, 283, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 284, 285, 286, 0, 0,
1677 0, 277, 0, 0, 0, 287, 503, 288, 289, 290,
1678 291, 292, 293, 294, 295, 296, 297, 278, 279, 280,
1679 281, 282, 283, 0, 0, 0, 0, 0, 0, 0,
1680 0, 0, 284, 285, 286, 0, 0, 0, 277, 551,
1681 0, 0, 287, 0, 288, 289, 290, 291, 292, 293,
1682 294, 295, 296, 297, 278, 279, 280, 281, 282, 283,
1683 0, 0, 0, 0, 0, 0, 0, 0, 0, 284,
1684 285, 286, 0, 0, 0, 277, 554, 0, 0, 287,
1685 0, 288, 289, 290, 291, 292, 293, 294, 295, 296,
1686 297, 278, 279, 280, 281, 282, 283, 0, 0, 0,
1687 0, 0, 0, 0, 0, 0, 284, 285, 286, 0,
1688 0, 0, 277, 555, 0, 0, 287, 0, 288, 289,
1689 290, 291, 292, 293, 294, 295, 296, 297, 278, 279,
1690 280, 281, 282, 283, 0, 0, 0, 0, 0, 0,
1691 0, 0, 0, 284, 285, 286, 0, 0, 0, 277,
1692 599, 0, 0, 287, 0, 288, 289, 290, 291, 292,
1693 293, 294, 295, 296, 297, 278, 279, 280, 281, 282,
1694 283, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1695 284, 285, 286, 0, 0, 0, 277, 0, 0, 0,
1696 287, 605, 288, 289, 290, 291, 292, 293, 294, 295,
1697 296, 297, 278, 279, 280, 281, 282, 283, 0, 0,
1698 0, 0, 0, 0, 0, 0, 0, 284, 285, 286,
1699 0, 0, 0, 277, 608, 0, 0, 287, 0, 288,
1700 289, 290, 291, 292, 293, 294, 295, 296, 297, 278,
1701 279, 280, 281, 282, 283, 0, 0, 0, 0, 0,
1702 0, 0, 0, 0, 284, 285, 286, 0, 0, 0,
1703 277, 612, 0, 0, 287, 0, 288, 289, 290, 291,
1704 292, 293, 294, 295, 296, 297, 278, 279, 280, 281,
1705 282, 283, 277, 0, 0, 0, 0, 0, 0, 0,
1706 0, 284, 285, 286, 0, 0, 0, 0, 0, 0,
1707 0, 287, 0, 288, 289, 290, 291, 292, 293, 294,
1708 295, 296, 297, 278, 279, 280, 281, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 284, 285,
1710 286, 0, 0, 0, 0, 0, 279, 280, 0, 0,
1711 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1712 284, 285, 286, 0, 0, 0, 0, 0, 0, 0,
1713 0, 0, 288, 289, 290, 291, 292, 293, 294, 295,
1714 296, 297, 387, 388, 389, 390, 574, 391, 0, 0,
1715 392, 393, 0, 394, 0, 395, 396, 397, 398, 0,
1716 0, 0, 0, 0, 0, 0, 0, 399, 400, 401,
1717 402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
1718 412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
1719 422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
1720 432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
1721 442, 443, 444, 445, 446, 447, 448, 449, 387, 388,
1722 389, 390, 0, 391, 0, 0, 392, 393, 0, 394,
1723 0, 395, 396, 397, 398, 0, 0, 0, 0, 0,
1724 0, 0, 0, 399, 400, 401, 402, 403, 404, 405,
1725 406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
1726 416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
1727 426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
1728 436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
1732 static const yytype_int16 yycheck[] =
1734 2, 130, 11, 223, 8, 9, 2, 8, 9, 504,
1735 450, 132, 14, 132, 132, 132, 2, 0, 132, 132,
1736 156, 132, 132, 132, 57, 132, 151, 152, 14, 132,
1737 0, 157, 12, 156, 154, 156, 132, 158, 258, 158,
1738 158, 158, 155, 15, 158, 2, 2, 158, 158, 158,
1739 153, 158, 157, 15, 151, 152, 157, 14, 116, 117,
1740 118, 119, 120, 121, 122, 123, 124, 116, 117, 157,
1741 128, 129, 130, 151, 152, 133, 134, 157, 92, 93,
1742 151, 152, 157, 57, 133, 157, 157, 151, 152, 57,
1743 151, 152, 157, 2, 108, 157, 157, 151, 152, 156,
1744 102, 541, 104, 151, 152, 14, 601, 157, 104, 156,
1745 605, 144, 145, 146, 157, 117, 102, 157, 104, 157,
1746 517, 518, 124, 520, 133, 522, 157, 157, 130, 157,
1747 157, 117, 157, 157, 114, 355, 157, 157, 124, 157,
1748 157, 157, 157, 2, 130, 102, 157, 104, 104, 157,
1749 130, 155, 157, 108, 155, 158, 13, 125, 126, 127,
1750 117, 117, 157, 157, 157, 157, 157, 124, 142, 143,
1751 144, 145, 146, 130, 142, 143, 144, 145, 146, 157,
1752 157, 157, 133, 185, 157, 11, 166, 103, 104, 105,
1753 106, 107, 108, 102, 157, 104, 157, 177, 158, 185,
1754 158, 132, 156, 57, 176, 158, 158, 157, 117, 158,
1755 158, 158, 136, 158, 158, 124, 158, 346, 132, 158,
1756 158, 130, 158, 225, 196, 157, 198, 157, 185, 154,
1757 107, 154, 108, 108, 196, 108, 198, 157, 210, 225,
1758 158, 158, 6, 102, 132, 104, 158, 158, 210, 57,
1759 156, 223, 132, 233, 158, 158, 158, 158, 117, 158,
1760 158, 158, 158, 483, 136, 156, 104, 126, 225, 225,
1761 250, 130, 338, 245, 485, 277, 185, 257, 567, 259,
1762 534, 470, 359, 245, 256, 575, 258, 505, 257, -1,
1763 -1, 277, -1, 273, 256, -1, -1, -1, -1, -1,
1764 -1, -1, -1, 275, -1, -1, -1, -1, -1, 529,
1765 -1, -1, -1, 275, -1, -1, 225, 125, 126, 127,
1766 277, -1, -1, -1, -1, -1, -1, -1, 187, -1,
1767 -1, 139, 140, 141, 142, 143, 144, 145, 146, -1,
1768 -1, -1, -1, -1, 346, 347, 57, 349, -1, -1,
1769 -1, -1, -1, -1, -1, -1, -1, -1, 338, -1,
1770 346, 347, -1, 349, -1, -1, 225, 347, 277, -1,
1771 -1, -1, -1, -1, -1, -1, -1, -1, -1, 359,
1772 -1, -1, -1, 355, 356, -1, 358, -1, 57, 346,
1773 -1, -1, 349, 349, 356, -1, 358, -1, -1, 110,
1774 111, 112, 113, 114, 115, 534, -1, -1, -1, -1,
1775 -1, -1, -1, -1, 125, 126, 127, -1, -1, -1,
1776 -1, 132, -1, -1, 135, -1, 137, 138, 139, 140,
1777 141, 142, 143, 144, 145, 146, -1, 346, -1, -1,
1778 349, 110, 111, 112, 113, 114, 115, 158, -1, -1,
1779 -1, -1, -1, -1, -1, -1, 125, 126, 127, -1,
1780 -1, -1, -1, -1, -1, -1, 135, -1, 137, 138,
1781 139, 140, 141, 142, 143, 144, 145, 146, -1, 481,
1782 -1, -1, -1, 485, -1, -1, -1, 346, -1, 158,
1783 349, -1, -1, -1, -1, 481, -1, -1, -1, 485,
1784 502, -1, 504, -1, -1, 485, -1, -1, -1, -1,
1785 -1, 483, -1, -1, -1, -1, 502, -1, 504, -1,
1786 -1, 501, -1, 525, 481, 481, -1, -1, -1, -1,
1787 -1, -1, 534, 535, -1, -1, -1, -1, 540, 525,
1788 -1, -1, -1, -1, -1, 502, 502, 504, 534, 535,
1789 -1, -1, 532, -1, 540, -1, -1, 529, -1, -1,
1790 -1, -1, -1, -1, -1, -1, 568, -1, 525, 525,
1791 -1, -1, 481, -1, -1, -1, -1, 534, 535, 535,
1792 -1, -1, 568, 540, 540, -1, -1, -1, -1, -1,
1793 592, -1, -1, 502, -1, 504, -1, -1, -1, 601,
1794 -1, 603, -1, 605, 606, -1, 592, 609, -1, -1,
1795 -1, 568, 568, -1, -1, 601, 525, 603, -1, 605,
1796 606, -1, 481, 609, -1, 534, 535, -1, -1, -1,
1797 -1, 540, -1, 57, -1, 592, 592, -1, -1, -1,
1798 -1, -1, -1, 502, 601, 504, 603, 603, 605, 606,
1799 606, -1, 609, 609, -1, -1, -1, -1, -1, 568,
1800 -1, -1, -1, -1, -1, -1, 525, -1, -1, -1,
1801 -1, -1, -1, -1, -1, 534, 535, -1, -1, -1,
1802 -1, 540, -1, 592, -1, -1, 110, 111, 112, 113,
1803 114, 115, 601, 131, 603, -1, 605, 606, -1, -1,
1804 609, 125, 126, 127, -1, -1, -1, -1, -1, 568,
1805 -1, 135, -1, 137, 138, 139, 140, 141, 142, 143,
1806 144, 145, 146, -1, -1, -1, -1, -1, -1, -1,
1807 -1, -1, -1, 592, 158, 173, 174, 175, -1, -1,
1808 -1, 179, 601, -1, 603, 57, 605, 606, -1, -1,
1809 609, -1, -1, 191, -1, 193, 194, -1, -1, 197,
1810 -1, 199, 200, 201, 202, -1, -1, -1, -1, -1,
1811 -1, -1, -1, 211, 212, 213, 214, 215, 216, 217,
1812 218, 219, -1, 221, 222, -1, -1, -1, -1, -1,
1813 228, -1, 230, -1, -1, -1, 234, -1, 110, 111,
1814 112, 113, 114, 115, -1, -1, -1, 57, -1, 247,
1815 -1, -1, -1, 125, 126, 127, -1, -1, -1, -1,
1816 132, -1, 260, 135, -1, 137, 138, 139, 140, 141,
1817 142, 143, 144, 145, 146, -1, -1, -1, -1, -1,
1818 278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
1819 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1820 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
1821 -1, -1, -1, -1, -1, 125, 126, 127, -1, -1,
1822 -1, -1, -1, -1, -1, 135, -1, 137, 138, 139,
1823 140, 141, 142, 143, 144, 145, 146, -1, -1, -1,
1824 -1, -1, -1, -1, -1, -1, -1, -1, 158, 347,
1825 348, 3, 4, 5, -1, 7, -1, -1, 10, -1,
1826 12, 13, 14, 15, 16, 17, 18, -1, 20, 21,
1827 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1828 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1829 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1830 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
1831 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
1832 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
1833 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
1834 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
1835 102, -1, -1, -1, -1, -1, -1, 109, 456, 57,
1836 -1, -1, -1, 461, 116, 117, 464, 465, -1, 467,
1837 468, 469, 470, -1, 472, -1, -1, -1, -1, -1,
1838 -1, -1, -1, -1, 482, -1, -1, 485, -1, -1,
1839 -1, -1, -1, -1, -1, -1, 57, -1, -1, -1,
1840 -1, -1, 154, -1, 156, 503, -1, -1, -1, -1,
1841 -1, -1, 110, 111, 112, 113, 114, 115, -1, -1,
1842 -1, -1, -1, -1, -1, -1, -1, 125, 126, 127,
1843 -1, -1, -1, -1, -1, 533, -1, 135, -1, 137,
1844 138, 139, 140, 141, 142, 143, 144, 145, 146, 110,
1845 111, 112, 113, 114, 115, -1, 554, 555, -1, -1,
1846 158, -1, 560, -1, 125, 126, 127, -1, -1, -1,
1847 -1, -1, -1, -1, 135, -1, 137, 138, 139, 140,
1848 141, 142, 143, 144, 145, 146, -1, -1, -1, 587,
1849 -1, -1, -1, -1, -1, -1, -1, 158, -1, -1,
1850 -1, 599, -1, -1, -1, -1, -1, -1, 3, 4,
1851 608, -1, 7, -1, 612, 10, -1, 12, 13, 14,
1852 15, 16, 17, 18, -1, 20, 21, 22, 23, 24,
1853 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1854 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1855 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1856 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1857 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1858 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1859 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1860 95, 96, 97, 98, 99, 100, 101, 102, -1, -1,
1861 -1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
1862 -1, 116, 117, -1, -1, -1, -1, -1, -1, -1,
1863 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1864 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1865 -1, -1, -1, -1, -1, -1, -1, -1, -1, 154,
1866 155, 156, 3, 4, -1, -1, 7, -1, -1, 10,
1867 -1, 12, 13, 14, 15, 16, 17, 18, -1, 20,
1868 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1869 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
1870 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
1871 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
1872 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
1873 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
1874 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
1875 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
1876 101, 102, -1, -1, -1, -1, -1, -1, 109, -1,
1877 -1, -1, -1, -1, -1, 116, 117, -1, -1, -1,
1878 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1879 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1880 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1881 -1, -1, -1, 154, 155, 156, 3, 4, -1, -1,
1882 7, -1, -1, 10, -1, 12, 13, 14, 15, 16,
1883 17, 18, -1, 20, 21, 22, 23, 24, 25, 26,
1884 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1885 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
1886 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
1887 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
1888 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
1889 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
1890 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
1891 97, 98, 99, 100, 101, 102, -1, -1, -1, -1,
1892 -1, -1, 109, -1, -1, -1, -1, -1, -1, 116,
1893 117, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1894 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1895 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1896 -1, -1, -1, -1, -1, -1, -1, 154, 155, 156,
1897 3, 4, -1, -1, 7, -1, -1, 10, -1, 12,
1898 13, 14, 15, 16, 17, 18, -1, 20, 21, 22,
1899 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1900 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1901 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1902 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1903 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1904 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1905 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1906 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
1907 -1, -1, -1, -1, -1, -1, 109, -1, -1, -1,
1908 -1, -1, -1, 116, 117, -1, -1, -1, -1, -1,
1909 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1910 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1911 -1, -1, -1, -1, -1, 3, 4, -1, -1, 7,
1912 -1, 154, 10, 156, 12, 13, 14, 15, 16, 17,
1913 18, -1, 20, 21, 22, 23, 24, 25, 26, 27,
1914 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1915 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1916 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1917 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1918 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1919 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1920 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
1921 98, 99, 100, 101, 102, -1, -1, -1, -1, -1,
1922 -1, 109, -1, -1, -1, -1, -1, -1, 116, 117,
1923 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1924 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1925 -1, -1, 5, -1, -1, -1, -1, -1, -1, -1,
1926 -1, -1, -1, 16, 17, -1, 154, -1, 156, 22,
1927 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
1928 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1929 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
1930 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
1931 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
1932 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
1933 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
1934 93, 94, 95, -1, -1, -1, 99, 100, -1, -1,
1935 103, 104, 105, 106, -1, 108, 109, -1, -1, -1,
1936 -1, -1, -1, 116, 117, -1, -1, -1, -1, -1,
1937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1938 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1939 143, -1, -1, -1, 147, 148, 5, -1, -1, 152,
1940 -1, 154, -1, 156, 157, -1, -1, 16, 17, -1,
1941 -1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
1942 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
1943 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
1944 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
1945 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
1946 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
1947 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
1948 89, 90, 91, 92, 93, 94, 95, -1, -1, -1,
1949 99, 100, -1, -1, 103, 104, 105, 106, -1, 108,
1950 109, -1, -1, -1, -1, -1, -1, 116, 117, -1,
1951 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1952 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1953 -1, -1, -1, -1, 143, 5, -1, -1, 147, 148,
1954 -1, -1, -1, 152, -1, 154, 16, 17, 157, -1,
1955 -1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
1956 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
1957 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
1958 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
1959 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
1960 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
1961 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
1962 90, 91, 92, 93, 94, 95, -1, -1, -1, 99,
1963 100, -1, -1, 103, 104, 105, 106, -1, 108, 109,
1964 -1, -1, -1, -1, -1, -1, 116, 117, -1, -1,
1965 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1966 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1967 -1, 5, -1, 143, -1, -1, -1, 147, 148, -1,
1968 -1, -1, 16, 17, -1, -1, -1, 157, 22, 23,
1969 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
1970 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
1971 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
1972 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
1973 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
1974 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
1975 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
1976 94, 95, -1, -1, -1, 99, 100, -1, -1, 103,
1977 104, 105, 106, -1, 108, 109, -1, -1, -1, -1,
1978 -1, -1, 116, 117, -1, -1, -1, -1, -1, -1,
1979 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1980 -1, -1, -1, -1, -1, -1, -1, 5, -1, 143,
1981 -1, -1, -1, 147, 148, -1, -1, -1, 16, 17,
1982 -1, -1, -1, 157, 22, 23, 24, 25, 26, 27,
1983 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1984 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
1985 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
1986 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
1987 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
1988 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1989 88, 89, 90, 91, 92, 93, 94, 95, -1, -1,
1990 -1, 99, 100, -1, -1, 103, 104, 105, 106, -1,
1991 108, 109, -1, -1, -1, -1, -1, -1, 116, 117,
1992 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1994 -1, -1, -1, 5, -1, 143, -1, -1, -1, 147,
1995 148, -1, -1, -1, 16, 17, -1, -1, -1, 157,
1996 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1997 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1998 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
1999 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2000 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2001 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2002 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2003 92, 93, 94, 95, -1, -1, -1, 99, 100, -1,
2004 -1, 103, 104, 105, 106, -1, 108, 109, -1, -1,
2005 -1, -1, -1, -1, 116, 117, -1, -1, -1, -1,
2006 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2007 -1, -1, -1, -1, -1, -1, -1, -1, -1, 5,
2008 -1, 143, -1, -1, -1, 147, 148, -1, -1, -1,
2009 16, 17, -1, -1, -1, 157, 22, 23, 24, 25,
2010 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2011 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2012 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2013 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2014 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2015 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2016 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2017 -1, -1, -1, 99, 100, -1, -1, 103, 104, 105,
2018 106, -1, 108, 109, -1, -1, -1, -1, -1, -1,
2019 116, 117, -1, -1, -1, -1, -1, -1, -1, -1,
2020 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2021 -1, -1, -1, -1, -1, -1, -1, 143, -1, -1,
2022 -1, 147, 148, -1, 15, 16, 17, 18, -1, 20,
2023 -1, 157, 23, 24, -1, 26, -1, 28, 29, 30,
2024 31, -1, -1, -1, -1, -1, -1, 57, -1, 40,
2025 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2026 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2027 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2028 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2029 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2030 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
2031 -1, -1, -1, -1, -1, 125, 126, 127, -1, -1,
2032 -1, -1, -1, -1, -1, 135, -1, 137, 138, 139,
2033 140, 141, 142, 143, 144, 145, 146, -1, -1, -1,
2034 -1, -1, -1, -1, -1, -1, -1, -1, 158, -1,
2035 -1, -1, -1, -1, -1, -1, -1, -1, 16, 17,
2036 -1, -1, -1, -1, 155, 23, 24, 25, 26, 27,
2037 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
2038 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
2039 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
2040 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
2041 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2042 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
2043 88, 89, 90, 91, 92, 93, 94, 95, -1, -1,
2044 -1, 99, 100, -1, -1, -1, -1, -1, -1, -1,
2045 -1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
2046 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2047 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2048 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2049 -1, -1, 15, 16, 17, -1, -1, 155, 21, 22,
2050 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
2051 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
2052 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2053 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2054 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2055 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2056 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
2057 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
2058 -1, -1, -1, -1, -1, -1, 109, -1, -1, 15,
2059 16, 17, -1, 116, 117, 21, 22, 23, 24, 25,
2060 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2061 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
2062 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
2063 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
2064 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
2065 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2066 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
2067 96, 97, 98, 99, 100, 101, 102, 57, -1, -1,
2068 -1, -1, -1, 109, -1, -1, -1, -1, -1, -1,
2069 116, 117, -1, -1, -1, -1, -1, -1, -1, -1,
2070 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2071 -1, -1, -1, -1, 57, -1, -1, -1, -1, -1,
2072 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2073 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
2074 -1, -1, -1, -1, -1, 125, 126, 127, -1, -1,
2075 -1, 57, -1, -1, -1, 135, -1, 137, 138, 139,
2076 140, 141, 142, 143, 144, 145, 146, 110, 111, 112,
2077 113, 114, 115, -1, -1, -1, -1, -1, 158, -1,
2078 -1, -1, 125, 126, 127, -1, -1, -1, 57, -1,
2079 -1, -1, 135, -1, 137, 138, 139, 140, 141, 142,
2080 143, 144, 145, 146, 110, 111, 112, 113, 114, 115,
2081 -1, -1, -1, -1, -1, 158, -1, -1, -1, 125,
2082 126, 127, -1, -1, -1, 57, -1, -1, -1, 135,
2083 -1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2084 146, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2085 -1, -1, 158, -1, -1, -1, 125, 126, 127, -1,
2086 -1, -1, 57, -1, -1, -1, 135, -1, 137, 138,
2087 139, 140, 141, 142, 143, 144, 145, 146, 110, 111,
2088 112, 113, 114, 115, -1, -1, -1, -1, -1, 158,
2089 -1, -1, -1, 125, 126, 127, -1, -1, -1, 57,
2090 -1, -1, -1, 135, -1, 137, 138, 139, 140, 141,
2091 142, 143, 144, 145, 146, 110, 111, 112, 113, 114,
2092 115, -1, -1, -1, -1, -1, 158, -1, -1, -1,
2093 125, 126, 127, -1, -1, -1, 57, -1, -1, -1,
2094 135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
2095 145, 146, 110, 111, 112, 113, 114, 115, -1, -1,
2096 -1, -1, -1, 158, -1, -1, -1, 125, 126, 127,
2097 -1, -1, -1, 57, -1, -1, -1, 135, -1, 137,
2098 138, 139, 140, 141, 142, 143, 144, 145, 146, 110,
2099 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
2100 158, -1, -1, -1, 125, 126, 127, -1, -1, -1,
2101 57, -1, -1, -1, 135, -1, 137, 138, 139, 140,
2102 141, 142, 143, 144, 145, 146, 110, 111, 112, 113,
2103 114, 115, -1, -1, -1, -1, -1, 158, -1, -1,
2104 -1, 125, 126, 127, -1, -1, -1, 57, -1, -1,
2105 -1, 135, -1, 137, 138, 139, 140, 141, 142, 143,
2106 144, 145, 146, 110, 111, 112, 113, 114, 115, -1,
2107 -1, -1, -1, -1, 158, -1, -1, -1, 125, 126,
2108 127, -1, -1, -1, 57, -1, -1, -1, 135, -1,
2109 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2110 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
2111 -1, 158, -1, -1, -1, 125, 126, 127, -1, -1,
2112 -1, 57, -1, -1, -1, 135, -1, 137, 138, 139,
2113 140, 141, 142, 143, 144, 145, 146, 110, 111, 112,
2114 113, 114, 115, -1, -1, -1, -1, -1, 158, -1,
2115 -1, -1, 125, 126, 127, -1, -1, -1, 57, -1,
2116 -1, -1, 135, -1, 137, 138, 139, 140, 141, 142,
2117 143, 144, 145, 146, 110, 111, 112, 113, 114, 115,
2118 -1, -1, -1, -1, -1, 158, -1, -1, -1, 125,
2119 126, 127, -1, -1, -1, 57, -1, -1, -1, 135,
2120 -1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2121 146, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2122 -1, -1, 158, -1, -1, -1, 125, 126, 127, -1,
2123 -1, -1, 57, -1, -1, -1, 135, -1, 137, 138,
2124 139, 140, 141, 142, 143, 144, 145, 146, 110, 111,
2125 112, 113, 114, 115, 153, -1, -1, -1, -1, -1,
2126 -1, -1, -1, 125, 126, 127, -1, -1, -1, 57,
2127 -1, -1, -1, 135, -1, 137, 138, 139, 140, 141,
2128 142, 143, 144, 145, 146, 110, 111, 112, 113, 114,
2129 115, 153, -1, -1, -1, -1, -1, -1, -1, -1,
2130 125, 126, 127, -1, -1, -1, -1, -1, -1, -1,
2131 135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
2132 145, 146, 110, 111, 112, 113, 114, 115, 153, -1,
2133 -1, -1, -1, -1, -1, -1, -1, 125, 126, 127,
2134 -1, -1, -1, -1, -1, -1, -1, 135, -1, 137,
2135 138, 139, 140, 141, 142, 143, 144, 145, 146, 16,
2136 17, -1, -1, 151, 152, 22, 23, 24, 25, 26,
2137 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2138 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
2139 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2140 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2141 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2142 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2143 87, 88, 89, 90, 91, 92, 93, 94, 95, -1,
2144 -1, -1, 99, 100, -1, -1, -1, 16, 17, -1,
2145 -1, -1, 109, 22, 23, 24, 25, 26, 27, 28,
2146 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
2147 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
2148 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
2149 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
2150 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
2151 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
2152 89, 90, 91, 92, 93, 94, 95, -1, -1, -1,
2153 99, 100, -1, -1, 16, 17, -1, -1, -1, -1,
2154 109, 23, 24, 25, 26, 27, 28, 29, 30, 31,
2155 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
2156 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
2157 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
2158 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
2159 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
2160 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
2161 92, 93, 94, 95, -1, -1, -1, 99, 100, -1,
2162 -1, 16, 17, -1, -1, -1, -1, 109, 23, 24,
2163 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2164 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
2165 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
2166 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
2167 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2168 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2169 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
2170 95, 57, -1, -1, 99, 100, -1, -1, -1, -1,
2171 -1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
2172 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2173 -1, -1, -1, -1, -1, -1, -1, -1, 57, -1,
2174 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2175 -1, -1, -1, -1, 110, 111, 112, 113, 114, 115,
2176 -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
2177 126, 127, -1, -1, -1, 57, 132, -1, -1, 135,
2178 -1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2179 146, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2180 -1, -1, -1, -1, -1, -1, 125, 126, 127, -1,
2181 -1, -1, 57, 132, -1, -1, 135, -1, 137, 138,
2182 139, 140, 141, 142, 143, 144, 145, 146, 110, 111,
2183 112, 113, 114, 115, -1, -1, -1, -1, -1, -1,
2184 -1, -1, -1, 125, 126, 127, -1, -1, -1, 57,
2185 132, -1, -1, 135, -1, 137, 138, 139, 140, 141,
2186 142, 143, 144, 145, 146, 110, 111, 112, 113, 114,
2187 115, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2188 125, 126, 127, -1, -1, -1, 57, 132, -1, -1,
2189 135, -1, 137, 138, 139, 140, 141, 142, 143, 144,
2190 145, 146, 110, 111, 112, 113, 114, 115, -1, -1,
2191 -1, -1, -1, -1, -1, -1, -1, 125, 126, 127,
2192 -1, -1, -1, 57, 132, -1, -1, 135, -1, 137,
2193 138, 139, 140, 141, 142, 143, 144, 145, 146, 110,
2194 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
2195 -1, -1, -1, -1, 125, 126, 127, -1, -1, -1,
2196 57, 132, -1, -1, 135, -1, 137, 138, 139, 140,
2197 141, 142, 143, 144, 145, 146, 110, 111, 112, 113,
2198 114, 115, -1, -1, -1, -1, -1, -1, -1, -1,
2199 -1, 125, 126, 127, -1, -1, -1, 57, 132, -1,
2200 -1, 135, -1, 137, 138, 139, 140, 141, 142, 143,
2201 144, 145, 146, 110, 111, 112, 113, 114, 115, -1,
2202 -1, -1, -1, -1, -1, -1, -1, -1, 125, 126,
2203 127, -1, -1, -1, 57, 132, -1, -1, 135, -1,
2204 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2205 110, 111, 112, 113, 114, 115, -1, -1, -1, -1,
2206 -1, -1, -1, -1, -1, 125, 126, 127, -1, -1,
2207 -1, 57, -1, -1, -1, 135, 136, 137, 138, 139,
2208 140, 141, 142, 143, 144, 145, 146, 110, 111, 112,
2209 113, 114, 115, -1, -1, -1, -1, -1, -1, -1,
2210 -1, -1, 125, 126, 127, -1, -1, -1, 57, 132,
2211 -1, -1, 135, -1, 137, 138, 139, 140, 141, 142,
2212 143, 144, 145, 146, 110, 111, 112, 113, 114, 115,
2213 -1, -1, -1, -1, -1, -1, -1, -1, -1, 125,
2214 126, 127, -1, -1, -1, 57, 132, -1, -1, 135,
2215 -1, 137, 138, 139, 140, 141, 142, 143, 144, 145,
2216 146, 110, 111, 112, 113, 114, 115, -1, -1, -1,
2217 -1, -1, -1, -1, -1, -1, 125, 126, 127, -1,
2218 -1, -1, 57, 132, -1, -1, 135, -1, 137, 138,
2219 139, 140, 141, 142, 143, 144, 145, 146, 110, 111,
2220 112, 113, 114, 115, -1, -1, -1, -1, -1, -1,
2221 -1, -1, -1, 125, 126, 127, -1, -1, -1, 57,
2222 132, -1, -1, 135, -1, 137, 138, 139, 140, 141,
2223 142, 143, 144, 145, 146, 110, 111, 112, 113, 114,
2224 115, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2225 125, 126, 127, -1, -1, -1, 57, -1, -1, -1,
2226 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
2227 145, 146, 110, 111, 112, 113, 114, 115, -1, -1,
2228 -1, -1, -1, -1, -1, -1, -1, 125, 126, 127,
2229 -1, -1, -1, 57, 132, -1, -1, 135, -1, 137,
2230 138, 139, 140, 141, 142, 143, 144, 145, 146, 110,
2231 111, 112, 113, 114, 115, -1, -1, -1, -1, -1,
2232 -1, -1, -1, -1, 125, 126, 127, -1, -1, -1,
2233 57, 132, -1, -1, 135, -1, 137, 138, 139, 140,
2234 141, 142, 143, 144, 145, 146, 110, 111, 112, 113,
2235 114, 115, 57, -1, -1, -1, -1, -1, -1, -1,
2236 -1, 125, 126, 127, -1, -1, -1, -1, -1, -1,
2237 -1, 135, -1, 137, 138, 139, 140, 141, 142, 143,
2238 144, 145, 146, 110, 111, 112, 113, -1, -1, -1,
2239 -1, -1, -1, -1, -1, -1, -1, -1, 125, 126,
2240 127, -1, -1, -1, -1, -1, 111, 112, -1, -1,
2241 137, 138, 139, 140, 141, 142, 143, 144, 145, 146,
2242 125, 126, 127, -1, -1, -1, -1, -1, -1, -1,
2243 -1, -1, 137, 138, 139, 140, 141, 142, 143, 144,
2244 145, 146, 15, 16, 17, 18, 19, 20, -1, -1,
2245 23, 24, -1, 26, -1, 28, 29, 30, 31, -1,
2246 -1, -1, -1, -1, -1, -1, -1, 40, 41, 42,
2247 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
2248 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
2249 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
2250 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2251 83, 84, 85, 86, 87, 88, 89, 90, 15, 16,
2252 17, 18, -1, 20, -1, -1, 23, 24, -1, 26,
2253 -1, 28, 29, 30, 31, -1, -1, -1, -1, -1,
2254 -1, -1, -1, 40, 41, 42, 43, 44, 45, 46,
2255 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
2256 57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
2257 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
2258 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2262 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2263 symbol of state STATE-NUM. */
2264 static const yytype_uint8 yystos[] =
2266 0, 160, 161, 0, 3, 4, 5, 7, 10, 12,
2267 13, 14, 15, 16, 17, 18, 20, 21, 22, 23,
2268 24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
2269 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
2270 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
2271 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
2272 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
2273 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
2274 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
2275 94, 95, 96, 97, 98, 99, 100, 101, 102, 109,
2276 116, 117, 154, 156, 162, 163, 165, 166, 167, 168,
2277 170, 172, 173, 176, 178, 179, 181, 182, 185, 187,
2278 188, 191, 192, 195, 199, 200, 201, 207, 156, 156,
2279 157, 157, 17, 23, 24, 25, 26, 28, 29, 30,
2280 31, 32, 33, 34, 35, 36, 37, 38, 39, 56,
2281 78, 82, 83, 94, 95, 99, 100, 109, 176, 205,
2282 206, 109, 192, 195, 200, 201, 16, 103, 104, 105,
2283 106, 108, 109, 143, 147, 148, 152, 154, 156, 157,
2284 165, 178, 192, 194, 195, 199, 200, 201, 202, 203,
2285 204, 157, 154, 157, 157, 157, 157, 157, 157, 157,
2286 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
2287 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
2288 157, 157, 157, 157, 155, 164, 166, 163, 157, 176,
2289 157, 166, 201, 151, 152, 118, 119, 120, 121, 122,
2290 123, 124, 128, 129, 130, 133, 134, 198, 199, 156,
2291 15, 169, 176, 186, 207, 202, 133, 132, 157, 151,
2292 152, 176, 104, 105, 202, 202, 202, 193, 203, 176,
2293 196, 197, 202, 157, 201, 133, 199, 57, 110, 111,
2294 112, 113, 114, 115, 125, 126, 127, 135, 137, 138,
2295 139, 140, 141, 142, 143, 144, 145, 146, 156, 202,
2296 208, 202, 202, 158, 203, 202, 203, 202, 202, 202,
2297 202, 108, 158, 158, 158, 158, 158, 158, 203, 202,
2298 202, 202, 202, 202, 202, 202, 202, 202, 158, 104,
2299 108, 202, 108, 202, 193, 155, 166, 202, 157, 202,
2300 13, 176, 202, 203, 202, 176, 132, 11, 156, 158,
2301 203, 206, 193, 109, 202, 157, 132, 153, 136, 132,
2302 155, 158, 176, 177, 203, 200, 202, 202, 202, 202,
2303 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
2304 202, 202, 202, 202, 202, 202, 158, 15, 16, 17,
2305 18, 20, 23, 24, 26, 28, 29, 30, 31, 40,
2306 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
2307 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
2308 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
2309 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2310 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
2311 209, 210, 214, 158, 158, 158, 132, 158, 158, 158,
2312 158, 132, 132, 158, 132, 132, 158, 132, 132, 132,
2313 132, 158, 132, 158, 158, 158, 158, 158, 158, 158,
2314 177, 158, 157, 157, 153, 11, 207, 176, 180, 192,
2315 195, 202, 171, 202, 166, 158, 153, 193, 203, 203,
2316 196, 132, 158, 136, 154, 211, 215, 107, 108, 108,
2317 155, 214, 202, 202, 108, 202, 202, 202, 202, 104,
2318 190, 202, 190, 202, 154, 158, 166, 202, 193, 157,
2319 180, 158, 151, 152, 156, 6, 158, 176, 166, 202,
2320 164, 209, 103, 104, 105, 106, 107, 108, 212, 213,
2321 158, 132, 189, 158, 132, 132, 189, 189, 189, 189,
2322 132, 158, 174, 166, 158, 158, 193, 158, 184, 176,
2323 202, 186, 166, 155, 19, 132, 92, 93, 108, 158,
2324 202, 202, 158, 158, 158, 158, 202, 8, 9, 155,
2325 175, 158, 184, 166, 153, 158, 212, 158, 158, 132,
2326 202, 136, 166, 183, 202, 136, 164, 166, 132, 164,
2327 202, 3, 132, 156, 202, 158
2330 #define yyerrok (yyerrstatus = 0)
2331 #define yyclearin (yychar = YYEMPTY)
2332 #define YYEMPTY (-2)
2335 #define YYACCEPT goto yyacceptlab
2336 #define YYABORT goto yyabortlab
2337 #define YYERROR goto yyerrorlab
2340 /* Like YYERROR except do call yyerror. This remains here temporarily
2341 to ease the transition to the new meaning of YYERROR, for GCC.
2342 Once GCC version 2 has supplanted version 1, this can go. */
2344 #define YYFAIL goto yyerrlab
2346 #define YYRECOVERING() (!!yyerrstatus)
2348 #define YYBACKUP(Token, Value) \
2350 if (yychar == YYEMPTY && yylen == 1) \
2354 yytoken = YYTRANSLATE (yychar); \
2360 yyerror (YY_("syntax error: cannot back up")); \
2367 #define YYERRCODE 256
2370 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2371 If N is 0, then set CURRENT to the empty location which ends
2372 the previous symbol: RHS[0] (always defined). */
2374 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2375 #ifndef YYLLOC_DEFAULT
2376 # define YYLLOC_DEFAULT(Current, Rhs, N) \
2380 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
2381 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
2382 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
2383 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
2387 (Current).first_line = (Current).last_line = \
2388 YYRHSLOC (Rhs, 0).last_line; \
2389 (Current).first_column = (Current).last_column = \
2390 YYRHSLOC (Rhs, 0).last_column; \
2396 /* YY_LOCATION_PRINT -- Print the location on the stream.
2397 This macro was not mandated originally: define only if we know
2398 we won't break user code: when these are the locations we know. */
2400 #ifndef YY_LOCATION_PRINT
2401 # if YYLTYPE_IS_TRIVIAL
2402 # define YY_LOCATION_PRINT(File, Loc) \
2403 fprintf (File, "%d.%d-%d.%d", \
2404 (Loc).first_line, (Loc).first_column, \
2405 (Loc).last_line, (Loc).last_column)
2407 # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2412 /* YYLEX -- calling `yylex' with the right arguments. */
2415 # define YYLEX yylex (YYLEX_PARAM)
2417 # define YYLEX yylex ()
2420 /* Enable debugging if requested. */
2424 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
2425 # define YYFPRINTF fprintf
2428 # define YYDPRINTF(Args) \
2434 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
2438 YYFPRINTF (stderr, "%s ", Title); \
2439 yy_symbol_print (stderr, \
2441 YYFPRINTF (stderr, "\n"); \
2446 /*--------------------------------.
2447 | Print this symbol on YYOUTPUT. |
2448 `--------------------------------*/
2451 #if (defined __STDC__ || defined __C99__FUNC__ \
2452 || defined __cplusplus || defined _MSC_VER)
2454 yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2457 yy_symbol_value_print (yyoutput, yytype, yyvaluep)
2460 YYSTYPE const * const yyvaluep;
2466 if (yytype < YYNTOKENS)
2467 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2479 /*--------------------------------.
2480 | Print this symbol on YYOUTPUT. |
2481 `--------------------------------*/
2483 #if (defined __STDC__ || defined __C99__FUNC__ \
2484 || defined __cplusplus || defined _MSC_VER)
2486 yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
2489 yy_symbol_print (yyoutput, yytype, yyvaluep)
2492 YYSTYPE const * const yyvaluep;
2495 if (yytype < YYNTOKENS)
2496 YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
2498 YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
2500 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2501 YYFPRINTF (yyoutput, ")");
2504 /*------------------------------------------------------------------.
2505 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
2507 `------------------------------------------------------------------*/
2509 #if (defined __STDC__ || defined __C99__FUNC__ \
2510 || defined __cplusplus || defined _MSC_VER)
2512 yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
2515 yy_stack_print (bottom, top)
2516 yytype_int16 *bottom;
2520 YYFPRINTF (stderr, "Stack now");
2521 for (; bottom <= top; ++bottom)
2522 YYFPRINTF (stderr, " %d", *bottom);
2523 YYFPRINTF (stderr, "\n");
2526 # define YY_STACK_PRINT(Bottom, Top) \
2529 yy_stack_print ((Bottom), (Top)); \
2533 /*------------------------------------------------.
2534 | Report that the YYRULE is going to be reduced. |
2535 `------------------------------------------------*/
2537 #if (defined __STDC__ || defined __C99__FUNC__ \
2538 || defined __cplusplus || defined _MSC_VER)
2540 yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
2543 yy_reduce_print (yyvsp, yyrule)
2548 int yynrhs = yyr2[yyrule];
2550 unsigned long int yylno = yyrline[yyrule];
2551 YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
2553 /* The symbols being reduced. */
2554 for (yyi = 0; yyi < yynrhs; yyi++)
2556 fprintf (stderr, " $%d = ", yyi + 1);
2557 yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
2558 &(yyvsp[(yyi + 1) - (yynrhs)])
2560 fprintf (stderr, "\n");
2564 # define YY_REDUCE_PRINT(Rule) \
2567 yy_reduce_print (yyvsp, Rule); \
2570 /* Nonzero means print parse trace. It is left uninitialized so that
2571 multiple parsers can coexist. */
2573 #else /* !YYDEBUG */
2574 # define YYDPRINTF(Args)
2575 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
2576 # define YY_STACK_PRINT(Bottom, Top)
2577 # define YY_REDUCE_PRINT(Rule)
2578 #endif /* !YYDEBUG */
2581 /* YYINITDEPTH -- initial size of the parser's stacks. */
2583 # define YYINITDEPTH 200
2586 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
2587 if the built-in stack extension method is used).
2589 Do not make this value too large; the results are undefined if
2590 YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
2591 evaluated with infinite-precision integer arithmetic. */
2594 # define YYMAXDEPTH 10000
2602 # if defined __GLIBC__ && defined _STRING_H
2603 # define yystrlen strlen
2605 /* Return the length of YYSTR. */
2606 #if (defined __STDC__ || defined __C99__FUNC__ \
2607 || defined __cplusplus || defined _MSC_VER)
2609 yystrlen (const char *yystr)
2617 for (yylen = 0; yystr[yylen]; yylen++)
2625 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
2626 # define yystpcpy stpcpy
2628 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
2630 #if (defined __STDC__ || defined __C99__FUNC__ \
2631 || defined __cplusplus || defined _MSC_VER)
2633 yystpcpy (char *yydest, const char *yysrc)
2636 yystpcpy (yydest, yysrc)
2642 const char *yys = yysrc;
2644 while ((*yyd++ = *yys++) != '\0')
2653 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
2654 quotes and backslashes, so that it's suitable for yyerror. The
2655 heuristic is that double-quoting is unnecessary unless the string
2656 contains an apostrophe, a comma, or backslash (other than
2657 backslash-backslash). YYSTR is taken from yytname. If YYRES is
2658 null, do not copy; instead, return the length of what the result
2661 yytnamerr (char *yyres, const char *yystr)
2666 char const *yyp = yystr;
2673 goto do_not_strip_quotes;
2677 goto do_not_strip_quotes;
2690 do_not_strip_quotes: ;
2694 return yystrlen (yystr);
2696 return yystpcpy (yyres, yystr) - yyres;
2700 /* Copy into YYRESULT an error message about the unexpected token
2701 YYCHAR while in state YYSTATE. Return the number of bytes copied,
2702 including the terminating null byte. If YYRESULT is null, do not
2703 copy anything; just return the number of bytes that would be
2704 copied. As a special case, return 0 if an ordinary "syntax error"
2705 message will do. Return YYSIZE_MAXIMUM if overflow occurs during
2706 size calculation. */
2708 yysyntax_error (char *yyresult, int yystate, int yychar)
2710 int yyn = yypact[yystate];
2712 if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
2716 int yytype = YYTRANSLATE (yychar);
2717 YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2718 YYSIZE_T yysize = yysize0;
2720 int yysize_overflow = 0;
2721 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2722 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2726 /* This is so xgettext sees the translatable formats that are
2727 constructed on the fly. */
2728 YY_("syntax error, unexpected %s");
2729 YY_("syntax error, unexpected %s, expecting %s");
2730 YY_("syntax error, unexpected %s, expecting %s or %s");
2731 YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2732 YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2736 static char const yyunexpected[] = "syntax error, unexpected %s";
2737 static char const yyexpecting[] = ", expecting %s";
2738 static char const yyor[] = " or %s";
2739 char yyformat[sizeof yyunexpected
2740 + sizeof yyexpecting - 1
2741 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2742 * (sizeof yyor - 1))];
2743 char const *yyprefix = yyexpecting;
2745 /* Start YYX at -YYN if negative to avoid negative indexes in
2747 int yyxbegin = yyn < 0 ? -yyn : 0;
2749 /* Stay within bounds of both yycheck and yytname. */
2750 int yychecklim = YYLAST - yyn + 1;
2751 int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2754 yyarg[0] = yytname[yytype];
2755 yyfmt = yystpcpy (yyformat, yyunexpected);
2757 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2758 if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2760 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2764 yyformat[sizeof yyunexpected - 1] = '\0';
2767 yyarg[yycount++] = yytname[yyx];
2768 yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2769 yysize_overflow |= (yysize1 < yysize);
2771 yyfmt = yystpcpy (yyfmt, yyprefix);
2775 yyf = YY_(yyformat);
2776 yysize1 = yysize + yystrlen (yyf);
2777 yysize_overflow |= (yysize1 < yysize);
2780 if (yysize_overflow)
2781 return YYSIZE_MAXIMUM;
2785 /* Avoid sprintf, as that infringes on the user's name space.
2786 Don't have undefined behavior even if the translation
2787 produced a string with the wrong number of "%s"s. */
2788 char *yyp = yyresult;
2790 while ((*yyp = *yyf) != '\0')
2792 if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
2794 yyp += yytnamerr (yyp, yyarg[yyi++]);
2807 #endif /* YYERROR_VERBOSE */
2810 /*-----------------------------------------------.
2811 | Release the memory associated to this symbol. |
2812 `-----------------------------------------------*/
2815 #if (defined __STDC__ || defined __C99__FUNC__ \
2816 || defined __cplusplus || defined _MSC_VER)
2818 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
2821 yydestruct (yymsg, yytype, yyvaluep)
2831 YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2842 /* Prevent warnings from -Wmissing-prototypes. */
2844 #ifdef YYPARSE_PARAM
2845 #if defined __STDC__ || defined __cplusplus
2846 int yyparse (void *YYPARSE_PARAM);
2850 #else /* ! YYPARSE_PARAM */
2851 #if defined __STDC__ || defined __cplusplus
2856 #endif /* ! YYPARSE_PARAM */
2860 /* The look-ahead symbol. */
2863 /* The semantic value of the look-ahead symbol. */
2866 /* Number of syntax errors so far. */
2875 #ifdef YYPARSE_PARAM
2876 #if (defined __STDC__ || defined __C99__FUNC__ \
2877 || defined __cplusplus || defined _MSC_VER)
2879 yyparse (void *YYPARSE_PARAM)
2882 yyparse (YYPARSE_PARAM)
2883 void *YYPARSE_PARAM;
2885 #else /* ! YYPARSE_PARAM */
2886 #if (defined __STDC__ || defined __C99__FUNC__ \
2887 || defined __cplusplus || defined _MSC_VER)
2901 /* Number of tokens to shift before error messages enabled. */
2903 /* Look-ahead token as an internal (translated) token number. */
2906 /* Buffer for error messages, and its allocated size. */
2908 char *yymsg = yymsgbuf;
2909 YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
2912 /* Three stacks and their tools:
2913 `yyss': related to states,
2914 `yyvs': related to semantic values,
2915 `yyls': related to locations.
2917 Refer to the stacks thru separate pointers, to allow yyoverflow
2918 to reallocate them elsewhere. */
2920 /* The state stack. */
2921 yytype_int16 yyssa[YYINITDEPTH];
2922 yytype_int16 *yyss = yyssa;
2923 yytype_int16 *yyssp;
2925 /* The semantic value stack. */
2926 YYSTYPE yyvsa[YYINITDEPTH];
2927 YYSTYPE *yyvs = yyvsa;
2932 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
2934 YYSIZE_T yystacksize = YYINITDEPTH;
2936 /* The variables used to return semantic value and location from the
2941 /* The number of symbols on the RHS of the reduced rule.
2942 Keep to zero when no symbol should be popped. */
2945 YYDPRINTF ((stderr, "Starting parse\n"));
2950 yychar = YYEMPTY; /* Cause a token to be read. */
2952 /* Initialize stack pointers.
2953 Waste one element of value and location stack
2954 so that they stay on the same level as the state stack.
2955 The wasted elements are never initialized. */
2962 /*------------------------------------------------------------.
2963 | yynewstate -- Push a new state, which is found in yystate. |
2964 `------------------------------------------------------------*/
2966 /* In all cases, when you get here, the value and location stacks
2967 have just been pushed. So pushing a state here evens the stacks. */
2973 if (yyss + yystacksize - 1 <= yyssp)
2975 /* Get the current used size of the three stacks, in elements. */
2976 YYSIZE_T yysize = yyssp - yyss + 1;
2980 /* Give user a chance to reallocate the stack. Use copies of
2981 these so that the &'s don't force the real ones into
2983 YYSTYPE *yyvs1 = yyvs;
2984 yytype_int16 *yyss1 = yyss;
2987 /* Each stack pointer address is followed by the size of the
2988 data in use in that stack, in bytes. This used to be a
2989 conditional around just the two extra args, but that might
2990 be undefined if yyoverflow is a macro. */
2991 yyoverflow (YY_("memory exhausted"),
2992 &yyss1, yysize * sizeof (*yyssp),
2993 &yyvs1, yysize * sizeof (*yyvsp),
3000 #else /* no yyoverflow */
3001 # ifndef YYSTACK_RELOCATE
3002 goto yyexhaustedlab;
3004 /* Extend the stack our own way. */
3005 if (YYMAXDEPTH <= yystacksize)
3006 goto yyexhaustedlab;
3008 if (YYMAXDEPTH < yystacksize)
3009 yystacksize = YYMAXDEPTH;
3012 yytype_int16 *yyss1 = yyss;
3013 union yyalloc *yyptr =
3014 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
3016 goto yyexhaustedlab;
3017 YYSTACK_RELOCATE (yyss);
3018 YYSTACK_RELOCATE (yyvs);
3020 # undef YYSTACK_RELOCATE
3022 YYSTACK_FREE (yyss1);
3025 #endif /* no yyoverflow */
3027 yyssp = yyss + yysize - 1;
3028 yyvsp = yyvs + yysize - 1;
3031 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
3032 (unsigned long int) yystacksize));
3034 if (yyss + yystacksize - 1 <= yyssp)
3038 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
3047 /* Do appropriate processing given the current state. Read a
3048 look-ahead token if we need one and don't already have one. */
3050 /* First try to decide what to do without reference to look-ahead token. */
3051 yyn = yypact[yystate];
3052 if (yyn == YYPACT_NINF)
3055 /* Not known => get a look-ahead token if don't already have one. */
3057 /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
3058 if (yychar == YYEMPTY)
3060 YYDPRINTF ((stderr, "Reading a token: "));
3064 if (yychar <= YYEOF)
3066 yychar = yytoken = YYEOF;
3067 YYDPRINTF ((stderr, "Now at end of input.\n"));
3071 yytoken = YYTRANSLATE (yychar);
3072 YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
3075 /* If the proper action on seeing token YYTOKEN is to reduce or to
3076 detect an error, take that action. */
3078 if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
3083 if (yyn == 0 || yyn == YYTABLE_NINF)
3092 /* Count tokens shifted since error; after three, turn off error
3097 /* Shift the look-ahead token. */
3098 YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
3100 /* Discard the shifted token unless it is eof. */
3101 if (yychar != YYEOF)
3110 /*-----------------------------------------------------------.
3111 | yydefault -- do the default action for the current state. |
3112 `-----------------------------------------------------------*/
3114 yyn = yydefact[yystate];
3120 /*-----------------------------.
3121 | yyreduce -- Do a reduction. |
3122 `-----------------------------*/
3124 /* yyn is the number of a rule to reduce with. */
3127 /* If YYLEN is nonzero, implement the default value of the action:
3130 Otherwise, the following line sets YYVAL to garbage.
3131 This behavior is undocumented and Bison
3132 users should not rely upon it. Assigning to YYVAL
3133 unconditionally makes the parser a bit smaller, and it avoids a
3134 GCC warning that YYVAL may be used uninitialized. */
3135 yyval = yyvsp[1-yylen];
3138 YY_REDUCE_PRINT (yyn);
3142 #line 152 "swf5compiler.y"
3149 #line 155 "swf5compiler.y"
3150 { Buffer b = newBuffer();
3151 bufferWriteConstants(b);
3152 bufferConcat(b, bf);
3153 bufferConcat(b, bc);
3154 *((Buffer *)buffer) = b; ;}
3158 #line 160 "swf5compiler.y"
3159 { Buffer b = newBuffer(); *((Buffer *)buffer) = b; ;}
3163 #line 170 "swf5compiler.y"
3164 { bufferConcat(bc, (yyvsp[(1) - (1)].action)); ;}
3168 #line 172 "swf5compiler.y"
3169 { bufferConcat(bf, (yyvsp[(1) - (1)].action)); ;}
3173 #line 177 "swf5compiler.y"
3174 { (yyval.action) = (yyvsp[(1) - (1)].action); ;}
3178 #line 180 "swf5compiler.y"
3179 { (yyval.action) = (yyvsp[(1) - (2)].action);
3180 bufferConcat((yyval.action), (yyvsp[(2) - (2)].action)); ;}
3184 #line 185 "swf5compiler.y"
3189 #line 189 "swf5compiler.y"
3190 { (yyval.action) = NULL; ;}
3194 #line 190 "swf5compiler.y"
3195 { (yyval.action) = (yyvsp[(2) - (3)].action); ;}
3199 #line 191 "swf5compiler.y"
3200 { (yyval.action) = NULL; ;}
3204 #line 192 "swf5compiler.y"
3205 { (yyval.action) = (yyvsp[(1) - (2)].action); ;}
3209 #line 204 "swf5compiler.y"
3210 { (yyval.action) = (yyvsp[(3) - (7)].action);
3211 bufferWriteOp((yyval.action), SWFACTION_WITH);
3212 bufferWriteS16((yyval.action), 2);
3213 bufferWriteS16((yyval.action), bufferLength((yyvsp[(6) - (7)].action)));
3214 bufferConcat((yyval.action), (yyvsp[(6) - (7)].action)); ;}
3218 #line 215 "swf5compiler.y"
3219 { int tmp = chkctx(CTX_FUNCTION);
3221 swf5error("return outside function");
3222 (yyval.action) = newBuffer();
3224 bufferWriteOp((yyval.action), SWFACTION_POP);
3225 bufferWriteNull((yyval.action));
3226 bufferWriteOp((yyval.action), SWFACTION_RETURN); ;}
3230 #line 225 "swf5compiler.y"
3231 { int tmp = chkctx(CTX_FUNCTION);
3233 swf5error("return outside function");
3234 (yyval.action) = newBuffer();
3236 bufferWriteOp((yyval.action), SWFACTION_POP);
3237 bufferConcat((yyval.action), (yyvsp[(2) - (3)].action));
3238 bufferWriteOp((yyval.action), SWFACTION_RETURN); ;}
3242 #line 237 "swf5compiler.y"
3243 { bufferConcat((yyvsp[(1) - (3)].action), (yyvsp[(3) - (3)].action)); ;}
3247 #line 242 "swf5compiler.y"
3248 { (yyval.action) = (yyvsp[(3) - (7)].action);
3249 bufferWriteOp((yyval.action), SWFACTION_BRANCHIFTRUE);
3250 bufferWriteS16((yyval.action), 2);
3251 bufferWriteS16((yyval.action), bufferLength((yyvsp[(7) - (7)].action))+5);
3252 bufferConcat((yyval.action), (yyvsp[(7) - (7)].action));
3253 bufferWriteOp((yyval.action), SWFACTION_BRANCHALWAYS);
3254 bufferWriteS16((yyval.action), 2);
3255 bufferWriteS16((yyval.action), bufferLength((yyvsp[(5) - (7)].action)));
3256 bufferConcat((yyval.action), (yyvsp[(5) - (7)].action)); ;}
3260 #line 253 "swf5compiler.y"
3261 { (yyval.action) = (yyvsp[(3) - (5)].action);
3262 bufferWriteOp((yyval.action), SWFACTION_LOGICALNOT);
3263 bufferWriteOp((yyval.action), SWFACTION_BRANCHIFTRUE);
3264 bufferWriteS16((yyval.action), 2);
3265 bufferWriteS16((yyval.action), bufferLength((yyvsp[(5) - (5)].action)));
3266 bufferConcat((yyval.action), (yyvsp[(5) - (5)].action)); ;}
3270 #line 262 "swf5compiler.y"
3271 { (yyval.action) = NULL; ;}
3275 #line 263 "swf5compiler.y"
3276 { (yyval.action) = (yyvsp[(1) - (1)].action); ;}
3280 #line 268 "swf5compiler.y"
3281 { addctx(CTX_SWITCH); ;}
3285 #line 274 "swf5compiler.y"
3286 { (yyval.action) = (yyvsp[(3) - (7)].action);
3287 bufferResolveSwitch((yyval.action), &(yyvsp[(6) - (7)].switchcases));
3288 bufferResolveJumps((yyval.action));
3289 bufferWriteOp((yyval.action), SWFACTION_POP);
3291 /* FIXME: continue in switch continues surrounding loop, if any */
3296 #line 286 "swf5compiler.y"
3297 { (yyval.switchcases).count = 0;
3298 (yyval.switchcases).list = 0; ;}
3302 #line 290 "swf5compiler.y"
3303 { (yyval.switchcases) = (yyvsp[(1) - (2)].switchcases);
3304 (yyval.switchcases).list = (struct switchcase*) realloc((yyval.switchcases).list, ((yyval.switchcases).count+1) * sizeof(struct switchcase));
3305 (yyval.switchcases).list[(yyval.switchcases).count] = (yyvsp[(2) - (2)].switchcase);
3306 (yyval.switchcases).count++; ;}
3310 #line 298 "swf5compiler.y"
3311 { (yyval.switchcase).cond = (yyvsp[(2) - (6)].action);
3312 (yyval.switchcase).action = (yyvsp[(4) - (6)].action);
3313 (yyval.switchcase).isbreak = 1; ;}
3317 #line 303 "swf5compiler.y"
3318 { (yyval.switchcase).cond = (yyvsp[(2) - (4)].action);
3319 (yyval.switchcase).action = (yyvsp[(4) - (4)].action);
3320 (yyval.switchcase).isbreak = 0; ;}
3324 #line 308 "swf5compiler.y"
3325 { (yyval.switchcase).cond = NULL;
3326 (yyval.switchcase).action = (yyvsp[(3) - (3)].action);
3327 (yyval.switchcase).isbreak = 0; ;}
3331 #line 318 "swf5compiler.y"
3332 { (yyval.str) = strdup("new"); ;}
3336 #line 319 "swf5compiler.y"
3337 { (yyval.str) = strdup("delete"); ;}
3341 #line 320 "swf5compiler.y"
3342 { (yyval.str) = strdup("random"); ;}
3346 #line 321 "swf5compiler.y"
3347 { (yyval.str) = strdup("getTimer"); ;}
3351 #line 322 "swf5compiler.y"
3352 { (yyval.str) = strdup("length"); ;}
3356 #line 323 "swf5compiler.y"
3357 { (yyval.str) = strdup("concat"); ;}
3361 #line 324 "swf5compiler.y"
3362 { (yyval.str) = strdup("substr"); ;}
3366 #line 325 "swf5compiler.y"
3367 { (yyval.str) = strdup("trace"); ;}
3371 #line 326 "swf5compiler.y"
3372 { (yyval.str) = strdup("int"); ;}
3376 #line 327 "swf5compiler.y"
3377 { (yyval.str) = strdup("ord"); ;}
3381 #line 328 "swf5compiler.y"
3382 { (yyval.str) = strdup("chr"); ;}
3386 #line 329 "swf5compiler.y"
3387 { (yyval.str) = strdup("getURL"); ;}
3391 #line 330 "swf5compiler.y"
3392 { (yyval.str) = strdup("getURL1"); ;}
3396 #line 331 "swf5compiler.y"
3397 { (yyval.str) = strdup("nextFrame"); ;}
3401 #line 332 "swf5compiler.y"
3402 { (yyval.str) = strdup("prevFrame"); ;}
3406 #line 333 "swf5compiler.y"
3407 { (yyval.str) = strdup("play"); ;}
3411 #line 334 "swf5compiler.y"
3412 { (yyval.str) = strdup("stop"); ;}
3416 #line 335 "swf5compiler.y"
3417 { (yyval.str) = strdup("toggleQuality"); ;}
3421 #line 336 "swf5compiler.y"
3422 { (yyval.str) = strdup("stopSounds"); ;}
3426 #line 337 "swf5compiler.y"
3427 { (yyval.str) = strdup("dup"); ;}
3431 #line 338 "swf5compiler.y"
3432 { (yyval.str) = strdup("swap"); ;}
3436 #line 339 "swf5compiler.y"
3437 { (yyval.str) = strdup("pop"); ;}
3441 #line 340 "swf5compiler.y"
3442 { (yyval.str) = strdup("push"); ;}
3446 #line 341 "swf5compiler.y"
3447 { (yyval.str) = strdup("setRegister"); ;}
3451 #line 342 "swf5compiler.y"
3452 { (yyval.str) = strdup("callFunction"); ;}
3456 #line 343 "swf5compiler.y"
3457 { (yyval.str) = strdup("callMethod"); ;}
3461 #line 344 "swf5compiler.y"
3462 { (yyval.str) = strdup("and"); ;}
3466 #line 345 "swf5compiler.y"
3467 { (yyval.str) = strdup("or"); ;}
3471 #line 346 "swf5compiler.y"
3472 { (yyval.str) = strdup("xor"); ;}
3476 #line 347 "swf5compiler.y"
3477 { (yyval.str) = strdup("modulo"); ;}
3481 #line 348 "swf5compiler.y"
3482 { (yyval.str) = strdup("add"); ;}
3486 #line 349 "swf5compiler.y"
3487 { (yyval.str) = strdup("lessThan"); ;}
3491 #line 350 "swf5compiler.y"
3492 { (yyval.str) = strdup("equals"); ;}
3496 #line 351 "swf5compiler.y"
3497 { (yyval.str) = strdup("inc"); ;}
3501 #line 352 "swf5compiler.y"
3502 { (yyval.str) = strdup("dec"); ;}
3506 #line 353 "swf5compiler.y"
3507 { (yyval.str) = strdup("typeof"); ;}
3511 #line 354 "swf5compiler.y"
3512 { (yyval.str) = strdup("instanceof"); ;}
3516 #line 355 "swf5compiler.y"
3517 { (yyval.str) = strdup("enumerate"); ;}
3521 #line 356 "swf5compiler.y"
3522 { (yyval.str) = strdup("initobject"); ;}
3526 #line 357 "swf5compiler.y"
3527 { (yyval.str) = strdup("initarray"); ;}
3531 #line 358 "swf5compiler.y"
3532 { (yyval.str) = strdup("getmember"); ;}
3536 #line 359 "swf5compiler.y"
3537 { (yyval.str) = strdup("setmember"); ;}
3541 #line 360 "swf5compiler.y"
3542 { (yyval.str) = strdup("shiftleft"); ;}
3546 #line 361 "swf5compiler.y"
3547 { (yyval.str) = strdup("shiftright"); ;}
3551 #line 362 "swf5compiler.y"
3552 { (yyval.str) = strdup("shiftright2"); ;}
3556 #line 363 "swf5compiler.y"
3557 { (yyval.str) = strdup("varequals"); ;}
3561 #line 364 "swf5compiler.y"
3562 { (yyval.str) = strdup("oldAdd"); ;}
3566 #line 365 "swf5compiler.y"
3567 { (yyval.str) = strdup("subtract"); ;}
3571 #line 366 "swf5compiler.y"
3572 { (yyval.str) = strdup("multiply"); ;}
3576 #line 367 "swf5compiler.y"
3577 { (yyval.str) = strdup("divide"); ;}
3581 #line 368 "swf5compiler.y"
3582 { (yyval.str) = strdup("oldequals"); ;}
3586 #line 369 "swf5compiler.y"
3587 { (yyval.str) = strdup("oldlessthan"); ;}
3591 #line 370 "swf5compiler.y"
3592 { (yyval.str) = strdup("logicaland"); ;}
3596 #line 371 "swf5compiler.y"
3597 { (yyval.str) = strdup("logicalor"); ;}
3601 #line 372 "swf5compiler.y"
3602 { (yyval.str) = strdup("not"); ;}
3606 #line 373 "swf5compiler.y"
3607 { (yyval.str) = strdup("stringeq"); ;}
3611 #line 374 "swf5compiler.y"
3612 { (yyval.str) = strdup("stringlength"); ;}
3616 #line 375 "swf5compiler.y"
3617 { (yyval.str) = strdup("substring"); ;}
3621 #line 376 "swf5compiler.y"
3622 { (yyval.str) = strdup("getvariable"); ;}
3626 #line 377 "swf5compiler.y"
3627 { (yyval.str) = strdup("setvariable"); ;}
3631 #line 378 "swf5compiler.y"
3632 { (yyval.str) = strdup("settargetexpression"); ;}
3636 #line 379 "swf5compiler.y"
3637 { (yyval.str) = strdup("duplicatemovieclip"); ;}
3641 #line 380 "swf5compiler.y"
3642 { (yyval.str) = strdup("removemovieclip"); ;}
3646 #line 381 "swf5compiler.y"
3647 { (yyval.str) = strdup("startdrag"); ;}
3651 #line 382 "swf5compiler.y"
3652 { (yyval.str) = strdup("stopdrag"); ;}
3656 #line 383 "swf5compiler.y"
3657 { (yyval.str) = strdup("stringlessthan"); ;}
3661 #line 384 "swf5compiler.y"
3662 { (yyval.str) = strdup("mblength"); ;}
3666 #line 385 "swf5compiler.y"
3667 { (yyval.str) = strdup("mbsubstring"); ;}
3671 #line 386 "swf5compiler.y"
3672 { (yyval.str) = strdup("mbord"); ;}
3676 #line 387 "swf5compiler.y"
3677 { (yyval.str) = strdup("mbchr"); ;}
3681 #line 388 "swf5compiler.y"
3682 { (yyval.str) = strdup("branchalways"); ;}
3686 #line 389 "swf5compiler.y"
3687 { (yyval.str) = strdup("branchiftrue"); ;}
3691 #line 390 "swf5compiler.y"
3692 { (yyval.str) = strdup("getURL2"); ;}
3696 #line 391 "swf5compiler.y"
3697 { (yyval.str) = strdup("post"); ;}
3701 #line 392 "swf5compiler.y"
3702 { (yyval.str) = strdup("get"); ;}
3706 #line 393 "swf5compiler.y"
3707 { (yyval.str) = strdup("loadvariables"); ;}
3711 #line 394 "swf5compiler.y"
3712 { (yyval.str) = strdup("loadMovie"); ;}
3716 #line 399 "swf5compiler.y"
3717 { (yyval.exprlist).buffer = newBuffer();
3718 (yyval.exprlist).count = 0; ;}
3722 #line 403 "swf5compiler.y"
3723 { (yyval.exprlist).buffer = newBuffer();
3724 bufferWriteHardString((yyval.exprlist).buffer, (byte*)(yyvsp[(1) - (1)].str), strlen((yyvsp[(1) - (1)].str))+1);
3725 (yyval.exprlist).count = 1; ;}
3729 #line 408 "swf5compiler.y"
3730 { (yyval.exprlist) = (yyvsp[(1) - (3)].exprlist);
3731 bufferWriteHardString((yyval.exprlist).buffer, (byte*)(yyvsp[(3) - (3)].str), strlen((yyvsp[(3) - (3)].str))+1);
3732 ++(yyval.exprlist).count; ;}
3736 #line 415 "swf5compiler.y"
3737 { addctx(CTX_FUNCTION); ;}
3741 #line 420 "swf5compiler.y"
3742 { (yyval.action) = newBuffer();
3743 bufferWriteOp((yyval.action), SWFACTION_DEFINEFUNCTION);
3744 bufferWriteS16((yyval.action), strlen((yyvsp[(2) - (6)].str)) +
3745 bufferLength((yyvsp[(4) - (6)].exprlist).buffer) + 5);
3746 bufferWriteHardString((yyval.action), (byte*) (yyvsp[(2) - (6)].str), strlen((yyvsp[(2) - (6)].str))+1);
3747 bufferWriteS16((yyval.action), (yyvsp[(4) - (6)].exprlist).count);
3748 bufferConcat((yyval.action), (yyvsp[(4) - (6)].exprlist).buffer);
3749 bufferWriteS16((yyval.action), bufferLength((yyvsp[(6) - (6)].action)));
3750 bufferConcat((yyval.action), (yyvsp[(6) - (6)].action));
3751 delctx(CTX_FUNCTION); ;}
3755 #line 434 "swf5compiler.y"
3756 { (yyval.action) = newBuffer();
3757 bufferWriteString((yyval.action), (yyvsp[(1) - (1)].str), strlen((yyvsp[(1) - (1)].str))+1);
3758 free((yyvsp[(1) - (1)].str)); ;}
3762 #line 439 "swf5compiler.y"
3763 { (yyval.action) = (yyvsp[(1) - (3)].action);
3764 bufferWriteString((yyval.action), (yyvsp[(3) - (3)].str), strlen((yyvsp[(3) - (3)].str))+1);
3765 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER);
3766 free((yyvsp[(3) - (3)].str)); ;}
3770 #line 445 "swf5compiler.y"
3771 { (yyval.action) = (yyvsp[(1) - (4)].action);
3772 bufferConcat((yyval.action), (yyvsp[(3) - (4)].action));
3773 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); ;}
3777 #line 456 "swf5compiler.y"
3778 { addctx(CTX_LOOP); ;}
3782 #line 461 "swf5compiler.y"
3783 { addctx(CTX_LOOP); ;}
3787 #line 466 "swf5compiler.y"
3788 { addctx(CTX_LOOP); ;}
3792 #line 471 "swf5compiler.y"
3793 { addctx(CTX_FOR_IN); ;}
3797 #line 476 "swf5compiler.y"
3798 { (yyval.action) = (yyvsp[(3) - (5)].action);
3799 bufferWriteOp((yyval.action), SWFACTION_LOGICALNOT);
3800 bufferWriteOp((yyval.action), SWFACTION_BRANCHIFTRUE);
3801 bufferWriteS16((yyval.action), 2);
3802 bufferWriteS16((yyval.action), bufferLength((yyvsp[(5) - (5)].action))+5);
3803 bufferConcat((yyval.action), (yyvsp[(5) - (5)].action));
3804 bufferWriteOp((yyval.action), SWFACTION_BRANCHALWAYS);
3805 bufferWriteS16((yyval.action), 2);
3806 bufferWriteS16((yyval.action), -(bufferLength((yyval.action))+2));
3807 bufferResolveJumps((yyval.action));
3808 delctx(CTX_LOOP); ;}
3812 #line 489 "swf5compiler.y"
3813 { if((yyvsp[(2) - (6)].action))
3814 { (yyval.action) = (yyvsp[(2) - (6)].action);
3815 bufferConcat((yyval.action), (yyvsp[(5) - (6)].action));
3818 (yyval.action) = (yyvsp[(5) - (6)].action);
3819 bufferWriteOp((yyval.action), SWFACTION_BRANCHIFTRUE);
3820 bufferWriteS16((yyval.action), 2);
3821 bufferWriteS16((yyval.action), -(bufferLength((yyval.action))+2));
3822 bufferResolveJumps((yyval.action));
3823 delctx(CTX_LOOP); ;}
3827 #line 502 "swf5compiler.y"
3829 if((yyvsp[(3) - (10)].action))
3830 (yyval.action) = (yyvsp[(3) - (10)].action);
3832 (yyval.action) = newBuffer();
3834 if((yyvsp[(7) - (10)].action))
3836 bufferWriteOp((yyval.action), SWFACTION_BRANCHALWAYS);
3837 bufferWriteS16((yyval.action), 2);
3838 bufferWriteS16((yyval.action), bufferLength((yyvsp[(7) - (10)].action)));
3841 (yyvsp[(7) - (10)].action) = newBuffer();
3843 if((yyvsp[(5) - (10)].action))
3845 bufferConcat((yyvsp[(7) - (10)].action), (yyvsp[(5) - (10)].action));
3846 bufferWriteOp((yyvsp[(7) - (10)].action), SWFACTION_LOGICALNOT);
3847 bufferWriteOp((yyvsp[(7) - (10)].action), SWFACTION_BRANCHIFTRUE);
3848 bufferWriteS16((yyvsp[(7) - (10)].action), 2);
3849 bufferWriteS16((yyvsp[(7) - (10)].action), bufferLength((yyvsp[(10) - (10)].action))+5);
3852 bufferConcat((yyvsp[(7) - (10)].action), (yyvsp[(10) - (10)].action));
3853 bufferWriteOp((yyvsp[(7) - (10)].action), SWFACTION_BRANCHALWAYS);
3854 bufferWriteS16((yyvsp[(7) - (10)].action), 2);
3855 bufferWriteS16((yyvsp[(7) - (10)].action), -(bufferLength((yyvsp[(7) - (10)].action))+2));
3856 bufferResolveJumps((yyvsp[(7) - (10)].action));
3858 bufferConcat((yyval.action), (yyvsp[(7) - (10)].action));
3864 #line 537 "swf5compiler.y"
3868 (yyval.action) = (yyvsp[(5) - (8)].action);
3869 bufferWriteOp((yyval.action), SWFACTION_ENUMERATE);
3872 bufferWriteSetRegister(b2, 0);
3873 bufferWriteOp(b2, SWFACTION_PUSHDATA);
3874 bufferWriteS16(b2, 1);
3875 bufferWriteU8(b2, 2);
3876 bufferWriteOp(b2, SWFACTION_NEWEQUALS);
3877 bufferWriteOp(b2, SWFACTION_BRANCHIFTRUE);
3878 bufferWriteS16(b2, 2);
3881 /* basically a lvalue could be used here rather than an ident !!! */
3882 /* probably by using reg1 for the test rather than reg0 */
3883 bufferWriteString(b3, (yyvsp[(3) - (8)].str), strlen((yyvsp[(3) - (8)].str))+1);
3884 bufferWriteRegister(b3, 0);
3885 bufferWriteOp(b3, SWFACTION_SETVARIABLE);
3886 bufferConcat(b3, (yyvsp[(8) - (8)].action));
3887 bufferWriteS16(b2, bufferLength(b3) + 5);
3888 tmp = bufferLength(b2) + bufferLength(b3) + 5;
3889 bufferConcat((yyval.action), b2);
3890 bufferWriteOp(b3, SWFACTION_BRANCHALWAYS);
3891 bufferWriteS16(b3, 2);
3892 bufferWriteS16(b3, -tmp);
3893 bufferResolveJumps(b3);
3894 bufferConcat((yyval.action), b3);
3895 delctx(CTX_FOR_IN); ;}
3899 #line 570 "swf5compiler.y"
3903 (yyval.action) = (yyvsp[(6) - (9)].action);
3904 bufferWriteOp((yyval.action), SWFACTION_ENUMERATE);
3907 bufferWriteSetRegister(b2, 0);
3908 bufferWriteOp(b2, SWFACTION_PUSHDATA);
3909 bufferWriteS16(b2, 1);
3910 bufferWriteU8(b2, 2);
3911 bufferWriteOp(b2, SWFACTION_NEWEQUALS);
3912 bufferWriteOp(b2, SWFACTION_BRANCHIFTRUE);
3913 bufferWriteS16(b2, 2);
3917 bufferWriteString(b3, (yyvsp[(4) - (9)].str), strlen((yyvsp[(4) - (9)].str))+1);
3918 bufferWriteRegister(b3, 0);
3919 bufferWriteOp(b3, SWFACTION_VAREQUALS);
3920 bufferConcat(b3, (yyvsp[(9) - (9)].action));
3921 bufferWriteS16(b2, bufferLength(b3) + 5);
3922 tmp = bufferLength(b2) + bufferLength(b3) + 5;
3923 bufferConcat((yyval.action), b2);
3924 bufferWriteOp(b3, SWFACTION_BRANCHALWAYS);
3925 bufferWriteS16(b3, 2);
3926 bufferWriteS16(b3, -tmp);
3927 bufferResolveJumps(b3);
3928 bufferConcat((yyval.action), b3);
3929 delctx(CTX_FOR_IN); ;}
3933 #line 603 "swf5compiler.y"
3934 { (yyval.action) = NULL; ;}
3938 #line 611 "swf5compiler.y"
3939 { if(chkctx(CTX_CONTINUE) < 0)
3940 swf5error("continue outside loop");
3941 (yyval.action) = newBuffer();
3942 bufferWriteOp((yyval.action), SWFACTION_BRANCHALWAYS);
3943 bufferWriteS16((yyval.action), 2);
3944 bufferWriteS16((yyval.action), MAGIC_CONTINUE_NUMBER); ;}
3948 #line 622 "swf5compiler.y"
3949 { int tmp = chkctx(CTX_BREAK);
3951 swf5error("break outside switch / loop");
3952 (yyval.action) = newBuffer();
3953 if(tmp) /* break out of a for .. in */
3954 bufferWriteOp((yyval.action), SWFACTION_POP);
3955 bufferWriteOp((yyval.action), SWFACTION_BRANCHALWAYS);
3956 bufferWriteS16((yyval.action), 2);
3957 bufferWriteS16((yyval.action), MAGIC_BREAK_NUMBER); ;}
3961 #line 634 "swf5compiler.y"
3962 { (yyval.getURLMethod) = GETURL_METHOD_NOSEND; ;}
3966 #line 636 "swf5compiler.y"
3967 { (yyval.getURLMethod) = GETURL_METHOD_GET; ;}
3971 #line 638 "swf5compiler.y"
3972 { (yyval.getURLMethod) = GETURL_METHOD_POST; ;}
3976 #line 640 "swf5compiler.y"
3977 { if(strcmp((yyvsp[(2) - (2)].str), "GET") == 0)
3978 (yyval.getURLMethod) = GETURL_METHOD_GET;
3979 else if(strcmp((yyvsp[(2) - (2)].str), "POST") == 0)
3980 (yyval.getURLMethod) = GETURL_METHOD_POST; ;}
3984 #line 648 "swf5compiler.y"
3985 { char *lvlstring = (char*) malloc(12*sizeof(char));
3986 sprintf(lvlstring, "_level%d", (yyvsp[(1) - (1)].intVal));
3987 (yyval.action) = newBuffer();
3988 bufferWriteString((yyval.action), lvlstring, strlen(lvlstring)+1);
3993 #line 655 "swf5compiler.y"
3994 { (yyval.action) = newBuffer();
3995 bufferWriteString((yyval.action), "_level", 7);
3996 bufferConcat((yyval.action), (yyvsp[(1) - (1)].action));
3997 bufferWriteOp((yyval.action), SWFACTION_STRINGCONCAT); ;}
4001 #line 663 "swf5compiler.y"
4002 { (yyval.action) = (yyvsp[(3) - (4)].exprlist).buffer;
4003 bufferWriteInt((yyval.action), (yyvsp[(3) - (4)].exprlist).count);
4004 bufferWriteString((yyval.action), (yyvsp[(1) - (4)].str), strlen((yyvsp[(1) - (4)].str))+1);
4005 bufferWriteOp((yyval.action), SWFACTION_CALLFUNCTION);
4006 bufferWriteOp((yyval.action), SWFACTION_POP);
4007 free((yyvsp[(1) - (4)].str)); ;}
4011 #line 671 "swf5compiler.y"
4012 { (yyval.action) = newBuffer();
4013 bufferWriteString((yyval.action), (yyvsp[(2) - (2)].str), strlen((yyvsp[(2) - (2)].str))+1);
4014 free((yyvsp[(2) - (2)].str));
4015 bufferWriteOp((yyval.action), SWFACTION_DELETE); ;}
4019 #line 677 "swf5compiler.y"
4020 { (yyval.action) = (yyvsp[(2) - (4)].action);
4021 // bufferWriteOp($$, SWFACTION_GETVARIABLE);
4022 bufferWriteString((yyval.action), (yyvsp[(4) - (4)].str), strlen((yyvsp[(4) - (4)].str))+1);
4023 free((yyvsp[(4) - (4)].str));
4024 bufferWriteOp((yyval.action), SWFACTION_DELETEVAR); ;}
4028 #line 684 "swf5compiler.y"
4029 { (yyval.action) = (yyvsp[(2) - (5)].action);
4030 // bufferWriteOp($$, SWFACTION_GETVARIABLE);
4031 bufferConcat((yyval.action), (yyvsp[(4) - (5)].action));
4032 // bufferWriteOp($$, SWFACTION_GETVARIABLE);
4033 bufferWriteOp((yyval.action), SWFACTION_DELETEVAR); ;}
4037 #line 691 "swf5compiler.y"
4038 { (yyval.action) = (yyvsp[(3) - (4)].action);
4039 bufferWriteOp((yyval.action), SWFACTION_TRACE); ;}
4043 #line 695 "swf5compiler.y"
4044 { (yyval.action) = (yyvsp[(3) - (7)].action);
4045 bufferConcat((yyval.action), (yyvsp[(5) - (7)].action));
4046 bufferWriteOp((yyval.action), SWFACTION_GETURL2);
4047 bufferWriteS16((yyval.action), 1);
4048 bufferWriteU8((yyval.action), (yyvsp[(6) - (7)].getURLMethod)); ;}
4052 #line 702 "swf5compiler.y"
4053 { (yyval.action) = (yyvsp[(3) - (7)].action);
4054 bufferConcat((yyval.action), (yyvsp[(5) - (7)].action));
4055 bufferWriteOp((yyval.action), SWFACTION_GETURL2);
4056 bufferWriteS16((yyval.action), 1);
4057 bufferWriteU8((yyval.action), 0xc0+(yyvsp[(6) - (7)].getURLMethod)); ;}
4061 #line 709 "swf5compiler.y"
4062 { (yyval.action) = (yyvsp[(3) - (7)].action);
4063 bufferConcat((yyval.action), (yyvsp[(5) - (7)].action));
4064 bufferWriteOp((yyval.action), SWFACTION_GETURL2);
4065 bufferWriteS16((yyval.action), 1);
4066 bufferWriteU8((yyval.action), 0x80+(yyvsp[(6) - (7)].getURLMethod)); ;}
4070 #line 716 "swf5compiler.y"
4071 { (yyval.action) = (yyvsp[(3) - (7)].action);
4072 bufferConcat((yyval.action), (yyvsp[(5) - (7)].action));
4073 bufferWriteOp((yyval.action), SWFACTION_GETURL2);
4074 bufferWriteS16((yyval.action), 1);
4075 bufferWriteU8((yyval.action), 0x40+(yyvsp[(6) - (7)].getURLMethod)); ;}
4079 #line 723 "swf5compiler.y"
4080 { (yyval.action) = (yyvsp[(3) - (7)].action);
4081 bufferConcat((yyval.action), (yyvsp[(5) - (7)].action));
4082 bufferWriteOp((yyval.action), SWFACTION_GETURL2);
4083 bufferWriteS16((yyval.action), 1);
4084 bufferWriteU8((yyval.action), (yyvsp[(6) - (7)].getURLMethod)); ;}
4088 #line 730 "swf5compiler.y"
4089 { (yyval.action) = (yyvsp[(3) - (4)].action);
4090 bufferWriteOp((yyval.action), SWFACTION_CALLFRAME);
4091 bufferWriteS16((yyval.action), 0); ;}
4095 #line 736 "swf5compiler.y"
4096 { (yyval.action) = newBuffer();
4097 bufferWriteString((yyval.action), "0", 2); /* no constraint */
4098 bufferConcat((yyval.action), (yyvsp[(5) - (6)].action));
4099 bufferConcat((yyval.action), (yyvsp[(3) - (6)].action));
4100 bufferWriteOp((yyval.action), SWFACTION_STARTDRAGMOVIE); ;}
4104 #line 743 "swf5compiler.y"
4105 { (yyval.action) = newBuffer();
4106 bufferConcat((yyval.action), (yyvsp[(7) - (14)].action));
4107 bufferConcat((yyval.action), (yyvsp[(11) - (14)].action));
4108 bufferConcat((yyval.action), (yyvsp[(9) - (14)].action));
4109 bufferConcat((yyval.action), (yyvsp[(13) - (14)].action));
4110 bufferWriteString((yyval.action), "1", 2); /* has constraint */
4111 bufferConcat((yyval.action), (yyvsp[(5) - (14)].action));
4112 bufferConcat((yyval.action), (yyvsp[(3) - (14)].action));
4113 bufferWriteOp((yyval.action), SWFACTION_STARTDRAGMOVIE); ;}
4117 #line 754 "swf5compiler.y"
4118 { (yyval.action) = newBuffer();
4119 bufferWriteOp((yyval.action), SWFACTION_STOPDRAGMOVIE); ;}
4123 #line 759 "swf5compiler.y"
4124 { (yyval.action) = (yyvsp[(3) - (8)].action);
4125 bufferConcat((yyval.action), (yyvsp[(5) - (8)].action));
4126 bufferConcat((yyval.action), (yyvsp[(7) - (8)].action));
4127 bufferWriteInt((yyval.action), 16384); /* magic number */
4128 bufferWriteOp((yyval.action), SWFACTION_ADD);
4129 bufferWriteOp((yyval.action), SWFACTION_DUPLICATECLIP); ;}
4133 #line 767 "swf5compiler.y"
4134 { (yyval.action) = (yyvsp[(3) - (4)].action);
4135 bufferWriteOp((yyval.action), SWFACTION_REMOVECLIP); ;}
4139 #line 771 "swf5compiler.y"
4140 { (yyval.action) = newBuffer();
4141 bufferWriteOp((yyval.action), SWFACTION_GETURL);
4142 bufferWriteS16((yyval.action), strlen((yyvsp[(3) - (6)].str)) + strlen((yyvsp[(5) - (6)].str)) + 2);
4143 bufferWriteHardString((yyval.action), (byte*)(yyvsp[(3) - (6)].str), strlen((yyvsp[(3) - (6)].str)));
4144 bufferWriteU8((yyval.action), 0);
4145 bufferWriteHardString((yyval.action), (byte*)(yyvsp[(5) - (6)].str), strlen((yyvsp[(5) - (6)].str)));
4146 bufferWriteU8((yyval.action), 0); ;}
4150 #line 781 "swf5compiler.y"
4151 { (yyval.action) = newBuffer();
4152 bufferWriteOp((yyval.action), SWFACTION_NEXTFRAME); ;}
4156 #line 785 "swf5compiler.y"
4157 { (yyval.action) = newBuffer();
4158 bufferWriteOp((yyval.action), SWFACTION_PREVFRAME); ;}
4162 #line 789 "swf5compiler.y"
4163 { (yyval.action) = newBuffer();
4164 bufferWriteOp((yyval.action), SWFACTION_PLAY); ;}
4168 #line 793 "swf5compiler.y"
4169 { (yyval.action) = newBuffer();
4170 bufferWriteOp((yyval.action), SWFACTION_STOP); ;}
4174 #line 797 "swf5compiler.y"
4175 { (yyval.action) = newBuffer();
4176 bufferWriteOp((yyval.action), SWFACTION_STOPSOUNDS); ;}
4180 #line 801 "swf5compiler.y"
4181 { (yyval.action) = newBuffer();
4182 bufferWriteOp((yyval.action), SWFACTION_TOGGLEQUALITY); ;}
4186 #line 805 "swf5compiler.y"
4187 { (yyval.action) = newBuffer();
4188 bufferWriteOp((yyval.action), SWFACTION_GOTOFRAME);
4189 bufferWriteS16((yyval.action), 2);
4190 bufferWriteS16((yyval.action), (yyvsp[(3) - (4)].intVal)); ;}
4194 #line 811 "swf5compiler.y"
4195 { (yyval.action) = newBuffer();
4196 bufferWriteOp((yyval.action), SWFACTION_GOTOLABEL);
4197 bufferWriteS16((yyval.action), strlen((yyvsp[(3) - (4)].str))+1);
4198 bufferWriteHardString((yyval.action), (byte*)(yyvsp[(3) - (4)].str), strlen((yyvsp[(3) - (4)].str))+1);
4199 free((yyvsp[(3) - (4)].str)); ;}
4203 #line 818 "swf5compiler.y"
4204 { (yyval.action) = (yyvsp[(3) - (4)].action);
4205 bufferWriteOp((yyval.action), SWFACTION_GOTOEXPRESSION);
4206 bufferWriteS16((yyval.action), 1);
4207 bufferWriteU8((yyval.action), 0); ;}
4211 #line 824 "swf5compiler.y"
4212 { (yyval.action) = newBuffer();
4213 bufferWriteOp((yyval.action), SWFACTION_SETTARGET);
4214 bufferWriteS16((yyval.action), strlen((yyvsp[(3) - (4)].str))+1);
4215 bufferWriteHardString((yyval.action), (byte*)(yyvsp[(3) - (4)].str), strlen((yyvsp[(3) - (4)].str))+1);
4216 free((yyvsp[(3) - (4)].str)); ;}
4220 #line 831 "swf5compiler.y"
4221 { (yyval.action) = (yyvsp[(3) - (4)].action);
4222 bufferWriteOp((yyval.action), SWFACTION_SETTARGETEXPRESSION); ;}
4226 #line 840 "swf5compiler.y"
4227 { (yyval.action) = (yyvsp[(3) - (4)].exprlist).buffer;
4228 bufferWriteInt((yyval.action), (yyvsp[(3) - (4)].exprlist).count);
4229 bufferWriteString((yyval.action), (yyvsp[(1) - (4)].str), strlen((yyvsp[(1) - (4)].str))+1);
4230 bufferWriteOp((yyval.action), SWFACTION_CALLFUNCTION);
4231 free((yyvsp[(1) - (4)].str)); ;}
4235 #line 847 "swf5compiler.y"
4236 { (yyval.action) = (yyvsp[(3) - (4)].action);
4237 bufferWriteOp((yyval.action), SWFACTION_GETVARIABLE); ;}
4241 #line 851 "swf5compiler.y"
4242 { (yyval.action) = newBuffer();
4243 bufferWriteOp((yyval.action), SWFACTION_GETTIMER); ;}
4247 #line 855 "swf5compiler.y"
4248 { (yyval.action) = (yyvsp[(3) - (4)].action);
4249 bufferWriteOp((yyval.action), SWFACTION_RANDOM); ;}
4253 #line 859 "swf5compiler.y"
4254 { (yyval.action) = (yyvsp[(3) - (4)].action);
4255 bufferWriteOp((yyval.action), SWFACTION_STRINGLENGTH); ;}
4259 #line 863 "swf5compiler.y"
4260 { (yyval.action) = (yyvsp[(3) - (4)].action);
4261 bufferWriteOp((yyval.action), SWFACTION_INT); ;}
4265 #line 867 "swf5compiler.y"
4266 { (yyval.action) = (yyvsp[(3) - (4)].action);
4267 bufferWriteOp((yyval.action), SWFACTION_ORD); ;}
4271 #line 871 "swf5compiler.y"
4272 { (yyval.action) = (yyvsp[(3) - (4)].action);
4273 bufferWriteOp((yyval.action), SWFACTION_CHR); ;}
4277 #line 875 "swf5compiler.y"
4278 { (yyval.action) = (yyvsp[(3) - (6)].action);
4279 bufferConcat((yyval.action), (yyvsp[(5) - (6)].action));
4280 bufferWriteOp((yyval.action), SWFACTION_STRINGCONCAT); ;}
4284 #line 880 "swf5compiler.y"
4285 { (yyval.action) = (yyvsp[(3) - (8)].action);
4286 bufferConcat((yyval.action), (yyvsp[(5) - (8)].action));
4287 bufferConcat((yyval.action), (yyvsp[(7) - (8)].action));
4288 bufferWriteOp((yyval.action), SWFACTION_SUBSTRING); ;}
4292 #line 886 "swf5compiler.y"
4293 { (yyval.action) = (yyvsp[(3) - (4)].action);
4294 bufferWriteOp((yyval.action), SWFACTION_TYPEOF); ;}
4298 #line 894 "swf5compiler.y"
4299 { (yyval.exprlist).buffer = newBuffer();
4300 (yyval.exprlist).count = 0; ;}
4304 #line 898 "swf5compiler.y"
4305 { (yyval.exprlist).buffer = (yyvsp[(1) - (1)].action);
4306 (yyval.exprlist).count = 1; ;}
4310 #line 903 "swf5compiler.y"
4311 { Buffer tmp = newBuffer();
4312 bufferConcat(tmp, (yyvsp[(3) - (3)].action));
4313 bufferConcat(tmp, (yyval.exprlist).buffer);
4314 (yyval.exprlist).buffer = tmp;
4315 ++(yyval.exprlist).count; ;}
4319 #line 912 "swf5compiler.y"
4320 { (yyval.action) = newBuffer();
4321 bufferWriteOp((yyval.action), SWFACTION_DEFINEFUNCTION);
4322 bufferWriteS16((yyval.action), bufferLength((yyvsp[(3) - (5)].exprlist).buffer) + 5);
4323 bufferWriteU8((yyval.action), 0); /* empty function name */
4324 bufferWriteS16((yyval.action), (yyvsp[(3) - (5)].exprlist).count);
4325 bufferConcat((yyval.action), (yyvsp[(3) - (5)].exprlist).buffer);
4326 bufferWriteS16((yyval.action), bufferLength((yyvsp[(5) - (5)].action)));
4327 bufferConcat((yyval.action), (yyvsp[(5) - (5)].action));
4328 delctx(CTX_FUNCTION); ;}
4332 #line 925 "swf5compiler.y"
4333 { (yyval.action) = (yyvsp[(5) - (6)].exprlist).buffer;
4334 bufferWriteInt((yyval.action), (yyvsp[(5) - (6)].exprlist).count);
4335 bufferConcat((yyval.action), (yyvsp[(1) - (6)].action));
4336 bufferWriteString((yyval.action), (yyvsp[(3) - (6)].str), strlen((yyvsp[(3) - (6)].str))+1);
4337 bufferWriteOp((yyval.action), SWFACTION_CALLMETHOD);
4338 free((yyvsp[(3) - (6)].str)); ;}
4342 #line 933 "swf5compiler.y"
4343 { (yyval.action) = (yyvsp[(6) - (7)].exprlist).buffer;
4344 bufferWriteInt((yyval.action), (yyvsp[(6) - (7)].exprlist).count);
4345 bufferConcat((yyval.action), (yyvsp[(1) - (7)].action));
4346 bufferConcat((yyval.action), (yyvsp[(3) - (7)].action));
4347 bufferWriteOp((yyval.action), SWFACTION_CALLMETHOD); ;}
4351 #line 942 "swf5compiler.y"
4352 { (yyval.action) = newBuffer();
4353 bufferWriteString((yyval.action), (yyvsp[(1) - (3)].str), strlen((yyvsp[(1) - (3)].str))+1);
4354 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action)); ;}
4358 #line 949 "swf5compiler.y"
4359 { (yyval.exprlist).buffer = (yyvsp[(1) - (1)].action);
4360 (yyval.exprlist).count = 1; ;}
4364 #line 953 "swf5compiler.y"
4365 { bufferConcat((yyval.exprlist).buffer, (yyvsp[(3) - (3)].action));
4366 ++(yyval.exprlist).count; ;}
4370 #line 958 "swf5compiler.y"
4371 { (yyval.op) = SWFACTION_NEWADD; ;}
4375 #line 959 "swf5compiler.y"
4376 { (yyval.op) = SWFACTION_SUBTRACT; ;}
4380 #line 960 "swf5compiler.y"
4381 { (yyval.op) = SWFACTION_MULTIPLY; ;}
4385 #line 961 "swf5compiler.y"
4386 { (yyval.op) = SWFACTION_DIVIDE; ;}
4390 #line 962 "swf5compiler.y"
4391 { (yyval.op) = SWFACTION_MODULO; ;}
4395 #line 963 "swf5compiler.y"
4396 { (yyval.op) = SWFACTION_BITWISEAND; ;}
4400 #line 964 "swf5compiler.y"
4401 { (yyval.op) = SWFACTION_BITWISEOR; ;}
4405 #line 965 "swf5compiler.y"
4406 { (yyval.op) = SWFACTION_BITWISEXOR; ;}
4410 #line 966 "swf5compiler.y"
4411 { (yyval.op) = SWFACTION_SHIFTLEFT; ;}
4415 #line 967 "swf5compiler.y"
4416 { (yyval.op) = SWFACTION_SHIFTRIGHT; ;}
4420 #line 968 "swf5compiler.y"
4421 { (yyval.op) = SWFACTION_SHIFTRIGHT2; ;}
4425 #line 972 "swf5compiler.y"
4426 { (yyval.op) = SWFACTION_INCREMENT; ;}
4430 #line 973 "swf5compiler.y"
4431 { (yyval.op) = SWFACTION_DECREMENT; ;}
4435 #line 992 "swf5compiler.y"
4436 { if((yyvsp[(1) - (1)].lval).obj)
4438 (yyval.action) = (yyvsp[(1) - (1)].lval).obj;
4440 if((yyvsp[(1) - (1)].lval).ident)
4441 bufferConcat((yyval.action), (yyvsp[(1) - (1)].lval).ident);
4443 bufferConcat((yyval.action), (yyvsp[(1) - (1)].lval).memexpr);
4445 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER);
4449 (yyval.action) = (yyvsp[(1) - (1)].lval).ident;
4450 bufferWriteOp((yyval.action), SWFACTION_GETVARIABLE);
4456 #line 1016 "swf5compiler.y"
4457 { (yyval.lval).ident = newBuffer();
4458 bufferWriteString((yyval.lval).ident, (yyvsp[(1) - (1)].str), strlen((yyvsp[(1) - (1)].str))+1);
4459 free((yyvsp[(1) - (1)].str));
4460 (yyval.lval).obj = 0;
4461 (yyval.lval).memexpr = 0; ;}
4465 #line 1023 "swf5compiler.y"
4466 { (yyval.lval).obj = (yyvsp[(1) - (3)].action);
4467 (yyval.lval).ident = newBuffer();
4468 bufferWriteString((yyval.lval).ident, (yyvsp[(3) - (3)].str), strlen((yyvsp[(3) - (3)].str))+1);
4469 (yyval.lval).memexpr = 0; ;}
4473 #line 1029 "swf5compiler.y"
4474 { (yyval.lval).obj = (yyvsp[(1) - (4)].action);
4475 (yyval.lval).memexpr = (yyvsp[(3) - (4)].action);
4476 (yyval.lval).ident = 0; ;}
4480 #line 1040 "swf5compiler.y"
4481 { (yyval.action) = (yyvsp[(2) - (2)].action);
4482 bufferWriteInt((yyvsp[(2) - (2)].action), -1);
4483 bufferWriteOp((yyvsp[(2) - (2)].action), SWFACTION_MULTIPLY); ;}
4487 #line 1045 "swf5compiler.y"
4488 { (yyval.action) = (yyvsp[(2) - (2)].action);
4489 bufferWriteInt((yyvsp[(2) - (2)].action), 0xffffffff);
4490 bufferWriteOp((yyvsp[(2) - (2)].action), SWFACTION_BITWISEXOR); ;}
4494 #line 1050 "swf5compiler.y"
4495 { (yyval.action) = (yyvsp[(2) - (2)].action);
4496 bufferWriteOp((yyvsp[(2) - (2)].action), SWFACTION_LOGICALNOT); ;}
4500 #line 1054 "swf5compiler.y"
4501 { (yyval.action) = (yyvsp[(1) - (3)].action);
4502 bufferWriteOp((yyval.action), SWFACTION_DUP);
4503 bufferWriteOp((yyval.action), SWFACTION_BRANCHIFTRUE);
4504 bufferWriteS16((yyval.action), 2);
4505 bufferWriteS16((yyval.action), bufferLength((yyvsp[(3) - (3)].action))+1);
4506 bufferWriteOp((yyval.action), SWFACTION_POP);
4507 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action)); ;}
4511 #line 1063 "swf5compiler.y"
4512 { (yyval.action) = (yyvsp[(1) - (3)].action);
4513 bufferWriteOp((yyval.action), SWFACTION_DUP);
4514 bufferWriteOp((yyval.action), SWFACTION_LOGICALNOT);
4515 bufferWriteOp((yyval.action), SWFACTION_BRANCHIFTRUE);
4516 bufferWriteS16((yyval.action), 2);
4517 bufferWriteS16((yyval.action), bufferLength((yyvsp[(3) - (3)].action))+1);
4518 bufferWriteOp((yyval.action), SWFACTION_POP);
4519 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action)); ;}
4523 #line 1073 "swf5compiler.y"
4524 { (yyval.action) = (yyvsp[(1) - (3)].action);
4525 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4526 bufferWriteOp((yyval.action), SWFACTION_MULTIPLY); ;}
4530 #line 1078 "swf5compiler.y"
4531 { (yyval.action) = (yyvsp[(1) - (3)].action);
4532 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4533 bufferWriteOp((yyval.action), SWFACTION_DIVIDE); ;}
4537 #line 1083 "swf5compiler.y"
4538 { (yyval.action) = (yyvsp[(1) - (3)].action);
4539 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4540 bufferWriteOp((yyval.action), SWFACTION_MODULO); ;}
4544 #line 1088 "swf5compiler.y"
4545 { (yyval.action) = (yyvsp[(1) - (3)].action);
4546 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4547 bufferWriteOp((yyval.action), SWFACTION_NEWADD); ;}
4551 #line 1093 "swf5compiler.y"
4552 { (yyval.action) = (yyvsp[(1) - (3)].action);
4553 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4554 bufferWriteOp((yyval.action), SWFACTION_SUBTRACT); ;}
4558 #line 1098 "swf5compiler.y"
4559 { (yyval.action) = (yyvsp[(1) - (3)].action);
4560 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4561 bufferWriteOp((yyval.action), SWFACTION_BITWISEAND); ;}
4565 #line 1103 "swf5compiler.y"
4566 { (yyval.action) = (yyvsp[(1) - (3)].action);
4567 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4568 bufferWriteOp((yyval.action), SWFACTION_BITWISEOR); ;}
4572 #line 1108 "swf5compiler.y"
4573 { (yyval.action) = (yyvsp[(1) - (3)].action);
4574 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4575 bufferWriteOp((yyval.action), SWFACTION_BITWISEXOR); ;}
4579 #line 1113 "swf5compiler.y"
4580 { (yyval.action) = (yyvsp[(1) - (3)].action);
4581 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4582 bufferWriteOp((yyval.action), SWFACTION_NEWLESSTHAN); ;}
4586 #line 1118 "swf5compiler.y"
4587 { (yyval.action) = (yyvsp[(3) - (3)].action);
4588 bufferConcat((yyval.action), (yyvsp[(1) - (3)].action));
4589 bufferWriteOp((yyval.action), SWFACTION_NEWLESSTHAN); ;}
4593 #line 1123 "swf5compiler.y"
4594 { (yyval.action) = (yyvsp[(3) - (3)].action);
4595 bufferConcat((yyval.action), (yyvsp[(1) - (3)].action));
4596 bufferWriteOp((yyval.action), SWFACTION_NEWLESSTHAN);
4597 bufferWriteOp((yyval.action), SWFACTION_LOGICALNOT); ;}
4601 #line 1129 "swf5compiler.y"
4602 { bufferConcat((yyvsp[(1) - (3)].action), (yyvsp[(3) - (3)].action));
4603 bufferWriteOp((yyvsp[(1) - (3)].action), SWFACTION_NEWLESSTHAN);
4604 bufferWriteOp((yyvsp[(1) - (3)].action), SWFACTION_LOGICALNOT); ;}
4608 #line 1134 "swf5compiler.y"
4609 { bufferConcat((yyvsp[(1) - (3)].action), (yyvsp[(3) - (3)].action));
4610 bufferWriteOp((yyvsp[(1) - (3)].action), SWFACTION_NEWEQUALS); ;}
4614 #line 1138 "swf5compiler.y"
4615 { bufferConcat((yyvsp[(1) - (3)].action), (yyvsp[(3) - (3)].action));
4616 bufferWriteOp((yyvsp[(1) - (3)].action), SWFACTION_NEWEQUALS);
4617 bufferWriteOp((yyvsp[(1) - (3)].action), SWFACTION_LOGICALNOT); ;}
4621 #line 1143 "swf5compiler.y"
4622 { bufferConcat((yyvsp[(1) - (3)].action), (yyvsp[(3) - (3)].action));
4623 bufferWriteOp((yyvsp[(1) - (3)].action), SWFACTION_SHIFTLEFT); ;}
4627 #line 1147 "swf5compiler.y"
4628 { bufferConcat((yyvsp[(1) - (3)].action), (yyvsp[(3) - (3)].action));
4629 bufferWriteOp((yyvsp[(1) - (3)].action), SWFACTION_SHIFTRIGHT); ;}
4633 #line 1151 "swf5compiler.y"
4634 { bufferConcat((yyvsp[(1) - (3)].action), (yyvsp[(3) - (3)].action));
4635 bufferWriteOp((yyvsp[(1) - (3)].action), SWFACTION_SHIFTRIGHT2); ;}
4639 #line 1155 "swf5compiler.y"
4640 { bufferWriteOp((yyvsp[(1) - (5)].action), SWFACTION_BRANCHIFTRUE);
4641 bufferWriteS16((yyvsp[(1) - (5)].action), 2);
4642 bufferWriteS16((yyvsp[(1) - (5)].action), bufferLength((yyvsp[(5) - (5)].action))+5);
4643 bufferConcat((yyvsp[(1) - (5)].action), (yyvsp[(5) - (5)].action));
4644 bufferWriteOp((yyvsp[(1) - (5)].action), SWFACTION_BRANCHALWAYS);
4645 bufferWriteS16((yyvsp[(1) - (5)].action), 2);
4646 bufferWriteS16((yyvsp[(1) - (5)].action), bufferLength((yyvsp[(3) - (5)].action)));
4647 bufferConcat((yyvsp[(1) - (5)].action), (yyvsp[(3) - (5)].action)); ;}
4651 #line 1165 "swf5compiler.y"
4652 { if((yyvsp[(1) - (3)].lval).obj) /* obj[memexpr] or obj.ident */
4654 (yyval.action) = (yyvsp[(1) - (3)].lval).obj;
4656 if((yyvsp[(1) - (3)].lval).ident)
4657 bufferConcat((yyval.action), (yyvsp[(1) - (3)].lval).ident);
4659 bufferConcat((yyval.action), (yyvsp[(1) - (3)].lval).memexpr);
4661 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4662 bufferWriteSetRegister((yyval.action), 0);
4663 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER);
4664 bufferWriteRegister((yyval.action), 0);
4666 else /* just ident */
4668 (yyval.action) = (yyvsp[(3) - (3)].action);
4669 bufferWriteOp((yyval.action), SWFACTION_DUP);
4670 bufferConcat((yyval.action), (yyvsp[(1) - (3)].lval).ident);
4671 bufferWriteOp((yyval.action), SWFACTION_SWAP);
4672 bufferWriteOp((yyval.action), SWFACTION_SETVARIABLE);
4674 /* tricky case missing here: lvalue ASSIGN expr */
4675 /* like in x = y += z; */
4680 #line 1192 "swf5compiler.y"
4681 { (yyval.action) = (yyvsp[(1) - (3)].action);
4682 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4683 bufferWriteOp((yyval.action), SWFACTION_INSTANCEOF); ;}
4687 #line 1202 "swf5compiler.y"
4688 { (yyval.action) = newBuffer();
4689 bufferWriteInt((yyval.action), 0);
4690 bufferWriteString((yyval.action), (yyvsp[(2) - (2)].str), strlen((yyvsp[(2) - (2)].str))+1);
4691 bufferWriteOp((yyval.action), SWFACTION_NEW); ;}
4695 #line 1208 "swf5compiler.y"
4696 { (yyval.action) = (yyvsp[(4) - (5)].exprlist).buffer;
4697 bufferWriteInt((yyval.action), (yyvsp[(4) - (5)].exprlist).count);
4698 bufferWriteString((yyval.action), (yyvsp[(2) - (5)].str), strlen((yyvsp[(2) - (5)].str))+1);
4699 bufferWriteOp((yyval.action), SWFACTION_NEW); ;}
4703 #line 1214 "swf5compiler.y"
4704 { (yyval.action) = (yyvsp[(2) - (3)].exprlist).buffer;
4705 bufferWriteInt((yyval.action), (yyvsp[(2) - (3)].exprlist).count);
4706 bufferWriteOp((yyval.action), SWFACTION_INITARRAY); ;}
4710 #line 1219 "swf5compiler.y"
4711 { (yyval.action) = newBuffer();
4712 bufferWriteInt((yyval.action), 0);
4713 bufferWriteOp((yyval.action), SWFACTION_INITOBJECT); ;}
4717 #line 1224 "swf5compiler.y"
4718 { (yyval.action) = (yyvsp[(2) - (3)].exprlist).buffer;
4719 bufferWriteInt((yyval.action), (yyvsp[(2) - (3)].exprlist).count);
4720 bufferWriteOp((yyval.action), SWFACTION_INITOBJECT); ;}
4724 #line 1240 "swf5compiler.y"
4725 { if((yyvsp[(2) - (2)].lval).obj)
4727 if((yyvsp[(2) - (2)].lval).ident) // expr . identifier
4729 (yyval.action) = (yyvsp[(2) - (2)].lval).obj;
4730 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, a */
4731 bufferWriteBuffer((yyval.action), (yyvsp[(2) - (2)].lval).ident); /* a, a, i */
4732 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i, a */
4733 bufferConcat((yyval.action), (yyvsp[(2) - (2)].lval).ident); /* a, i, a, i */
4734 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER);
4735 bufferWriteOp((yyval.action), (yyvsp[(1) - (2)].op));
4736 bufferWriteSetRegister((yyval.action), 0);
4737 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER); /* a.i = a.i+1 */
4738 bufferWriteRegister((yyval.action), 0); /* a.i+1 */
4740 else // expr [ expr ]
4742 (yyval.action) = (yyvsp[(2) - (2)].lval).memexpr; /* i */
4743 bufferConcat((yyval.action), (yyvsp[(2) - (2)].lval).obj); /* i, a */
4744 bufferWriteSetRegister((yyval.action), 0); /* ($2.memexpr can use reg0) */
4745 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i */
4746 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, i, i */
4747 bufferWriteRegister((yyval.action), 0); /* a, i, i, a */
4748 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i, a, i */
4749 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); /* a, i, a[i] */
4750 bufferWriteOp((yyval.action), (yyvsp[(1) - (2)].op)); /* a, i, a[i]+1 */
4751 bufferWriteSetRegister((yyval.action), 0);
4752 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER); /* a[i] = a[i]+1 */
4753 bufferWriteRegister((yyval.action), 0); /* a[i]+1 */
4758 (yyval.action) = newBuffer();
4759 bufferWriteBuffer((yyval.action), (yyvsp[(2) - (2)].lval).ident);
4760 bufferWriteOp((yyval.action), SWFACTION_GETVARIABLE);
4761 bufferWriteOp((yyval.action), (yyvsp[(1) - (2)].op));
4762 bufferWriteOp((yyval.action), SWFACTION_DUP);
4763 bufferConcat((yyval.action), (yyvsp[(2) - (2)].lval).ident);
4764 bufferWriteOp((yyval.action), SWFACTION_SWAP);
4765 bufferWriteOp((yyval.action), SWFACTION_SETVARIABLE);
4771 #line 1285 "swf5compiler.y"
4772 { if((yyvsp[(1) - (2)].lval).obj)
4774 if((yyvsp[(1) - (2)].lval).ident)
4776 (yyval.action) = (yyvsp[(1) - (2)].lval).obj; /* a */
4777 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, a */
4778 bufferWriteBuffer((yyval.action), (yyvsp[(1) - (2)].lval).ident); /* a, a, i */
4779 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); /* a, a.i */
4780 bufferWriteSetRegister((yyval.action), 0);
4781 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a.i, a */
4782 bufferConcat((yyval.action), (yyvsp[(1) - (2)].lval).ident); /* a.i, a, i */
4783 bufferWriteRegister((yyval.action), 0); /* a.i, a, i, a.i */
4784 bufferWriteOp((yyval.action), (yyvsp[(2) - (2)].op)); /* a.i, a, i, a.i+1 */
4785 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER);
4789 (yyval.action) = (yyvsp[(1) - (2)].lval).memexpr;
4790 bufferConcat((yyval.action), (yyvsp[(1) - (2)].lval).obj); /* i, a */
4791 bufferWriteSetRegister((yyval.action), 0);
4792 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i */
4793 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, i, i */
4794 bufferWriteRegister((yyval.action), 0); /* a, i, i, a */
4795 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i, a, i */
4796 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); /* a, i, a[i] */
4797 bufferWriteSetRegister((yyval.action), 0);
4798 bufferWriteOp((yyval.action), (yyvsp[(2) - (2)].op)); /* a, i, a[i]+1 */
4799 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER);
4800 bufferWriteRegister((yyval.action), 0); /* a[i] */
4805 (yyval.action) = newBuffer();
4806 bufferWriteBuffer((yyval.action), (yyvsp[(1) - (2)].lval).ident);
4807 bufferWriteOp((yyval.action), SWFACTION_GETVARIABLE);
4808 bufferWriteOp((yyval.action), SWFACTION_DUP);
4809 bufferWriteOp((yyval.action), (yyvsp[(2) - (2)].op));
4810 bufferConcat((yyval.action), (yyvsp[(1) - (2)].lval).ident);
4811 bufferWriteOp((yyval.action), SWFACTION_SWAP);
4812 bufferWriteOp((yyval.action), SWFACTION_SETVARIABLE);
4818 #line 1330 "swf5compiler.y"
4819 { (yyval.action) = (yyvsp[(2) - (3)].action); ;}
4823 #line 1333 "swf5compiler.y"
4824 { (yyval.action) = newBuffer();
4825 bufferWriteInt((yyval.action), -(yyvsp[(2) - (2)].intVal)); ;}
4829 #line 1337 "swf5compiler.y"
4830 { (yyval.action) = newBuffer();
4831 bufferWriteInt((yyval.action), (yyvsp[(1) - (1)].intVal)); ;}
4835 #line 1341 "swf5compiler.y"
4836 { (yyval.action) = newBuffer();
4837 bufferWriteDouble((yyval.action), -(yyvsp[(2) - (2)].doubleVal)); ;}
4841 #line 1345 "swf5compiler.y"
4842 { (yyval.action) = newBuffer();
4843 bufferWriteDouble((yyval.action), (yyvsp[(1) - (1)].doubleVal)); ;}
4847 #line 1349 "swf5compiler.y"
4848 { (yyval.action) = newBuffer();
4849 bufferWriteBoolean((yyval.action), (yyvsp[(1) - (1)].intVal)); ;}
4853 #line 1353 "swf5compiler.y"
4854 { (yyval.action) = newBuffer();
4855 bufferWriteNull((yyval.action)); ;}
4859 #line 1357 "swf5compiler.y"
4860 { (yyval.action) = newBuffer();
4861 bufferWriteString((yyval.action), (yyvsp[(1) - (1)].str), strlen((yyvsp[(1) - (1)].str))+1);
4862 free((yyvsp[(1) - (1)].str)); ;}
4866 #line 1366 "swf5compiler.y"
4867 { (yyval.action) = (yyvsp[(1) - (3)].action);
4868 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action)); ;}
4872 #line 1372 "swf5compiler.y"
4873 { (yyval.action) = newBuffer();
4874 bufferWriteString((yyval.action), (yyvsp[(1) - (3)].str), strlen((yyvsp[(1) - (3)].str))+1);
4875 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
4876 bufferWriteOp((yyval.action), SWFACTION_VAREQUALS); ;}
4880 #line 1378 "swf5compiler.y"
4881 { (yyval.action) = newBuffer();
4882 bufferWriteString((yyval.action), (yyvsp[(1) - (1)].str), strlen((yyvsp[(1) - (1)].str))+1);
4883 bufferWriteOp((yyval.action), SWFACTION_VAR); ;}
4887 #line 1385 "swf5compiler.y"
4888 { asmBuffer = newBuffer(); ;}
4892 #line 1387 "swf5compiler.y"
4893 { (yyval.action) = asmBuffer; ;}
4897 #line 1390 "swf5compiler.y"
4898 { (yyval.action) = (yyvsp[(2) - (2)].action); ;}
4902 #line 1395 "swf5compiler.y"
4903 { (yyval.action) = (yyvsp[(1) - (1)].action);
4904 bufferWriteOp((yyval.action), SWFACTION_POP); ;}
4908 #line 1399 "swf5compiler.y"
4909 { (yyval.action) = (yyvsp[(1) - (1)].action);
4910 bufferWriteOp((yyval.action), SWFACTION_POP); ;}
4914 #line 1403 "swf5compiler.y"
4915 { if((yyvsp[(2) - (2)].lval).obj)
4917 if((yyvsp[(2) - (2)].lval).ident)
4919 (yyval.action) = (yyvsp[(2) - (2)].lval).obj; /* a */
4920 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, a */
4921 bufferWriteBuffer((yyval.action), (yyvsp[(2) - (2)].lval).ident); /* a, a, i */
4922 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); /* a, a.i */
4923 bufferWriteOp((yyval.action), (yyvsp[(1) - (2)].op)); /* a, a.i+1 */
4924 bufferConcat((yyval.action), (yyvsp[(2) - (2)].lval).ident); /* a, a.i+1, i */
4925 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i, a.i+1 */
4926 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER); /* a.i = a.i+1 */
4930 /* weird contortions so that $2.memexpr can use reg 0 */
4931 (yyval.action) = (yyvsp[(2) - (2)].lval).memexpr; /* i */
4932 bufferConcat((yyval.action), (yyvsp[(2) - (2)].lval).obj); /* i, a */
4933 bufferWriteSetRegister((yyval.action), 0);
4934 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i */
4935 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, i, i */
4936 bufferWriteRegister((yyval.action), 0); /* a, i, i, a */
4937 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i, a, i */
4938 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); /* a, i, a[i] */
4939 bufferWriteOp((yyval.action), (yyvsp[(1) - (2)].op)); /* a, i, a[i]+1 */
4940 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER); /* a[i] = a[i]+1 */
4945 (yyval.action) = (yyvsp[(2) - (2)].lval).ident;
4946 bufferWriteOp((yyval.action), SWFACTION_DUP);
4947 bufferWriteOp((yyval.action), SWFACTION_GETVARIABLE);
4948 bufferWriteOp((yyval.action), (yyvsp[(1) - (2)].op));
4949 bufferWriteOp((yyval.action), SWFACTION_SETVARIABLE);
4955 #line 1442 "swf5compiler.y"
4956 { if((yyvsp[(1) - (2)].lval).obj)
4958 if((yyvsp[(1) - (2)].lval).ident)
4960 (yyval.action) = (yyvsp[(1) - (2)].lval).obj; /* a */
4961 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, a */
4962 bufferWriteBuffer((yyval.action), (yyvsp[(1) - (2)].lval).ident); /* a, a, i */
4963 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); /* a, a.i */
4964 bufferWriteOp((yyval.action), (yyvsp[(2) - (2)].op)); /* a, a.i+1 */
4965 bufferConcat((yyval.action), (yyvsp[(1) - (2)].lval).ident); /* a, a.i+1, i */
4966 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i, a.i+1 */
4967 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER); /* a.i = a.i+1 */
4971 /* weird contortions so that $1.memexpr can use reg 0 */
4972 (yyval.action) = (yyvsp[(1) - (2)].lval).memexpr; /* i */
4973 bufferConcat((yyval.action), (yyvsp[(1) - (2)].lval).obj); /* i, a */
4974 bufferWriteSetRegister((yyval.action), 0);
4975 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i */
4976 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, i, i */
4977 bufferWriteRegister((yyval.action), 0); /* a, i, i, a */
4978 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i, a, i */
4979 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); /* a, i, a[i] */
4980 bufferWriteOp((yyval.action), (yyvsp[(2) - (2)].op)); /* a, i, a[i]+1 */
4981 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER); /* a[i] = a[i]+1 */
4986 (yyval.action) = (yyvsp[(1) - (2)].lval).ident;
4987 bufferWriteOp((yyval.action), SWFACTION_DUP);
4988 bufferWriteOp((yyval.action), SWFACTION_GETVARIABLE);
4989 bufferWriteOp((yyval.action), (yyvsp[(2) - (2)].op));
4990 bufferWriteOp((yyval.action), SWFACTION_SETVARIABLE);
4996 #line 1481 "swf5compiler.y"
4997 { if((yyvsp[(1) - (3)].lval).obj)
4999 (yyval.action) = (yyvsp[(1) - (3)].lval).obj;
5001 if((yyvsp[(1) - (3)].lval).ident)
5002 bufferConcat((yyval.action), (yyvsp[(1) - (3)].lval).ident);
5004 bufferConcat((yyval.action), (yyvsp[(1) - (3)].lval).memexpr);
5006 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
5007 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER);
5011 (yyval.action) = (yyvsp[(1) - (3)].lval).ident;
5012 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
5013 bufferWriteOp((yyval.action), SWFACTION_SETVARIABLE);
5019 #line 1502 "swf5compiler.y"
5020 { if((yyvsp[(1) - (3)].lval).obj)
5022 if((yyvsp[(1) - (3)].lval).ident)
5024 (yyval.action) = (yyvsp[(1) - (3)].lval).obj; /* a */
5025 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, a */
5026 bufferWriteBuffer((yyval.action), (yyvsp[(1) - (3)].lval).ident); /* a, a, i */
5027 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); /* a, a.i */
5028 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action)); /* a, a.i, v */
5029 bufferWriteOp((yyval.action), (yyvsp[(2) - (3)].op)); /* a, a.i+v */
5030 bufferConcat((yyval.action), (yyvsp[(1) - (3)].lval).ident); /* a, a.i+v, i */
5031 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i, a.i+v */
5032 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER); /* a.i = a.i+v */
5036 (yyval.action) = (yyvsp[(1) - (3)].lval).memexpr; /* i */
5037 bufferConcat((yyval.action), (yyvsp[(1) - (3)].lval).obj); /* i, a */
5038 bufferWriteSetRegister((yyval.action), 0);
5039 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i */
5040 bufferWriteOp((yyval.action), SWFACTION_DUP); /* a, i, i */
5041 bufferWriteRegister((yyval.action), 0); /* a, i, i, a */
5042 bufferWriteOp((yyval.action), SWFACTION_SWAP); /* a, i, a, i */
5043 bufferWriteOp((yyval.action), SWFACTION_GETMEMBER); /* a, i, a[i] */
5044 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action)); /* a, i, a[i], v */
5045 bufferWriteOp((yyval.action), (yyvsp[(2) - (3)].op)); /* a, i, a[i]+v */
5046 bufferWriteOp((yyval.action), SWFACTION_SETMEMBER); /* a[i] = a[i]+v */
5051 (yyval.action) = (yyvsp[(1) - (3)].lval).ident;
5052 bufferWriteOp((yyval.action), SWFACTION_DUP);
5053 bufferWriteOp((yyval.action), SWFACTION_GETVARIABLE);
5054 bufferConcat((yyval.action), (yyvsp[(3) - (3)].action));
5055 bufferWriteOp((yyval.action), (yyvsp[(2) - (3)].op));
5056 bufferWriteOp((yyval.action), SWFACTION_SETVARIABLE);
5062 #line 1547 "swf5compiler.y"
5063 { (yyval.len) = (yyvsp[(1) - (2)].len) + (yyvsp[(2) - (2)].len); ;}
5067 #line 1552 "swf5compiler.y"
5068 { (yyval.len) = bufferWriteOp(asmBuffer,
5073 #line 1554 "swf5compiler.y"
5074 { (yyval.len) = (yyvsp[(2) - (4)].len) + (yyvsp[(3) - (4)].len);
5075 bufferPatchLength(asmBuffer, (yyvsp[(3) - (4)].len)); ;}
5079 #line 1559 "swf5compiler.y"
5080 { (yyval.len) = bufferWriteConstantString(asmBuffer,(byte*) (yyvsp[(1) - (1)].str),
5081 strlen((yyvsp[(1) - (1)].str))+1); ;}
5085 #line 1562 "swf5compiler.y"
5086 { bufferWriteU8(asmBuffer, PUSH_INT);
5087 (yyval.len) = bufferWriteInt(asmBuffer, (yyvsp[(1) - (1)].intVal))+1; ;}
5091 #line 1565 "swf5compiler.y"
5092 { bufferWriteU8(asmBuffer, PUSH_DOUBLE);
5093 (yyval.len) = bufferWriteDouble(asmBuffer, (yyvsp[(1) - (1)].doubleVal))+1; ;}
5097 #line 1568 "swf5compiler.y"
5098 { bufferWriteU8(asmBuffer, PUSH_BOOLEAN);
5099 (yyval.len) = bufferWriteU8(asmBuffer, (yyvsp[(1) - (1)].intVal))+1; ;}
5103 #line 1571 "swf5compiler.y"
5104 { (yyval.len) = bufferWriteU8(asmBuffer, PUSH_NULL); ;}
5108 #line 1573 "swf5compiler.y"
5109 { bufferWriteU8(asmBuffer, PUSH_REGISTER);
5110 (yyval.len) = bufferWriteU8(asmBuffer,
5111 (char)atoi((yyvsp[(1) - (1)].str)))+1; ;}
5115 #line 1580 "swf5compiler.y"
5116 { (yyval.len) = (yyvsp[(1) - (1)].len); ;}
5120 #line 1581 "swf5compiler.y"
5121 { (yyval.len) += (yyvsp[(3) - (3)].len); ;}
5125 #line 1585 "swf5compiler.y"
5126 { (yyval.len) = bufferWriteOp(asmBuffer,
5127 SWFACTION_PUSHDATA);
5128 (yyval.len) += bufferWriteS16(asmBuffer, 0); ;}
5132 #line 1588 "swf5compiler.y"
5133 { (yyval.len) = (yyvsp[(2) - (3)].len) + (yyvsp[(3) - (3)].len);
5134 bufferPatchLength(asmBuffer, (yyvsp[(3) - (3)].len)); ;}
5138 #line 1594 "swf5compiler.y"
5139 { (yyval.len) = bufferWriteOp(asmBuffer,
5140 SWFACTION_SETREGISTER);
5141 (yyval.len) += bufferWriteS16(asmBuffer, 1);
5142 (yyval.len) += bufferWriteU8(asmBuffer,
5143 (char)atoi((yyvsp[(2) - (2)].str))); ;}
5147 #line 1600 "swf5compiler.y"
5148 { (yyval.len) = bufferWriteOp(asmBuffer,
5149 SWFACTION_CALLFUNCTION); ;}
5153 #line 1602 "swf5compiler.y"
5154 { (yyval.len) = bufferWriteOp(asmBuffer,
5155 SWFACTION_RETURN); ;}
5159 #line 1604 "swf5compiler.y"
5160 { (yyval.len) = bufferWriteOp(asmBuffer,
5161 SWFACTION_CALLMETHOD); ;}
5165 #line 1606 "swf5compiler.y"
5166 { (yyval.len) = bufferWriteOp(asmBuffer,
5167 SWFACTION_BITWISEAND); ;}
5171 #line 1608 "swf5compiler.y"
5172 { (yyval.len) = bufferWriteOp(asmBuffer,
5173 SWFACTION_BITWISEOR); ;}
5177 #line 1610 "swf5compiler.y"
5178 { (yyval.len) = bufferWriteOp(asmBuffer,
5179 SWFACTION_BITWISEXOR); ;}
5183 #line 1612 "swf5compiler.y"
5184 { (yyval.len) = bufferWriteOp(asmBuffer,
5185 SWFACTION_MODULO); ;}
5189 #line 1614 "swf5compiler.y"
5190 { (yyval.len) = bufferWriteOp(asmBuffer,
5191 SWFACTION_NEWADD); ;}
5195 #line 1616 "swf5compiler.y"
5196 { (yyval.len) = bufferWriteOp(asmBuffer,
5197 SWFACTION_NEWLESSTHAN); ;}
5201 #line 1618 "swf5compiler.y"
5202 { (yyval.len) = bufferWriteOp(asmBuffer,
5203 SWFACTION_NEWEQUALS); ;}
5207 #line 1620 "swf5compiler.y"
5208 { (yyval.len) = bufferWriteOp(asmBuffer,
5209 SWFACTION_INCREMENT); ;}
5213 #line 1622 "swf5compiler.y"
5214 { (yyval.len) = bufferWriteOp(asmBuffer,
5215 SWFACTION_DECREMENT); ;}
5219 #line 1624 "swf5compiler.y"
5220 { (yyval.len) = bufferWriteOp(asmBuffer,
5221 SWFACTION_TYPEOF); ;}
5225 #line 1626 "swf5compiler.y"
5226 { (yyval.len) = bufferWriteOp(asmBuffer,
5227 SWFACTION_INSTANCEOF); ;}
5231 #line 1628 "swf5compiler.y"
5232 { (yyval.len) = bufferWriteOp(asmBuffer,
5233 SWFACTION_ENUMERATE); ;}
5237 #line 1630 "swf5compiler.y"
5238 { (yyval.len) = bufferWriteOp(asmBuffer,
5239 SWFACTION_DELETE); ;}
5243 #line 1632 "swf5compiler.y"
5244 { (yyval.len) = bufferWriteOp(asmBuffer,
5249 #line 1634 "swf5compiler.y"
5250 { (yyval.len) = bufferWriteOp(asmBuffer,
5251 SWFACTION_INITARRAY); ;}
5255 #line 1636 "swf5compiler.y"
5256 { (yyval.len) = bufferWriteOp(asmBuffer,
5257 SWFACTION_INITOBJECT); ;}
5261 #line 1638 "swf5compiler.y"
5262 { (yyval.len) = bufferWriteOp(asmBuffer,
5263 SWFACTION_GETMEMBER); ;}
5267 #line 1640 "swf5compiler.y"
5268 { (yyval.len) = bufferWriteOp(asmBuffer,
5269 SWFACTION_SETMEMBER); ;}
5273 #line 1642 "swf5compiler.y"
5274 { (yyval.len) = bufferWriteOp(asmBuffer,
5275 SWFACTION_SHIFTLEFT); ;}
5279 #line 1644 "swf5compiler.y"
5280 { (yyval.len) = bufferWriteOp(asmBuffer,
5281 SWFACTION_SHIFTRIGHT); ;}
5285 #line 1646 "swf5compiler.y"
5286 { (yyval.len) = bufferWriteOp(asmBuffer,
5287 SWFACTION_SHIFTRIGHT2); ;}
5291 #line 1648 "swf5compiler.y"
5292 { (yyval.len) = bufferWriteOp(asmBuffer,
5297 #line 1650 "swf5compiler.y"
5298 { (yyval.len) = bufferWriteOp(asmBuffer,
5299 SWFACTION_VAREQUALS); ;}
5303 #line 1654 "swf5compiler.y"
5304 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_ADD); ;}
5308 #line 1655 "swf5compiler.y"
5309 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_SUBTRACT); ;}
5313 #line 1656 "swf5compiler.y"
5314 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_MULTIPLY); ;}
5318 #line 1657 "swf5compiler.y"
5319 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_DIVIDE); ;}
5323 #line 1658 "swf5compiler.y"
5324 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_EQUAL); ;}
5328 #line 1659 "swf5compiler.y"
5329 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_LESSTHAN); ;}
5333 #line 1660 "swf5compiler.y"
5334 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_LOGICALAND); ;}
5338 #line 1661 "swf5compiler.y"
5339 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_LOGICALOR); ;}
5343 #line 1662 "swf5compiler.y"
5344 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_LOGICALNOT); ;}
5348 #line 1663 "swf5compiler.y"
5349 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_STRINGEQ); ;}
5353 #line 1664 "swf5compiler.y"
5354 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_STRINGLENGTH); ;}
5358 #line 1665 "swf5compiler.y"
5359 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_SUBSTRING); ;}
5363 #line 1666 "swf5compiler.y"
5364 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_INT); ;}
5368 #line 1667 "swf5compiler.y"
5369 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_DUP); ;}
5373 #line 1668 "swf5compiler.y"
5374 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_SWAP); ;}
5378 #line 1669 "swf5compiler.y"
5379 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_POP); ;}
5383 #line 1670 "swf5compiler.y"
5384 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_GETVARIABLE); ;}
5388 #line 1671 "swf5compiler.y"
5389 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_SETVARIABLE); ;}
5393 #line 1672 "swf5compiler.y"
5394 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_SETTARGETEXPRESSION); ;}
5398 #line 1673 "swf5compiler.y"
5399 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_STRINGCONCAT); ;}
5403 #line 1674 "swf5compiler.y"
5404 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_DUPLICATECLIP); ;}
5408 #line 1675 "swf5compiler.y"
5409 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_REMOVECLIP); ;}
5413 #line 1676 "swf5compiler.y"
5414 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_TRACE); ;}
5418 #line 1677 "swf5compiler.y"
5419 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_STRINGCOMPARE); ;}
5423 #line 1678 "swf5compiler.y"
5424 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_RANDOM); ;}
5428 #line 1679 "swf5compiler.y"
5429 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_MBLENGTH); ;}
5433 #line 1680 "swf5compiler.y"
5434 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_ORD); ;}
5438 #line 1681 "swf5compiler.y"
5439 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_CHR); ;}
5443 #line 1682 "swf5compiler.y"
5444 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_GETTIMER); ;}
5448 #line 1683 "swf5compiler.y"
5449 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_MBSUBSTRING); ;}
5453 #line 1684 "swf5compiler.y"
5454 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_MBORD); ;}
5458 #line 1685 "swf5compiler.y"
5459 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_MBCHR); ;}
5463 #line 1688 "swf5compiler.y"
5464 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_BRANCHALWAYS);
5465 (yyval.len) += bufferWriteS16(asmBuffer, 2);
5466 (yyval.len) += bufferBranchTarget(asmBuffer, (yyvsp[(2) - (2)].str)); ;}
5470 #line 1692 "swf5compiler.y"
5471 { (yyval.len) = bufferWriteOp(asmBuffer, SWFACTION_BRANCHIFTRUE);
5472 (yyval.len) += bufferWriteS16(asmBuffer, 2);
5473 (yyval.len) += bufferBranchTarget(asmBuffer, (yyvsp[(2) - (2)].str)); ;}
5477 /* Line 1267 of yacc.c. */
5478 #line 5479 "swf5compiler.tab.c"
5481 YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
5485 YY_STACK_PRINT (yyss, yyssp);
5490 /* Now `shift' the result of the reduction. Determine what state
5491 that goes to, based on the state we popped back to and the rule
5492 number reduced by. */
5496 yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
5497 if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
5498 yystate = yytable[yystate];
5500 yystate = yydefgoto[yyn - YYNTOKENS];
5505 /*------------------------------------.
5506 | yyerrlab -- here on detecting error |
5507 `------------------------------------*/
5509 /* If not already recovering from an error, report this error. */
5513 #if ! YYERROR_VERBOSE
5514 yyerror (YY_("syntax error"));
5517 YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
5518 if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
5520 YYSIZE_T yyalloc = 2 * yysize;
5521 if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
5522 yyalloc = YYSTACK_ALLOC_MAXIMUM;
5523 if (yymsg != yymsgbuf)
5524 YYSTACK_FREE (yymsg);
5525 yymsg = (char *) YYSTACK_ALLOC (yyalloc);
5527 yymsg_alloc = yyalloc;
5531 yymsg_alloc = sizeof yymsgbuf;
5535 if (0 < yysize && yysize <= yymsg_alloc)
5537 (void) yysyntax_error (yymsg, yystate, yychar);
5542 yyerror (YY_("syntax error"));
5544 goto yyexhaustedlab;
5552 if (yyerrstatus == 3)
5554 /* If just tried and failed to reuse look-ahead token after an
5555 error, discard it. */
5557 if (yychar <= YYEOF)
5559 /* Return failure if at end of input. */
5560 if (yychar == YYEOF)
5565 yydestruct ("Error: discarding",
5571 /* Else will try to reuse look-ahead token after shifting the error
5576 /*---------------------------------------------------.
5577 | yyerrorlab -- error raised explicitly by YYERROR. |
5578 `---------------------------------------------------*/
5581 /* Pacify compilers like GCC when the user code never invokes
5582 YYERROR and the label yyerrorlab therefore never appears in user
5584 if (/*CONSTCOND*/ 0)
5587 /* Do not reclaim the symbols of the rule which action triggered
5591 YY_STACK_PRINT (yyss, yyssp);
5596 /*-------------------------------------------------------------.
5597 | yyerrlab1 -- common code for both syntax error and YYERROR. |
5598 `-------------------------------------------------------------*/
5600 yyerrstatus = 3; /* Each real token shifted decrements this. */
5604 yyn = yypact[yystate];
5605 if (yyn != YYPACT_NINF)
5608 if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
5616 /* Pop the current state because it cannot handle the error token. */
5621 yydestruct ("Error: popping",
5622 yystos[yystate], yyvsp);
5625 YY_STACK_PRINT (yyss, yyssp);
5634 /* Shift the error token. */
5635 YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
5641 /*-------------------------------------.
5642 | yyacceptlab -- YYACCEPT comes here. |
5643 `-------------------------------------*/
5648 /*-----------------------------------.
5649 | yyabortlab -- YYABORT comes here. |
5650 `-----------------------------------*/
5656 /*-------------------------------------------------.
5657 | yyexhaustedlab -- memory exhaustion comes here. |
5658 `-------------------------------------------------*/
5660 yyerror (YY_("memory exhausted"));
5666 if (yychar != YYEOF && yychar != YYEMPTY)
5667 yydestruct ("Cleanup: discarding lookahead",
5669 /* Do not reclaim the symbols of the rule which action triggered
5670 this YYABORT or YYACCEPT. */
5672 YY_STACK_PRINT (yyss, yyssp);
5673 while (yyssp != yyss)
5675 yydestruct ("Cleanup: popping",
5676 yystos[*yyssp], yyvsp);
5681 YYSTACK_FREE (yyss);
5684 if (yymsg != yymsgbuf)
5685 YYSTACK_FREE (yymsg);
5687 /* Make sure YYID is used. */
5688 return YYID (yyresult);
5692 #line 1697 "swf5compiler.y"