47 #define YYBISON_VERSION "3.0.5" 50 #define YYSKELETON_NAME "yacc.c" 63 #define yyparse ws_yy_parse 64 #define yylex ws_yy_lex 65 #define yyerror ws_yy_error 66 #define yydebug ws_yy_debug 67 #define yynerrs ws_yy_nerrs 71 #line 1 "wmlscript/wsgram.y" 92 # if defined __cplusplus && 201103L <= __cplusplus 93 # define YY_NULLPTR nullptr 100 #ifdef YYERROR_VERBOSE 101 # undef YYERROR_VERBOSE 102 # define YYERROR_VERBOSE 1 104 # define YYERROR_VERBOSE 0 109 #ifndef YY_WS_YY_Y_TAB_H_INCLUDED 110 # define YY_WS_YY_Y_TAB_H_INCLUDED 116 extern int ws_yy_debug;
216 #define tIDENTIFIER 264 220 #define tCONTINUE 268 228 #define tFUNCTION 276 255 #define tDEBUGGER 303 277 #define tPLUSPLUS 325 278 #define tMINUSMINUS 326 281 #define tRSZSHIFT 329 291 #define tRSSHIFTA 339 292 #define tRSZSHIFTA 340 295 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 299 #line 22 "wmlscript/wsgram.y" 320 # define YYSTYPE_IS_TRIVIAL 1 321 # define YYSTYPE_IS_DECLARED 1 325 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED 334 # define YYLTYPE_IS_DECLARED 1 335 # define YYLTYPE_IS_TRIVIAL 1 345 #line 39 "wmlscript/wsgram.y" 389 # ifdef __SIZE_TYPE__ 390 # define YYSIZE_T __SIZE_TYPE__ 391 # elif defined size_t 392 # define YYSIZE_T size_t 393 # elif ! defined YYSIZE_T 395 # define YYSIZE_T size_t 397 # define YYSIZE_T unsigned int 401 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 404 # if defined YYENABLE_NLS && YYENABLE_NLS 406 # include <libintl.h> 407 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 411 # define YY_(Msgid) Msgid 416 # if (defined __GNUC__ \ 417 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ 418 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 419 # define YY_ATTRIBUTE(Spec) __attribute__(Spec) 421 # define YY_ATTRIBUTE(Spec) 425 #ifndef YY_ATTRIBUTE_PURE 426 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) 429 #ifndef YY_ATTRIBUTE_UNUSED 430 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 433 #if !defined _Noreturn \ 434 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 435 # if defined _MSC_VER && 1200 <= _MSC_VER 436 # define _Noreturn __declspec (noreturn) 438 # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 443 #if ! defined lint || defined __GNUC__ 444 # define YYUSE(E) ((void) (E)) 449 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 451 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 452 _Pragma ("GCC diagnostic push") \ 453 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 454 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 455 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 456 _Pragma ("GCC diagnostic pop") 458 # define YY_INITIAL_VALUE(Value) Value 460 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 461 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 462 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 464 #ifndef YY_INITIAL_VALUE 465 # define YY_INITIAL_VALUE(Value) 469 #if ! defined yyoverflow || YYERROR_VERBOSE 473 # ifdef YYSTACK_USE_ALLOCA 474 # if YYSTACK_USE_ALLOCA 476 # define YYSTACK_ALLOC __builtin_alloca 477 # elif defined __BUILTIN_VA_ARG_INCR 480 # define YYSTACK_ALLOC __alloca 481 # elif defined _MSC_VER 483 # define alloca _alloca 485 # define YYSTACK_ALLOC alloca 486 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 489 # ifndef EXIT_SUCCESS 490 # define EXIT_SUCCESS 0 497 # ifdef YYSTACK_ALLOC 499 # define YYSTACK_FREE(Ptr) do { ; } while (0) 500 # ifndef YYSTACK_ALLOC_MAXIMUM 505 # define YYSTACK_ALLOC_MAXIMUM 4032 508 # define YYSTACK_ALLOC YYMALLOC 509 # define YYSTACK_FREE YYFREE 510 # ifndef YYSTACK_ALLOC_MAXIMUM 511 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 513 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 514 && ! ((defined YYMALLOC || defined malloc) \ 515 && (defined YYFREE || defined free))) 517 # ifndef EXIT_SUCCESS 518 # define EXIT_SUCCESS 0 522 # define YYMALLOC malloc 523 # if ! defined malloc && ! defined EXIT_SUCCESS 529 # if ! defined free && ! defined EXIT_SUCCESS 537 #if (! defined yyoverflow \ 538 && (! defined __cplusplus \ 539 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \ 540 && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 551 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 555 # define YYSTACK_BYTES(N) \ 556 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \ 557 + 2 * YYSTACK_GAP_MAXIMUM) 559 # define YYCOPY_NEEDED 1 566 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 569 YYSIZE_T yynewbytes; \ 570 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 571 Stack = &yyptr->Stack_alloc; \ 572 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 573 yyptr += yynewbytes / sizeof (*yyptr); \ 579 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 583 # if defined __GNUC__ && 1 < __GNUC__ 584 # define YYCOPY(Dst, Src, Count) \ 585 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 587 # define YYCOPY(Dst, Src, Count) \ 591 for (yyi = 0; yyi < (Count); yyi++) \ 592 (Dst)[yyi] = (Src)[yyi]; \ 605 #define YYNTOKENS 109 611 #define YYNSTATES 257 616 #define YYMAXUTOK 340 618 #define YYTRANSLATE(YYX) \ 619 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 625 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
626 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
627 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
628 2, 2, 2, 106, 2, 107, 2, 104, 97, 2,
629 87, 88, 102, 100, 89, 101, 108, 103, 2, 2,
630 2, 2, 2, 2, 2, 2, 2, 2, 94, 86,
631 98, 92, 99, 93, 2, 2, 2, 2, 2, 2,
632 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
633 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
634 2, 2, 2, 2, 96, 2, 2, 2, 2, 2,
635 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
636 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
637 2, 2, 2, 90, 95, 91, 105, 2, 2, 2,
638 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
639 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
640 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
641 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
642 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
643 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
644 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
645 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
646 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
647 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
648 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
649 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
650 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
651 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
652 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
653 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
654 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
655 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
656 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
657 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
658 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
666 0, 125, 125, 126, 127, 134, 135, 139, 140, 145,
667 146, 147, 151, 156, 160, 168, 177, 199, 203, 204,
668 205, 209, 225, 243, 277, 279, 283, 284, 285, 290,
669 291, 295, 310, 311, 316, 317, 320, 322, 326, 344,
670 365, 373, 374, 376, 378, 379, 380, 382, 384, 387,
671 395, 404, 405, 409, 414, 419, 421, 426, 431, 436,
672 452, 453, 458, 460, 465, 467, 471, 474, 480, 487,
673 488, 493, 494, 499, 500, 502, 504, 506, 508, 510,
674 512, 514, 516, 518, 520, 522, 524, 529, 530, 535,
675 536, 541, 542, 547, 548, 553, 554, 559, 560, 565,
676 566, 568, 573, 574, 576, 578, 580, 585, 586, 588,
677 590, 595, 596, 598, 603, 604, 606, 608, 610, 615,
678 616, 618, 620, 622, 624, 640, 642, 644, 649, 650,
679 652, 657, 658, 668, 670, 675, 677, 679, 681, 683,
680 685, 687, 689, 694, 696, 701, 706
684 #if YYDEBUG || YYERROR_VERBOSE || 0 687 static const char *
const yytname[] =
689 "$end",
"error",
"$undefined",
"tINVALID",
"tTRUE",
"tFALSE",
690 "tINTEGER",
"tFLOAT",
"tSTRING",
"tIDENTIFIER",
"tACCESS",
"tAGENT",
691 "tBREAK",
"tCONTINUE",
"tIDIV",
"tIDIVA",
"tDOMAIN",
"tELSE",
"tEQUIV",
692 "tEXTERN",
"tFOR",
"tFUNCTION",
"tHEADER",
"tHTTP",
"tIF",
"tISVALID",
693 "tMETA",
"tNAME",
"tPATH",
"tRETURN",
"tTYPEOF",
"tUSE",
"tUSER",
"tVAR",
694 "tWHILE",
"tURL",
"tDELETE",
"tIN",
"tLIB",
"tNEW",
"tNULL",
"tTHIS",
695 "tVOID",
"tWITH",
"tCASE",
"tCATCH",
"tCLASS",
"tCONST",
"tDEBUGGER",
696 "tDEFAULT",
"tDO",
"tENUM",
"tEXPORT",
"tEXTENDS",
"tFINALLY",
"tIMPORT",
697 "tPRIVATE",
"tPUBLIC",
"tSIZEOF",
"tSTRUCT",
"tSUPER",
"tSWITCH",
698 "tTHROW",
"tTRY",
"tEQ",
"tLE",
"tGE",
"tNE",
"tAND",
"tOR",
"tPLUSPLUS",
699 "tMINUSMINUS",
"tLSHIFT",
"tRSSHIFT",
"tRSZSHIFT",
"tADDA",
"tSUBA",
700 "tMULA",
"tDIVA",
"tANDA",
"tORA",
"tXORA",
"tREMA",
"tLSHIFTA",
701 "tRSSHIFTA",
"tRSZSHIFTA",
"';'",
"'('",
"')'",
"','",
"'{'",
"'}'",
702 "'='",
"'?'",
"':'",
"'|'",
"'^'",
"'&'",
"'<'",
"'>'",
"'+'",
"'-'",
703 "'*'",
"'/'",
"'%'",
"'~'",
"'!'",
"'#'",
"'.'",
"$accept",
704 "CompilationUnit",
"Pragmas",
"Pragma",
"PragmaDeclaration",
705 "ExternalCompilationUnitPragma",
"AccessControlPragma",
706 "AccessControlSpecifier",
"MetaPragma",
"MetaSpecifier",
"MetaName",
707 "MetaHttpEquiv",
"MetaUserAgent",
"MetaBody",
"MetaPropertyName",
708 "MetaContent",
"MetaScheme",
"FunctionDeclarations",
709 "FunctionDeclaration",
"ExternOpt",
"FormalParameterListOpt",
710 "SemicolonOpt",
"FormalParameterList",
"Statement",
"Block",
711 "StatementListOpt",
"StatementList",
"VariableStatement",
712 "VariableDeclarationList",
"VariableDeclaration",
713 "VariableInitializedOpt",
"IfStatement",
"IterationStatement",
714 "ForStatement",
"ReturnStatement",
"ExpressionOpt",
"Expression",
715 "AssignmentExpression",
"ConditionalExpression",
"LogicalORExpression",
716 "LogicalANDExpression",
"BitwiseORExpression",
"BitwiseXORExpression",
717 "BitwiseANDExpression",
"EqualityExpression",
"RelationalExpression",
718 "ShiftExpression",
"AdditiveExpression",
"MultiplicativeExpression",
719 "UnaryExpression",
"PostfixExpression",
"CallExpression",
720 "PrimaryExpression",
"Arguments",
"ArgumentList",
YY_NULLPTR 729 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
730 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
731 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
732 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
733 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
734 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
735 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
736 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
737 335, 336, 337, 338, 339, 340, 59, 40, 41, 44,
738 123, 125, 61, 63, 58, 124, 94, 38, 60, 62,
739 43, 45, 42, 47, 37, 126, 33, 35, 46
743 #define YYPACT_NINF -135 745 #define yypact_value_is_default(Yystate) \ 746 (!!((Yystate) == (-135))) 748 #define YYTABLE_NINF -53 750 #define yytable_value_is_error(Yytable_value) \ 757 59, 39, -135, 28, 68, 63, -135, 38, -135, 62,
758 37, 54, 13, -43, -135, -135, -135, -135, -135, -135,
759 38, -135, 57, 67, 87, -135, 92, 108, 109, -135,
760 -135, -135, -135, 121, -135, 47, 123, -135, 108, -135,
761 -135, 141, 108, -135, 155, 164, -135, -135, 166, -135,
762 -135, 89, 107, -135, -135, -135, 1, 188, -135, 132,
763 112, -135, -135, -135, -135, -135, -135, -135, 340, 115,
764 120, 124, 125, 296, 308, 296, 35, 126, 198, 201,
765 -135, 308, 296, 296, 296, 296, -135, -135, 129, 175,
766 -135, -135, -135, -135, -135, -83, -135, -135, -48, 146,
767 122, 119, 127, 12, -25, 45, 5, 44, -135, -135,
768 -135, -135, -135, -135, 308, -135, -135, 308, 308, 308,
769 308, 308, 308, 308, 308, 308, 308, 308, 222, 308,
770 207, 212, -135, -135, -135, 264, 308, -38, -135, 148,
771 147, -135, -135, 143, -1, -135, 308, -135, -135, 43,
772 -135, -135, -135, -135, -135, -135, -135, 308, 296, 308,
773 296, 296, 296, 296, 296, 296, 296, 296, 296, 296,
774 296, 296, 296, 296, 296, 296, 296, 296, 296, -135,
775 -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
776 -135, -135, -135, 66, -135, 152, 152, 231, 156, 70,
777 -135, 296, -135, -135, 231, 82, -135, -135, 146, 149,
778 122, 119, 127, 12, -25, -25, 45, 45, 45, 45,
779 5, 5, 5, 44, 44, -135, -135, -135, -135, -135,
780 308, -135, -135, 25, 308, 22, -135, -135, 22, 308,
781 -135, 308, 158, 224, -135, -135, 162, 308, 22, 308,
782 161, -135, 163, 22, 22, -135, -135
790 0, 8, 33, 0, 0, 0, 5, 3, 29, 0,
791 0, 0, 0, 0, 9, 10, 11, 1, 8, 6,
792 2, 30, 0, 0, 0, 13, 0, 0, 0, 17,
793 18, 19, 20, 0, 7, 0, 14, 15, 0, 26,
794 21, 0, 0, 12, 34, 0, 22, 27, 24, 23,
795 38, 0, 35, 16, 28, 25, 0, 0, 50, 0,
796 36, 39, 136, 137, 138, 139, 140, 141, 135, 0,
797 0, 0, 0, 0, 69, 0, 0, 0, 0, 0,
798 42, 0, 0, 0, 0, 0, 53, 40, 0, 0,
799 41, 44, 45, 65, 48, 0, 71, 73, 87, 89,
800 91, 93, 95, 97, 99, 102, 107, 111, 114, 119,
801 128, 131, 37, 31, 0, 129, 130, 0, 0, 0,
802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
803 0, 0, 132, 47, 46, 69, 0, 135, 121, 0,
804 70, 120, 56, 60, 0, 57, 0, 122, 123, 0,
805 124, 125, 126, 127, 49, 54, 43, 0, 0, 0,
806 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
807 0, 0, 0, 0, 0, 0, 0, 0, 0, 86,
808 78, 79, 75, 76, 83, 85, 84, 77, 80, 81,
809 82, 143, 145, 0, 74, 0, 0, 0, 0, 0,
810 68, 0, 59, 55, 0, 0, 142, 72, 90, 0,
811 92, 94, 96, 98, 100, 101, 105, 106, 103, 104,
812 108, 109, 110, 112, 113, 117, 115, 116, 118, 144,
813 0, 133, 134, 0, 69, 0, 61, 58, 0, 0,
814 146, 69, 0, 63, 64, 88, 0, 69, 0, 69,
815 0, 62, 0, 0, 0, 66, 67
821 -135, -135, -135, 245, -135, -135, -135, -135, -135, -135,
822 -135, -135, -135, 29, -135, -135, -135, 248, 17, -135,
823 -135, -135, -135, -85, 199, -135, -135, -135, 60, 50,
824 -135, -135, -135, -135, -135, -134, -74, -109, 55, -135,
825 100, 99, 102, 98, 101, -22, -65, -46, 20, 14,
826 -135, -135, -135, -10, -135
832 -1, 4, 5, 6, 13, 14, 15, 25, 16, 29,
833 30, 31, 32, 40, 41, 48, 55, 7, 8, 9,
834 51, 113, 52, 86, 87, 88, 89, 90, 144, 145,
835 202, 91, 92, 93, 94, 139, 95, 96, 97, 98,
836 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
837 109, 110, 111, 132, 193
845 140, 198, 58, 156, 155, 179, 157, 149, 180, 181,
846 182, 183, 184, 185, 186, 187, 188, 189, 190, 192,
847 194, 158, 33, 58, 21, 62, 63, 64, 65, 66,
848 67, 68, 115, 116, 69, 70, 142, 21, 10, -4,
849 166, 167, 71, 34, 143, 159, 72, 73, 207, 128,
850 209, 74, 75, 23, 11, 76, 77, 2, 175, -32,
851 1, 140, 199, 12, 18, 24, 35, 46, 17, 130,
852 131, 49, 205, 168, 169, 36, 164, 26, 2, 165,
853 -32, 27, 2, 22, -32, 203, 28, 138, 204, 141,
854 3, 59, 78, 79, 3, 37, 150, 151, 152, 153,
855 242, 216, 217, 218, 219, 173, 174, 246, 80, 81,
856 38, 241, 59, 250, 204, 252, 39, 170, 171, 172,
857 42, 240, 82, 83, 220, 221, 222, 84, 85, 43,
858 245, 206, 157, 58, 44, 62, 63, 64, 65, 66,
859 67, 68, 214, 215, 69, 70, 176, 177, 178, 47,
860 243, 45, 71, 244, 229, 230, 72, 73, 235, 157,
861 140, 74, 75, 251, 50, 76, 77, 140, 255, 256,
862 238, 157, 53, 140, 54, 140, 58, 56, 62, 63,
863 64, 65, 66, 67, 68, 231, 232, 69, 70, 225,
864 226, 227, 228, 223, 224, 71, 57, 61, 112, 72,
865 73, 133, 78, 79, 74, 75, 134, 147, 76, 77,
866 148, 135, 136, 146, 160, 162, 195, 161, 80, 81,
867 154, 196, 59, -51, 163, 62, 63, 64, 65, 66,
868 67, 68, 82, 83, 200, 201, 157, 84, 85, 128,
869 143, 248, 234, 239, 247, 78, 79, 73, 249, 253,
870 19, 254, 75, 20, 237, 60, 236, 233, 208, 210,
871 212, 80, 81, 211, 213, 59, -52, 62, 63, 64,
872 65, 66, 67, 68, 0, 82, 83, 0, 0, 0,
873 84, 85, 0, 0, 0, 0, 0, 0, 0, 73,
874 0, 0, 78, 79, 75, 0, 0, 197, 0, 62,
875 63, 64, 65, 66, 67, 137, 0, 0, 0, 81,
876 191, 62, 63, 64, 65, 66, 67, 68, 0, 0,
877 0, 73, 82, 83, 0, 0, 75, 84, 85, 0,
878 0, 0, 0, 73, 78, 79, 0, 0, 75, 0,
879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
880 0, 81, 0, 0, 0, 114, 0, 0, 0, 0,
881 0, 0, 0, 0, 82, 83, 78, 79, 0, 84,
882 85, 0, 0, 0, 0, 0, 0, 0, 78, 79,
883 0, 0, 0, 81, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 81, 82, 83, 0, 0,
885 0, 84, 85, 0, 0, 0, 0, 0, 82, 83,
886 115, 116, 0, 84, 85, 117, 118, 119, 120, 121,
887 122, 123, 124, 125, 126, 127, 0, 128, 0, 0,
888 0, 0, 129, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 0, 0, 0, 0, 130, 131
894 74, 135, 1, 86, 89, 114, 89, 81, 117, 118,
895 119, 120, 121, 122, 123, 124, 125, 126, 127, 128,
896 129, 69, 9, 1, 7, 3, 4, 5, 6, 7,
897 8, 9, 70, 71, 12, 13, 1, 20, 10, 0,
898 65, 66, 20, 86, 9, 93, 24, 25, 157, 87,
899 159, 29, 30, 16, 26, 33, 34, 19, 14, 21,
900 1, 135, 136, 35, 1, 28, 9, 38, 0, 107,
901 108, 42, 146, 98, 99, 8, 64, 23, 19, 67,
902 21, 27, 19, 21, 21, 86, 32, 73, 89, 75,
903 31, 90, 70, 71, 31, 8, 82, 83, 84, 85,
904 234, 166, 167, 168, 169, 100, 101, 241, 86, 87,
905 18, 86, 90, 247, 89, 249, 8, 72, 73, 74,
906 11, 230, 100, 101, 170, 171, 172, 105, 106, 8,
907 239, 88, 89, 1, 87, 3, 4, 5, 6, 7,
908 8, 9, 164, 165, 12, 13, 102, 103, 104, 8,
909 235, 28, 20, 238, 88, 89, 24, 25, 88, 89,
910 234, 29, 30, 248, 9, 33, 34, 241, 253, 254,
911 88, 89, 8, 247, 8, 249, 1, 88, 3, 4,
912 5, 6, 7, 8, 9, 195, 196, 12, 13, 175,
913 176, 177, 178, 173, 174, 20, 89, 9, 86, 24,
914 25, 86, 70, 71, 29, 30, 86, 9, 33, 34,
915 9, 87, 87, 87, 68, 96, 9, 95, 86, 87,
916 91, 9, 90, 91, 97, 3, 4, 5, 6, 7,
917 8, 9, 100, 101, 86, 92, 89, 105, 106, 87,
918 9, 17, 86, 94, 86, 70, 71, 25, 86, 88,
919 5, 88, 30, 5, 204, 56, 201, 197, 158, 160,
920 162, 86, 87, 161, 163, 90, 91, 3, 4, 5,
921 6, 7, 8, 9, -1, 100, 101, -1, -1, -1,
922 105, 106, -1, -1, -1, -1, -1, -1, -1, 25,
923 -1, -1, 70, 71, 30, -1, -1, 33, -1, 3,
924 4, 5, 6, 7, 8, 9, -1, -1, -1, 87,
925 88, 3, 4, 5, 6, 7, 8, 9, -1, -1,
926 -1, 25, 100, 101, -1, -1, 30, 105, 106, -1,
927 -1, -1, -1, 25, 70, 71, -1, -1, 30, -1,
928 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
929 -1, 87, -1, -1, -1, 15, -1, -1, -1, -1,
930 -1, -1, -1, -1, 100, 101, 70, 71, -1, 105,
931 106, -1, -1, -1, -1, -1, -1, -1, 70, 71,
932 -1, -1, -1, 87, -1, -1, -1, -1, -1, -1,
933 -1, -1, -1, -1, -1, 87, 100, 101, -1, -1,
934 -1, 105, 106, -1, -1, -1, -1, -1, 100, 101,
935 70, 71, -1, 105, 106, 75, 76, 77, 78, 79,
936 80, 81, 82, 83, 84, 85, -1, 87, -1, -1,
937 -1, -1, 92, -1, -1, -1, -1, -1, -1, -1,
938 -1, -1, -1, -1, -1, -1, -1, 107, 108
945 0, 1, 19, 31, 110, 111, 112, 126, 127, 128,
946 10, 26, 35, 113, 114, 115, 117, 0, 1, 112,
947 126, 127, 21, 16, 28, 116, 23, 27, 32, 118,
948 119, 120, 121, 9, 86, 9, 8, 8, 18, 8,
949 122, 123, 11, 8, 87, 28, 122, 8, 124, 122,
950 9, 129, 131, 8, 8, 125, 88, 89, 1, 90,
951 133, 9, 3, 4, 5, 6, 7, 8, 9, 12,
952 13, 20, 24, 25, 29, 30, 33, 34, 70, 71,
953 86, 87, 100, 101, 105, 106, 132, 133, 134, 135,
954 136, 140, 141, 142, 143, 145, 146, 147, 148, 149,
955 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,
956 160, 161, 86, 130, 15, 70, 71, 75, 76, 77,
957 78, 79, 80, 81, 82, 83, 84, 85, 87, 92,
958 107, 108, 162, 86, 86, 87, 87, 9, 158, 144,
959 145, 158, 1, 9, 137, 138, 87, 9, 9, 145,
960 158, 158, 158, 158, 91, 132, 86, 89, 69, 93,
961 68, 95, 96, 97, 64, 67, 65, 66, 98, 99,
962 72, 73, 74, 100, 101, 14, 102, 103, 104, 146,
963 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
964 146, 88, 146, 163, 146, 9, 9, 33, 144, 145,
965 86, 92, 139, 86, 89, 145, 88, 146, 149, 146,
966 150, 151, 152, 153, 154, 154, 155, 155, 155, 155,
967 156, 156, 156, 157, 157, 158, 158, 158, 158, 88,
968 89, 162, 162, 137, 86, 88, 147, 138, 88, 94,
969 146, 86, 144, 132, 132, 146, 144, 86, 17, 86,
970 144, 132, 144, 88, 88, 132, 132
976 0, 109, 110, 110, 110, 111, 111, 112, 112, 113,
977 113, 113, 114, 115, 116, 116, 116, 117, 118, 118,
978 118, 119, 120, 121, 122, 122, 123, 124, 125, 126,
979 126, 127, 128, 128, 129, 129, 130, 130, 131, 131,
980 132, 132, 132, 132, 132, 132, 132, 132, 132, 133,
981 133, 134, 134, 135, 135, 136, 136, 137, 137, 138,
982 139, 139, 140, 140, 141, 141, 142, 142, 143, 144,
983 144, 145, 145, 146, 146, 146, 146, 146, 146, 146,
984 146, 146, 146, 146, 146, 146, 146, 147, 147, 148,
985 148, 149, 149, 150, 150, 151, 151, 152, 152, 153,
986 153, 153, 154, 154, 154, 154, 154, 155, 155, 155,
987 155, 156, 156, 156, 157, 157, 157, 157, 157, 158,
988 158, 158, 158, 158, 158, 158, 158, 158, 159, 159,
989 159, 160, 160, 160, 160, 161, 161, 161, 161, 161,
990 161, 161, 161, 162, 162, 163, 163
996 0, 2, 2, 1, 1, 1, 2, 3, 1, 1,
997 1, 1, 3, 2, 2, 2, 4, 2, 1, 1,
998 1, 2, 3, 3, 2, 3, 1, 1, 1, 1,
999 2, 8, 0, 1, 0, 1, 0, 1, 1, 3,
1000 1, 1, 1, 2, 1, 1, 2, 2, 1, 3,
1001 1, 0, 1, 1, 2, 3, 2, 1, 3, 2,
1002 0, 2, 7, 5, 5, 1, 9, 10, 3, 0,
1003 1, 1, 3, 1, 3, 3, 3, 3, 3, 3,
1004 3, 3, 3, 3, 3, 3, 3, 1, 5, 1,
1005 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
1006 3, 3, 1, 3, 3, 3, 3, 1, 3, 3,
1007 3, 1, 3, 3, 1, 3, 3, 3, 3, 1,
1008 2, 2, 2, 2, 2, 2, 2, 2, 1, 2,
1009 2, 1, 2, 4, 4, 1, 1, 1, 1, 1,
1014 #define yyerrok (yyerrstatus = 0) 1015 #define yyclearin (yychar = YYEMPTY) 1016 #define YYEMPTY (-2) 1019 #define YYACCEPT goto yyacceptlab 1020 #define YYABORT goto yyabortlab 1021 #define YYERROR goto yyerrorlab 1024 #define YYRECOVERING() (!!yyerrstatus) 1026 #define YYBACKUP(Token, Value) \ 1028 if (yychar == YYEMPTY) \ 1032 YYPOPSTACK (yylen); \ 1038 yyerror (&yylloc, compiler, YY_("syntax error: cannot back up")); \ 1045 #define YYERRCODE 256 1052 #ifndef YYLLOC_DEFAULT 1053 # define YYLLOC_DEFAULT(Current, Rhs, N) \ 1057 (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ 1058 (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ 1059 (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ 1060 (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ 1064 (Current).first_line = (Current).last_line = \ 1065 YYRHSLOC (Rhs, 0).last_line; \ 1066 (Current).first_column = (Current).last_column = \ 1067 YYRHSLOC (Rhs, 0).last_column; \ 1072 #define YYRHSLOC(Rhs, K) ((Rhs)[K]) 1080 # define YYFPRINTF fprintf 1083 # define YYDPRINTF(Args) \ 1094 #ifndef YY_LOCATION_PRINT 1095 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL 1101 yy_location_print_ (FILE *yyo,
YYLTYPE const *
const yylocp)
1107 res += YYFPRINTF (yyo,
"%d", yylocp->
first_line);
1115 res += YYFPRINTF (yyo,
"-%d", yylocp->
last_line);
1117 res += YYFPRINTF (yyo,
".%d", end_col);
1119 else if (0 <= end_col && yylocp->
first_column < end_col)
1120 res += YYFPRINTF (yyo,
"-%d", end_col);
1125 # define YY_LOCATION_PRINT(File, Loc) \ 1126 yy_location_print_ (File, &(Loc)) 1129 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 1134 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 1138 YYFPRINTF (stderr, "%s ", Title); \ 1139 yy_symbol_print (stderr, \ 1140 Type, Value, Location, compiler); \ 1141 YYFPRINTF (stderr, "\n"); \ 1151 yy_symbol_value_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp,
WsCompiler* compiler)
1153 FILE *yyo = yyoutput;
1155 YYUSE (yylocationp);
1161 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
1172 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep,
YYLTYPE const *
const yylocationp,
WsCompiler* compiler)
1174 YYFPRINTF (yyoutput,
"%s %s (",
1175 yytype <
YYNTOKENS ?
"token" :
"nterm", yytname[yytype]);
1177 YY_LOCATION_PRINT (yyoutput, *yylocationp);
1178 YYFPRINTF (yyoutput,
": ");
1179 yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, compiler);
1180 YYFPRINTF (yyoutput,
")");
1191 YYFPRINTF (stderr,
"Stack now");
1192 for (; yybottom <= yytop; yybottom++)
1194 int yybot = *yybottom;
1195 YYFPRINTF (stderr,
" %d", yybot);
1197 YYFPRINTF (stderr,
"\n");
1200 # define YY_STACK_PRINT(Bottom, Top) \ 1203 yy_stack_print ((Bottom), (Top)); \ 1214 unsigned long int yylno = yyrline[yyrule];
1215 int yynrhs =
yyr2[yyrule];
1217 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
1220 for (yyi = 0; yyi < yynrhs; yyi++)
1222 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
1223 yy_symbol_print (stderr,
1224 yystos[yyssp[yyi + 1 - yynrhs]],
1225 &(yyvsp[(yyi + 1) - (yynrhs)])
1226 , &(yylsp[(yyi + 1) - (yynrhs)]) , compiler);
1227 YYFPRINTF (stderr,
"\n");
1231 # define YY_REDUCE_PRINT(Rule) \ 1234 yy_reduce_print (yyssp, yyvsp, yylsp, Rule, compiler); \ 1241 # define YYDPRINTF(Args) 1242 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 1243 # define YY_STACK_PRINT(Bottom, Top) 1244 # define YY_REDUCE_PRINT(Rule) 1250 # define YYINITDEPTH 200 1261 # define YYMAXDEPTH 10000 1268 # if defined __GLIBC__ && defined _STRING_H 1269 # define yystrlen strlen 1273 yystrlen (
const char *yystr)
1276 for (yylen = 0; yystr[yylen]; yylen++)
1284 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 1285 # define yystpcpy stpcpy 1290 yystpcpy (
char *yydest,
const char *yysrc)
1293 const char *yys = yysrc;
1295 while ((*yyd++ = *yys++) !=
'\0')
1312 yytnamerr (
char *yyres,
const char *yystr)
1317 char const *yyp = yystr;
1324 goto do_not_strip_quotes;
1328 goto do_not_strip_quotes;
1341 do_not_strip_quotes: ;
1345 return yystrlen (yystr);
1347 return yystpcpy (yyres, yystr) - yyres;
1360 yysyntax_error (
YYSIZE_T *yymsg_alloc,
char **yymsg,
1365 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
1369 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
1399 int yyn =
yypact[*yyssp];
1400 yyarg[yycount++] = yytname[yytoken];
1406 int yyxbegin = yyn < 0 ? -yyn : 0;
1408 int yychecklim =
YYLAST - yyn + 1;
1412 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
1416 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
1422 yyarg[yycount++] = yytname[yyx];
1425 if (! (yysize <= yysize1
1436 # define YYCASE_(N, S) \ 1441 YYCASE_(0,
YY_(
"syntax error"));
1442 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
1443 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
1444 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
1445 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
1446 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
1451 YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
1457 if (*yymsg_alloc < yysize)
1459 *yymsg_alloc = 2 * yysize;
1460 if (! (yysize <= *yymsg_alloc
1472 while ((*yyp = *yyformat) !=
'\0')
1473 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
1475 yyp += yytnamerr (yyp, yyarg[yyi++]);
1496 YYUSE (yylocationp);
1529 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL 1533 YYLTYPE yylloc = yyloc_default;
1582 char *yymsg = yymsgbuf;
1583 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
1586 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N), yylsp -= (N)) 1592 yyssp = yyss = yyssa;
1593 yyvsp = yyvs = yyvsa;
1594 yylsp = yyls = yylsa;
1597 YYDPRINTF ((stderr,
"Starting parse\n"));
1617 if (yyss + yystacksize - 1 <= yyssp)
1620 YYSIZE_T yysize = yyssp - yyss + 1;
1635 yyoverflow (
YY_(
"memory exhausted"),
1636 &yyss1, yysize *
sizeof (*yyssp),
1637 &yyvs1, yysize *
sizeof (*yyvsp),
1638 &yyls1, yysize *
sizeof (*yylsp),
1646 # ifndef YYSTACK_RELOCATE 1647 goto yyexhaustedlab;
1651 goto yyexhaustedlab;
1661 goto yyexhaustedlab;
1665 # undef YYSTACK_RELOCATE 1672 yyssp = yyss + yysize - 1;
1673 yyvsp = yyvs + yysize - 1;
1674 yylsp = yyls + yysize - 1;
1676 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
1677 (
unsigned long int) yystacksize));
1679 if (yyss + yystacksize - 1 <= yyssp)
1683 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
1708 YYDPRINTF ((stderr,
"Reading a token: "));
1709 yychar =
yylex (&yylval, &yylloc, compiler);
1712 if (yychar <=
YYEOF)
1714 yychar = yytoken =
YYEOF;
1715 YYDPRINTF ((stderr,
"Now at end of input.\n"));
1781 yyval = yyvsp[1-yylen];
1785 yyerror_range[1] = yyloc;
1790 #line 128 "wmlscript/wsgram.y" 1792 #line 1793 "y.tab.c" 1796 #line 141 "wmlscript/wsgram.y" 1798 #line 1799 "y.tab.c" 1802 #line 152 "wmlscript/wsgram.y" 1804 #line 1805 "y.tab.c" 1808 #line 161 "wmlscript/wsgram.y" 1812 (yyvsp[0].string)->len))
1816 #line 1817 "y.tab.c" 1820 #line 169 "wmlscript/wsgram.y" 1824 (yyvsp[0].string)->len))
1829 #line 1830 "y.tab.c" 1833 #line 178 "wmlscript/wsgram.y" 1839 (yyvsp[-2].string)->len))
1843 (yyvsp[0].string)->len))
1852 #line 1853 "y.tab.c" 1856 #line 210 "wmlscript/wsgram.y" 1862 (yyvsp[0].meta_body)->property_name, (yyvsp[0].meta_body)->
content,
1863 (yyvsp[0].meta_body)->scheme,
1869 #line 1870 "y.tab.c" 1873 #line 226 "wmlscript/wsgram.y" 1880 (yyvsp[0].meta_body)->property_name,
1881 (yyvsp[0].meta_body)->
content,
1882 (yyvsp[0].meta_body)->scheme,
1888 #line 1889 "y.tab.c" 1892 #line 244 "wmlscript/wsgram.y" 1897 if ((yyvsp[0].meta_body)) {
1898 if ((yyvsp[0].meta_body)->scheme)
1902 (yyvsp[0].meta_body)->property_name->data,
1903 (yyvsp[0].meta_body)->property_name->len,
1904 (yyvsp[0].meta_body)->content->data,
1905 (yyvsp[0].meta_body)->content->len,
1906 (yyvsp[0].meta_body)->scheme->data,
1907 (yyvsp[0].meta_body)->scheme->len);
1911 (yyvsp[0].meta_body)->property_name->data,
1912 (yyvsp[0].meta_body)->property_name->len,
1913 (yyvsp[0].meta_body)->content->data,
1914 (yyvsp[0].meta_body)->content->len);
1923 #line 1924 "y.tab.c" 1927 #line 278 "wmlscript/wsgram.y" 1929 #line 1930 "y.tab.c" 1933 #line 280 "wmlscript/wsgram.y" 1935 #line 1936 "y.tab.c" 1939 #line 297 "wmlscript/wsgram.y" 1946 ws_function(compiler, (yyvsp[-7].
boolean),
name, (yylsp[-5]).first_line, (yyvsp[-3].list), (yyvsp[-1].list));
1950 #line 1951 "y.tab.c" 1954 #line 310 "wmlscript/wsgram.y" 1956 #line 1957 "y.tab.c" 1960 #line 311 "wmlscript/wsgram.y" 1962 #line 1963 "y.tab.c" 1966 #line 316 "wmlscript/wsgram.y" 1968 #line 1969 "y.tab.c" 1972 #line 327 "wmlscript/wsgram.y" 1982 if (
id == NULL ||
parm == NULL) {
1984 (yyval.
list) = NULL;
1990 #line 1991 "y.tab.c" 1994 #line 345 "wmlscript/wsgram.y" 2004 if (
id == NULL ||
parm == NULL) {
2006 (yyval.
list) = NULL;
2010 #line 2011 "y.tab.c" 2014 #line 366 "wmlscript/wsgram.y" 2016 if ((yyvsp[0].list))
2017 (yyval.
stmt) =
ws_stmt_block(compiler, (yyvsp[0].list)->first_line, (yyvsp[0].list)->last_line,
2020 (yyval.
stmt) = NULL;
2022 #line 2023 "y.tab.c" 2026 #line 375 "wmlscript/wsgram.y" 2028 #line 2029 "y.tab.c" 2032 #line 377 "wmlscript/wsgram.y" 2033 { (yyval.
stmt) =
ws_stmt_expr(compiler, (yyvsp[-1].expr)->line, (yyvsp[-1].expr)); }
2034 #line 2035 "y.tab.c" 2038 #line 381 "wmlscript/wsgram.y" 2040 #line 2041 "y.tab.c" 2044 #line 383 "wmlscript/wsgram.y" 2046 #line 2047 "y.tab.c" 2050 #line 388 "wmlscript/wsgram.y" 2052 (yyval.
list) = (yyvsp[-1].list);
2055 (yyval.
list)->last_line = (yylsp[0]).first_line;
2058 #line 2059 "y.tab.c" 2062 #line 396 "wmlscript/wsgram.y" 2065 (yyval.
list) = NULL;
2067 #line 2068 "y.tab.c" 2071 #line 404 "wmlscript/wsgram.y" 2073 #line 2074 "y.tab.c" 2077 #line 410 "wmlscript/wsgram.y" 2082 #line 2083 "y.tab.c" 2086 #line 415 "wmlscript/wsgram.y" 2088 #line 2089 "y.tab.c" 2092 #line 420 "wmlscript/wsgram.y" 2094 #line 2095 "y.tab.c" 2098 #line 422 "wmlscript/wsgram.y" 2100 #line 2101 "y.tab.c" 2104 #line 427 "wmlscript/wsgram.y" 2109 #line 2110 "y.tab.c" 2113 #line 432 "wmlscript/wsgram.y" 2114 {
ws_list_append(compiler, (yyvsp[-2].list), (yyvsp[0].vardec)); }
2115 #line 2116 "y.tab.c" 2119 #line 437 "wmlscript/wsgram.y" 2122 (yyvsp[-1].identifier));
2131 #line 2132 "y.tab.c" 2135 #line 452 "wmlscript/wsgram.y" 2136 { (yyval.
expr) = NULL; }
2137 #line 2138 "y.tab.c" 2141 #line 454 "wmlscript/wsgram.y" 2142 { (yyval.
expr) = (yyvsp[0].expr); }
2143 #line 2144 "y.tab.c" 2147 #line 459 "wmlscript/wsgram.y" 2148 { (yyval.
stmt) =
ws_stmt_if(compiler, (yylsp[-6]).first_line, (yyvsp[-4].expr), (yyvsp[-2].stmt), (yyvsp[0].stmt)); }
2149 #line 2150 "y.tab.c" 2153 #line 461 "wmlscript/wsgram.y" 2154 { (yyval.
stmt) =
ws_stmt_if(compiler, (yylsp[-4]).first_line, (yyvsp[-2].expr), (yyvsp[0].stmt), NULL); }
2155 #line 2156 "y.tab.c" 2159 #line 466 "wmlscript/wsgram.y" 2160 { (yyval.
stmt) =
ws_stmt_while(compiler, (yylsp[-4]).first_line, (yyvsp[-2].expr), (yyvsp[0].stmt)); }
2161 #line 2162 "y.tab.c" 2165 #line 473 "wmlscript/wsgram.y" 2166 { (yyval.
stmt) =
ws_stmt_for(compiler, (yylsp[-8]).first_line, NULL, (yyvsp[-6].expr), (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].stmt)); }
2167 #line 2168 "y.tab.c" 2171 #line 476 "wmlscript/wsgram.y" 2172 { (yyval.
stmt) =
ws_stmt_for(compiler, (yylsp[-9]).first_line, (yyvsp[-6].list), NULL, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].stmt)); }
2173 #line 2174 "y.tab.c" 2177 #line 481 "wmlscript/wsgram.y" 2178 { (yyval.
stmt) =
ws_stmt_return(compiler, (yylsp[-2]).first_line, (yyvsp[-1].expr)); }
2179 #line 2180 "y.tab.c" 2183 #line 487 "wmlscript/wsgram.y" 2184 { (yyval.
expr) = NULL; }
2185 #line 2186 "y.tab.c" 2189 #line 495 "wmlscript/wsgram.y" 2190 { (yyval.
expr) =
ws_expr_comma(compiler, (yylsp[-1]).first_line, (yyvsp[-2].expr), (yyvsp[0].expr)); }
2191 #line 2192 "y.tab.c" 2195 #line 501 "wmlscript/wsgram.y" 2196 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
'=', (yyvsp[0].expr)); }
2197 #line 2198 "y.tab.c" 2201 #line 503 "wmlscript/wsgram.y" 2202 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
tMULA, (yyvsp[0].expr)); }
2203 #line 2204 "y.tab.c" 2207 #line 505 "wmlscript/wsgram.y" 2208 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
tDIVA, (yyvsp[0].expr)); }
2209 #line 2210 "y.tab.c" 2213 #line 507 "wmlscript/wsgram.y" 2214 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
tREMA, (yyvsp[0].expr)); }
2215 #line 2216 "y.tab.c" 2219 #line 509 "wmlscript/wsgram.y" 2220 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
tADDA, (yyvsp[0].expr)); }
2221 #line 2222 "y.tab.c" 2225 #line 511 "wmlscript/wsgram.y" 2226 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
tSUBA, (yyvsp[0].expr)); }
2227 #line 2228 "y.tab.c" 2231 #line 513 "wmlscript/wsgram.y" 2233 #line 2234 "y.tab.c" 2237 #line 515 "wmlscript/wsgram.y" 2239 #line 2240 "y.tab.c" 2243 #line 517 "wmlscript/wsgram.y" 2245 #line 2246 "y.tab.c" 2249 #line 519 "wmlscript/wsgram.y" 2250 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
tANDA, (yyvsp[0].expr)); }
2251 #line 2252 "y.tab.c" 2255 #line 521 "wmlscript/wsgram.y" 2256 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
tXORA, (yyvsp[0].expr)); }
2257 #line 2258 "y.tab.c" 2261 #line 523 "wmlscript/wsgram.y" 2262 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
tORA, (yyvsp[0].expr)); }
2263 #line 2264 "y.tab.c" 2267 #line 525 "wmlscript/wsgram.y" 2268 { (yyval.
expr) =
ws_expr_assign(compiler, (yylsp[-2]).first_line, (yyvsp[-2].identifier),
tIDIVA, (yyvsp[0].expr)); }
2269 #line 2270 "y.tab.c" 2273 #line 531 "wmlscript/wsgram.y" 2274 { (yyval.
expr) =
ws_expr_conditional(compiler, (yylsp[-3]).first_line, (yyvsp[-4].expr), (yyvsp[-2].expr), (yyvsp[0].expr)); }
2275 #line 2276 "y.tab.c" 2279 #line 537 "wmlscript/wsgram.y" 2281 #line 2282 "y.tab.c" 2285 #line 543 "wmlscript/wsgram.y" 2287 #line 2288 "y.tab.c" 2291 #line 549 "wmlscript/wsgram.y" 2293 #line 2294 "y.tab.c" 2297 #line 555 "wmlscript/wsgram.y" 2299 #line 2300 "y.tab.c" 2303 #line 561 "wmlscript/wsgram.y" 2305 #line 2306 "y.tab.c" 2309 #line 567 "wmlscript/wsgram.y" 2311 #line 2312 "y.tab.c" 2315 #line 569 "wmlscript/wsgram.y" 2317 #line 2318 "y.tab.c" 2321 #line 575 "wmlscript/wsgram.y" 2323 #line 2324 "y.tab.c" 2327 #line 577 "wmlscript/wsgram.y" 2329 #line 2330 "y.tab.c" 2333 #line 579 "wmlscript/wsgram.y" 2335 #line 2336 "y.tab.c" 2339 #line 581 "wmlscript/wsgram.y" 2341 #line 2342 "y.tab.c" 2345 #line 587 "wmlscript/wsgram.y" 2347 #line 2348 "y.tab.c" 2351 #line 589 "wmlscript/wsgram.y" 2353 #line 2354 "y.tab.c" 2357 #line 591 "wmlscript/wsgram.y" 2359 #line 2360 "y.tab.c" 2363 #line 597 "wmlscript/wsgram.y" 2365 #line 2366 "y.tab.c" 2369 #line 599 "wmlscript/wsgram.y" 2371 #line 2372 "y.tab.c" 2375 #line 605 "wmlscript/wsgram.y" 2377 #line 2378 "y.tab.c" 2381 #line 607 "wmlscript/wsgram.y" 2383 #line 2384 "y.tab.c" 2387 #line 609 "wmlscript/wsgram.y" 2389 #line 2390 "y.tab.c" 2393 #line 611 "wmlscript/wsgram.y" 2395 #line 2396 "y.tab.c" 2399 #line 617 "wmlscript/wsgram.y" 2401 #line 2402 "y.tab.c" 2405 #line 619 "wmlscript/wsgram.y" 2407 #line 2408 "y.tab.c" 2411 #line 621 "wmlscript/wsgram.y" 2413 #line 2414 "y.tab.c" 2417 #line 623 "wmlscript/wsgram.y" 2419 #line 2420 "y.tab.c" 2423 #line 625 "wmlscript/wsgram.y" 2439 #line 2440 "y.tab.c" 2443 #line 641 "wmlscript/wsgram.y" 2445 #line 2446 "y.tab.c" 2449 #line 643 "wmlscript/wsgram.y" 2451 #line 2452 "y.tab.c" 2455 #line 645 "wmlscript/wsgram.y" 2457 #line 2458 "y.tab.c" 2461 #line 651 "wmlscript/wsgram.y" 2463 #line 2464 "y.tab.c" 2467 #line 653 "wmlscript/wsgram.y" 2469 #line 2470 "y.tab.c" 2473 #line 659 "wmlscript/wsgram.y" 2481 (yyval.
expr) =
ws_expr_call(compiler, (yylsp[-1]).first_line,
' ', NULL, (yyvsp[-1].identifier), (yyvsp[0].list));
2483 #line 2484 "y.tab.c" 2487 #line 669 "wmlscript/wsgram.y" 2488 { (yyval.
expr) =
ws_expr_call(compiler, (yylsp[-1]).first_line,
'#', (yyvsp[-3].identifier), (yyvsp[-1].
identifier), (yyvsp[0].list)); }
2489 #line 2490 "y.tab.c" 2493 #line 671 "wmlscript/wsgram.y" 2494 { (yyval.
expr) =
ws_expr_call(compiler, (yylsp[-1]).first_line,
'.', (yyvsp[-3].identifier), (yyvsp[-1].
identifier), (yyvsp[0].list)); }
2495 #line 2496 "y.tab.c" 2499 #line 676 "wmlscript/wsgram.y" 2500 { (yyval.
expr) =
ws_expr_symbol(compiler, (yylsp[0]).first_line, (yyvsp[0].identifier)); }
2501 #line 2502 "y.tab.c" 2505 #line 678 "wmlscript/wsgram.y" 2507 #line 2508 "y.tab.c" 2511 #line 680 "wmlscript/wsgram.y" 2513 #line 2514 "y.tab.c" 2517 #line 682 "wmlscript/wsgram.y" 2519 #line 2520 "y.tab.c" 2523 #line 684 "wmlscript/wsgram.y" 2525 #line 2526 "y.tab.c" 2529 #line 686 "wmlscript/wsgram.y" 2531 #line 2532 "y.tab.c" 2535 #line 688 "wmlscript/wsgram.y" 2537 #line 2538 "y.tab.c" 2541 #line 690 "wmlscript/wsgram.y" 2542 { (yyval.
expr) = (yyvsp[-1].expr); }
2543 #line 2544 "y.tab.c" 2547 #line 695 "wmlscript/wsgram.y" 2549 #line 2550 "y.tab.c" 2553 #line 697 "wmlscript/wsgram.y" 2554 { (yyval.
list) = (yyvsp[-1].list); }
2555 #line 2556 "y.tab.c" 2559 #line 702 "wmlscript/wsgram.y" 2564 #line 2565 "y.tab.c" 2568 #line 707 "wmlscript/wsgram.y" 2570 #line 2571 "y.tab.c" 2574 #line 2575 "y.tab.c" 2604 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
2624 #if ! YYERROR_VERBOSE 2625 yyerror (&yylloc, compiler,
YY_(
"syntax error"));
2627 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 2630 char const *yymsgp =
YY_(
"syntax error");
2631 int yysyntax_error_status;
2632 yysyntax_error_status = YYSYNTAX_ERROR;
2633 if (yysyntax_error_status == 0)
2635 else if (yysyntax_error_status == 1)
2637 if (yymsg != yymsgbuf)
2643 yymsg_alloc =
sizeof yymsgbuf;
2644 yysyntax_error_status = 2;
2648 yysyntax_error_status = YYSYNTAX_ERROR;
2652 yyerror (&yylloc, compiler, yymsgp);
2653 if (yysyntax_error_status == 2)
2654 goto yyexhaustedlab;
2656 # undef YYSYNTAX_ERROR 2660 yyerror_range[1] = yylloc;
2662 if (yyerrstatus == 3)
2667 if (yychar <=
YYEOF)
2670 if (yychar ==
YYEOF)
2676 yytoken, &yylval, &yylloc, compiler);
2730 yyerror_range[1] = *yylsp;
2732 yystos[yystate], yyvsp, yylsp, compiler);
2742 yyerror_range[2] = yylloc;
2769 #if !defined yyoverflow || YYERROR_VERBOSE 2774 yyerror (&yylloc, compiler,
YY_(
"memory exhausted"));
2786 yytoken, &yylval, &yylloc, compiler);
2792 while (yyssp != yyss)
2795 yystos[*yyssp], yyvsp, yylsp, compiler);
2803 if (yymsg != yymsgbuf)
2808 #line 710 "wmlscript/wsgram.y" 2815 fprintf(stderr,
"*** %s:%ld: wsc: %s - this msg will be removed ***\n",
void ws_function(WsCompiler *compiler, WsBool externp, char *name, WsUInt32 line, WsList *params, WsList *block)
WsStatement * ws_stmt_empty(WsCompiler *compiler, WsUInt32 line)
WsStatement * ws_stmt_for(WsCompilerPtr compiler, WsUInt32 line, WsList *init, WsExpression *e1, WsExpression *e2, WsExpression *e3, WsStatement *stmt_body)
WsExpression * ws_expr_postfix_var(WsCompilerPtr compiler, WsUInt32 line, WsBool addp, char *variable)
int ws_yy_parse(WsCompiler *compiler)
WsExpression * ws_expr_call(WsCompiler *compiler, WsUInt32 line, int type, char *base, char *name, WsList *arguments)
static const yytype_uint8 yytranslate[]
WsStatement * ws_stmt_return(WsCompilerPtr compiler, WsUInt32 line, WsExpression *expr)
WsBool ws_bc_add_pragma_access_domain(WsBc *bc, const unsigned char *domain, size_t domain_len)
void ws_pragma_meta_body_free(WsCompilerPtr compiler, WsPragmaMetaBody *mb)
WsStatement * ws_stmt_continue(WsCompiler *compiler, WsUInt32 line)
WsExpression * ws_expr_binary(WsCompilerPtr compiler, WsUInt32 line, int type, WsExpression *left, WsExpression *right)
#define YY_INITIAL_VALUE(Value)
#define yytable_value_is_error(Yytable_value)
static const yytype_int16 yypact[]
#define YY_ATTRIBUTE_UNUSED
WsBool ws_bc_add_pragma_access_path(WsBc *bc, const unsigned char *path, size_t path_len)
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
#define YYLLOC_DEFAULT(Current, Rhs, N)
static const yytype_int16 yydefgoto[]
static const yytype_int16 yytable[]
WsVarDec * ws_variable_declaration(WsCompilerPtr compiler, char *name, WsExpression *expr)
WsStatement * ws_stmt_expr(WsCompiler *compiler, WsUInt32 line, WsExpression *expr)
WsStatement * ws_stmt_while(WsCompiler *compiler, WsUInt32 line, WsExpression *expr, WsStatement *stmt_arg)
WsExpression * ws_expr_const_string(WsCompiler *compiler, WsUInt32 line, WsUtf8String *string)
#define YY_STACK_PRINT(Bottom, Top)
WsPragmaMetaBody * ws_pragma_meta_body(WsCompilerPtr compiler, WsUtf8String *property_name, WsUtf8String *content, WsUtf8String *scheme)
static const yytype_uint8 yyr1[]
void ws_lexer_free_block(WsCompiler *compiler, void *ptr)
WsExpression * ws_expr_const_float(WsCompiler *compiler, WsUInt32 line, WsFloat fval)
WsExpression * ws_expr_symbol(WsCompiler *compiler, WsUInt32 line, char *identifier)
WsExpression * ws_expr_const_integer(WsCompiler *compiler, WsUInt32 line, WsUInt32 ival)
static const yytype_uint8 yystos[]
#define yypact_value_is_default(Yystate)
WsFormalParm * ws_formal_parameter(WsCompilerPtr compiler, WsUInt32 line, char *name)
WsStatement * ws_stmt_break(WsCompiler *compiler, WsUInt32 line)
WsStatement * ws_stmt_if(WsCompiler *compiler, WsUInt32 line, WsExpression *expr, WsStatement *s_then, WsStatement *s_else)
void * meta_name_cb_context
void * ws_f_strdup(WsFastMalloc *pool, const char *str)
void ws_error_syntax(WsCompilerPtr compiler, WsUInt32 line)
WsPragmaMetaProc meta_name_cb
static const yytype_int16 yypgoto[]
WsExpression * ws_expr_const_true(WsCompiler *compiler, WsUInt32 line)
void ws_pragma_use(WsCompilerPtr compiler, WsUInt32 line, char *identifier, WsUtf8String *url)
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
WsStatement * ws_stmt_variable(WsCompilerPtr compiler, WsUInt32 line, WsList *variables)
WsExpression * ws_expr_unary(WsCompilerPtr compiler, WsUInt32 line, int type, WsExpression *expression)
WsExpression * ws_expr_logical(WsCompilerPtr compiler, WsUInt32 line, int type, WsExpression *left, WsExpression *right)
WsExpression * ws_expr_const_false(WsCompiler *compiler, WsUInt32 line)
WsList * ws_list_new(WsCompiler *compiler)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
unsigned char yytype_uint8
WsFunctionHash * ws_function_hash(WsCompilerPtr compiler, char *name)
WsBool ws_bc_add_pragma_user_agent_property(WsBc *bc, const unsigned char *name, size_t name_len, const unsigned char *property, size_t property_len)
void * ws_strdup(const char *str)
WsPragmaMetaProc meta_http_equiv_cb
void * meta_http_equiv_cb_context
WsExpression * ws_expr_const_invalid(WsCompiler *compiler, WsUInt32 line)
WsExpression * ws_expr_conditional(WsCompilerPtr compiler, WsUInt32 line, WsExpression *e_cond, WsExpression *e_then, WsExpression *e_else)
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
WsExpression * ws_expr_comma(WsCompilerPtr compiler, WsUInt32 line, WsExpression *left, WsExpression *right)
#define WS_ASM_B_RSZSHIFT
static void yydestruct(const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, WsCompiler *compiler)
WsFastMalloc * pool_stree
WsStatement * ws_stmt_block(WsCompiler *compiler, WsUInt32 fline, WsUInt32 lline, WsList *block)
#define YYSTACK_ALLOC_MAXIMUM
WsPragmaMetaBody * meta_body
void ws_lexer_free_utf8(WsCompiler *compiler, WsUtf8String *string)
static const yytype_uint8 yyr2[]
#define YY_REDUCE_PRINT(Rule)
WsBool ws_bc_add_pragma_user_agent_property_and_scheme(WsBc *bc, const unsigned char *name, size_t name_len, const unsigned char *property, size_t property_len, const unsigned char *scheme, size_t scheme_len)
WsExpression * ws_expr_unary_var(WsCompilerPtr compiler, WsUInt32 line, WsBool addp, char *variable)
WsExpression * ws_expr_assign(WsCompilerPtr compiler, WsUInt32 line, char *identifier, int op, WsExpression *expr)
void ws_error_memory(WsCompilerPtr compiler)
static XMLRPCDocument * msg
void ws_list_append(WsCompiler *compiler, WsList *list, void *value)
static const yytype_int16 yycheck[]
unsigned short int yytype_uint16
static const yytype_uint8 yydefact[]