47 #define YYBISON_VERSION "3.0.5" 50 #define YYSKELETON_NAME "yacc.c" 63 #define yyparse yyjsilparse 64 #define yylex yyjsillex 65 #define yyerror yyjsilerror 66 #define yydebug yyjsildebug 67 #define yynerrs yyjsilnerrs 69 #define yylval yyjsillval 70 #define yychar yyjsilchar 77 #define PARSER jsil_parser 84 #define YYSTYPE unsigned 85 #define YYSTYPE_IS_TRIVIAL 1 94 #line 95 "jsil_y.tab.cpp" 97 # if defined __cplusplus && 201103L <= __cplusplus 98 # define YY_NULLPTR nullptr 100 # define YY_NULLPTR 0 105 #ifdef YYERROR_VERBOSE 106 # undef YYERROR_VERBOSE 107 # define YYERROR_VERBOSE 1 109 # define YYERROR_VERBOSE 1 114 #ifndef YY_YYJSIL_JSIL_Y_TAB_HPP_INCLUDED 115 # define YY_YYJSIL_JSIL_Y_TAB_HPP_INCLUDED 121 extern int yyjsildebug;
194 #define TOK_SCANNER_ERROR 258 195 #define TOK_NEWLINE 259 196 #define TOK_PROCEDURE 260 197 #define TOK_RETURNS 261 199 #define TOK_THROWS 263 201 #define TOK_LABEL 265 206 #define TOK_HAS_FIELD 270 207 #define TOK_DELETE 271 208 #define TOK_PROTO_FIELD 272 209 #define TOK_PROTO_OBJ 273 211 #define TOK_FIELD 275 213 #define TOK_TYPEOF 277 215 #define TOK_UNDEFINED 279 216 #define TOK_EMPTY 280 218 #define TOK_FALSE 282 219 #define TOK_PROTO 283 221 #define TOK_SCOPE 285 222 #define TOK_CONSTRUCTID 286 223 #define TOK_PRIMVALUE 287 224 #define TOK_TARGETFUNCTION 288 225 #define TOK_CLASS 289 226 #define TOK_NUM_TO_STRING 290 227 #define TOK_STRING_TO_NUM 291 228 #define TOK_NUM_TO_INT32 292 229 #define TOK_NUM_TO_UINT32 293 230 #define TOK_MEMBER_REFERENCE 294 231 #define TOK_VARIABLE_REFERENCE 295 232 #define TOK_T_NULL 296 233 #define TOK_T_UNDEFINED 297 234 #define TOK_T_BOOLEAN 298 235 #define TOK_T_STRING 299 236 #define TOK_T_NUMBER 300 237 #define TOK_T_BUILTIN_OBJECT 301 238 #define TOK_T_USER_OBJECT 302 239 #define TOK_T_OBJECT 303 240 #define TOK_T_REFERENCE 304 241 #define TOK_DEFEQ 305 245 #define TOK_SUBTYPE_OF 309 246 #define TOK_LEFT_SHIFT 310 247 #define TOK_SIGNED_RIGHT_SHIFT 311 248 #define TOK_UNSIGNED_RIGHT_SHIFT 312 250 #define TOK_IDENTIFIER 314 251 #define TOK_FLOATING 315 252 #define TOK_STRING 316 253 #define TOK_BUILTIN_LOC 317 254 #define TOK_BUILTIN_IDENTIFIER 318 255 #define TOK_SPEC_IDENTIFIER 319 258 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 260 # define YYSTYPE_IS_TRIVIAL 1 261 # define YYSTYPE_IS_DECLARED 1 273 #line 274 "jsil_y.tab.cpp" 304 # ifdef __SIZE_TYPE__ 305 # define YYSIZE_T __SIZE_TYPE__ 306 # elif defined size_t 307 # define YYSIZE_T size_t 308 # elif ! defined YYSIZE_T 310 # define YYSIZE_T size_t 312 # define YYSIZE_T unsigned int 316 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 319 # if defined YYENABLE_NLS && YYENABLE_NLS 321 # include <libintl.h> 322 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 326 # define YY_(Msgid) Msgid 331 # if (defined __GNUC__ \ 332 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ 333 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 334 # define YY_ATTRIBUTE(Spec) __attribute__(Spec) 336 # define YY_ATTRIBUTE(Spec) 340 #ifndef YY_ATTRIBUTE_PURE 341 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) 344 #ifndef YY_ATTRIBUTE_UNUSED 345 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 348 #if !defined _Noreturn \ 349 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 350 # if defined _MSC_VER && 1200 <= _MSC_VER 351 # define _Noreturn __declspec (noreturn) 353 # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 358 #if ! defined lint || defined __GNUC__ 359 # define YYUSE(E) ((void) (E)) 364 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 366 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 367 _Pragma ("GCC diagnostic push") \ 368 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 369 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 370 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 371 _Pragma ("GCC diagnostic pop") 373 # define YY_INITIAL_VALUE(Value) Value 375 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 376 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 377 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 379 #ifndef YY_INITIAL_VALUE 380 # define YY_INITIAL_VALUE(Value) 384 #if ! defined yyoverflow || YYERROR_VERBOSE 388 # ifdef YYSTACK_USE_ALLOCA 389 # if YYSTACK_USE_ALLOCA 391 # define YYSTACK_ALLOC __builtin_alloca 392 # elif defined __BUILTIN_VA_ARG_INCR 395 # define YYSTACK_ALLOC __alloca 396 # elif defined _MSC_VER 398 # define alloca _alloca 400 # define YYSTACK_ALLOC alloca 401 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 404 # ifndef EXIT_SUCCESS 405 # define EXIT_SUCCESS 0 412 # ifdef YYSTACK_ALLOC 414 # define YYSTACK_FREE(Ptr) do { ; } while (0) 415 # ifndef YYSTACK_ALLOC_MAXIMUM 420 # define YYSTACK_ALLOC_MAXIMUM 4032 423 # define YYSTACK_ALLOC YYMALLOC 424 # define YYSTACK_FREE YYFREE 425 # ifndef YYSTACK_ALLOC_MAXIMUM 426 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 428 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 429 && ! ((defined YYMALLOC || defined malloc) \ 430 && (defined YYFREE || defined free))) 432 # ifndef EXIT_SUCCESS 433 # define EXIT_SUCCESS 0 437 # define YYMALLOC malloc 438 # if ! defined malloc && ! defined EXIT_SUCCESS 444 # if ! defined free && ! defined EXIT_SUCCESS 452 #if (! defined yyoverflow \ 453 && (! defined __cplusplus \ 454 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 464 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 468 # define YYSTACK_BYTES(N) \ 469 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 470 + YYSTACK_GAP_MAXIMUM) 472 # define YYCOPY_NEEDED 1 479 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 482 YYSIZE_T yynewbytes; \ 483 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 484 Stack = &yyptr->Stack_alloc; \ 485 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 486 yyptr += yynewbytes / sizeof (*yyptr); \ 492 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 496 # if defined __GNUC__ && 1 < __GNUC__ 497 # define YYCOPY(Dst, Src, Count) \ 498 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 500 # define YYCOPY(Dst, Src, Count) \ 504 for (yyi = 0; yyi < (Count); yyi++) \ 505 (Dst)[yyi] = (Src)[yyi]; \ 524 #define YYNSTATES 192 529 #define YYMAXUTOK 319 531 #define YYTRANSLATE(YYX) \ 532 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 538 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
539 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
540 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
541 2, 2, 2, 83, 2, 2, 2, 78, 80, 2,
542 65, 66, 76, 74, 69, 75, 2, 77, 2, 2,
543 2, 2, 2, 2, 2, 2, 2, 2, 79, 2,
544 73, 72, 2, 2, 2, 2, 2, 2, 2, 2,
545 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
546 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
547 2, 70, 2, 71, 82, 2, 2, 2, 2, 2,
548 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
549 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
550 2, 2, 2, 67, 81, 68, 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, 2, 2, 2, 2,
563 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
564 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
565 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
566 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
567 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
568 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
569 55, 56, 57, 58, 59, 60, 61, 62, 63, 64
576 0, 108, 108, 111, 112, 115, 148, 149, 154, 158,
577 164, 165, 173, 176, 179, 184, 192, 195, 198, 204,
578 211, 215, 221, 228, 233, 242, 246, 251, 259, 260,
579 275, 280, 288, 293, 301, 309, 320, 323, 330, 333,
580 336, 341, 348, 349, 357, 358, 363, 367, 376, 383,
581 390, 399, 400, 404, 408, 412, 416, 420, 421, 427,
582 428, 429, 432, 436, 440, 444, 448, 452, 456, 462,
583 463, 464, 465, 468, 472, 476, 482, 486, 490, 494,
584 498, 504, 508, 512, 516, 522, 526, 530, 534, 538,
585 542, 548, 552, 556, 560, 564, 568, 572, 578, 582,
586 586, 590, 594, 598, 602, 606, 610, 611, 618, 622
590 #if YYDEBUG || YYERROR_VERBOSE || 1 595 "$end",
"error",
"$undefined",
"TOK_SCANNER_ERROR",
"\"<newline>\"",
596 "\"procedure\"",
"\"returns\"",
"\"to\"",
"\"throws\"",
"\"eval\"",
597 "\"label\"",
"\"goto\"",
"\"skip\"",
"\"with\"",
"\"new\"",
598 "\"hasField\"",
"\"delete\"",
"\"protoField\"",
"\"protoObj\"",
599 "\"ref\"",
"\"field\"",
"\"base\"",
"\"typeOf\"",
"\"null\"",
600 "\"#undefined\"",
"\"#empty\"",
"\"true\"",
"\"false\"",
"\"#proto\"",
601 "\"#fid\"",
"\"#scope\"",
"\"#constructid\"",
"\"#primvalue\"",
602 "\"#targetfunction\"",
"\"#class\"",
"\"num_to_string\"",
603 "\"string_to_num\"",
"\"num_to_int32\"",
"\"num_to_uint32\"",
604 "\"#MemberReference\"",
"\"#VariableReference\"",
"\"#Null\"",
605 "\"#Undefined\"",
"\"#Boolean\"",
"\"#String\"",
"\"#Number\"",
606 "\"#BuiltinObject\"",
"\"#UserObject\"",
"\"#Object\"",
"\"#Reference\"",
607 "\":=\"",
"\"<=\"",
"\"and\"",
"\"or\"",
"\"<:\"",
"\"<<\"",
"\">>\"",
608 "\">>>\"",
"\"not\"",
"TOK_IDENTIFIER",
"TOK_FLOATING",
"TOK_STRING",
609 "TOK_BUILTIN_LOC",
"TOK_BUILTIN_IDENTIFIER",
"TOK_SPEC_IDENTIFIER",
610 "'('",
"')'",
"'{'",
"'}'",
"','",
"'['",
"']'",
"'='",
"'<'",
"'+'",
611 "'-'",
"'*'",
"'/'",
"'%'",
"':'",
"'&'",
"'|'",
"'^'",
"'!'",
"$accept",
612 "program",
"procedure_decls",
"procedure_decl",
"proc_ident",
613 "proc_ident_expr",
"parameters_opt",
"parameters",
"statements_opt",
614 "statements",
"statement",
"instruction",
"rhs",
"with_opt",
615 "expressions_opt",
"expressions",
"expression",
"atom_expression",
616 "literal",
"builtin_field",
"binary_op",
"compare_op",
"arithmetic_op",
617 "boolean_op",
"bitwise_op",
"unary_op",
"jsil_type",
"ref_type",
YY_NULLPTR 626 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
627 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
628 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
629 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
630 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
631 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
632 315, 316, 317, 318, 319, 40, 41, 123, 125, 44,
633 91, 93, 61, 60, 43, 45, 42, 47, 37, 58,
638 #define YYPACT_NINF -147 640 #define yypact_value_is_default(Yystate) \ 641 (!!((Yystate) == (-147))) 643 #define YYTABLE_NINF -12 645 #define yytable_value_is_error(Yytable_value) \ 652 0, -3, 7, 0, -147, -147, -147, -147, -147, -52,
653 -147, -147, -45, -147, -50, -51, 11, -39, -38, -147,
654 12, -37, 15, -35, 18, -33, -36, -2, -147, -32,
655 -55, -147, -22, 185, -34, -2, -147, 25, -147, -147,
656 185, 120, -30, -29, -26, -25, -147, -147, -147, -147,
657 -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
658 -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
659 -147, -147, -147, -147, -147, -147, -147, -147, 185, -147,
660 -147, 31, -147, -147, -147, 185, -147, -147, -147, -147,
661 -147, 200, -24, -23, -21, -20, -18, -17, -16, 185,
662 -147, -15, -147, 776, 185, 185, 185, 185, 232, -147,
663 -147, -147, -147, -147, -147, -147, 185, -147, -147, -147,
664 -147, -147, -147, -147, -147, -147, -147, -147, 185, -147,
665 -147, -147, -147, -147, -27, -14, 185, 185, 185, 185,
666 264, 185, 296, 328, 360, 392, -147, 424, -147, -11,
667 -147, 456, 488, 520, 552, 185, -13, -7, 776, 185,
668 -147, -147, -147, 1, -5, 185, 185, 185, 185, 584,
669 17, 185, 616, 185, -147, 648, 680, 712, 744, -147,
670 -4, -147, 776, -28, 776, -147, -147, -147, -147, -147,
679 0, 0, 0, 2, 3, 7, 6, 8, 9, 0,
680 1, 4, 12, 14, 0, 13, 0, 0, 0, 15,
681 0, 0, 0, 0, 0, 0, 0, 16, 20, 0,
682 0, 25, 0, 0, 0, 17, 18, 0, 22, 23,
683 0, 0, 0, 0, 0, 0, 52, 53, 54, 55,
684 56, 62, 63, 64, 65, 66, 67, 68, 93, 94,
685 95, 96, 108, 109, 98, 99, 100, 101, 102, 103,
686 104, 105, 107, 91, 51, 57, 58, 59, 0, 92,
687 97, 0, 42, 44, 61, 0, 60, 106, 5, 19,
688 21, 0, 0, 0, 0, 0, 0, 51, 58, 0,
689 10, 0, 26, 28, 0, 0, 0, 0, 0, 75,
690 81, 82, 83, 88, 89, 90, 0, 73, 74, 76,
691 77, 78, 79, 80, 84, 85, 86, 87, 0, 69,
692 70, 71, 72, 45, 0, 0, 0, 0, 0, 0,
693 0, 38, 0, 0, 0, 0, 46, 0, 43, 0,
694 30, 0, 0, 0, 0, 0, 0, 39, 40, 0,
695 48, 49, 50, 0, 0, 0, 0, 0, 0, 0,
696 36, 0, 0, 0, 24, 0, 0, 0, 0, 32,
697 0, 29, 41, 0, 27, 31, 33, 34, 35, 37,
704 -147, -147, -147, 30, 2, -147, -147, -147, -147, -147,
705 28, -147, -147, -147, -147, -147, -40, -82, -147, -147,
706 -147, -147, -147, -147, -147, -147, -147, -146
712 -1, 2, 3, 4, 9, 101, 14, 15, 34, 35,
713 36, 37, 102, 181, 156, 157, 81, 82, 83, 84,
714 128, 129, 130, 131, 132, 85, 86, 87
722 91, 103, 28, 133, 39, 1, 5, 10, 29, 30,
723 31, 62, 63, 12, 13, 40, 16, 18, 17, 21,
724 19, 20, 22, 23, 24, 25, 26, 38, 41, 90,
725 180, 27, 149, 11, 88, 104, 105, 190, 108, 106,
726 107, 135, 136, 100, 137, 138, 148, 139, -6, -11,
727 141, 173, 150, 170, 174, 189, 6, 32, 164, 140,
728 7, 8, 171, 89, 142, 143, 144, 145, 33, 191,
729 0, 0, 0, 0, 0, 0, 147, 0, 0, 0,
730 0, 0, 109, 110, 111, 112, 113, 114, 115, 0,
731 0, 0, 0, 0, 0, 0, 151, 152, 153, 154,
732 116, 158, 0, 117, 118, 119, 120, 121, 122, 123,
733 124, 125, 126, 127, 0, 169, 0, 0, 0, 172,
734 0, 0, 0, 0, 0, 175, 176, 177, 178, 5,
735 0, 182, 0, 184, 92, 93, 94, 95, 96, 42,
736 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
737 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
738 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
739 0, 0, 0, 0, 0, 0, 0, 0, 73, 97,
740 75, 98, 77, 7, 8, 78, 0, 0, 0, 0,
741 99, 0, 0, 0, 0, 79, 0, 0, 0, 0,
742 0, 0, 0, 80, 42, 43, 44, 45, 46, 47,
743 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
744 58, 59, 60, 61, 62, 63, 64, 65, 66, 67,
745 68, 69, 70, 71, 72, 0, 0, 0, 0, 0,
746 0, 0, 0, 73, 74, 75, 76, 77, 0, 0,
747 78, 109, 110, 111, 112, 113, 114, 115, 0, 0,
748 79, 0, 0, 0, 0, 0, 0, 0, 80, 0,
749 0, 134, 117, 118, 119, 120, 121, 122, 123, 124,
750 125, 126, 127, 109, 110, 111, 112, 113, 114, 115,
751 0, 0, 0, 0, 0, 0, 0, 0, 146, 0,
752 0, 0, 0, 0, 117, 118, 119, 120, 121, 122,
753 123, 124, 125, 126, 127, 109, 110, 111, 112, 113,
754 114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
755 0, 0, 0, 155, 0, 0, 117, 118, 119, 120,
756 121, 122, 123, 124, 125, 126, 127, 109, 110, 111,
757 112, 113, 114, 115, 0, 0, 0, 0, 0, 0,
758 0, 0, 0, 0, 0, 159, 0, 0, 117, 118,
759 119, 120, 121, 122, 123, 124, 125, 126, 127, 109,
760 110, 111, 112, 113, 114, 115, 0, 0, 0, 0,
761 0, 0, 0, 0, 160, 0, 0, 0, 0, 0,
762 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
763 127, 109, 110, 111, 112, 113, 114, 115, 0, 0,
764 0, 0, 0, 0, 0, 0, 161, 0, 0, 0,
765 0, 0, 117, 118, 119, 120, 121, 122, 123, 124,
766 125, 126, 127, 109, 110, 111, 112, 113, 114, 115,
767 0, 0, 0, 0, 0, 0, 0, 0, 162, 0,
768 0, 0, 0, 0, 117, 118, 119, 120, 121, 122,
769 123, 124, 125, 126, 127, 109, 110, 111, 112, 113,
770 114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
771 0, 0, 0, 0, 0, 163, 117, 118, 119, 120,
772 121, 122, 123, 124, 125, 126, 127, 109, 110, 111,
773 112, 113, 114, 115, 0, 0, 0, 0, 0, 0,
774 0, 0, 0, 0, 0, 165, 0, 0, 117, 118,
775 119, 120, 121, 122, 123, 124, 125, 126, 127, 109,
776 110, 111, 112, 113, 114, 115, 0, 0, 0, 0,
777 0, 0, 0, 0, 0, 0, 0, 166, 0, 0,
778 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
779 127, 109, 110, 111, 112, 113, 114, 115, 0, 0,
780 0, 0, 0, 0, 0, 0, 0, 0, 0, 167,
781 0, 0, 117, 118, 119, 120, 121, 122, 123, 124,
782 125, 126, 127, 109, 110, 111, 112, 113, 114, 115,
783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
784 0, 168, 0, 0, 117, 118, 119, 120, 121, 122,
785 123, 124, 125, 126, 127, 109, 110, 111, 112, 113,
786 114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
787 0, 0, 0, 0, 0, 179, 117, 118, 119, 120,
788 121, 122, 123, 124, 125, 126, 127, 109, 110, 111,
789 112, 113, 114, 115, 0, 0, 0, 0, 0, 0,
790 0, 0, 0, 0, 0, 183, 0, 0, 117, 118,
791 119, 120, 121, 122, 123, 124, 125, 126, 127, 109,
792 110, 111, 112, 113, 114, 115, 0, 0, 0, 0,
793 0, 0, 0, 0, 185, 0, 0, 0, 0, 0,
794 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
795 127, 109, 110, 111, 112, 113, 114, 115, 0, 0,
796 0, 0, 0, 0, 0, 0, 186, 0, 0, 0,
797 0, 0, 117, 118, 119, 120, 121, 122, 123, 124,
798 125, 126, 127, 109, 110, 111, 112, 113, 114, 115,
799 0, 0, 0, 0, 0, 0, 0, 0, 187, 0,
800 0, 0, 0, 0, 117, 118, 119, 120, 121, 122,
801 123, 124, 125, 126, 127, 109, 110, 111, 112, 113,
802 114, 115, 0, 0, 0, 0, 0, 0, 0, 0,
803 188, 0, 0, 0, 0, 0, 117, 118, 119, 120,
804 121, 122, 123, 124, 125, 126, 127, 109, 110, 111,
805 112, 113, 114, 115, 0, 0, 0, 0, 0, 0,
806 0, 0, 0, 0, 0, 0, 0, 0, 117, 118,
807 119, 120, 121, 122, 123, 124, 125, 126, 127
812 40, 41, 4, 85, 59, 5, 9, 0, 10, 11,
813 12, 39, 40, 65, 59, 70, 66, 6, 69, 7,
814 59, 59, 59, 8, 59, 7, 59, 59, 50, 4,
815 13, 67, 59, 3, 68, 65, 65, 183, 78, 65,
816 65, 65, 65, 41, 65, 65, 128, 65, 65, 65,
817 65, 50, 66, 66, 59, 59, 59, 59, 69, 99,
818 63, 64, 69, 35, 104, 105, 106, 107, 70, 66,
819 -1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
820 -1, -1, 51, 52, 53, 54, 55, 56, 57, -1,
821 -1, -1, -1, -1, -1, -1, 136, 137, 138, 139,
822 69, 141, -1, 72, 73, 74, 75, 76, 77, 78,
823 79, 80, 81, 82, -1, 155, -1, -1, -1, 159,
824 -1, -1, -1, -1, -1, 165, 166, 167, 168, 9,
825 -1, 171, -1, 173, 14, 15, 16, 17, 18, 19,
826 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
827 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
828 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
829 -1, -1, -1, -1, -1, -1, -1, -1, 58, 59,
830 60, 61, 62, 63, 64, 65, -1, -1, -1, -1,
831 70, -1, -1, -1, -1, 75, -1, -1, -1, -1,
832 -1, -1, -1, 83, 19, 20, 21, 22, 23, 24,
833 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
834 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
835 45, 46, 47, 48, 49, -1, -1, -1, -1, -1,
836 -1, -1, -1, 58, 59, 60, 61, 62, -1, -1,
837 65, 51, 52, 53, 54, 55, 56, 57, -1, -1,
838 75, -1, -1, -1, -1, -1, -1, -1, 83, -1,
839 -1, 71, 72, 73, 74, 75, 76, 77, 78, 79,
840 80, 81, 82, 51, 52, 53, 54, 55, 56, 57,
841 -1, -1, -1, -1, -1, -1, -1, -1, 66, -1,
842 -1, -1, -1, -1, 72, 73, 74, 75, 76, 77,
843 78, 79, 80, 81, 82, 51, 52, 53, 54, 55,
844 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
845 -1, -1, -1, 69, -1, -1, 72, 73, 74, 75,
846 76, 77, 78, 79, 80, 81, 82, 51, 52, 53,
847 54, 55, 56, 57, -1, -1, -1, -1, -1, -1,
848 -1, -1, -1, -1, -1, 69, -1, -1, 72, 73,
849 74, 75, 76, 77, 78, 79, 80, 81, 82, 51,
850 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
851 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
852 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
853 82, 51, 52, 53, 54, 55, 56, 57, -1, -1,
854 -1, -1, -1, -1, -1, -1, 66, -1, -1, -1,
855 -1, -1, 72, 73, 74, 75, 76, 77, 78, 79,
856 80, 81, 82, 51, 52, 53, 54, 55, 56, 57,
857 -1, -1, -1, -1, -1, -1, -1, -1, 66, -1,
858 -1, -1, -1, -1, 72, 73, 74, 75, 76, 77,
859 78, 79, 80, 81, 82, 51, 52, 53, 54, 55,
860 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
861 -1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
862 76, 77, 78, 79, 80, 81, 82, 51, 52, 53,
863 54, 55, 56, 57, -1, -1, -1, -1, -1, -1,
864 -1, -1, -1, -1, -1, 69, -1, -1, 72, 73,
865 74, 75, 76, 77, 78, 79, 80, 81, 82, 51,
866 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
867 -1, -1, -1, -1, -1, -1, -1, 69, -1, -1,
868 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
869 82, 51, 52, 53, 54, 55, 56, 57, -1, -1,
870 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69,
871 -1, -1, 72, 73, 74, 75, 76, 77, 78, 79,
872 80, 81, 82, 51, 52, 53, 54, 55, 56, 57,
873 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
874 -1, 69, -1, -1, 72, 73, 74, 75, 76, 77,
875 78, 79, 80, 81, 82, 51, 52, 53, 54, 55,
876 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
877 -1, -1, -1, -1, -1, 71, 72, 73, 74, 75,
878 76, 77, 78, 79, 80, 81, 82, 51, 52, 53,
879 54, 55, 56, 57, -1, -1, -1, -1, -1, -1,
880 -1, -1, -1, -1, -1, 69, -1, -1, 72, 73,
881 74, 75, 76, 77, 78, 79, 80, 81, 82, 51,
882 52, 53, 54, 55, 56, 57, -1, -1, -1, -1,
883 -1, -1, -1, -1, 66, -1, -1, -1, -1, -1,
884 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
885 82, 51, 52, 53, 54, 55, 56, 57, -1, -1,
886 -1, -1, -1, -1, -1, -1, 66, -1, -1, -1,
887 -1, -1, 72, 73, 74, 75, 76, 77, 78, 79,
888 80, 81, 82, 51, 52, 53, 54, 55, 56, 57,
889 -1, -1, -1, -1, -1, -1, -1, -1, 66, -1,
890 -1, -1, -1, -1, 72, 73, 74, 75, 76, 77,
891 78, 79, 80, 81, 82, 51, 52, 53, 54, 55,
892 56, 57, -1, -1, -1, -1, -1, -1, -1, -1,
893 66, -1, -1, -1, -1, -1, 72, 73, 74, 75,
894 76, 77, 78, 79, 80, 81, 82, 51, 52, 53,
895 54, 55, 56, 57, -1, -1, -1, -1, -1, -1,
896 -1, -1, -1, -1, -1, -1, -1, -1, 72, 73,
897 74, 75, 76, 77, 78, 79, 80, 81, 82
904 0, 5, 85, 86, 87, 9, 59, 63, 64, 88,
905 0, 87, 65, 59, 90, 91, 66, 69, 6, 59,
906 59, 7, 59, 8, 59, 7, 59, 67, 4, 10,
907 11, 12, 59, 70, 92, 93, 94, 95, 59, 59,
908 70, 50, 19, 20, 21, 22, 23, 24, 25, 26,
909 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
910 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
911 47, 48, 49, 58, 59, 60, 61, 62, 65, 75,
912 83, 100, 101, 102, 103, 109, 110, 111, 68, 94,
913 4, 100, 14, 15, 16, 17, 18, 59, 61, 70,
914 88, 89, 96, 100, 65, 65, 65, 65, 100, 51,
915 52, 53, 54, 55, 56, 57, 69, 72, 73, 74,
916 75, 76, 77, 78, 79, 80, 81, 82, 104, 105,
917 106, 107, 108, 101, 71, 65, 65, 65, 65, 65,
918 100, 65, 100, 100, 100, 100, 66, 100, 101, 59,
919 66, 100, 100, 100, 100, 69, 98, 99, 100, 69,
920 66, 66, 66, 71, 69, 69, 69, 69, 69, 100,
921 66, 69, 100, 50, 59, 100, 100, 100, 100, 71,
922 13, 97, 100, 69, 100, 66, 66, 66, 66, 59,
929 0, 84, 85, 86, 86, 87, 88, 88, 88, 88,
930 89, 89, 90, 90, 91, 91, 92, 92, 93, 93,
931 94, 94, 95, 95, 95, 95, 95, 95, 96, 96,
932 96, 96, 96, 96, 96, 96, 97, 97, 98, 98,
933 99, 99, 100, 100, 101, 101, 101, 101, 101, 101,
934 101, 102, 102, 102, 102, 102, 102, 102, 102, 102,
935 102, 102, 103, 103, 103, 103, 103, 103, 103, 104,
936 104, 104, 104, 105, 105, 105, 106, 106, 106, 106,
937 106, 107, 107, 107, 107, 108, 108, 108, 108, 108,
938 108, 109, 109, 109, 109, 109, 109, 109, 110, 110,
939 110, 110, 110, 110, 110, 110, 110, 110, 111, 111
945 0, 2, 1, 1, 2, 16, 1, 1, 1, 1,
946 1, 1, 0, 1, 1, 3, 0, 1, 1, 2,
947 1, 2, 2, 2, 7, 1, 3, 7, 1, 5,
948 3, 6, 5, 6, 6, 6, 0, 2, 0, 1,
949 1, 3, 1, 3, 1, 2, 3, 8, 4, 4,
950 4, 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,
955 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
959 #define yyerrok (yyerrstatus = 0) 960 #define yyclearin (yychar = YYEMPTY) 964 #define YYACCEPT goto yyacceptlab 965 #define YYABORT goto yyabortlab 966 #define YYERROR goto yyerrorlab 969 #define YYRECOVERING() (!!yyerrstatus) 971 #define YYBACKUP(Token, Value) \ 973 if (yychar == YYEMPTY) \ 977 YYPOPSTACK (yylen); \ 983 yyerror (YY_("syntax error: cannot back up")); \ 990 #define YYERRCODE 256 999 # define YYFPRINTF fprintf 1002 # define YYDPRINTF(Args) \ 1009 #ifndef YY_LOCATION_PRINT 1010 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1014 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1018 YYFPRINTF (stderr, "%s ", Title); \ 1019 yy_symbol_print (stderr, \ 1021 YYFPRINTF (stderr, "\n"); \ 1031 yy_symbol_value_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep)
1033 FILE *yyo = yyoutput;
1039 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1050 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep)
1052 YYFPRINTF (yyoutput,
"%s %s (",
1055 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
1056 YYFPRINTF (yyoutput,
")");
1067 YYFPRINTF (stderr,
"Stack now");
1068 for (; yybottom <= yytop; yybottom++)
1070 int yybot = *yybottom;
1071 YYFPRINTF (stderr,
" %d", yybot);
1073 YYFPRINTF (stderr,
"\n");
1076 # define YY_STACK_PRINT(Bottom, Top) \ 1079 yy_stack_print ((Bottom), (Top)); \ 1090 unsigned long int yylno = yyrline[yyrule];
1091 int yynrhs =
yyr2[yyrule];
1093 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1096 for (yyi = 0; yyi < yynrhs; yyi++)
1098 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1099 yy_symbol_print (stderr,
1100 yystos[yyssp[yyi + 1 - yynrhs]],
1101 &(yyvsp[(yyi + 1) - (yynrhs)])
1103 YYFPRINTF (stderr,
"\n");
1107 # define YY_REDUCE_PRINT(Rule) \ 1110 yy_reduce_print (yyssp, yyvsp, Rule); \ 1117 # define YYDPRINTF(Args) 1118 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1119 # define YY_STACK_PRINT(Bottom, Top) 1120 # define YY_REDUCE_PRINT(Rule) 1126 # define YYINITDEPTH 200 1137 # define YYMAXDEPTH 10000 1144 # if defined __GLIBC__ && defined _STRING_H 1145 # define yystrlen strlen 1152 for (yylen = 0; yystr[yylen]; yylen++)
1160 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1161 # define yystpcpy stpcpy 1169 const char *yys = yysrc;
1171 while ((*yyd++ = *yys++) !=
'\0')
1193 char const *yyp = yystr;
1200 goto do_not_strip_quotes;
1204 goto do_not_strip_quotes;
1217 do_not_strip_quotes: ;
1223 return yystpcpy (yyres, yystr) - yyres;
1241 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1245 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1275 int yyn =
yypact[*yyssp];
1276 yyarg[yycount++] =
yytname[yytoken];
1282 int yyxbegin = yyn < 0 ? -yyn : 0;
1284 int yychecklim =
YYLAST - yyn + 1;
1288 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1292 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1298 yyarg[yycount++] =
yytname[yyx];
1301 if (! (yysize <= yysize1
1312 # define YYCASE_(N, S) \ 1318 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1319 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1320 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1321 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1322 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1333 if (*yymsg_alloc < yysize)
1335 *yymsg_alloc = 2 * yysize;
1336 if (! (yysize <= *yymsg_alloc
1348 while ((*yyp = *yyformat) !=
'\0')
1349 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1434 char *yymsg = yymsgbuf;
1435 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1438 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 1444 yyssp = yyss = yyssa;
1445 yyvsp = yyvs = yyvsa;
1448 YYDPRINTF ((stderr,
"Starting parse\n"));
1467 if (yyss + yystacksize - 1 <= yyssp)
1470 YYSIZE_T yysize = yyssp - yyss + 1;
1484 yyoverflow (
YY_(
"memory exhausted"),
1485 &yyss1, yysize *
sizeof (*yyssp),
1486 &yyvs1, yysize *
sizeof (*yyvsp),
1493 # ifndef YYSTACK_RELOCATE 1494 goto yyexhaustedlab;
1498 goto yyexhaustedlab;
1508 goto yyexhaustedlab;
1511 # undef YYSTACK_RELOCATE 1518 yyssp = yyss + yysize - 1;
1519 yyvsp = yyvs + yysize - 1;
1521 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1522 (
unsigned long int) yystacksize));
1524 if (yyss + yystacksize - 1 <= yyssp)
1528 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1553 YYDPRINTF ((stderr,
"Reading a token: "));
1560 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1626 yyval = yyvsp[1-yylen];
1633 #line 119 "parser.y" 1656 if(
stack((yyvsp[-1])).is_not_nil())
1659 PARSER.parse_tree.items.push_back(decl);
1661 #line 1662 "jsil_y.tab.cpp" 1665 #line 150 "parser.y" 1670 #line 1671 "jsil_y.tab.cpp" 1674 #line 155 "parser.y" 1676 stack((yyval)).set(
"proc_type",
"builtin");
1678 #line 1679 "jsil_y.tab.cpp" 1682 #line 159 "parser.y" 1684 stack((yyval)).set(
"proc_type",
"spec");
1686 #line 1687 "jsil_y.tab.cpp" 1690 #line 166 "parser.y" 1693 stack((yyval)).swap(s);
1695 #line 1696 "jsil_y.tab.cpp" 1699 #line 173 "parser.y" 1703 #line 1704 "jsil_y.tab.cpp" 1707 #line 180 "parser.y" 1709 newstack((yyval)).id(ID_parameters);
1710 stack((yyval)).move_to_operands(
stack((yyvsp[0])));
1712 #line 1713 "jsil_y.tab.cpp" 1716 #line 185 "parser.y" 1718 (yyval)=(yyvsp[-2]);
1719 stack((yyval)).move_to_operands(
stack((yyvsp[0])));
1721 #line 1722 "jsil_y.tab.cpp" 1725 #line 192 "parser.y" 1729 #line 1730 "jsil_y.tab.cpp" 1733 #line 199 "parser.y" 1737 stack((yyval)).move_to_operands(
stack((yyvsp[0])));
1739 #line 1740 "jsil_y.tab.cpp" 1743 #line 205 "parser.y" 1745 (yyval)=(yyvsp[-1]);
1746 stack((yyval)).move_to_operands(
stack((yyvsp[0])));
1748 #line 1749 "jsil_y.tab.cpp" 1752 #line 212 "parser.y" 1756 #line 1757 "jsil_y.tab.cpp" 1760 #line 216 "parser.y" 1762 (yyval)=(yyvsp[-1]);
1764 #line 1765 "jsil_y.tab.cpp" 1768 #line 222 "parser.y" 1775 #line 1776 "jsil_y.tab.cpp" 1779 #line 229 "parser.y" 1784 #line 1785 "jsil_y.tab.cpp" 1788 #line 234 "parser.y" 1797 #line 1798 "jsil_y.tab.cpp" 1801 #line 243 "parser.y" 1805 #line 1806 "jsil_y.tab.cpp" 1809 #line 247 "parser.y" 1814 #line 1815 "jsil_y.tab.cpp" 1818 #line 252 "parser.y" 1824 #line 1825 "jsil_y.tab.cpp" 1828 #line 261 "parser.y" 1832 if(
stack((yyvsp[-2])).is_not_nil())
1837 if(
stack((yyvsp[0])).is_not_nil())
1840 stack((yyval)).swap(w);
1843 #line 1844 "jsil_y.tab.cpp" 1847 #line 276 "parser.y" 1852 #line 1853 "jsil_y.tab.cpp" 1856 #line 281 "parser.y" 1858 exprt has_field(
"hasField");
1864 #line 1865 "jsil_y.tab.cpp" 1868 #line 289 "parser.y" 1873 #line 1874 "jsil_y.tab.cpp" 1877 #line 294 "parser.y" 1885 #line 1886 "jsil_y.tab.cpp" 1889 #line 302 "parser.y" 1891 exprt proto_field(
"protoField");
1895 newstack((yyval)).swap(proto_field);
1897 #line 1898 "jsil_y.tab.cpp" 1901 #line 310 "parser.y" 1903 exprt proto_obj(
"protoObj");
1909 #line 1910 "jsil_y.tab.cpp" 1913 #line 320 "parser.y" 1917 #line 1918 "jsil_y.tab.cpp" 1921 #line 324 "parser.y" 1925 #line 1926 "jsil_y.tab.cpp" 1929 #line 330 "parser.y" 1933 #line 1934 "jsil_y.tab.cpp" 1937 #line 337 "parser.y" 1939 newstack((yyval)).id(ID_expression_list);
1940 stack((yyval)).move_to_operands(
stack((yyvsp[0])));
1942 #line 1943 "jsil_y.tab.cpp" 1946 #line 342 "parser.y" 1948 (yyval)=(yyvsp[-2]);
1949 stack((yyval)).move_to_operands(
stack((yyvsp[0])));
1951 #line 1952 "jsil_y.tab.cpp" 1955 #line 350 "parser.y" 1957 (yyval)=(yyvsp[-1]);
1958 stack((yyval)).move_to_operands(
stack((yyvsp[-2])));
1959 stack((yyval)).move_to_operands(
stack((yyvsp[0])));
1961 #line 1962 "jsil_y.tab.cpp" 1965 #line 359 "parser.y" 1967 (yyval)=(yyvsp[-1]);
1968 stack((yyval)).move_to_operands(
stack((yyvsp[0])));
1970 #line 1971 "jsil_y.tab.cpp" 1974 #line 364 "parser.y" 1976 (yyval)=(yyvsp[-1]);
1978 #line 1979 "jsil_y.tab.cpp" 1982 #line 368 "parser.y" 1991 #line 1992 "jsil_y.tab.cpp" 1995 #line 377 "parser.y" 1997 exprt field(
"field");
2002 #line 2003 "jsil_y.tab.cpp" 2006 #line 384 "parser.y" 2008 exprt base(ID_base);
2013 #line 2014 "jsil_y.tab.cpp" 2017 #line 391 "parser.y" 2019 exprt typeof_expr(ID_typeof);
2022 newstack((yyval)).swap(typeof_expr);
2024 #line 2025 "jsil_y.tab.cpp" 2028 #line 401 "parser.y" 2032 #line 2033 "jsil_y.tab.cpp" 2036 #line 405 "parser.y" 2040 #line 2041 "jsil_y.tab.cpp" 2044 #line 409 "parser.y" 2048 #line 2049 "jsil_y.tab.cpp" 2052 #line 413 "parser.y" 2056 #line 2057 "jsil_y.tab.cpp" 2060 #line 417 "parser.y" 2064 #line 2065 "jsil_y.tab.cpp" 2068 #line 422 "parser.y" 2072 stack((yyval)).swap(c);
2074 #line 2075 "jsil_y.tab.cpp" 2078 #line 433 "parser.y" 2082 #line 2083 "jsil_y.tab.cpp" 2086 #line 437 "parser.y" 2090 #line 2091 "jsil_y.tab.cpp" 2094 #line 441 "parser.y" 2098 #line 2099 "jsil_y.tab.cpp" 2102 #line 445 "parser.y" 2104 newstack((yyval)).id(
"constructid");
2106 #line 2107 "jsil_y.tab.cpp" 2110 #line 449 "parser.y" 2114 #line 2115 "jsil_y.tab.cpp" 2118 #line 453 "parser.y" 2120 newstack((yyval)).id(
"targetfunction");
2122 #line 2123 "jsil_y.tab.cpp" 2126 #line 457 "parser.y" 2130 #line 2131 "jsil_y.tab.cpp" 2134 #line 469 "parser.y" 2138 #line 2139 "jsil_y.tab.cpp" 2142 #line 473 "parser.y" 2146 #line 2147 "jsil_y.tab.cpp" 2150 #line 477 "parser.y" 2154 #line 2155 "jsil_y.tab.cpp" 2158 #line 483 "parser.y" 2162 #line 2163 "jsil_y.tab.cpp" 2166 #line 487 "parser.y" 2170 #line 2171 "jsil_y.tab.cpp" 2174 #line 491 "parser.y" 2178 #line 2179 "jsil_y.tab.cpp" 2182 #line 495 "parser.y" 2186 #line 2187 "jsil_y.tab.cpp" 2190 #line 499 "parser.y" 2194 #line 2195 "jsil_y.tab.cpp" 2198 #line 505 "parser.y" 2202 #line 2203 "jsil_y.tab.cpp" 2206 #line 509 "parser.y" 2210 #line 2211 "jsil_y.tab.cpp" 2214 #line 513 "parser.y" 2216 newstack((yyval)).id(
"subtype_of");
2218 #line 2219 "jsil_y.tab.cpp" 2222 #line 517 "parser.y" 2224 newstack((yyval)).id(ID_concatenation);
2226 #line 2227 "jsil_y.tab.cpp" 2230 #line 523 "parser.y" 2234 #line 2235 "jsil_y.tab.cpp" 2238 #line 527 "parser.y" 2242 #line 2243 "jsil_y.tab.cpp" 2246 #line 531 "parser.y" 2250 #line 2251 "jsil_y.tab.cpp" 2254 #line 535 "parser.y" 2258 #line 2259 "jsil_y.tab.cpp" 2262 #line 539 "parser.y" 2266 #line 2267 "jsil_y.tab.cpp" 2270 #line 543 "parser.y" 2274 #line 2275 "jsil_y.tab.cpp" 2278 #line 549 "parser.y" 2282 #line 2283 "jsil_y.tab.cpp" 2286 #line 553 "parser.y" 2288 newstack((yyval)).id(ID_unary_minus);
2290 #line 2291 "jsil_y.tab.cpp" 2294 #line 557 "parser.y" 2296 newstack((yyval)).id(
"num_to_string");
2298 #line 2299 "jsil_y.tab.cpp" 2302 #line 561 "parser.y" 2304 newstack((yyval)).id(
"string_to_num");
2306 #line 2307 "jsil_y.tab.cpp" 2310 #line 565 "parser.y" 2312 newstack((yyval)).id(
"num_to_int32");
2314 #line 2315 "jsil_y.tab.cpp" 2318 #line 569 "parser.y" 2320 newstack((yyval)).id(
"num_to_uint32");
2322 #line 2323 "jsil_y.tab.cpp" 2326 #line 573 "parser.y" 2330 #line 2331 "jsil_y.tab.cpp" 2334 #line 579 "parser.y" 2338 #line 2339 "jsil_y.tab.cpp" 2342 #line 583 "parser.y" 2344 newstack((yyval)).id(
"undefined_type");
2346 #line 2347 "jsil_y.tab.cpp" 2350 #line 587 "parser.y" 2354 #line 2355 "jsil_y.tab.cpp" 2358 #line 591 "parser.y" 2362 #line 2363 "jsil_y.tab.cpp" 2366 #line 595 "parser.y" 2370 #line 2371 "jsil_y.tab.cpp" 2374 #line 599 "parser.y" 2376 newstack((yyval)).id(
"builtin_object");
2378 #line 2379 "jsil_y.tab.cpp" 2382 #line 603 "parser.y" 2384 newstack((yyval)).id(
"user_object");
2386 #line 2387 "jsil_y.tab.cpp" 2390 #line 607 "parser.y" 2394 #line 2395 "jsil_y.tab.cpp" 2398 #line 612 "parser.y" 2401 newstack((yyval)).set(ID_C_reference,
true);
2403 #line 2404 "jsil_y.tab.cpp" 2407 #line 619 "parser.y" 2411 #line 2412 "jsil_y.tab.cpp" 2415 #line 623 "parser.y" 2419 #line 2420 "jsil_y.tab.cpp" 2423 #line 2424 "jsil_y.tab.cpp" 2452 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
2472 #if ! YYERROR_VERBOSE 2475 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 2478 char const *yymsgp =
YY_(
"syntax error");
2479 int yysyntax_error_status;
2481 if (yysyntax_error_status == 0)
2483 else if (yysyntax_error_status == 1)
2485 if (yymsg != yymsgbuf)
2491 yymsg_alloc =
sizeof yymsgbuf;
2492 yysyntax_error_status = 2;
2501 if (yysyntax_error_status == 2)
2502 goto yyexhaustedlab;
2504 # undef YYSYNTAX_ERROR 2510 if (yyerrstatus == 3)
2612 #if !defined yyoverflow || YYERROR_VERBOSE 2635 while (yyssp != yyss)
2646 if (yymsg != yymsgbuf)
2651 #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
static void yydestruct(const char *yymsg, int yytype, unsigned *yyvaluep)
static const yytype_uint8 yyr1[]
static size_t yytnamerr(char *yyres, const char *yystr)
#define YYSTACK_ALLOC_MAXIMUM
unsigned short int yytype_uint16
#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()
unsigned short int yytype_uint16
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)