51 #define YYBISON_VERSION "3.4.1" 54 #define YYSKELETON_NAME "yacc.c" 67 #define yyparse yyjsilparse 68 #define yylex yyjsillex 69 #define yyerror yyjsilerror 70 #define yydebug yyjsildebug 71 #define yynerrs yyjsilnerrs 73 #define yylval yyjsillval 74 #define yychar yyjsilchar 81 #define PARSER jsil_parser 88 #define YYSTYPE unsigned 89 #define YYSTYPE_IS_TRIVIAL 1 98 #line 99 "jsil_y.tab.cpp" 101 # if defined __cplusplus 102 # if 201103L <= __cplusplus 103 # define YY_NULLPTR nullptr 105 # define YY_NULLPTR 0 108 # define YY_NULLPTR ((void*)0) 113 #ifdef YYERROR_VERBOSE 114 # undef YYERROR_VERBOSE 115 # define YYERROR_VERBOSE 1 117 # define YYERROR_VERBOSE 1 122 #ifndef YY_YYJSIL_JSIL_Y_TAB_HPP_INCLUDED 123 # define YY_YYJSIL_JSIL_Y_TAB_HPP_INCLUDED 129 extern int yyjsildebug;
202 #define TOK_SCANNER_ERROR 258 203 #define TOK_NEWLINE 259 204 #define TOK_PROCEDURE 260 205 #define TOK_RETURNS 261 207 #define TOK_THROWS 263 209 #define TOK_LABEL 265 214 #define TOK_HAS_FIELD 270 215 #define TOK_DELETE 271 216 #define TOK_PROTO_FIELD 272 217 #define TOK_PROTO_OBJ 273 219 #define TOK_FIELD 275 221 #define TOK_TYPEOF 277 223 #define TOK_UNDEFINED 279 224 #define TOK_EMPTY 280 226 #define TOK_FALSE 282 227 #define TOK_PROTO 283 229 #define TOK_SCOPE 285 230 #define TOK_CONSTRUCTID 286 231 #define TOK_PRIMVALUE 287 232 #define TOK_TARGETFUNCTION 288 233 #define TOK_CLASS 289 234 #define TOK_NUM_TO_STRING 290 235 #define TOK_STRING_TO_NUM 291 236 #define TOK_NUM_TO_INT32 292 237 #define TOK_NUM_TO_UINT32 293 238 #define TOK_MEMBER_REFERENCE 294 239 #define TOK_VARIABLE_REFERENCE 295 240 #define TOK_T_NULL 296 241 #define TOK_T_UNDEFINED 297 242 #define TOK_T_BOOLEAN 298 243 #define TOK_T_STRING 299 244 #define TOK_T_NUMBER 300 245 #define TOK_T_BUILTIN_OBJECT 301 246 #define TOK_T_USER_OBJECT 302 247 #define TOK_T_OBJECT 303 248 #define TOK_T_REFERENCE 304 249 #define TOK_DEFEQ 305 253 #define TOK_SUBTYPE_OF 309 254 #define TOK_LEFT_SHIFT 310 255 #define TOK_SIGNED_RIGHT_SHIFT 311 256 #define TOK_UNSIGNED_RIGHT_SHIFT 312 258 #define TOK_IDENTIFIER 314 259 #define TOK_FLOATING 315 260 #define TOK_STRING 316 261 #define TOK_BUILTIN_LOC 317 262 #define TOK_BUILTIN_IDENTIFIER 318 263 #define TOK_SPEC_IDENTIFIER 319 266 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 268 # define YYSTYPE_IS_TRIVIAL 1 269 # define YYSTYPE_IS_DECLARED 1 310 # ifdef __SIZE_TYPE__ 311 # define YYSIZE_T __SIZE_TYPE__ 312 # elif defined size_t 313 # define YYSIZE_T size_t 314 # elif ! defined YYSIZE_T 316 # define YYSIZE_T size_t 318 # define YYSIZE_T unsigned 322 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 325 # if defined YYENABLE_NLS && YYENABLE_NLS 327 # include <libintl.h> 328 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 332 # define YY_(Msgid) Msgid 337 # if (defined __GNUC__ \ 338 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ 339 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 340 # define YY_ATTRIBUTE(Spec) __attribute__(Spec) 342 # define YY_ATTRIBUTE(Spec) 346 #ifndef YY_ATTRIBUTE_PURE 347 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) 350 #ifndef YY_ATTRIBUTE_UNUSED 351 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 355 #if ! defined lint || defined __GNUC__ 356 # define YYUSE(E) ((void) (E)) 361 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 363 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 364 _Pragma ("GCC diagnostic push") \ 365 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 366 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 367 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 368 _Pragma ("GCC diagnostic pop") 370 # define YY_INITIAL_VALUE(Value) Value 372 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 373 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 374 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 376 #ifndef YY_INITIAL_VALUE 377 # define YY_INITIAL_VALUE(Value) 381 #define YY_ASSERT(E) ((void) (0 && (E))) 383 #if ! defined yyoverflow || YYERROR_VERBOSE 387 # ifdef YYSTACK_USE_ALLOCA 388 # if YYSTACK_USE_ALLOCA 390 # define YYSTACK_ALLOC __builtin_alloca 391 # elif defined __BUILTIN_VA_ARG_INCR 394 # define YYSTACK_ALLOC __alloca 395 # elif defined _MSC_VER 397 # define alloca _alloca 399 # define YYSTACK_ALLOC alloca 400 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 403 # ifndef EXIT_SUCCESS 404 # define EXIT_SUCCESS 0 411 # ifdef YYSTACK_ALLOC 413 # define YYSTACK_FREE(Ptr) do { ; } while (0) 414 # ifndef YYSTACK_ALLOC_MAXIMUM 419 # define YYSTACK_ALLOC_MAXIMUM 4032 422 # define YYSTACK_ALLOC YYMALLOC 423 # define YYSTACK_FREE YYFREE 424 # ifndef YYSTACK_ALLOC_MAXIMUM 425 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 427 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 428 && ! ((defined YYMALLOC || defined malloc) \ 429 && (defined YYFREE || defined free))) 431 # ifndef EXIT_SUCCESS 432 # define EXIT_SUCCESS 0 436 # define YYMALLOC malloc 437 # if ! defined malloc && ! defined EXIT_SUCCESS 443 # if ! defined free && ! defined EXIT_SUCCESS 451 #if (! defined yyoverflow \ 452 && (! defined __cplusplus \ 453 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 463 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 467 # define YYSTACK_BYTES(N) \ 468 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 469 + YYSTACK_GAP_MAXIMUM) 471 # define YYCOPY_NEEDED 1 478 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 481 YYSIZE_T yynewbytes; \ 482 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 483 Stack = &yyptr->Stack_alloc; \ 484 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 485 yyptr += yynewbytes / sizeof (*yyptr); \ 491 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 495 # if defined __GNUC__ && 1 < __GNUC__ 496 # define YYCOPY(Dst, Src, Count) \ 497 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 499 # define YYCOPY(Dst, Src, Count) \ 503 for (yyi = 0; yyi < (Count); yyi++) \ 504 (Dst)[yyi] = (Src)[yyi]; \ 523 #define YYNSTATES 192 526 #define YYMAXUTOK 319 530 #define YYTRANSLATE(YYX) \ 531 ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 537 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
538 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
539 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
540 2, 2, 2, 83, 2, 2, 2, 78, 80, 2,
541 65, 66, 76, 74, 69, 75, 2, 77, 2, 2,
542 2, 2, 2, 2, 2, 2, 2, 2, 79, 2,
543 73, 72, 2, 2, 2, 2, 2, 2, 2, 2,
544 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
545 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
546 2, 70, 2, 71, 82, 2, 2, 2, 2, 2,
547 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
548 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
549 2, 2, 2, 67, 81, 68, 2, 2, 2, 2,
550 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
551 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
552 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
553 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
554 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
555 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
556 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
557 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
558 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
559 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
560 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
561 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
562 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
563 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
564 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
565 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
566 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
567 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
568 55, 56, 57, 58, 59, 60, 61, 62, 63, 64
575 0, 108, 108, 111, 112, 115, 148, 149, 154, 158,
576 164, 165, 173, 176, 179, 184, 192, 195, 198, 204,
577 211, 215, 221, 228, 233, 242, 246, 251, 259, 260,
578 275, 280, 288, 293, 301, 309, 320, 323, 330, 333,
579 336, 341, 348, 349, 357, 358, 363, 367, 376, 383,
580 390, 399, 400, 404, 408, 412, 416, 420, 421, 427,
581 428, 429, 432, 436, 440, 444, 448, 452, 456, 462,
582 463, 464, 465, 468, 472, 476, 482, 486, 490, 494,
583 498, 504, 508, 512, 516, 522, 526, 530, 534, 538,
584 542, 548, 552, 556, 560, 564, 568, 572, 578, 582,
585 586, 590, 594, 598, 602, 606, 610, 611, 618, 622
589 #if YYDEBUG || YYERROR_VERBOSE || 1 594 "$end",
"error",
"$undefined",
"TOK_SCANNER_ERROR",
"\"<newline>\"",
595 "\"procedure\"",
"\"returns\"",
"\"to\"",
"\"throws\"",
"\"eval\"",
596 "\"label\"",
"\"goto\"",
"\"skip\"",
"\"with\"",
"\"new\"",
597 "\"hasField\"",
"\"delete\"",
"\"protoField\"",
"\"protoObj\"",
598 "\"ref\"",
"\"field\"",
"\"base\"",
"\"typeOf\"",
"\"null\"",
599 "\"#undefined\"",
"\"#empty\"",
"\"true\"",
"\"false\"",
"\"#proto\"",
600 "\"#fid\"",
"\"#scope\"",
"\"#constructid\"",
"\"#primvalue\"",
601 "\"#targetfunction\"",
"\"#class\"",
"\"num_to_string\"",
602 "\"string_to_num\"",
"\"num_to_int32\"",
"\"num_to_uint32\"",
603 "\"#MemberReference\"",
"\"#VariableReference\"",
"\"#Null\"",
604 "\"#Undefined\"",
"\"#Boolean\"",
"\"#String\"",
"\"#Number\"",
605 "\"#BuiltinObject\"",
"\"#UserObject\"",
"\"#Object\"",
"\"#Reference\"",
606 "\":=\"",
"\"<=\"",
"\"and\"",
"\"or\"",
"\"<:\"",
"\"<<\"",
"\">>\"",
607 "\">>>\"",
"\"not\"",
"TOK_IDENTIFIER",
"TOK_FLOATING",
"TOK_STRING",
608 "TOK_BUILTIN_LOC",
"TOK_BUILTIN_IDENTIFIER",
"TOK_SPEC_IDENTIFIER",
609 "'('",
"')'",
"'{'",
"'}'",
"','",
"'['",
"']'",
"'='",
"'<'",
"'+'",
610 "'-'",
"'*'",
"'/'",
"'%'",
"':'",
"'&'",
"'|'",
"'^'",
"'!'",
"$accept",
611 "program",
"procedure_decls",
"procedure_decl",
"proc_ident",
612 "proc_ident_expr",
"parameters_opt",
"parameters",
"statements_opt",
613 "statements",
"statement",
"instruction",
"rhs",
"with_opt",
614 "expressions_opt",
"expressions",
"expression",
"atom_expression",
615 "literal",
"builtin_field",
"binary_op",
"compare_op",
"arithmetic_op",
616 "boolean_op",
"bitwise_op",
"unary_op",
"jsil_type",
"ref_type",
YY_NULLPTR 625 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
626 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
627 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
628 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
629 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
630 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
631 315, 316, 317, 318, 319, 40, 41, 123, 125, 44,
632 91, 93, 61, 60, 43, 45, 42, 47, 37, 58,
637 #define YYPACT_NINF -147 639 #define yypact_value_is_default(Yystate) \ 640 (!!((Yystate) == (-147))) 642 #define YYTABLE_NINF -12 644 #define yytable_value_is_error(Yytable_value) \ 651 0, -3, 7, 0, -147, -147, -147, -147, -147, -52,
652 -147, -147, -45, -147, -50, -51, 11, -39, -38, -147,
653 12, -37, 15, -35, 18, -33, -36, -2, -147, -32,
654 -55, -147, -22, 185, -34, -2, -147, 25, -147, -147,
655 185, 120, -30, -29, -26, -25, -147, -147, -147, -147,
656 -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
657 -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
658 -147, -147, -147, -147, -147, -147, -147, -147, 185, -147,
659 -147, 31, -147, -147, -147, 185, -147, -147, -147, -147,
660 -147, 200, -24, -23, -21, -20, -18, -17, -16, 185,
661 -147, -15, -147, 776, 185, 185, 185, 185, 232, -147,
662 -147, -147, -147, -147, -147, -147, 185, -147, -147, -147,
663 -147, -147, -147, -147, -147, -147, -147, -147, 185, -147,
664 -147, -147, -147, -147, -27, -14, 185, 185, 185, 185,
665 264, 185, 296, 328, 360, 392, -147, 424, -147, -11,
666 -147, 456, 488, 520, 552, 185, -13, -7, 776, 185,
667 -147, -147, -147, 1, -5, 185, 185, 185, 185, 584,
668 17, 185, 616, 185, -147, 648, 680, 712, 744, -147,
669 -4, -147, 776, -28, 776, -147, -147, -147, -147, -147,
678 0, 0, 0, 2, 3, 7, 6, 8, 9, 0,
679 1, 4, 12, 14, 0, 13, 0, 0, 0, 15,
680 0, 0, 0, 0, 0, 0, 0, 16, 20, 0,
681 0, 25, 0, 0, 0, 17, 18, 0, 22, 23,
682 0, 0, 0, 0, 0, 0, 52, 53, 54, 55,
683 56, 62, 63, 64, 65, 66, 67, 68, 93, 94,
684 95, 96, 108, 109, 98, 99, 100, 101, 102, 103,
685 104, 105, 107, 91, 51, 57, 58, 59, 0, 92,
686 97, 0, 42, 44, 61, 0, 60, 106, 5, 19,
687 21, 0, 0, 0, 0, 0, 0, 51, 58, 0,
688 10, 0, 26, 28, 0, 0, 0, 0, 0, 75,
689 81, 82, 83, 88, 89, 90, 0, 73, 74, 76,
690 77, 78, 79, 80, 84, 85, 86, 87, 0, 69,
691 70, 71, 72, 45, 0, 0, 0, 0, 0, 0,
692 0, 38, 0, 0, 0, 0, 46, 0, 43, 0,
693 30, 0, 0, 0, 0, 0, 0, 39, 40, 0,
694 48, 49, 50, 0, 0, 0, 0, 0, 0, 0,
695 36, 0, 0, 0, 24, 0, 0, 0, 0, 32,
696 0, 29, 41, 0, 27, 31, 33, 34, 35, 37,
703 -147, -147, -147, 30, 2, -147, -147, -147, -147, -147,
704 28, -147, -147, -147, -147, -147, -40, -82, -147, -147,
705 -147, -147, -147, -147, -147, -147, -147, -146
711 -1, 2, 3, 4, 9, 101, 14, 15, 34, 35,
712 36, 37, 102, 181, 156, 157, 81, 82, 83, 84,
713 128, 129, 130, 131, 132, 85, 86, 87
721 91, 103, 28, 133, 39, 1, 5, 10, 29, 30,
722 31, 62, 63, 12, 13, 40, 16, 18, 17, 21,
723 19, 20, 22, 23, 24, 25, 26, 38, 41, 90,
724 180, 27, 149, 11, 88, 104, 105, 190, 108, 106,
725 107, 135, 136, 100, 137, 138, 148, 139, -6, -11,
726 141, 173, 150, 170, 174, 189, 6, 32, 164, 140,
727 7, 8, 171, 89, 142, 143, 144, 145, 33, 191,
728 0, 0, 0, 0, 0, 0, 147, 0, 0, 0,
729 0, 0, 109, 110, 111, 112, 113, 114, 115, 0,
730 0, 0, 0, 0, 0, 0, 151, 152, 153, 154,
731 116, 158, 0, 117, 118, 119, 120, 121, 122, 123,
732 124, 125, 126, 127, 0, 169, 0, 0, 0, 172,
733 0, 0, 0, 0, 0, 175, 176, 177, 178, 5,
734 0, 182, 0, 184, 92, 93, 94, 95, 96, 42,
735 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
736 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
737 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
738 0, 0, 0, 0, 0, 0, 0, 0, 73, 97,
739 75, 98, 77, 7, 8, 78, 0, 0, 0, 0,
740 99, 0, 0, 0, 0, 79, 0, 0, 0, 0,
741 0, 0, 0, 80, 42, 43, 44, 45, 46, 47,
742 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
743 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
744 68, 69, 70, 71, 72, 0, 0, 0, 0, 0,
745 0, 0, 0, 73, 74, 75, 76, 77, 0, 0,
746 78, 109, 110, 111, 112, 113, 114, 115, 0, 0,
747 79, 0, 0, 0, 0, 0, 0, 0, 80, 0,
748 0, 134, 117, 118, 119, 120, 121, 122, 123, 124,
749 125, 126, 127, 109, 110, 111, 112, 113, 114, 115,
750 0, 0, 0, 0, 0, 0, 0, 0, 146, 0,
751 0, 0, 0, 0, 117, 118, 119, 120, 121, 122,
752 123, 124, 125, 126, 127, 109, 110, 111, 112, 113,
753 114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
754 0, 0, 0, 155, 0, 0, 117, 118, 119, 120,
755 121, 122, 123, 124, 125, 126, 127, 109, 110, 111,
756 112, 113, 114, 115, 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 0, 0, 159, 0, 0, 117, 118,
758 119, 120, 121, 122, 123, 124, 125, 126, 127, 109,
759 110, 111, 112, 113, 114, 115, 0, 0, 0, 0,
760 0, 0, 0, 0, 160, 0, 0, 0, 0, 0,
761 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
762 127, 109, 110, 111, 112, 113, 114, 115, 0, 0,
763 0, 0, 0, 0, 0, 0, 161, 0, 0, 0,
764 0, 0, 117, 118, 119, 120, 121, 122, 123, 124,
765 125, 126, 127, 109, 110, 111, 112, 113, 114, 115,
766 0, 0, 0, 0, 0, 0, 0, 0, 162, 0,
767 0, 0, 0, 0, 117, 118, 119, 120, 121, 122,
768 123, 124, 125, 126, 127, 109, 110, 111, 112, 113,
769 114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
770 0, 0, 0, 0, 0, 163, 117, 118, 119, 120,
771 121, 122, 123, 124, 125, 126, 127, 109, 110, 111,
772 112, 113, 114, 115, 0, 0, 0, 0, 0, 0,
773 0, 0, 0, 0, 0, 165, 0, 0, 117, 118,
774 119, 120, 121, 122, 123, 124, 125, 126, 127, 109,
775 110, 111, 112, 113, 114, 115, 0, 0, 0, 0,
776 0, 0, 0, 0, 0, 0, 0, 166, 0, 0,
777 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
778 127, 109, 110, 111, 112, 113, 114, 115, 0, 0,
779 0, 0, 0, 0, 0, 0, 0, 0, 0, 167,
780 0, 0, 117, 118, 119, 120, 121, 122, 123, 124,
781 125, 126, 127, 109, 110, 111, 112, 113, 114, 115,
782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
783 0, 168, 0, 0, 117, 118, 119, 120, 121, 122,
784 123, 124, 125, 126, 127, 109, 110, 111, 112, 113,
785 114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
786 0, 0, 0, 0, 0, 179, 117, 118, 119, 120,
787 121, 122, 123, 124, 125, 126, 127, 109, 110, 111,
788 112, 113, 114, 115, 0, 0, 0, 0, 0, 0,
789 0, 0, 0, 0, 0, 183, 0, 0, 117, 118,
790 119, 120, 121, 122, 123, 124, 125, 126, 127, 109,
791 110, 111, 112, 113, 114, 115, 0, 0, 0, 0,
792 0, 0, 0, 0, 185, 0, 0, 0, 0, 0,
793 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
794 127, 109, 110, 111, 112, 113, 114, 115, 0, 0,
795 0, 0, 0, 0, 0, 0, 186, 0, 0, 0,
796 0, 0, 117, 118, 119, 120, 121, 122, 123, 124,
797 125, 126, 127, 109, 110, 111, 112, 113, 114, 115,
798 0, 0, 0, 0, 0, 0, 0, 0, 187, 0,
799 0, 0, 0, 0, 117, 118, 119, 120, 121, 122,
800 123, 124, 125, 126, 127, 109, 110, 111, 112, 113,
801 114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
802 188, 0, 0, 0, 0, 0, 117, 118, 119, 120,
803 121, 122, 123, 124, 125, 126, 127, 109, 110, 111,
804 112, 113, 114, 115, 0, 0, 0, 0, 0, 0,
805 0, 0, 0, 0, 0, 0, 0, 0, 117, 118,
806 119, 120, 121, 122, 123, 124, 125, 126, 127
811 40, 41, 4, 85, 59, 5, 9, 0, 10, 11,
812 12, 39, 40, 65, 59, 70, 66, 6, 69, 7,
813 59, 59, 59, 8, 59, 7, 59, 59, 50, 4,
814 13, 67, 59, 3, 68, 65, 65, 183, 78, 65,
815 65, 65, 65, 41, 65, 65, 128, 65, 65, 65,
816 65, 50, 66, 66, 59, 59, 59, 59, 69, 99,
817 63, 64, 69, 35, 104, 105, 106, 107, 70, 66,
818 -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
819 -1, -1, 51, 52, 53, 54, 55, 56, 57, -1,
820 -1, -1, -1, -1, -1, -1, 136, 137, 138, 139,
821 69, 141, -1, 72, 73, 74, 75, 76, 77, 78,
822 79, 80, 81, 82, -1, 155, -1, -1, -1, 159,
823 -1, -1, -1, -1, -1, 165, 166, 167, 168, 9,
824 -1, 171, -1, 173, 14, 15, 16, 17, 18, 19,
825 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
826 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
827 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
828 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
829 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
830 70, -1, -1, -1, -1, 75, -1, -1, -1, -1,
831 -1, -1, -1, 83, 19, 20, 21, 22, 23, 24,
832 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
833 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
834 45, 46, 47, 48, 49, -1, -1, -1, -1, -1,
835 -1, -1, -1, 58, 59, 60, 61, 62, -1, -1,
836 65, 51, 52, 53, 54, 55, 56, 57, -1, -1,
837 75, -1, -1, -1, -1, -1, -1, -1, 83, -1,
838 -1, 71, 72, 73, 74, 75, 76, 77, 78, 79,
839 80, 81, 82, 51, 52, 53, 54, 55, 56, 57,
840 -1, -1, -1, -1, -1, -1, -1, -1, 66, -1,
841 -1, -1, -1, -1, 72, 73, 74, 75, 76, 77,
842 78, 79, 80, 81, 82, 51, 52, 53, 54, 55,
843 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
844 -1, -1, -1, 69, -1, -1, 72, 73, 74, 75,
845 76, 77, 78, 79, 80, 81, 82, 51, 52, 53,
846 54, 55, 56, 57, -1, -1, -1, -1, -1, -1,
847 -1, -1, -1, -1, -1, 69, -1, -1, 72, 73,
848 74, 75, 76, 77, 78, 79, 80, 81, 82, 51,
849 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
850 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
851 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
852 82, 51, 52, 53, 54, 55, 56, 57, -1, -1,
853 -1, -1, -1, -1, -1, -1, 66, -1, -1, -1,
854 -1, -1, 72, 73, 74, 75, 76, 77, 78, 79,
855 80, 81, 82, 51, 52, 53, 54, 55, 56, 57,
856 -1, -1, -1, -1, -1, -1, -1, -1, 66, -1,
857 -1, -1, -1, -1, 72, 73, 74, 75, 76, 77,
858 78, 79, 80, 81, 82, 51, 52, 53, 54, 55,
859 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
860 -1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
861 76, 77, 78, 79, 80, 81, 82, 51, 52, 53,
862 54, 55, 56, 57, -1, -1, -1, -1, -1, -1,
863 -1, -1, -1, -1, -1, 69, -1, -1, 72, 73,
864 74, 75, 76, 77, 78, 79, 80, 81, 82, 51,
865 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
866 -1, -1, -1, -1, -1, -1, -1, 69, -1, -1,
867 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
868 82, 51, 52, 53, 54, 55, 56, 57, -1, -1,
869 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69,
870 -1, -1, 72, 73, 74, 75, 76, 77, 78, 79,
871 80, 81, 82, 51, 52, 53, 54, 55, 56, 57,
872 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
873 -1, 69, -1, -1, 72, 73, 74, 75, 76, 77,
874 78, 79, 80, 81, 82, 51, 52, 53, 54, 55,
875 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
876 -1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
877 76, 77, 78, 79, 80, 81, 82, 51, 52, 53,
878 54, 55, 56, 57, -1, -1, -1, -1, -1, -1,
879 -1, -1, -1, -1, -1, 69, -1, -1, 72, 73,
880 74, 75, 76, 77, 78, 79, 80, 81, 82, 51,
881 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
882 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
883 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
884 82, 51, 52, 53, 54, 55, 56, 57, -1, -1,
885 -1, -1, -1, -1, -1, -1, 66, -1, -1, -1,
886 -1, -1, 72, 73, 74, 75, 76, 77, 78, 79,
887 80, 81, 82, 51, 52, 53, 54, 55, 56, 57,
888 -1, -1, -1, -1, -1, -1, -1, -1, 66, -1,
889 -1, -1, -1, -1, 72, 73, 74, 75, 76, 77,
890 78, 79, 80, 81, 82, 51, 52, 53, 54, 55,
891 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
892 66, -1, -1, -1, -1, -1, 72, 73, 74, 75,
893 76, 77, 78, 79, 80, 81, 82, 51, 52, 53,
894 54, 55, 56, 57, -1, -1, -1, -1, -1, -1,
895 -1, -1, -1, -1, -1, -1, -1, -1, 72, 73,
896 74, 75, 76, 77, 78, 79, 80, 81, 82
903 0, 5, 85, 86, 87, 9, 59, 63, 64, 88,
904 0, 87, 65, 59, 90, 91, 66, 69, 6, 59,
905 59, 7, 59, 8, 59, 7, 59, 67, 4, 10,
906 11, 12, 59, 70, 92, 93, 94, 95, 59, 59,
907 70, 50, 19, 20, 21, 22, 23, 24, 25, 26,
908 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
909 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
910 47, 48, 49, 58, 59, 60, 61, 62, 65, 75,
911 83, 100, 101, 102, 103, 109, 110, 111, 68, 94,
912 4, 100, 14, 15, 16, 17, 18, 59, 61, 70,
913 88, 89, 96, 100, 65, 65, 65, 65, 100, 51,
914 52, 53, 54, 55, 56, 57, 69, 72, 73, 74,
915 75, 76, 77, 78, 79, 80, 81, 82, 104, 105,
916 106, 107, 108, 101, 71, 65, 65, 65, 65, 65,
917 100, 65, 100, 100, 100, 100, 66, 100, 101, 59,
918 66, 100, 100, 100, 100, 69, 98, 99, 100, 69,
919 66, 66, 66, 71, 69, 69, 69, 69, 69, 100,
920 66, 69, 100, 50, 59, 100, 100, 100, 100, 71,
921 13, 97, 100, 69, 100, 66, 66, 66, 66, 59,
928 0, 84, 85, 86, 86, 87, 88, 88, 88, 88,
929 89, 89, 90, 90, 91, 91, 92, 92, 93, 93,
930 94, 94, 95, 95, 95, 95, 95, 95, 96, 96,
931 96, 96, 96, 96, 96, 96, 97, 97, 98, 98,
932 99, 99, 100, 100, 101, 101, 101, 101, 101, 101,
933 101, 102, 102, 102, 102, 102, 102, 102, 102, 102,
934 102, 102, 103, 103, 103, 103, 103, 103, 103, 104,
935 104, 104, 104, 105, 105, 105, 106, 106, 106, 106,
936 106, 107, 107, 107, 107, 108, 108, 108, 108, 108,
937 108, 109, 109, 109, 109, 109, 109, 109, 110, 110,
938 110, 110, 110, 110, 110, 110, 110, 110, 111, 111
944 0, 2, 1, 1, 2, 16, 1, 1, 1, 1,
945 1, 1, 0, 1, 1, 3, 0, 1, 1, 2,
946 1, 2, 2, 2, 7, 1, 3, 7, 1, 5,
947 3, 6, 5, 6, 6, 6, 0, 2, 0, 1,
948 1, 3, 1, 3, 1, 2, 3, 8, 4, 4,
949 4, 1, 1, 1, 1, 1, 1, 1, 1, 1,
950 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
951 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
952 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
953 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
954 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
958 #define yyerrok (yyerrstatus = 0) 959 #define yyclearin (yychar = YYEMPTY) 963 #define YYACCEPT goto yyacceptlab 964 #define YYABORT goto yyabortlab 965 #define YYERROR goto yyerrorlab 968 #define YYRECOVERING() (!!yyerrstatus) 970 #define YYBACKUP(Token, Value) \ 972 if (yychar == YYEMPTY) \ 976 YYPOPSTACK (yylen); \ 982 yyerror (YY_("syntax error: cannot back up")); \ 989 #define YYERRCODE 256 998 # define YYFPRINTF fprintf 1001 # define YYDPRINTF(Args) \ 1008 #ifndef YY_LOCATION_PRINT 1009 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1013 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1017 YYFPRINTF (stderr, "%s ", Title); \ 1018 yy_symbol_print (stderr, \ 1020 YYFPRINTF (stderr, "\n"); \ 1030 yy_symbol_value_print (FILE *yyo,
int yytype,
YYSTYPE const *
const yyvaluep)
1032 FILE *yyoutput = yyo;
1038 YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
1049 yy_symbol_print (FILE *yyo,
int yytype,
YYSTYPE const *
const yyvaluep)
1051 YYFPRINTF (yyo,
"%s %s (",
1054 yy_symbol_value_print (yyo, yytype, yyvaluep);
1055 YYFPRINTF (yyo,
")");
1066 YYFPRINTF (stderr,
"Stack now");
1067 for (; yybottom <= yytop; yybottom++)
1069 int yybot = *yybottom;
1070 YYFPRINTF (stderr,
" %d", yybot);
1072 YYFPRINTF (stderr,
"\n");
1075 # define YY_STACK_PRINT(Bottom, Top) \ 1078 yy_stack_print ((Bottom), (Top)); \ 1089 unsigned long yylno = yyrline[yyrule];
1090 int yynrhs =
yyr2[yyrule];
1092 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1095 for (yyi = 0; yyi < yynrhs; yyi++)
1097 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1098 yy_symbol_print (stderr,
1099 yystos[yyssp[yyi + 1 - yynrhs]],
1100 &yyvsp[(yyi + 1) - (yynrhs)]
1102 YYFPRINTF (stderr,
"\n");
1106 # define YY_REDUCE_PRINT(Rule) \ 1109 yy_reduce_print (yyssp, yyvsp, Rule); \ 1116 # define YYDPRINTF(Args) 1117 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1118 # define YY_STACK_PRINT(Bottom, Top) 1119 # define YY_REDUCE_PRINT(Rule) 1125 # define YYINITDEPTH 200 1136 # define YYMAXDEPTH 10000 1143 # if defined __GLIBC__ && defined _STRING_H 1144 # define yystrlen strlen 1151 for (yylen = 0; yystr[yylen]; yylen++)
1159 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1160 # define yystpcpy stpcpy 1168 const char *yys = yysrc;
1170 while ((*yyd++ = *yys++) !=
'\0')
1192 char const *yyp = yystr;
1199 goto do_not_strip_quotes;
1203 goto do_not_strip_quotes;
1219 do_not_strip_quotes: ;
1243 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1247 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1277 int yyn =
yypact[*yyssp];
1278 yyarg[yycount++] =
yytname[yytoken];
1284 int yyxbegin = yyn < 0 ? -yyn : 0;
1286 int yychecklim =
YYLAST - yyn + 1;
1290 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1294 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1300 yyarg[yycount++] =
yytname[yyx];
1314 # define YYCASE_(N, S) \ 1320 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1321 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1322 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1323 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1324 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1336 if (*yymsg_alloc < yysize)
1338 *yymsg_alloc = 2 * yysize;
1339 if (! (yysize <= *yymsg_alloc
1351 while ((*yyp = *yyformat) !=
'\0')
1352 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1437 char *yymsg = yymsgbuf;
1438 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1441 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 1447 yyssp = yyss = yyssa;
1448 yyvsp = yyvs = yyvsa;
1451 YYDPRINTF ((stderr,
"Starting parse\n"));
1473 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1477 if (yyss + yystacksize - 1 <= yyssp)
1478 #if !defined yyoverflow && !defined YYSTACK_RELOCATE 1479 goto yyexhaustedlab;
1485 # if defined yyoverflow 1497 yyoverflow (
YY_(
"memory exhausted"),
1498 &yyss1, yysize *
sizeof (*yyssp),
1499 &yyvs1, yysize *
sizeof (*yyvsp),
1507 goto yyexhaustedlab;
1517 goto yyexhaustedlab;
1520 # undef YYSTACK_RELOCATE 1526 yyssp = yyss + yysize - 1;
1527 yyvsp = yyvs + yysize - 1;
1529 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1530 (
unsigned long) yystacksize));
1532 if (yyss + yystacksize - 1 <= yyssp)
1560 YYDPRINTF ((stderr,
"Reading a token: "));
1567 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1632 yyval = yyvsp[1-yylen];
1639 #line 119 "parser.y" 1662 if(
stack(yyvsp[-1]).is_not_nil())
1665 PARSER.parse_tree.items.push_back(decl);
1667 #line 1668 "jsil_y.tab.cpp" 1671 #line 150 "parser.y" 1676 #line 1677 "jsil_y.tab.cpp" 1680 #line 155 "parser.y" 1682 stack(yyval).set(
"proc_type",
"builtin");
1684 #line 1685 "jsil_y.tab.cpp" 1688 #line 159 "parser.y" 1690 stack(yyval).set(
"proc_type",
"spec");
1692 #line 1693 "jsil_y.tab.cpp" 1696 #line 166 "parser.y" 1699 stack(yyval).swap(s);
1701 #line 1702 "jsil_y.tab.cpp" 1705 #line 173 "parser.y" 1709 #line 1710 "jsil_y.tab.cpp" 1713 #line 180 "parser.y" 1716 stack(yyval).move_to_operands(
stack(yyvsp[0]));
1718 #line 1719 "jsil_y.tab.cpp" 1722 #line 185 "parser.y" 1725 stack(yyval).move_to_operands(
stack(yyvsp[0]));
1727 #line 1728 "jsil_y.tab.cpp" 1731 #line 192 "parser.y" 1735 #line 1736 "jsil_y.tab.cpp" 1739 #line 199 "parser.y" 1743 stack(yyval).move_to_operands(
stack(yyvsp[0]));
1745 #line 1746 "jsil_y.tab.cpp" 1749 #line 205 "parser.y" 1752 stack(yyval).move_to_operands(
stack(yyvsp[0]));
1754 #line 1755 "jsil_y.tab.cpp" 1758 #line 212 "parser.y" 1762 #line 1763 "jsil_y.tab.cpp" 1766 #line 216 "parser.y" 1770 #line 1771 "jsil_y.tab.cpp" 1774 #line 222 "parser.y" 1781 #line 1782 "jsil_y.tab.cpp" 1785 #line 229 "parser.y" 1790 #line 1791 "jsil_y.tab.cpp" 1794 #line 234 "parser.y" 1803 #line 1804 "jsil_y.tab.cpp" 1807 #line 243 "parser.y" 1811 #line 1812 "jsil_y.tab.cpp" 1815 #line 247 "parser.y" 1820 #line 1821 "jsil_y.tab.cpp" 1824 #line 252 "parser.y" 1830 #line 1831 "jsil_y.tab.cpp" 1834 #line 261 "parser.y" 1838 if(
stack(yyvsp[-2]).is_not_nil())
1843 if(
stack(yyvsp[0]).is_not_nil())
1846 stack(yyval).swap(w);
1849 #line 1850 "jsil_y.tab.cpp" 1853 #line 276 "parser.y" 1858 #line 1859 "jsil_y.tab.cpp" 1862 #line 281 "parser.y" 1864 exprt has_field(
"hasField");
1870 #line 1871 "jsil_y.tab.cpp" 1874 #line 289 "parser.y" 1879 #line 1880 "jsil_y.tab.cpp" 1883 #line 294 "parser.y" 1891 #line 1892 "jsil_y.tab.cpp" 1895 #line 302 "parser.y" 1897 exprt proto_field(
"protoField");
1903 #line 1904 "jsil_y.tab.cpp" 1907 #line 310 "parser.y" 1909 exprt proto_obj(
"protoObj");
1915 #line 1916 "jsil_y.tab.cpp" 1919 #line 320 "parser.y" 1923 #line 1924 "jsil_y.tab.cpp" 1927 #line 324 "parser.y" 1931 #line 1932 "jsil_y.tab.cpp" 1935 #line 330 "parser.y" 1939 #line 1940 "jsil_y.tab.cpp" 1943 #line 337 "parser.y" 1945 newstack(yyval).id(ID_expression_list);
1946 stack(yyval).move_to_operands(
stack(yyvsp[0]));
1948 #line 1949 "jsil_y.tab.cpp" 1952 #line 342 "parser.y" 1955 stack(yyval).move_to_operands(
stack(yyvsp[0]));
1957 #line 1958 "jsil_y.tab.cpp" 1961 #line 350 "parser.y" 1964 stack(yyval).move_to_operands(
stack(yyvsp[-2]));
1965 stack(yyval).move_to_operands(
stack(yyvsp[0]));
1967 #line 1968 "jsil_y.tab.cpp" 1971 #line 359 "parser.y" 1974 stack(yyval).move_to_operands(
stack(yyvsp[0]));
1976 #line 1977 "jsil_y.tab.cpp" 1980 #line 364 "parser.y" 1984 #line 1985 "jsil_y.tab.cpp" 1988 #line 368 "parser.y" 1997 #line 1998 "jsil_y.tab.cpp" 2001 #line 377 "parser.y" 2003 exprt field(
"field");
2008 #line 2009 "jsil_y.tab.cpp" 2012 #line 384 "parser.y" 2014 exprt base(ID_base);
2019 #line 2020 "jsil_y.tab.cpp" 2023 #line 391 "parser.y" 2025 exprt typeof_expr(ID_typeof);
2030 #line 2031 "jsil_y.tab.cpp" 2034 #line 401 "parser.y" 2038 #line 2039 "jsil_y.tab.cpp" 2042 #line 405 "parser.y" 2046 #line 2047 "jsil_y.tab.cpp" 2050 #line 409 "parser.y" 2054 #line 2055 "jsil_y.tab.cpp" 2058 #line 413 "parser.y" 2062 #line 2063 "jsil_y.tab.cpp" 2066 #line 417 "parser.y" 2070 #line 2071 "jsil_y.tab.cpp" 2074 #line 422 "parser.y" 2078 stack(yyval).swap(c);
2080 #line 2081 "jsil_y.tab.cpp" 2084 #line 433 "parser.y" 2088 #line 2089 "jsil_y.tab.cpp" 2092 #line 437 "parser.y" 2096 #line 2097 "jsil_y.tab.cpp" 2100 #line 441 "parser.y" 2104 #line 2105 "jsil_y.tab.cpp" 2108 #line 445 "parser.y" 2112 #line 2113 "jsil_y.tab.cpp" 2116 #line 449 "parser.y" 2120 #line 2121 "jsil_y.tab.cpp" 2124 #line 453 "parser.y" 2126 newstack(yyval).id(
"targetfunction");
2128 #line 2129 "jsil_y.tab.cpp" 2132 #line 457 "parser.y" 2136 #line 2137 "jsil_y.tab.cpp" 2140 #line 469 "parser.y" 2144 #line 2145 "jsil_y.tab.cpp" 2148 #line 473 "parser.y" 2152 #line 2153 "jsil_y.tab.cpp" 2156 #line 477 "parser.y" 2160 #line 2161 "jsil_y.tab.cpp" 2164 #line 483 "parser.y" 2168 #line 2169 "jsil_y.tab.cpp" 2172 #line 487 "parser.y" 2176 #line 2177 "jsil_y.tab.cpp" 2180 #line 491 "parser.y" 2184 #line 2185 "jsil_y.tab.cpp" 2188 #line 495 "parser.y" 2192 #line 2193 "jsil_y.tab.cpp" 2196 #line 499 "parser.y" 2200 #line 2201 "jsil_y.tab.cpp" 2204 #line 505 "parser.y" 2208 #line 2209 "jsil_y.tab.cpp" 2212 #line 509 "parser.y" 2216 #line 2217 "jsil_y.tab.cpp" 2220 #line 513 "parser.y" 2224 #line 2225 "jsil_y.tab.cpp" 2228 #line 517 "parser.y" 2230 newstack(yyval).id(ID_concatenation);
2232 #line 2233 "jsil_y.tab.cpp" 2236 #line 523 "parser.y" 2240 #line 2241 "jsil_y.tab.cpp" 2244 #line 527 "parser.y" 2248 #line 2249 "jsil_y.tab.cpp" 2252 #line 531 "parser.y" 2256 #line 2257 "jsil_y.tab.cpp" 2260 #line 535 "parser.y" 2264 #line 2265 "jsil_y.tab.cpp" 2268 #line 539 "parser.y" 2272 #line 2273 "jsil_y.tab.cpp" 2276 #line 543 "parser.y" 2280 #line 2281 "jsil_y.tab.cpp" 2284 #line 549 "parser.y" 2288 #line 2289 "jsil_y.tab.cpp" 2292 #line 553 "parser.y" 2294 newstack(yyval).id(ID_unary_minus);
2296 #line 2297 "jsil_y.tab.cpp" 2300 #line 557 "parser.y" 2302 newstack(yyval).id(
"num_to_string");
2304 #line 2305 "jsil_y.tab.cpp" 2308 #line 561 "parser.y" 2310 newstack(yyval).id(
"string_to_num");
2312 #line 2313 "jsil_y.tab.cpp" 2316 #line 565 "parser.y" 2318 newstack(yyval).id(
"num_to_int32");
2320 #line 2321 "jsil_y.tab.cpp" 2324 #line 569 "parser.y" 2326 newstack(yyval).id(
"num_to_uint32");
2328 #line 2329 "jsil_y.tab.cpp" 2332 #line 573 "parser.y" 2336 #line 2337 "jsil_y.tab.cpp" 2340 #line 579 "parser.y" 2344 #line 2345 "jsil_y.tab.cpp" 2348 #line 583 "parser.y" 2350 newstack(yyval).id(
"undefined_type");
2352 #line 2353 "jsil_y.tab.cpp" 2356 #line 587 "parser.y" 2360 #line 2361 "jsil_y.tab.cpp" 2364 #line 591 "parser.y" 2368 #line 2369 "jsil_y.tab.cpp" 2372 #line 595 "parser.y" 2376 #line 2377 "jsil_y.tab.cpp" 2380 #line 599 "parser.y" 2382 newstack(yyval).id(
"builtin_object");
2384 #line 2385 "jsil_y.tab.cpp" 2388 #line 603 "parser.y" 2392 #line 2393 "jsil_y.tab.cpp" 2396 #line 607 "parser.y" 2400 #line 2401 "jsil_y.tab.cpp" 2404 #line 612 "parser.y" 2407 newstack(yyval).set(ID_C_reference,
true);
2409 #line 2410 "jsil_y.tab.cpp" 2413 #line 619 "parser.y" 2417 #line 2418 "jsil_y.tab.cpp" 2421 #line 623 "parser.y" 2425 #line 2426 "jsil_y.tab.cpp" 2429 #line 2430 "jsil_y.tab.cpp" 2457 const int yyi =
yypgoto[yylhs] + *yyssp;
2458 yystate = (0 <= yyi && yyi <=
YYLAST &&
yycheck[yyi] == *yyssp
2478 #if ! YYERROR_VERBOSE 2481 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 2484 char const *yymsgp =
YY_(
"syntax error");
2485 int yysyntax_error_status;
2487 if (yysyntax_error_status == 0)
2489 else if (yysyntax_error_status == 1)
2491 if (yymsg != yymsgbuf)
2497 yymsg_alloc =
sizeof yymsgbuf;
2498 yysyntax_error_status = 2;
2507 if (yysyntax_error_status == 2)
2508 goto yyexhaustedlab;
2510 # undef YYSYNTAX_ERROR 2516 if (yyerrstatus == 3)
2618 #if !defined yyoverflow || YYERROR_VERBOSE 2645 while (yyssp != yyss)
2656 if (yymsg != yymsgbuf)
2661 #line 628 "parser.y"
static int yysyntax_error(size_t *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
#define TOK_NUM_TO_UINT32
#define TOK_T_BUILTIN_OBJECT
#define TOK_UNSIGNED_RIGHT_SHIFT
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
static const yytype_int16 yypact[]
#define TOK_VARIABLE_REFERENCE
static const yytype_uint8 yydefact[]
#define TOK_BUILTIN_IDENTIFIER
const irep_idt & get_identifier() const
void move_to_operands(exprt &expr)
Move the given argument to the end of exprt's operands.
codet representation of a goto statement.
typet & type()
Return the type of the expression.
static const char *const yytname[]
#define yypact_value_is_default(Yystate)
A constant literal expression.
#define TOK_SIGNED_RIGHT_SHIFT
unsigned short yytype_uint16
static void yydestruct(const char *yymsg, int yytype, unsigned *yyvaluep)
static const yytype_uint8 yyr1[]
unsigned short yytype_uint16
static size_t yytnamerr(char *yyres, const char *yystr)
#define YYSTACK_ALLOC_MAXIMUM
#define YY_REDUCE_PRINT(Rule)
int yyjsillex()
The main scanner function which does all the work.
#define TOK_T_USER_OBJECT
The Boolean constant true.
static const yytype_int16 yytable[]
API to expression classes.
#define TOK_NUM_TO_STRING
codet representation of a label for branch targets.
static size_t yystrlen(const char *yystr)
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define forall_operands(it, expr)
void add_throws(const irep_idt &value, const irep_idt &label)
const symbol_exprt & to_symbol_expr(const exprt &expr)
Cast an exprt to a symbol_exprt.
unsigned char yytype_uint8
static const yytype_uint8 yystos[]
static const yytype_uint8 yytranslate[]
static const yytype_int16 yydefgoto[]
The Boolean constant false.
void add_declarator(const symbol_exprt &expr)
A side_effect_exprt representation of a function call side effect.
#define TOK_SCANNER_ERROR
void set_identifier(const irep_idt &identifier)
const string_constantt & to_string_constant(const exprt &expr)
unsigned char yytype_uint8
void add_value(const code_blockt &code)
void set_statement(const irep_idt &statement)
void add_returns(const irep_idt &value, const irep_idt &label)
Base class for all expressions.
const parameterst & parameters() const
#define yytable_value_is_error(Yytable_value)
#define YY_STACK_PRINT(Bottom, Top)
Operator to update elements in structs and arrays.
static const yytype_uint8 yyr2[]
static const yytype_int16 yycheck[]
#define TOK_MEMBER_REFERENCE
exprt::operandst & arguments()
const codet & to_code(const exprt &expr)
A codet representing a skip statement.
codet representation of an if-then-else statement.
Expression to hold a symbol (variable)
const code_blockt & to_code_block(const codet &code)
#define TOK_TARGETFUNCTION
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
#define TOK_SPEC_IDENTIFIER
#define TOK_STRING_TO_NUM
static const yytype_int16 yypgoto[]
A codet representing an assignment in the program.
static char * yystpcpy(char *yydest, const char *yysrc)
#define YYSTACK_RELOCATE(Stack_alloc, Stack)