| /* A Bison parser, made by GNU Bison 3.0.2. */ |
| |
| /* Bison implementation for Yacc-like parsers in C |
| |
| Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. |
| |
| This program is free software: you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation, either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
| |
| /* As a special exception, you may create a larger work that contains |
| part or all of the Bison parser skeleton and distribute that work |
| under terms of your choice, so long as that work isn't itself a |
| parser generator using the skeleton or a modified version thereof |
| as a parser skeleton. Alternatively, if you modify or redistribute |
| the parser skeleton itself, you may (at your option) remove this |
| special exception, which will cause the skeleton and the resulting |
| Bison output files to be licensed under the GNU General Public |
| License without this special exception. |
| |
| This special exception was added by the Free Software Foundation in |
| version 2.2 of Bison. */ |
| |
| /* C LALR(1) parser skeleton written by Richard Stallman, by |
| simplifying the original so-called "semantic" parser. */ |
| |
| /* All symbols defined below should begin with yy or YY, to avoid |
| infringing on user name space. This should be done even for local |
| variables, as they might otherwise be expanded by user macros. |
| There are some unavoidable exceptions within include files to |
| define necessary library symbols; they are noted "INFRINGES ON |
| USER NAME SPACE" below. */ |
| |
| /* Identify Bison output. */ |
| #define YYBISON 1 |
| |
| /* Bison version. */ |
| #define YYBISON_VERSION "3.0.2" |
| |
| /* Skeleton name. */ |
| #define YYSKELETON_NAME "yacc.c" |
| |
| /* Pure parsers. */ |
| #define YYPURE 1 |
| |
| /* Push parsers. */ |
| #define YYPUSH 0 |
| |
| /* Pull parsers. */ |
| #define YYPULL 1 |
| |
| |
| /* Substitute the variable and function names. */ |
| #define yyparse cssyyparse |
| #define yylex cssyylex |
| #define yyerror cssyyerror |
| #define yydebug cssyydebug |
| #define yynerrs cssyynerrs |
| |
| |
| /* Copy the first part of user declarations. */ |
| #line 1 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:339 */ |
| |
| |
| /* |
| * Copyright (C) 2002-2003 Lars Knoll (knoll@kde.org) |
| * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. |
| * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| * |
| */ |
| |
| #include "config.h" |
| |
| #include "CSSParser.h" |
| #include "CSSParserMode.h" |
| #include "CSSPrimitiveValue.h" |
| #include "CSSPropertyNames.h" |
| #include "CSSSelector.h" |
| #include "CSSSelectorList.h" |
| #include "Document.h" |
| #include "HTMLNames.h" |
| #include "MediaList.h" |
| #include "MediaQueryExp.h" |
| #include "StyleRule.h" |
| #include "StyleSheetContents.h" |
| #include "CSSKeyframeRule.h" |
| #include "CSSKeyframesRule.h" |
| #include <wtf/FastMalloc.h> |
| #include <stdlib.h> |
| #include <string.h> |
| |
| using namespace WebCore; |
| using namespace HTMLNames; |
| |
| #if COMPILER(MSVC) |
| // See https://msdn.microsoft.com/en-us/library/1wea5zwe.aspx |
| #pragma warning(disable: 4701) |
| #endif |
| |
| #define YYMALLOC fastMalloc |
| #define YYFREE fastFree |
| |
| #define YYENABLE_NLS 0 |
| #define YYLTYPE_IS_TRIVIAL 1 |
| #define YYMAXDEPTH 10000 |
| #define YYDEBUG 0 |
| |
| #if YYDEBUG > 0 |
| #include <wtf/text/CString.h> |
| #define YYPRINT(File,Type,Value) if (isCSSTokenAString(Type)) YYFPRINTF(File, "%s", String((Value).string).utf8().data()) |
| #endif |
| |
| |
| #line 139 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:339 */ |
| |
| # ifndef YY_NULLPTR |
| # if defined __cplusplus && 201103L <= __cplusplus |
| # define YY_NULLPTR nullptr |
| # else |
| # define YY_NULLPTR 0 |
| # endif |
| # endif |
| |
| /* Enabling verbose error messages. */ |
| #ifdef YYERROR_VERBOSE |
| # undef YYERROR_VERBOSE |
| # define YYERROR_VERBOSE 1 |
| #else |
| # define YYERROR_VERBOSE 0 |
| #endif |
| |
| /* In a future release of Bison, this section will be replaced |
| by #include "CSSGrammar.hpp". */ |
| #ifndef YY_CSSYY_DERIVED_SOURCES_WEBCORE_CSSGRAMMAR_HPP_INCLUDED |
| # define YY_CSSYY_DERIVED_SOURCES_WEBCORE_CSSGRAMMAR_HPP_INCLUDED |
| /* Debug traces. */ |
| #ifndef YYDEBUG |
| # define YYDEBUG 0 |
| #endif |
| #if YYDEBUG |
| extern int cssyydebug; |
| #endif |
| |
| /* Token type. */ |
| #ifndef YYTOKENTYPE |
| # define YYTOKENTYPE |
| enum yytokentype |
| { |
| TOKEN_EOF = 0, |
| LOWEST_PREC = 258, |
| UNIMPORTANT_TOK = 259, |
| WHITESPACE = 260, |
| SGML_CD = 261, |
| INCLUDES = 262, |
| DASHMATCH = 263, |
| BEGINSWITH = 264, |
| ENDSWITH = 265, |
| CONTAINS = 266, |
| STRING = 267, |
| IDENT = 268, |
| NTH = 269, |
| NTHCHILDSELECTORSEPARATOR = 270, |
| HEX = 271, |
| IDSEL = 272, |
| IMPORT_SYM = 273, |
| PAGE_SYM = 274, |
| MEDIA_SYM = 275, |
| FONT_FACE_SYM = 276, |
| CHARSET_SYM = 277, |
| KEYFRAME_RULE_SYM = 278, |
| KEYFRAMES_SYM = 279, |
| NAMESPACE_SYM = 280, |
| WEBKIT_RULE_SYM = 281, |
| WEBKIT_DECLS_SYM = 282, |
| WEBKIT_VALUE_SYM = 283, |
| WEBKIT_MEDIAQUERY_SYM = 284, |
| WEBKIT_SIZESATTR_SYM = 285, |
| WEBKIT_SELECTOR_SYM = 286, |
| WEBKIT_REGION_RULE_SYM = 287, |
| WEBKIT_VIEWPORT_RULE_SYM = 288, |
| TOPLEFTCORNER_SYM = 289, |
| TOPLEFT_SYM = 290, |
| TOPCENTER_SYM = 291, |
| TOPRIGHT_SYM = 292, |
| TOPRIGHTCORNER_SYM = 293, |
| BOTTOMLEFTCORNER_SYM = 294, |
| BOTTOMLEFT_SYM = 295, |
| BOTTOMCENTER_SYM = 296, |
| BOTTOMRIGHT_SYM = 297, |
| BOTTOMRIGHTCORNER_SYM = 298, |
| LEFTTOP_SYM = 299, |
| LEFTMIDDLE_SYM = 300, |
| LEFTBOTTOM_SYM = 301, |
| RIGHTTOP_SYM = 302, |
| RIGHTMIDDLE_SYM = 303, |
| RIGHTBOTTOM_SYM = 304, |
| ATKEYWORD = 305, |
| IMPORTANT_SYM = 306, |
| MEDIA_ONLY = 307, |
| MEDIA_NOT = 308, |
| MEDIA_AND = 309, |
| REMS = 310, |
| CHS = 311, |
| QEMS = 312, |
| EMS = 313, |
| EXS = 314, |
| PXS = 315, |
| CMS = 316, |
| MMS = 317, |
| INS = 318, |
| PTS = 319, |
| PCS = 320, |
| DEGS = 321, |
| RADS = 322, |
| GRADS = 323, |
| TURNS = 324, |
| MSECS = 325, |
| SECS = 326, |
| HERTZ = 327, |
| KHERTZ = 328, |
| DIMEN = 329, |
| INVALIDDIMEN = 330, |
| PERCENTAGE = 331, |
| FLOATTOKEN = 332, |
| INTEGER = 333, |
| VW = 334, |
| VH = 335, |
| VMIN = 336, |
| VMAX = 337, |
| DPPX = 338, |
| DPI = 339, |
| DPCM = 340, |
| FR = 341, |
| URI = 342, |
| FUNCTION = 343, |
| ANYFUNCTION = 344, |
| NOTFUNCTION = 345, |
| CALCFUNCTION = 346, |
| MATCHESFUNCTION = 347, |
| MAXFUNCTION = 348, |
| MINFUNCTION = 349, |
| NTHCHILDFUNCTIONS = 350, |
| LANGFUNCTION = 351, |
| VARFUNCTION = 352, |
| CUSTOM_PROPERTY = 353, |
| UNICODERANGE = 354, |
| SUPPORTS_AND = 355, |
| SUPPORTS_NOT = 356, |
| SUPPORTS_OR = 357, |
| SUPPORTS_SYM = 358, |
| WEBKIT_SUPPORTS_CONDITION_SYM = 359, |
| CUEFUNCTION = 360, |
| SLOTTEDFUNCTION = 361, |
| HOSTFUNCTION = 362 |
| }; |
| #endif |
| |
| /* Value type. */ |
| #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
| typedef union YYSTYPE YYSTYPE; |
| union YYSTYPE |
| { |
| #line 72 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:355 */ |
| |
| double number; |
| CSSParserString string; |
| CSSSelector::MarginBoxType marginBox; |
| CSSParserValue value; |
| CSSParserSelectorCombinator relation; |
| StyleRuleBase* rule; |
| Vector<RefPtr<StyleRuleBase>>* ruleList; |
| MediaQuerySet* mediaList; |
| MediaQuery* mediaQuery; |
| MediaQuery::Restrictor mediaQueryRestrictor; |
| MediaQueryExpression* mediaQueryExpression; |
| Vector<MediaQueryExpression>* mediaQueryExpressionList; |
| StyleKeyframe* keyframe; |
| Vector<RefPtr<StyleKeyframe>>* keyframeRuleList; |
| CSSPropertyID id; |
| CSSParserSelector* selector; |
| Vector<std::unique_ptr<CSSParserSelector>>* selectorList; |
| bool boolean; |
| CSSSelector::Match match; |
| int integer; |
| char character; |
| CSSParserValueList* valueList; |
| Vector<CSSParserString>* stringList; |
| CSSParser::Location location; |
| |
| #line 315 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:355 */ |
| }; |
| # define YYSTYPE_IS_TRIVIAL 1 |
| # define YYSTYPE_IS_DECLARED 1 |
| #endif |
| |
| |
| |
| int cssyyparse (CSSParser* parser); |
| |
| #endif /* !YY_CSSYY_DERIVED_SOURCES_WEBCORE_CSSGRAMMAR_HPP_INCLUDED */ |
| |
| /* Copy the second part of user declarations. */ |
| #line 99 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:358 */ |
| |
| |
| static inline int cssyyerror(void*, const char*) |
| { |
| return 1; |
| } |
| static inline CSSParserValue makeIdentValue(CSSParserString string) |
| { |
| CSSParserValue v; |
| v.id = cssValueKeywordID(string); |
| v.unit = CSSPrimitiveValue::CSS_IDENT; |
| v.string = string; |
| return v; |
| } |
| |
| static bool selectorListDoesNotMatchAnyPseudoElement(const Vector<std::unique_ptr<CSSParserSelector>>* selectorVector) |
| { |
| if (!selectorVector) |
| return true; |
| |
| for (unsigned i = 0; i < selectorVector->size(); ++i) { |
| for (const CSSParserSelector* selector = selectorVector->at(i).get(); selector; selector = selector->tagHistory()) { |
| if (selector->matchesPseudoElement()) |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| |
| #line 359 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:358 */ |
| |
| #ifdef short |
| # undef short |
| #endif |
| |
| #ifdef YYTYPE_UINT8 |
| typedef YYTYPE_UINT8 yytype_uint8; |
| #else |
| typedef unsigned char yytype_uint8; |
| #endif |
| |
| #ifdef YYTYPE_INT8 |
| typedef YYTYPE_INT8 yytype_int8; |
| #else |
| typedef signed char yytype_int8; |
| #endif |
| |
| #ifdef YYTYPE_UINT16 |
| typedef YYTYPE_UINT16 yytype_uint16; |
| #else |
| typedef unsigned short int yytype_uint16; |
| #endif |
| |
| #ifdef YYTYPE_INT16 |
| typedef YYTYPE_INT16 yytype_int16; |
| #else |
| typedef short int yytype_int16; |
| #endif |
| |
| #ifndef YYSIZE_T |
| # ifdef __SIZE_TYPE__ |
| # define YYSIZE_T __SIZE_TYPE__ |
| # elif defined size_t |
| # define YYSIZE_T size_t |
| # elif ! defined YYSIZE_T |
| # include <stddef.h> /* INFRINGES ON USER NAME SPACE */ |
| # define YYSIZE_T size_t |
| # else |
| # define YYSIZE_T unsigned int |
| # endif |
| #endif |
| |
| #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
| |
| #ifndef YY_ |
| # if defined YYENABLE_NLS && YYENABLE_NLS |
| # if ENABLE_NLS |
| # include <libintl.h> /* INFRINGES ON USER NAME SPACE */ |
| # define YY_(Msgid) dgettext ("bison-runtime", Msgid) |
| # endif |
| # endif |
| # ifndef YY_ |
| # define YY_(Msgid) Msgid |
| # endif |
| #endif |
| |
| #ifndef YY_ATTRIBUTE |
| # if (defined __GNUC__ \ |
| && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ |
| || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C |
| # define YY_ATTRIBUTE(Spec) __attribute__(Spec) |
| # else |
| # define YY_ATTRIBUTE(Spec) /* empty */ |
| # endif |
| #endif |
| |
| #ifndef YY_ATTRIBUTE_PURE |
| # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) |
| #endif |
| |
| #ifndef YY_ATTRIBUTE_UNUSED |
| # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) |
| #endif |
| |
| #if !defined _Noreturn \ |
| && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) |
| # if defined _MSC_VER && 1200 <= _MSC_VER |
| # define _Noreturn __declspec (noreturn) |
| # else |
| # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) |
| # endif |
| #endif |
| |
| /* Suppress unused-variable warnings by "using" E. */ |
| #if ! defined lint || defined __GNUC__ |
| # define YYUSE(E) ((void) (E)) |
| #else |
| # define YYUSE(E) /* empty */ |
| #endif |
| |
| #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ |
| /* Suppress an incorrect diagnostic about yylval being uninitialized. */ |
| # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ |
| _Pragma ("GCC diagnostic push") \ |
| _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ |
| _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") |
| # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ |
| _Pragma ("GCC diagnostic pop") |
| #else |
| # define YY_INITIAL_VALUE(Value) Value |
| #endif |
| #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
| # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
| # define YY_IGNORE_MAYBE_UNINITIALIZED_END |
| #endif |
| #ifndef YY_INITIAL_VALUE |
| # define YY_INITIAL_VALUE(Value) /* Nothing. */ |
| #endif |
| |
| |
| #if ! defined yyoverflow || YYERROR_VERBOSE |
| |
| /* The parser invokes alloca or malloc; define the necessary symbols. */ |
| |
| # ifdef YYSTACK_USE_ALLOCA |
| # if YYSTACK_USE_ALLOCA |
| # ifdef __GNUC__ |
| # define YYSTACK_ALLOC __builtin_alloca |
| # elif defined __BUILTIN_VA_ARG_INCR |
| # include <alloca.h> /* INFRINGES ON USER NAME SPACE */ |
| # elif defined _AIX |
| # define YYSTACK_ALLOC __alloca |
| # elif defined _MSC_VER |
| # include <malloc.h> /* INFRINGES ON USER NAME SPACE */ |
| # define alloca _alloca |
| # else |
| # define YYSTACK_ALLOC alloca |
| # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS |
| # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
| /* Use EXIT_SUCCESS as a witness for stdlib.h. */ |
| # ifndef EXIT_SUCCESS |
| # define EXIT_SUCCESS 0 |
| # endif |
| # endif |
| # endif |
| # endif |
| # endif |
| |
| # ifdef YYSTACK_ALLOC |
| /* Pacify GCC's 'empty if-body' warning. */ |
| # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) |
| # ifndef YYSTACK_ALLOC_MAXIMUM |
| /* The OS might guarantee only one guard page at the bottom of the stack, |
| and a page size can be as small as 4096 bytes. So we cannot safely |
| invoke alloca (N) if N exceeds 4096. Use a slightly smaller number |
| to allow for a few compiler-allocated temporary stack slots. */ |
| # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ |
| # endif |
| # else |
| # define YYSTACK_ALLOC YYMALLOC |
| # define YYSTACK_FREE YYFREE |
| # ifndef YYSTACK_ALLOC_MAXIMUM |
| # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
| # endif |
| # if (defined __cplusplus && ! defined EXIT_SUCCESS \ |
| && ! ((defined YYMALLOC || defined malloc) \ |
| && (defined YYFREE || defined free))) |
| # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */ |
| # ifndef EXIT_SUCCESS |
| # define EXIT_SUCCESS 0 |
| # endif |
| # endif |
| # ifndef YYMALLOC |
| # define YYMALLOC malloc |
| # if ! defined malloc && ! defined EXIT_SUCCESS |
| void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ |
| # endif |
| # endif |
| # ifndef YYFREE |
| # define YYFREE free |
| # if ! defined free && ! defined EXIT_SUCCESS |
| void free (void *); /* INFRINGES ON USER NAME SPACE */ |
| # endif |
| # endif |
| # endif |
| #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ |
| |
| |
| #if (! defined yyoverflow \ |
| && (! defined __cplusplus \ |
| || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) |
| |
| /* A type that is properly aligned for any stack member. */ |
| union yyalloc |
| { |
| yytype_int16 yyss_alloc; |
| YYSTYPE yyvs_alloc; |
| }; |
| |
| /* The size of the maximum gap between one aligned stack and the next. */ |
| # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
| |
| /* The size of an array large to enough to hold all stacks, each with |
| N elements. */ |
| # define YYSTACK_BYTES(N) \ |
| ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ |
| + YYSTACK_GAP_MAXIMUM) |
| |
| # define YYCOPY_NEEDED 1 |
| |
| /* Relocate STACK from its old location to the new one. The |
| local variables YYSIZE and YYSTACKSIZE give the old and new number of |
| elements in the stack, and YYPTR gives the new location of the |
| stack. Advance YYPTR to a properly aligned location for the next |
| stack. */ |
| # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ |
| do \ |
| { \ |
| YYSIZE_T yynewbytes; \ |
| YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ |
| Stack = &yyptr->Stack_alloc; \ |
| yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ |
| yyptr += yynewbytes / sizeof (*yyptr); \ |
| } \ |
| while (0) |
| |
| #endif |
| |
| #if defined YYCOPY_NEEDED && YYCOPY_NEEDED |
| /* Copy COUNT objects from SRC to DST. The source and destination do |
| not overlap. */ |
| # ifndef YYCOPY |
| # if defined __GNUC__ && 1 < __GNUC__ |
| # define YYCOPY(Dst, Src, Count) \ |
| __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) |
| # else |
| # define YYCOPY(Dst, Src, Count) \ |
| do \ |
| { \ |
| YYSIZE_T yyi; \ |
| for (yyi = 0; yyi < (Count); yyi++) \ |
| (Dst)[yyi] = (Src)[yyi]; \ |
| } \ |
| while (0) |
| # endif |
| # endif |
| #endif /* !YYCOPY_NEEDED */ |
| |
| /* YYFINAL -- State number of the termination state. */ |
| #define YYFINAL 24 |
| /* YYLAST -- Last index in YYTABLE. */ |
| #define YYLAST 2120 |
| |
| /* YYNTOKENS -- Number of terminals. */ |
| #define YYNTOKENS 129 |
| /* YYNNTS -- Number of nonterminals. */ |
| #define YYNNTS 142 |
| /* YYNRULES -- Number of rules. */ |
| #define YYNRULES 404 |
| /* YYNSTATES -- Number of states. */ |
| #define YYNSTATES 757 |
| |
| /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned |
| by yylex, with out-of-bounds checking. */ |
| #define YYUNDEFTOK 2 |
| #define YYMAXUTOK 362 |
| |
| #define YYTRANSLATE(YYX) \ |
| ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
| |
| /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM |
| as returned by yylex, without out-of-bounds checking. */ |
| static const yytype_uint8 yytranslate[] = |
| { |
| 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 128, 2, 126, 2, 127, 2, 2, |
| 118, 115, 21, 120, 119, 123, 19, 125, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 18, 117, |
| 2, 124, 122, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 20, 2, 116, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 113, 22, 114, 121, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, |
| 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, |
| 15, 16, 17, 23, 24, 25, 26, 27, 28, 29, |
| 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, |
| 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, |
| 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, |
| 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, |
| 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, |
| 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, |
| 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, |
| 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, |
| 110, 111, 112 |
| }; |
| |
| #if YYDEBUG |
| /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ |
| static const yytype_uint16 yyrline[] = |
| { |
| 0, 360, 360, 361, 362, 363, 364, 365, 366, 367, |
| 370, 372, 374, 377, 388, 391, 400, 403, 403, 405, |
| 405, 407, 407, 407, 409, 409, 411, 411, 413, 413, |
| 415, 415, 418, 424, 425, 429, 429, 431, 433, 442, |
| 443, 444, 445, 446, 447, 448, 449, 450, 457, 461, |
| 462, 463, 467, 468, 479, 480, 491, 492, 493, 494, |
| 495, 496, 502, 502, 502, 502, 502, 502, 505, 512, |
| 518, 521, 524, 530, 534, 541, 542, 543, 544, 547, |
| 547, 549, 549, 551, 551, 553, 561, 573, 578, 586, |
| 589, 595, 598, 601, 607, 612, 619, 619, 622, 628, |
| 636, 644, 650, 656, 662, 665, 668, 675, 678, 686, |
| 689, 695, 702, 708, 708, 708, 708, 710, 713, 714, |
| 718, 719, 723, 724, 725, 729, 745, 763, 769, 774, |
| 774, 777, 778, 785, 788, 792, 800, 806, 819, 825, |
| 831, 843, 847, 854, 858, 865, 870, 876, 876, 879, |
| 879, 887, 890, 893, 896, 899, 902, 905, 908, 911, |
| 914, 917, 920, 923, 926, 929, 932, 938, 944, 947, |
| 951, 957, 963, 975, 976, 977, 983, 983, 985, 985, |
| 987, 990, 996, 998, 1001, 1007, 1010, 1018, 1028, 1034, |
| 1035, 1038, 1043, 1043, 1046, 1050, 1055, 1062, 1065, 1066, |
| 1067, 1076, 1085, 1092, 1096, 1097, 1101, 1104, 1111, 1116, |
| 1119, 1124, 1132, 1139, 1148, 1155, 1158, 1165, 1166, 1173, |
| 1180, 1187, 1198, 1199, 1200, 1204, 1214, 1219, 1226, 1231, |
| 1241, 1247, 1252, 1255, 1258, 1261, 1264, 1267, 1272, 1272, |
| 1275, 1280, 1283, 1286, 1295, 1298, 1303, 1307, 1310, 1318, |
| 1329, 1340, 1351, 1366, 1381, 1398, 1408, 1418, 1436, 1453, |
| 1454, 1455, 1456, 1457, 1458, 1462, 1466, 1470, 1476, 1483, |
| 1489, 1506, 1522, 1523, 1529, 1533, 1540, 1542, 1544, 1544, |
| 1549, 1553, 1560, 1563, 1566, 1576, 1588, 1591, 1591, 1593, |
| 1593, 1596, 1600, 1617, 1619, 1619, 1619, 1622, 1623, 1624, |
| 1625, 1627, 1628, 1629, 1630, 1631, 1632, 1634, 1635, 1636, |
| 1637, 1638, 1642, 1647, 1648, 1649, 1650, 1651, 1652, 1653, |
| 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, |
| 1664, 1665, 1666, 1667, 1674, 1675, 1676, 1677, 1678, 1679, |
| 1680, 1681, 1682, 1686, 1694, 1702, 1713, 1721, 1729, 1738, |
| 1743, 1748, 1753, 1759, 1767, 1767, 1770, 1771, 1772, 1781, |
| 1784, 1787, 1790, 1795, 1795, 1798, 1813, 1813, 1816, 1820, |
| 1836, 1850, 1854, 1855, 1872, 1880, 1888, 1888, 1891, 1899, |
| 1908, 1908, 1910, 1910, 1912, 1914, 1916, 1918, 1921, 1921, |
| 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1921, 1926, 1930, |
| 1932, 1934, 1935, 1936, 1937 |
| }; |
| #endif |
| |
| #if YYDEBUG || YYERROR_VERBOSE || 0 |
| /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. |
| First, the terminals, then, starting at YYNTOKENS, nonterminals. */ |
| static const char *const yytname[] = |
| { |
| "TOKEN_EOF", "error", "$undefined", "LOWEST_PREC", "UNIMPORTANT_TOK", |
| "WHITESPACE", "SGML_CD", "INCLUDES", "DASHMATCH", "BEGINSWITH", |
| "ENDSWITH", "CONTAINS", "STRING", "IDENT", "NTH", |
| "NTHCHILDSELECTORSEPARATOR", "HEX", "IDSEL", "':'", "'.'", "'['", "'*'", |
| "'|'", "IMPORT_SYM", "PAGE_SYM", "MEDIA_SYM", "FONT_FACE_SYM", |
| "CHARSET_SYM", "KEYFRAME_RULE_SYM", "KEYFRAMES_SYM", "NAMESPACE_SYM", |
| "WEBKIT_RULE_SYM", "WEBKIT_DECLS_SYM", "WEBKIT_VALUE_SYM", |
| "WEBKIT_MEDIAQUERY_SYM", "WEBKIT_SIZESATTR_SYM", "WEBKIT_SELECTOR_SYM", |
| "WEBKIT_REGION_RULE_SYM", "WEBKIT_VIEWPORT_RULE_SYM", |
| "TOPLEFTCORNER_SYM", "TOPLEFT_SYM", "TOPCENTER_SYM", "TOPRIGHT_SYM", |
| "TOPRIGHTCORNER_SYM", "BOTTOMLEFTCORNER_SYM", "BOTTOMLEFT_SYM", |
| "BOTTOMCENTER_SYM", "BOTTOMRIGHT_SYM", "BOTTOMRIGHTCORNER_SYM", |
| "LEFTTOP_SYM", "LEFTMIDDLE_SYM", "LEFTBOTTOM_SYM", "RIGHTTOP_SYM", |
| "RIGHTMIDDLE_SYM", "RIGHTBOTTOM_SYM", "ATKEYWORD", "IMPORTANT_SYM", |
| "MEDIA_ONLY", "MEDIA_NOT", "MEDIA_AND", "REMS", "CHS", "QEMS", "EMS", |
| "EXS", "PXS", "CMS", "MMS", "INS", "PTS", "PCS", "DEGS", "RADS", "GRADS", |
| "TURNS", "MSECS", "SECS", "HERTZ", "KHERTZ", "DIMEN", "INVALIDDIMEN", |
| "PERCENTAGE", "FLOATTOKEN", "INTEGER", "VW", "VH", "VMIN", "VMAX", |
| "DPPX", "DPI", "DPCM", "FR", "URI", "FUNCTION", "ANYFUNCTION", |
| "NOTFUNCTION", "CALCFUNCTION", "MATCHESFUNCTION", "MAXFUNCTION", |
| "MINFUNCTION", "NTHCHILDFUNCTIONS", "LANGFUNCTION", "VARFUNCTION", |
| "CUSTOM_PROPERTY", "UNICODERANGE", "SUPPORTS_AND", "SUPPORTS_NOT", |
| "SUPPORTS_OR", "SUPPORTS_SYM", "WEBKIT_SUPPORTS_CONDITION_SYM", |
| "CUEFUNCTION", "SLOTTEDFUNCTION", "HOSTFUNCTION", "'{'", "'}'", "')'", |
| "']'", "';'", "'('", "','", "'+'", "'~'", "'>'", "'-'", "'='", "'/'", |
| "'#'", "'%'", "'!'", "$accept", "stylesheet", "webkit_rule", |
| "webkit_keyframe_rule", "webkit_decls", "webkit_value", |
| "webkit_mediaquery", "webkit_selector", "webkit_supports_condition", |
| "space", "maybe_space", "maybe_sgml", "maybe_charset", "closing_brace", |
| "closing_parenthesis", "closing_bracket", "charset", "ignored_charset", |
| "rule_list", "valid_rule", "rule", "block_rule_list", |
| "block_valid_rule_list", "block_valid_rule", "block_rule", |
| "at_import_header_end_maybe_space", "before_import_rule", "import", |
| "namespace", "maybe_ns_prefix", "string_or_uri", "maybe_media_value", |
| "base_media_query_expression", "media_query_expression", |
| "media_query_expression_list", "maybe_and_media_query_expression_list", |
| "maybe_media_restrictor", "media_query", "maybe_media_list", |
| "media_list", "at_rule_body_start", "before_media_rule", |
| "at_rule_header_end_maybe_space", "media", "supports", "supports_error", |
| "before_supports_rule", "at_supports_rule_header_end", |
| "supports_condition", "supports_negation", "supports_conjunction", |
| "supports_disjunction", "supports_condition_in_parens", |
| "supports_declaration_condition", "before_keyframes_rule", "keyframes", |
| "keyframe_name", "keyframes_rule", "keyframe_rule", "key_list", "key", |
| "before_page_rule", "page", "page_selector", "declarations_and_margins", |
| "margin_box", "$@1", "margin_sym", "before_font_face_rule", "font_face", |
| "before_region_rule", "region", "combinator", "maybe_unary_operator", |
| "unary_operator", "maybe_space_before_declaration", |
| "before_selector_list", "at_rule_header_end", "at_selector_end", |
| "ruleset", "before_selector_group_item", "selector_list", |
| "before_nested_selector_list", "after_nested_selector_list", |
| "nested_selector_list", "lang_range", "comma_separated_lang_ranges", |
| "complex_selector_with_trailing_whitespace", "complex_selector", |
| "namespace_selector", "compound_selector", "simple_selector_list", |
| "element_name", "specifier_list", "specifier", "class", "attrib", |
| "attrib_flags", "match", "ident_or_string", "pseudo_page", |
| "nth_selector_ending", "pseudo", "declaration_list", "decl_list", |
| "decl_list_recovery", "declaration", "declaration_recovery", "property", |
| "priority", "ident_list", "track_names_list", "whitespace_or_expr", |
| "maybe_expr", "expr", "valid_expr", "expr_recovery", "operator", "term", |
| "unary_term", "function", "variable_function", "invalid_var_fallback", |
| "calc_func_term", "calc_func_operator", "calc_maybe_space", |
| "calc_func_paren_expr", "calc_func_expr", "valid_calc_func_expr", |
| "calc_func_expr_list", "calc_function", "min_or_max", |
| "min_or_max_function", "save_block", "invalid_at", "invalid_rule", |
| "invalid_block", "invalid_square_brackets_block", |
| "invalid_parentheses_block", "opening_parenthesis", "error_location", |
| "error_recovery", YY_NULLPTR |
| }; |
| #endif |
| |
| # ifdef YYPRINT |
| /* YYTOKNUM[NUM] -- (External) token number corresponding to the |
| (internal) symbol number NUM (which must be that of a token). */ |
| static const yytype_uint16 yytoknum[] = |
| { |
| 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, |
| 265, 266, 267, 268, 269, 270, 271, 272, 58, 46, |
| 91, 42, 124, 273, 274, 275, 276, 277, 278, 279, |
| 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, |
| 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, |
| 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, |
| 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, |
| 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, |
| 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, |
| 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, |
| 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, |
| 360, 361, 362, 123, 125, 41, 93, 59, 40, 44, |
| 43, 126, 62, 45, 61, 47, 35, 37, 33 |
| }; |
| # endif |
| |
| #define YYPACT_NINF -553 |
| |
| #define yypact_value_is_default(Yystate) \ |
| (!!((Yystate) == (-553))) |
| |
| #define YYTABLE_NINF -367 |
| |
| #define yytable_value_is_error(Yytable_value) \ |
| (!!((Yytable_value) == (-367))) |
| |
| /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
| STATE-NUM. */ |
| static const yytype_int16 yypact[] = |
| { |
| 883, -15, -7, 1, 35, 134, 184, 297, 307, -553, |
| -553, -553, -553, -553, -553, -553, 62, -553, -553, -553, |
| -553, -553, -553, -553, -553, 313, 313, 313, 313, 313, |
| 313, 313, -553, 730, -553, -553, 274, 1315, 313, 550, |
| 1223, 632, 1155, 261, 363, 469, 335, -553, -553, -553, |
| -553, -553, -553, -553, 295, -553, 67, -553, 385, -553, |
| -553, 413, -553, -553, 269, 418, -553, 368, -553, 464, |
| -553, 467, -553, 1313, -553, -553, -553, -553, -553, 411, |
| 1702, 409, 436, 478, -553, -553, -553, -553, -553, -553, |
| -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, |
| -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, |
| -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, |
| -553, -553, -553, -553, -553, -553, -553, -553, 1997, -553, |
| 447, 808, -553, -553, -553, -553, -553, -553, -553, -553, |
| -553, -553, 87, -553, 448, 546, -553, -553, 1436, 580, |
| -553, 585, -553, 93, 1313, 445, 926, -553, 826, 435, |
| -553, -553, -553, -553, -553, 428, 500, -553, 517, 533, |
| 602, -553, -553, -553, -553, -553, -553, -553, 1905, 57, |
| 324, -553, 403, 70, 369, 701, -553, 252, -553, 805, |
| 314, -553, 101, -553, 313, 655, 645, -553, 524, 534, |
| -553, -553, -553, -553, -553, 313, 313, 313, 523, 313, |
| 313, 936, 513, 1032, 313, 313, 313, -553, -553, 313, |
| -553, -553, -553, -553, -553, 1584, 313, 313, 313, 313, |
| 513, 313, 88, 140, -553, -553, -553, 506, -553, -553, |
| -553, -553, -553, -553, -553, -553, 516, -553, -553, -553, |
| 542, -553, -553, -553, -553, -553, -553, 1313, -553, -553, |
| 826, 608, 952, -553, -553, 162, 551, 502, -553, -553, |
| -553, -553, -553, 1068, 367, 572, -553, 692, -553, -553, |
| -553, -553, -553, -553, -553, -553, -553, -553, -553, 69, |
| -553, 545, 313, 69, 683, 588, 637, 261, -553, 720, |
| 718, 86, 750, 313, 604, 1155, 542, 1390, -553, 721, |
| -553, -553, 313, 313, -553, 1128, -553, -553, -553, -553, |
| 333, 116, -553, -553, -553, 144, 144, -553, 2029, 144, |
| -553, -553, -553, -553, 729, 96, -553, 144, 144, 313, |
| 313, -553, 313, 313, -553, 144, 729, 112, -553, -553, |
| -553, -553, -553, -553, -553, 407, 1155, 313, 313, 498, |
| 739, 1155, 546, 585, 724, -553, 313, 313, 313, -553, |
| 962, -553, -553, -553, 634, 761, 162, 162, 162, 162, |
| -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, |
| -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, |
| -553, -553, 383, 792, 335, 642, 274, 313, -553, -553, |
| -553, -553, -553, -553, -553, 148, -553, -553, -553, -553, |
| -553, -553, -553, -553, -553, -553, 776, 744, -553, -553, |
| -553, -553, -553, 181, 689, 1584, 1223, 749, 313, 313, |
| 1425, -553, 749, 313, -553, -553, -553, -553, -553, 1298, |
| -553, -553, 110, 125, 1933, 198, -553, 158, -553, -553, |
| 1524, -553, 340, -553, -553, 632, 98, 100, 313, 1155, |
| 1155, -553, -553, 732, -553, 290, 1313, -553, -553, 55, |
| 55, 734, -553, -553, -553, 303, -553, 373, -553, 313, |
| 647, -553, -553, -553, -553, -553, -553, 1460, 1493, -553, |
| -553, -553, -553, 132, -553, 351, 681, -553, -553, 694, |
| -553, 716, 717, -553, -553, 723, -553, 752, -553, -553, |
| -553, -553, -553, -553, 629, 313, 729, -553, 832, 832, |
| -553, -553, -553, -553, -553, 144, -553, 1298, -553, -553, |
| -553, -553, -553, 290, -553, 232, 301, -553, -553, 220, |
| 311, 352, 386, -553, -553, 284, -553, -553, 55, -553, |
| 347, 426, -553, -553, -553, -553, -553, -553, -553, -553, |
| 393, 1313, 721, 313, 1223, -553, -553, 381, -553, -553, |
| -553, 61, 49, 632, -553, 313, -553, -553, -553, 644, |
| -553, -553, 313, -553, 198, 861, 861, 313, 313, 699, |
| -553, 729, 164, 632, 698, 354, 437, -553, -553, 455, |
| -553, -553, -553, -553, -553, 832, -553, -553, -553, -553, |
| -553, 799, -553, -553, 719, 749, 749, -553, -553, -553, |
| -553, -553, -553, 1835, -553, -553, -553, 132, -553, 644, |
| -553, -553, -553, -553, 144, 144, -553, 340, 87, -553, |
| 773, -553, -553, -553, 1155, 861, 739, -553, -553, -553, |
| 799, 787, 788, 313, 250, -553, -553, -553, -553, -553, |
| -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, |
| 313, 313, 1778, -553, 313, 132, -553, -553, 296, 1223, |
| -553, -553, -553, -553, 419, -553, -553, -553, 1835, -553, |
| 335, 1835, 325, 1222, -553, 1878, -553, -553, -553, 477, |
| -553, 797, 419, 313, 313, -553, -553, -553, -553, -553, |
| -553, -553, -553, -553, -553, -553, -553, -553, -553, -553, |
| -553, -553, -553, -553, -553, -553, -553, -553, 132, -553, |
| -553, 313, -553, 313, -553, 810, 313, 1684, -553, 335, |
| -553, -553, 380, -553, 642, 132, -553 |
| }; |
| |
| /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. |
| Performed when YYTABLE does not specify something else to do. Zero |
| means the default is an error. */ |
| static const yytype_uint16 yydefact[] = |
| { |
| 19, 0, 0, 0, 0, 0, 0, 0, 0, 19, |
| 19, 19, 19, 19, 19, 19, 24, 19, 19, 19, |
| 19, 19, 19, 19, 1, 3, 8, 4, 5, 6, |
| 7, 9, 20, 0, 21, 25, 0, 181, 180, 0, |
| 0, 91, 0, 0, 0, 0, 37, 138, 137, 179, |
| 178, 19, 19, 134, 0, 176, 0, 19, 0, 45, |
| 44, 0, 40, 47, 0, 0, 43, 0, 41, 0, |
| 42, 0, 46, 0, 39, 399, 19, 19, 19, 0, |
| 0, 263, 260, 0, 19, 19, 19, 19, 333, 334, |
| 331, 330, 332, 316, 317, 318, 319, 320, 321, 322, |
| 323, 324, 325, 326, 327, 328, 329, 19, 315, 314, |
| 313, 335, 336, 337, 338, 339, 340, 341, 342, 19, |
| 19, 19, 377, 376, 19, 19, 19, 19, 0, 19, |
| 0, 0, 291, 19, 19, 19, 19, 19, 19, 92, |
| 93, 87, 94, 19, 0, 215, 221, 220, 0, 0, |
| 19, 216, 203, 0, 199, 0, 0, 198, 206, 0, |
| 217, 222, 223, 224, 19, 0, 0, 114, 115, 116, |
| 113, 123, 400, 34, 33, 19, 23, 22, 0, 0, |
| 0, 136, 0, 79, 0, 0, 19, 0, 19, 0, |
| 0, 19, 0, 400, 277, 0, 0, 12, 264, 261, |
| 19, 19, 399, 19, 272, 299, 300, 305, 0, 301, |
| 303, 0, 0, 0, 304, 306, 311, 19, 19, 312, |
| 13, 399, 19, 19, 290, 0, 297, 307, 309, 308, |
| 0, 310, 0, 0, 14, 205, 244, 0, 19, 19, |
| 19, 19, 19, 19, 19, 225, 0, 204, 188, 15, |
| 0, 200, 202, 197, 19, 19, 19, 0, 215, 216, |
| 209, 0, 0, 219, 218, 0, 0, 0, 16, 19, |
| 19, 19, 19, 0, 0, 0, 19, 0, 49, 48, |
| 21, 51, 50, 11, 19, 19, 78, 77, 19, 0, |
| 10, 0, 68, 0, 91, 0, 0, 0, 108, 0, |
| 0, 146, 0, 103, 0, 0, 182, 0, 274, 19, |
| 19, 19, 266, 265, 400, 0, 31, 19, 30, 282, |
| 0, 0, 29, 28, 344, 0, 0, 19, 0, 0, |
| 356, 358, 368, 371, 363, 0, 19, 0, 0, 302, |
| 298, 400, 295, 294, 292, 0, 363, 0, 19, 19, |
| 19, 19, 245, 19, 19, 177, 0, 189, 189, 177, |
| 0, 0, 19, 0, 0, 19, 173, 174, 175, 201, |
| 0, 117, 124, 19, 0, 0, 0, 0, 0, 0, |
| 27, 401, 400, 389, 395, 396, 391, 392, 393, 394, |
| 397, 390, 398, 26, 388, 385, 402, 403, 404, 400, |
| 32, 384, 0, 0, 38, 0, 0, 80, 81, 82, |
| 19, 73, 74, 19, 98, 0, 101, 106, 109, 110, |
| 112, 130, 129, 19, 142, 141, 143, 0, 19, 145, |
| 170, 169, 101, 0, 0, 287, 0, 279, 268, 267, |
| 0, 275, 279, 280, 19, 283, 284, 343, 345, 0, |
| 357, 375, 364, 0, 0, 0, 367, 0, 352, 353, |
| 293, 379, 372, 19, 378, 91, 89, 0, 86, 0, |
| 0, 19, 19, 0, 212, 0, 0, 19, 19, 0, |
| 0, 0, 193, 192, 194, 0, 19, 0, 19, 185, |
| 0, 19, 19, 119, 121, 118, 120, 0, 0, 19, |
| 36, 383, 382, 0, 135, 0, 96, 100, 19, 0, |
| 19, 0, 0, 144, 240, 0, 19, 0, 101, 285, |
| 288, 286, 19, 270, 0, 281, 363, 18, 0, 0, |
| 369, 370, 19, 19, 374, 19, 346, 0, 88, 19, |
| 19, 95, 19, 0, 19, 0, 0, 19, 214, 0, |
| 0, 0, 0, 17, 241, 0, 254, 252, 0, 196, |
| 0, 0, 233, 234, 235, 236, 237, 226, 232, 19, |
| 0, 0, 19, 122, 0, 386, 387, 0, 133, 75, |
| 76, 0, 0, 91, 101, 52, 101, 101, 101, 0, |
| 101, 19, 278, 273, 0, 359, 360, 361, 362, 0, |
| 349, 363, 0, 91, 83, 0, 0, 257, 255, 0, |
| 249, 19, 191, 258, 250, 0, 242, 253, 251, 19, |
| 248, 0, 228, 19, 0, 279, 279, 35, 71, 70, |
| 72, 99, 19, 0, 19, 19, 19, 0, 19, 0, |
| 365, 355, 354, 348, 0, 0, 19, 373, 90, 19, |
| 0, 246, 247, 256, 0, 189, 0, 239, 238, 19, |
| 0, 0, 0, 52, 0, 380, 62, 21, 66, 65, |
| 59, 61, 60, 57, 58, 67, 56, 105, 64, 63, |
| 52, 131, 0, 168, 54, 0, 351, 347, 0, 0, |
| 85, 213, 19, 195, 231, 19, 19, 19, 0, 381, |
| 53, 0, 0, 0, 147, 0, 184, 350, 19, 0, |
| 19, 0, 231, 126, 125, 104, 107, 128, 19, 151, |
| 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, |
| 162, 163, 164, 165, 166, 140, 19, 149, 0, 21, |
| 172, 84, 243, 230, 227, 0, 132, 0, 19, 55, |
| 229, 148, 0, 19, 0, 0, 150 |
| }; |
| |
| /* YYPGOTO[NTERM-NUM]. */ |
| static const yytype_int16 yypgoto[] = |
| { |
| -553, -553, -553, -553, -553, -553, -553, -553, -553, -406, |
| 0, -278, -553, -268, -301, -273, -553, -553, -553, 743, |
| -553, -552, -553, 203, -553, -553, -553, -5, 2, -553, |
| 636, -553, -553, 465, 329, -553, -411, -38, -553, 432, |
| -256, -553, -160, 3, 5, -553, -553, -553, -202, -553, |
| -553, -553, 80, -553, -553, 6, -553, -553, 238, -553, |
| 544, -553, 16, -553, -553, -553, -553, -553, -553, 18, |
| -553, 26, -553, 565, -35, -481, -553, -325, 759, 27, |
| -553, -69, -553, -553, -350, 298, -553, -553, 384, 712, |
| -148, 490, 804, 454, -121, -553, -553, 249, 392, 304, |
| 539, -398, -553, -379, -553, 886, 893, -164, 707, -397, |
| -553, -553, 404, -553, -184, -553, -142, -553, 758, -112, |
| -553, -171, -553, 521, -553, -327, 530, -223, -553, -553, |
| -553, -553, -553, -14, 807, 809, -10, -553, -553, -553, |
| 292, -135 |
| }; |
| |
| /* YYDEFGOTO[NTERM-NUM]. */ |
| static const yytype_int16 yydefgoto[] = |
| { |
| -1, 8, 9, 10, 11, 12, 13, 14, 15, 453, |
| 38, 46, 34, 665, 324, 319, 35, 278, 178, 57, |
| 280, 633, 705, 666, 667, 293, 58, 668, 669, 289, |
| 410, 650, 351, 141, 142, 541, 143, 414, 581, 415, |
| 510, 61, 295, 670, 671, 298, 64, 511, 166, 167, |
| 168, 169, 170, 171, 65, 672, 423, 702, 51, 52, |
| 53, 67, 673, 428, 703, 736, 748, 737, 69, 674, |
| 71, 675, 257, 54, 128, 39, 73, 434, 250, 676, |
| 571, 153, 476, 612, 477, 484, 485, 154, 155, 156, |
| 157, 475, 158, 159, 160, 161, 162, 711, 569, 659, |
| 429, 556, 163, 79, 80, 81, 82, 204, 83, 523, |
| 320, 129, 437, 519, 130, 131, 224, 225, 132, 133, |
| 134, 135, 646, 332, 454, 455, 333, 334, 335, 347, |
| 136, 137, 138, 677, 678, 679, 396, 397, 398, 399, |
| 193, 273 |
| }; |
| |
| /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If |
| positive, shift that token. If negative, reduce the rule whose |
| number is the opposite. If YYTABLE_NINF, syntax error. */ |
| static const yytype_int16 yytable[] = |
| { |
| 16, 55, 404, 144, 192, 395, 251, 346, 478, 25, |
| 26, 27, 28, 29, 30, 31, 218, 36, 37, 462, |
| 40, 41, 42, 43, 447, 448, 503, 325, 451, 337, |
| 304, 308, 59, 45, 174, 589, 458, 459, 264, 60, |
| 62, 331, 63, 66, 461, 524, 464, 445, 446, -97, |
| 507, 179, 180, 68, 539, 70, 183, 184, 307, 331, |
| 553, 628, 32, 72, 74, 374, 321, 32, 182, 326, |
| 329, 338, -19, 555, 555, 32, 194, 195, 196, -19, |
| -19, 408, 557, 288, 205, 206, 207, 208, 345, 33, |
| 509, 32, -19, 32, 248, 420, -366, 221, 17, 426, |
| 330, -366, 248, 32, 427, 32, 18, 209, 517, 369, |
| 639, 698, 322, 542, 19, -17, 316, -366, 330, 210, |
| 211, 212, 595, 596, 213, 214, 215, 216, 701, 219, |
| 527, 442, 380, 226, 227, 228, 229, 230, 231, 21, |
| 264, 264, 232, 233, 322, 32, -19, 348, 20, 507, |
| 246, 441, 555, 349, 534, 682, 536, 540, 322, -19, |
| 617, 409, -97, 32, 265, 267, -97, 32, 508, 32, |
| 554, 283, 287, 59, 172, 274, 516, 328, 629, 440, |
| 60, 62, 248, 63, 66, 292, 294, 297, 299, 301, |
| 303, 305, 539, 456, 68, 328, 70, 576, 322, 594, |
| 312, 313, 644, 315, 72, 74, 460, 249, 474, 655, |
| 637, -366, -183, 486, -183, -366, 450, 339, 340, 532, |
| -183, -366, 342, 343, 575, 32, 526, 323, 661, 662, |
| -17, 463, 318, -17, 600, 578, 433, 32, 355, 356, |
| 357, 358, 359, 360, 361, 528, 393, 497, 529, 264, |
| 380, 520, 521, 296, 366, 367, 368, -19, 350, 323, |
| 685, -182, 591, 512, 498, 401, 32, 508, 515, 376, |
| 377, 378, 379, 323, 647, 47, 402, 535, 331, 32, |
| 165, 412, 350, 331, 405, 406, 419, 48, 407, 527, |
| 425, 548, 431, 640, -182, -19, 322, 22, 643, 615, |
| -183, 32, 23, 704, 559, 692, 32, 24, -19, 436, |
| 438, 439, 248, 323, 601, 302, -190, 443, 32, -19, |
| 55, 474, 544, 533, 55, 380, 47, 449, 632, 32, |
| 634, 635, 636, 316, 638, 610, 457, 330, 48, 611, |
| 176, 177, 330, 686, 687, 371, 444, 607, 465, 466, |
| 467, 468, 32, 469, 470, -177, 32, 32, -19, 32, |
| 593, 532, 487, 172, 393, 489, 331, 164, 751, 683, |
| -19, 55, 32, 490, 32, 755, 181, 187, 32, 165, |
| 562, 563, 564, 565, 566, 32, 32, 707, 32, 700, |
| 626, 32, 189, 502, 49, 499, 699, 50, 32, 616, |
| 562, 563, 564, 565, 566, -19, -177, 550, 185, -19, |
| 505, 323, 32, 506, 328, 645, 608, 706, -19, 328, |
| 471, 472, -19, 303, 32, 330, -190, -19, 303, 266, |
| -183, 32, 710, -19, 717, 735, 263, 284, 186, 393, |
| -208, -19, 32, 285, 525, 49, 252, 188, 50, 318, |
| 253, 146, 147, 148, 149, 150, 493, 494, 495, 496, |
| 32, 749, 618, 537, 172, 533, 619, 613, 579, 651, |
| 699, 545, 546, 611, 32, 549, 172, 551, 552, 202, |
| 173, 175, 32, 290, 400, 560, 561, 756, 570, 567, |
| 190, 573, 574, 753, 314, 580, 203, 568, 627, 577, |
| 500, 614, 328, 32, 191, 708, 691, 32, 583, 622, |
| 585, 479, 480, 341, 221, 76, 172, 568, 32, 352, |
| 286, 32, 592, 316, 221, 197, 200, 49, 32, 362, |
| 50, -19, 597, 598, -19, 599, 317, 363, 152, 602, |
| 603, 620, 604, 605, 606, 631, -19, 609, -208, -208, |
| -208, 75, 652, 201, -208, -208, -208, -208, -186, -186, |
| -186, 220, 234, 76, -186, 254, 255, 256, 235, 621, |
| 653, 630, 436, 88, 89, 90, 91, 92, 93, 94, |
| 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
| 105, 106, 742, 245, 108, 109, 110, 111, 112, 113, |
| 114, 115, 116, 117, 118, 373, 77, 247, 164, 263, |
| 261, 654, 262, -211, 268, 124, 353, 354, 49, 656, |
| 165, 50, 269, 660, 146, 147, 148, 149, 150, -271, |
| 202, 327, 663, 49, 680, 681, 50, 32, 684, 318, |
| 270, 310, -259, 75, -259, 75, 688, 32, 232, 689, |
| 32, 311, 32, 78, 401, 76, 202, 76, 172, 694, |
| 32, 365, 411, 309, -259, 572, 372, 55, -271, -271, |
| -271, -271, -271, -271, -271, -271, -271, -271, -271, -271, |
| -271, -271, -271, -271, 715, 172, 32, 716, 32, 139, |
| 140, 740, 709, 403, -91, 712, 713, 714, 77, 322, |
| 77, 416, 291, 32, 32, 417, -19, 271, 741, 272, |
| 743, 84, 85, -19, 370, 86, 649, 432, 746, 87, |
| 252, -211, -211, -211, 253, 32, 435, -211, -211, -211, |
| -211, 44, 421, 422, 452, -19, 747, 488, 139, 140, |
| 139, 140, -19, -271, 32, 78, -271, 78, 752, 491, |
| 172, 482, 483, 754, 418, 522, -259, 514, -259, 88, |
| 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, |
| 99, 100, 101, 102, 103, 104, 105, 106, 107, 492, |
| 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, |
| 118, 119, 120, -19, 427, 121, -103, 122, 123, -91, |
| -103, 124, 518, 125, 32, 522, 300, 584, -289, 221, |
| -19, 657, 658, -289, 323, 547, 641, 558, -19, 49, |
| -296, -296, 50, -19, -296, 126, 127, 642, -296, 586, |
| 587, 172, -187, -187, -187, 424, 588, 553, -187, 254, |
| 255, 256, 146, 147, 148, 149, 150, -289, -289, -289, |
| -289, -289, -289, -289, -289, -289, -289, -289, -289, -289, |
| -289, -289, -289, 172, -289, 590, 527, 430, -296, -296, |
| -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, |
| -296, -296, -296, -296, -296, -296, -296, -296, 690, -296, |
| -296, -296, -296, -296, -296, -296, -296, -296, -296, -296, |
| -296, -296, 696, 697, -296, 172, -296, -296, 739, 501, |
| -296, 1, -296, 744, 2, 3, 4, 5, -19, 6, |
| 473, 279, -289, -289, 481, -289, 750, 222, -296, 413, |
| 538, -296, 648, 223, -296, -296, 322, 221, 582, 258, |
| 718, 32, 146, 147, 148, 149, 150, 259, 84, 85, |
| 504, 306, 86, 263, 693, 624, 87, -207, 364, 543, |
| 260, 745, 623, 263, 695, 513, 198, -210, 146, 147, |
| 148, 149, 150, 199, 375, 530, 625, 0, 146, 147, |
| 148, 149, 150, 344, 531, 281, 0, 282, 0, 0, |
| 0, 0, 7, 0, 0, 0, 88, 89, 90, 91, |
| 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, |
| 102, 103, 104, 105, 106, 107, 0, 108, 109, 110, |
| 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, |
| 0, 0, 121, 221, 122, 123, 0, 32, 124, 0, |
| 125, 0, 0, 0, 84, 85, 0, 0, 86, 0, |
| 0, 323, 87, 0, 0, 0, 49, 0, 0, 50, |
| 0, 0, 126, 127, 0, -207, -207, -207, 380, 381, |
| 0, -207, -207, -207, -207, -210, -210, -210, 0, 0, |
| 0, -210, -210, -210, -210, 0, 0, 0, 382, 0, |
| 0, 0, 88, 89, 90, 91, 92, 93, 94, 95, |
| 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, |
| 106, 107, 0, 108, 109, 110, 111, 112, 113, 114, |
| 115, 116, 117, 118, 119, 120, 0, 0, 121, 202, |
| 122, 123, 0, 32, 124, 336, 125, 0, 0, 0, |
| 84, 85, 0, 0, 86, 0, 0, 0, 87, 0, |
| 0, 0, 49, 0, 0, 50, 0, 0, 126, 127, |
| 32, 383, 384, 385, 386, 387, 388, 389, 145, 390, |
| 391, 146, 147, 148, 149, 150, 151, 152, 392, 0, |
| 0, 172, 393, 0, 0, 0, 394, 0, 88, 89, |
| 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, |
| 100, 101, 102, 103, 104, 105, 106, 107, 0, 108, |
| 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, |
| 119, 120, 380, 0, 121, 0, 122, 123, 32, 0, |
| 124, 0, 125, 0, 0, 84, 85, 0, 0, 86, |
| 0, 0, 0, 87, 0, 0, 0, 0, 49, 0, |
| 0, 50, 0, 0, 126, 127, 0, 0, 0, 0, |
| 0, 719, 720, 721, 722, 723, 724, 725, 726, 727, |
| 728, 729, 730, 731, 732, 733, 734, 0, 0, 0, |
| 0, 0, 0, 88, 89, 90, 91, 92, 93, 94, |
| 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
| 105, 106, 107, 32, 108, 109, 110, 111, 112, 113, |
| 114, 115, 116, 117, 118, 119, 120, 0, 0, 121, |
| 32, 122, 123, 0, 0, 124, 145, 125, 0, 146, |
| 147, 148, 149, 150, 151, 152, 393, 0, -69, -139, |
| -102, -167, 0, 49, -127, 56, 50, 0, 0, 126, |
| 127, 0, -171, 0, 0, 0, 0, 0, 88, 89, |
| 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, |
| 100, 101, 102, 103, 104, 105, 106, 0, 0, 108, |
| 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, |
| -269, 381, 0, 0, 0, 0, 0, 0, 0, 0, |
| 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 382, 0, 0, 0, 0, 0, 327, 0, 49, 0, |
| 0, 50, 0, -111, 0, -276, 381, 0, 0, -269, |
| -269, -269, -269, -269, -269, -269, -269, -269, -269, -269, |
| -269, -269, -269, -269, -269, 382, 0, 0, 0, 236, |
| 0, 0, 0, 0, 237, 0, 0, 0, 0, 0, |
| 316, 381, 0, 0, -276, -276, -276, -276, -276, -276, |
| -276, -276, -276, -276, -276, -276, -276, -276, -276, -276, |
| 382, 0, 0, 383, 384, 385, 386, 387, 388, 389, |
| 0, 390, 391, 322, 381, 0, 0, 0, 0, 0, |
| 392, 0, 0, 172, -269, 0, 0, -269, 394, 0, |
| 0, 0, 0, 382, 0, 0, 0, 0, 383, 384, |
| 385, 386, 387, 388, 389, -367, 390, 391, 0, 238, |
| 239, 240, 0, 241, 0, 392, 242, 243, 172, -276, |
| 0, 0, -276, 394, 382, 0, 0, 0, 244, 0, |
| 0, 0, 0, 383, 384, 385, 386, 387, 388, 389, |
| 0, 390, 391, 0, 0, 0, 0, 0, 0, 0, |
| 392, 0, 0, 172, 0, 0, 318, 0, 394, 0, |
| 0, 0, 0, 0, 0, 0, 383, 384, 385, 386, |
| 387, 388, 389, 0, 390, 391, 84, 85, 0, 0, |
| 86, 0, 0, 392, 87, 0, 172, 0, 323, 0, |
| 0, 394, 0, 0, 0, 0, 0, 383, 384, 385, |
| 386, 387, 388, 389, 0, 390, 391, 0, 0, 0, |
| 0, 0, 0, 0, 392, 0, 0, 172, 0, 0, |
| 0, 0, 394, 0, 88, 89, 90, 91, 92, 93, |
| 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, |
| 104, 105, 106, 107, 0, 108, 109, 110, 111, 112, |
| 113, 114, 115, 116, 117, 118, 119, 120, 0, 0, |
| 121, 0, 122, 123, -259, 75, 124, 0, 125, 32, |
| 0, 0, 0, 0, 0, 0, 0, 76, 0, 0, |
| 0, 0, -262, 75, 49, 0, 0, 50, 0, 0, |
| 126, 127, 0, 0, 0, 76, 0, 0, 0, 0, |
| 0, 0, 0, -259, -259, -259, -259, -259, -259, -259, |
| -259, -259, -259, -259, -259, -259, -259, -259, -259, 0, |
| 77, -262, -262, -262, -262, -262, -262, -262, -262, -262, |
| -262, -262, -262, -262, -262, -262, -262, 0, 77, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, -259, 75, |
| 0, 0, 0, 0, 0, 0, 0, 78, 0, 0, |
| 0, 76, 0, 0, 0, 0, 0, 0, -259, 0, |
| 0, 0, 0, 0, 0, 78, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, -262, -259, -259, -259, |
| -259, -259, -259, -259, -259, -259, -259, -259, -259, -259, |
| -259, -259, -259, 0, 77, 380, 664, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, |
| 0, -181, -181, -181, -181, -181, -181, -181, -69, -139, |
| -102, -167, 0, 0, -127, 56, 0, 0, 0, 0, |
| 0, 0, -171, 0, 0, 0, 0, 0, 380, 738, |
| 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, |
| 277, -181, -259, 0, -181, -181, -181, -181, -181, -181, |
| -181, 0, -139, -102, -167, -2, 275, -127, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, -181, 0, |
| 0, -181, -181, -181, -181, -181, -181, -181, -69, -139, |
| -102, -167, 276, 0, -127, 56, 0, 0, 0, 0, |
| 0, 0, -171, -111, 0, 0, 0, 0, 0, 393, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, -111, 0, 0, 0, |
| 0, 0, 393, 88, 89, 90, 91, 92, 93, 94, |
| 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
| 105, 106, 0, -111, 108, 109, 110, 111, 112, 113, |
| 114, 115, 116, 117, 118, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 327, 0, 49, 0, 0, 50, 88, 89, 90, |
| 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, |
| 101, 102, 103, 104, 105, 106, 217, 0, 108, 109, |
| 110, 111, 112, 113, 114, 115, 116, 117, 118, 88, |
| 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, |
| 99, 100, 101, 102, 103, 104, 105, 106, 0, 0, |
| 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, |
| 118 |
| }; |
| |
| static const yytype_int16 yycheck[] = |
| { |
| 0, 36, 280, 41, 73, 273, 154, 230, 358, 9, |
| 10, 11, 12, 13, 14, 15, 128, 17, 18, 346, |
| 20, 21, 22, 23, 325, 326, 405, 211, 329, 213, |
| 190, 195, 37, 33, 44, 516, 337, 338, 159, 37, |
| 37, 212, 37, 37, 345, 442, 347, 320, 321, 0, |
| 1, 51, 52, 37, 465, 37, 56, 57, 193, 230, |
| 5, 0, 5, 37, 37, 267, 208, 5, 1, 211, |
| 212, 213, 5, 479, 480, 5, 76, 77, 78, 12, |
| 13, 12, 480, 13, 84, 85, 86, 87, 230, 27, |
| 415, 5, 5, 5, 1, 297, 0, 1, 113, 13, |
| 212, 5, 1, 5, 18, 5, 113, 107, 433, 257, |
| 591, 663, 0, 13, 113, 5, 0, 21, 230, 119, |
| 120, 121, 528, 529, 124, 125, 126, 127, 680, 129, |
| 5, 315, 0, 133, 134, 135, 136, 137, 138, 5, |
| 261, 262, 142, 143, 0, 5, 59, 59, 113, 1, |
| 150, 315, 558, 13, 455, 636, 457, 59, 0, 92, |
| 558, 92, 113, 5, 164, 165, 117, 5, 119, 5, |
| 115, 114, 182, 178, 113, 175, 432, 212, 117, 314, |
| 178, 178, 1, 178, 178, 185, 186, 187, 188, 189, |
| 190, 191, 603, 335, 178, 230, 178, 498, 0, 526, |
| 200, 201, 599, 203, 178, 178, 341, 114, 356, 615, |
| 589, 115, 119, 361, 113, 119, 328, 217, 218, 21, |
| 119, 125, 222, 223, 497, 5, 449, 115, 625, 626, |
| 120, 119, 116, 123, 535, 503, 305, 5, 238, 239, |
| 240, 241, 242, 243, 244, 120, 114, 382, 123, 370, |
| 0, 435, 436, 1, 254, 255, 256, 5, 118, 115, |
| 639, 113, 518, 423, 399, 275, 5, 119, 428, 269, |
| 270, 271, 272, 115, 601, 1, 276, 119, 449, 5, |
| 118, 291, 118, 454, 284, 285, 296, 13, 288, 5, |
| 300, 1, 302, 594, 113, 5, 0, 113, 599, 15, |
| 119, 5, 5, 682, 1, 655, 5, 0, 5, 309, |
| 310, 311, 1, 115, 537, 1, 5, 317, 5, 5, |
| 355, 469, 470, 125, 359, 0, 1, 327, 584, 5, |
| 586, 587, 588, 0, 590, 115, 336, 449, 13, 119, |
| 5, 6, 454, 644, 645, 265, 13, 115, 348, 349, |
| 350, 351, 5, 353, 354, 81, 5, 5, 106, 5, |
| 524, 21, 362, 113, 114, 365, 537, 106, 747, 637, |
| 118, 406, 5, 373, 5, 754, 81, 108, 5, 118, |
| 7, 8, 9, 10, 11, 5, 5, 688, 5, 667, |
| 574, 5, 24, 403, 120, 12, 664, 123, 5, 115, |
| 7, 8, 9, 10, 11, 115, 81, 476, 23, 119, |
| 410, 115, 5, 413, 449, 599, 115, 685, 115, 454, |
| 13, 14, 119, 423, 5, 537, 115, 113, 428, 1, |
| 119, 5, 13, 5, 702, 703, 1, 113, 25, 114, |
| 5, 13, 5, 119, 444, 120, 1, 29, 123, 116, |
| 5, 16, 17, 18, 19, 20, 376, 377, 378, 379, |
| 5, 739, 115, 463, 113, 125, 119, 115, 117, 115, |
| 738, 471, 472, 119, 5, 475, 113, 477, 478, 1, |
| 117, 12, 5, 114, 117, 485, 486, 755, 488, 116, |
| 26, 491, 492, 113, 202, 505, 18, 124, 117, 499, |
| 117, 115, 537, 5, 37, 689, 654, 5, 508, 116, |
| 510, 13, 14, 221, 1, 13, 113, 124, 5, 13, |
| 117, 5, 522, 0, 1, 114, 117, 120, 5, 13, |
| 123, 103, 532, 533, 106, 535, 13, 21, 22, 539, |
| 540, 115, 542, 543, 544, 583, 118, 547, 113, 114, |
| 115, 1, 115, 117, 119, 120, 121, 122, 113, 114, |
| 115, 114, 114, 13, 119, 120, 121, 122, 22, 569, |
| 115, 581, 572, 60, 61, 62, 63, 64, 65, 66, |
| 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 77, 78, 115, 13, 81, 82, 83, 84, 85, 86, |
| 87, 88, 89, 90, 91, 103, 56, 22, 106, 1, |
| 156, 611, 158, 5, 114, 102, 110, 111, 120, 619, |
| 118, 123, 105, 623, 16, 17, 18, 19, 20, 0, |
| 1, 118, 632, 120, 634, 635, 123, 5, 638, 116, |
| 107, 117, 0, 1, 0, 1, 646, 5, 648, 649, |
| 5, 117, 5, 103, 664, 13, 1, 13, 113, 659, |
| 5, 119, 117, 18, 114, 18, 115, 702, 39, 40, |
| 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, |
| 51, 52, 53, 54, 698, 113, 5, 701, 5, 57, |
| 58, 705, 692, 1, 13, 695, 696, 697, 56, 0, |
| 56, 113, 1, 5, 5, 117, 5, 105, 708, 107, |
| 710, 12, 13, 12, 260, 16, 18, 113, 718, 20, |
| 1, 113, 114, 115, 5, 5, 5, 119, 120, 121, |
| 122, 1, 12, 13, 5, 5, 736, 13, 57, 58, |
| 57, 58, 12, 114, 5, 103, 117, 103, 748, 115, |
| 113, 12, 13, 753, 117, 56, 114, 13, 114, 60, |
| 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, |
| 71, 72, 73, 74, 75, 76, 77, 78, 79, 18, |
| 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 91, 92, 93, 92, 18, 96, 113, 98, 99, 118, |
| 117, 102, 113, 104, 5, 56, 1, 113, 0, 1, |
| 5, 12, 13, 5, 115, 83, 117, 83, 13, 120, |
| 12, 13, 123, 18, 16, 126, 127, 128, 20, 113, |
| 113, 113, 113, 114, 115, 117, 113, 5, 119, 120, |
| 121, 122, 16, 17, 18, 19, 20, 39, 40, 41, |
| 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 52, 53, 54, 113, 56, 113, 5, 117, 60, 61, |
| 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, |
| 72, 73, 74, 75, 76, 77, 78, 79, 115, 81, |
| 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, |
| 92, 93, 115, 115, 96, 113, 98, 99, 705, 117, |
| 102, 28, 104, 116, 31, 32, 33, 34, 113, 36, |
| 355, 178, 114, 115, 359, 117, 116, 119, 120, 293, |
| 465, 123, 603, 125, 126, 127, 0, 1, 506, 13, |
| 702, 5, 16, 17, 18, 19, 20, 21, 12, 13, |
| 406, 192, 16, 1, 656, 571, 20, 5, 246, 469, |
| 156, 712, 570, 1, 660, 426, 80, 5, 16, 17, |
| 18, 19, 20, 80, 267, 454, 572, -1, 16, 17, |
| 18, 19, 20, 225, 454, 178, -1, 178, -1, -1, |
| -1, -1, 109, -1, -1, -1, 60, 61, 62, 63, |
| 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, |
| 74, 75, 76, 77, 78, 79, -1, 81, 82, 83, |
| 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, |
| -1, -1, 96, 1, 98, 99, -1, 5, 102, -1, |
| 104, -1, -1, -1, 12, 13, -1, -1, 16, -1, |
| -1, 115, 20, -1, -1, -1, 120, -1, -1, 123, |
| -1, -1, 126, 127, -1, 113, 114, 115, 0, 1, |
| -1, 119, 120, 121, 122, 113, 114, 115, -1, -1, |
| -1, 119, 120, 121, 122, -1, -1, -1, 20, -1, |
| -1, -1, 60, 61, 62, 63, 64, 65, 66, 67, |
| 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, |
| 78, 79, -1, 81, 82, 83, 84, 85, 86, 87, |
| 88, 89, 90, 91, 92, 93, -1, -1, 96, 1, |
| 98, 99, -1, 5, 102, 103, 104, -1, -1, -1, |
| 12, 13, -1, -1, 16, -1, -1, -1, 20, -1, |
| -1, -1, 120, -1, -1, 123, -1, -1, 126, 127, |
| 5, 93, 94, 95, 96, 97, 98, 99, 13, 101, |
| 102, 16, 17, 18, 19, 20, 21, 22, 110, -1, |
| -1, 113, 114, -1, -1, -1, 118, -1, 60, 61, |
| 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, |
| 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, |
| 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, |
| 92, 93, 0, -1, 96, -1, 98, 99, 5, -1, |
| 102, -1, 104, -1, -1, 12, 13, -1, -1, 16, |
| -1, -1, -1, 20, -1, -1, -1, -1, 120, -1, |
| -1, 123, -1, -1, 126, 127, -1, -1, -1, -1, |
| -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, |
| 48, 49, 50, 51, 52, 53, 54, -1, -1, -1, |
| -1, -1, -1, 60, 61, 62, 63, 64, 65, 66, |
| 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 77, 78, 79, 5, 81, 82, 83, 84, 85, 86, |
| 87, 88, 89, 90, 91, 92, 93, -1, -1, 96, |
| 5, 98, 99, -1, -1, 102, 13, 104, -1, 16, |
| 17, 18, 19, 20, 21, 22, 114, -1, 23, 24, |
| 25, 26, -1, 120, 29, 30, 123, -1, -1, 126, |
| 127, -1, 37, -1, -1, -1, -1, -1, 60, 61, |
| 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, |
| 72, 73, 74, 75, 76, 77, 78, -1, -1, 81, |
| 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, |
| 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 20, -1, -1, -1, -1, -1, 118, -1, 120, -1, |
| -1, 123, -1, 108, -1, 0, 1, -1, -1, 39, |
| 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, |
| 50, 51, 52, 53, 54, 20, -1, -1, -1, 13, |
| -1, -1, -1, -1, 18, -1, -1, -1, -1, -1, |
| 0, 1, -1, -1, 39, 40, 41, 42, 43, 44, |
| 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, |
| 20, -1, -1, 93, 94, 95, 96, 97, 98, 99, |
| -1, 101, 102, 0, 1, -1, -1, -1, -1, -1, |
| 110, -1, -1, 113, 114, -1, -1, 117, 118, -1, |
| -1, -1, -1, 20, -1, -1, -1, -1, 93, 94, |
| 95, 96, 97, 98, 99, 1, 101, 102, -1, 93, |
| 94, 95, -1, 97, -1, 110, 100, 101, 113, 114, |
| -1, -1, 117, 118, 20, -1, -1, -1, 112, -1, |
| -1, -1, -1, 93, 94, 95, 96, 97, 98, 99, |
| -1, 101, 102, -1, -1, -1, -1, -1, -1, -1, |
| 110, -1, -1, 113, -1, -1, 116, -1, 118, -1, |
| -1, -1, -1, -1, -1, -1, 93, 94, 95, 96, |
| 97, 98, 99, -1, 101, 102, 12, 13, -1, -1, |
| 16, -1, -1, 110, 20, -1, 113, -1, 115, -1, |
| -1, 118, -1, -1, -1, -1, -1, 93, 94, 95, |
| 96, 97, 98, 99, -1, 101, 102, -1, -1, -1, |
| -1, -1, -1, -1, 110, -1, -1, 113, -1, -1, |
| -1, -1, 118, -1, 60, 61, 62, 63, 64, 65, |
| 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, |
| 76, 77, 78, 79, -1, 81, 82, 83, 84, 85, |
| 86, 87, 88, 89, 90, 91, 92, 93, -1, -1, |
| 96, -1, 98, 99, 0, 1, 102, -1, 104, 5, |
| -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, |
| -1, -1, 0, 1, 120, -1, -1, 123, -1, -1, |
| 126, 127, -1, -1, -1, 13, -1, -1, -1, -1, |
| -1, -1, -1, 39, 40, 41, 42, 43, 44, 45, |
| 46, 47, 48, 49, 50, 51, 52, 53, 54, -1, |
| 56, 39, 40, 41, 42, 43, 44, 45, 46, 47, |
| 48, 49, 50, 51, 52, 53, 54, -1, 56, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, |
| -1, -1, -1, -1, -1, -1, -1, 103, -1, -1, |
| -1, 13, -1, -1, -1, -1, -1, -1, 114, -1, |
| -1, -1, -1, -1, -1, 103, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, 114, 39, 40, 41, |
| 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, |
| 52, 53, 54, -1, 56, 0, 1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, |
| -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
| 25, 26, -1, -1, 29, 30, -1, -1, -1, -1, |
| -1, -1, 37, -1, -1, -1, -1, -1, 0, 1, |
| -1, 103, -1, -1, -1, -1, -1, -1, -1, -1, |
| 55, 13, 114, -1, 16, 17, 18, 19, 20, 21, |
| 22, -1, 24, 25, 26, 0, 1, 29, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, |
| -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, |
| 25, 26, 27, -1, 29, 30, -1, -1, -1, -1, |
| -1, -1, 37, 108, -1, -1, -1, -1, -1, 114, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, 108, -1, -1, -1, |
| -1, -1, 114, 60, 61, 62, 63, 64, 65, 66, |
| 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, |
| 77, 78, -1, 108, 81, 82, 83, 84, 85, 86, |
| 87, 88, 89, 90, 91, -1, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, 102, -1, -1, -1, -1, |
| -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, |
| -1, 118, -1, 120, -1, -1, 123, 60, 61, 62, |
| 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, |
| 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, |
| 83, 84, 85, 86, 87, 88, 89, 90, 91, 60, |
| 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, |
| 71, 72, 73, 74, 75, 76, 77, 78, -1, -1, |
| 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, |
| 91 |
| }; |
| |
| /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
| symbol of state STATE-NUM. */ |
| static const yytype_uint16 yystos[] = |
| { |
| 0, 28, 31, 32, 33, 34, 36, 109, 130, 131, |
| 132, 133, 134, 135, 136, 137, 139, 113, 113, 113, |
| 113, 5, 113, 5, 0, 139, 139, 139, 139, 139, |
| 139, 139, 5, 27, 141, 145, 139, 139, 139, 204, |
| 139, 139, 139, 139, 1, 139, 140, 1, 13, 120, |
| 123, 187, 188, 189, 202, 203, 30, 148, 155, 156, |
| 157, 170, 172, 173, 175, 183, 184, 190, 191, 197, |
| 198, 199, 200, 205, 208, 1, 13, 56, 103, 232, |
| 233, 234, 235, 237, 12, 13, 16, 20, 60, 61, |
| 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, |
| 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, |
| 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, |
| 93, 96, 98, 99, 102, 104, 126, 127, 203, 240, |
| 243, 244, 247, 248, 249, 250, 259, 260, 261, 57, |
| 58, 162, 163, 165, 166, 13, 16, 17, 18, 19, |
| 20, 21, 22, 210, 216, 217, 218, 219, 221, 222, |
| 223, 224, 225, 231, 106, 118, 177, 178, 179, 180, |
| 181, 182, 113, 117, 265, 12, 5, 6, 147, 139, |
| 139, 81, 1, 139, 139, 23, 25, 108, 29, 24, |
| 26, 37, 210, 269, 139, 139, 139, 114, 234, 235, |
| 117, 117, 1, 18, 236, 139, 139, 139, 139, 139, |
| 139, 139, 139, 139, 139, 139, 139, 79, 248, 139, |
| 114, 1, 119, 125, 245, 246, 139, 139, 139, 139, |
| 139, 139, 139, 139, 114, 22, 13, 18, 93, 94, |
| 95, 97, 100, 101, 112, 13, 139, 22, 1, 114, |
| 207, 219, 1, 5, 120, 121, 122, 201, 13, 21, |
| 221, 222, 222, 1, 223, 139, 1, 139, 114, 105, |
| 107, 105, 107, 270, 139, 1, 27, 55, 146, 148, |
| 149, 263, 264, 114, 113, 119, 117, 265, 13, 158, |
| 114, 1, 139, 154, 139, 171, 1, 139, 174, 139, |
| 1, 139, 1, 139, 171, 139, 207, 270, 236, 18, |
| 117, 117, 139, 139, 269, 139, 0, 13, 116, 144, |
| 239, 245, 0, 115, 143, 243, 245, 118, 203, 245, |
| 248, 250, 252, 255, 256, 257, 103, 243, 245, 139, |
| 139, 269, 139, 139, 247, 245, 256, 258, 59, 13, |
| 118, 161, 13, 110, 111, 139, 139, 139, 139, 139, |
| 139, 139, 13, 21, 218, 119, 139, 139, 139, 219, |
| 222, 181, 115, 103, 177, 237, 139, 139, 139, 139, |
| 0, 1, 20, 93, 94, 95, 96, 97, 98, 99, |
| 101, 102, 110, 114, 118, 142, 265, 266, 267, 268, |
| 117, 265, 139, 1, 140, 139, 139, 139, 12, 92, |
| 159, 117, 265, 159, 166, 168, 113, 117, 117, 265, |
| 177, 12, 13, 185, 117, 265, 13, 18, 192, 229, |
| 117, 265, 113, 210, 206, 5, 139, 241, 139, 139, |
| 270, 236, 243, 139, 13, 144, 144, 143, 143, 139, |
| 248, 143, 5, 138, 253, 254, 245, 139, 143, 143, |
| 270, 143, 254, 119, 143, 139, 139, 139, 139, 139, |
| 139, 13, 14, 202, 219, 220, 211, 213, 213, 13, |
| 14, 202, 12, 13, 214, 215, 219, 139, 13, 139, |
| 139, 115, 18, 181, 181, 181, 181, 270, 270, 12, |
| 117, 117, 265, 232, 189, 139, 139, 1, 119, 206, |
| 169, 176, 171, 229, 13, 171, 169, 206, 113, 242, |
| 243, 243, 56, 238, 238, 139, 256, 5, 120, 123, |
| 252, 255, 21, 125, 143, 119, 143, 139, 162, 165, |
| 59, 164, 13, 220, 219, 139, 139, 83, 1, 139, |
| 210, 139, 139, 5, 115, 138, 230, 230, 83, 1, |
| 139, 139, 7, 8, 9, 10, 11, 116, 124, 227, |
| 139, 209, 18, 139, 139, 144, 143, 139, 142, 117, |
| 265, 167, 168, 139, 113, 139, 113, 113, 113, 204, |
| 113, 169, 139, 236, 254, 138, 138, 139, 139, 139, |
| 143, 256, 139, 139, 139, 139, 139, 115, 115, 139, |
| 115, 119, 212, 115, 115, 15, 115, 230, 115, 119, |
| 115, 139, 116, 227, 217, 241, 243, 117, 0, 117, |
| 265, 166, 169, 150, 169, 169, 169, 232, 169, 204, |
| 143, 117, 128, 143, 238, 243, 251, 254, 163, 18, |
| 160, 115, 115, 115, 139, 138, 139, 12, 13, 228, |
| 139, 238, 238, 139, 1, 142, 152, 153, 156, 157, |
| 172, 173, 184, 191, 198, 200, 208, 262, 263, 264, |
| 139, 139, 204, 142, 139, 232, 143, 143, 139, 139, |
| 115, 219, 213, 214, 139, 228, 115, 115, 150, 142, |
| 140, 150, 186, 193, 232, 151, 142, 143, 243, 139, |
| 13, 226, 139, 139, 139, 262, 262, 142, 187, 39, |
| 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, |
| 50, 51, 52, 53, 54, 142, 194, 196, 1, 152, |
| 262, 139, 115, 139, 116, 226, 139, 139, 195, 140, |
| 116, 232, 139, 113, 139, 232, 142 |
| }; |
| |
| /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
| static const yytype_uint16 yyr1[] = |
| { |
| 0, 129, 130, 130, 130, 130, 130, 130, 130, 130, |
| 131, 132, 133, 134, 135, 136, 137, 138, 138, 139, |
| 139, 140, 140, 140, 141, 141, 142, 142, 143, 143, |
| 144, 144, 145, 145, 145, 146, 146, 147, 147, 148, |
| 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, |
| 149, 149, 150, 150, 151, 151, 152, 152, 152, 152, |
| 152, 152, 153, 153, 153, 153, 153, 153, 154, 155, |
| 156, 156, 156, 156, 156, 157, 157, 157, 157, 158, |
| 158, 159, 159, 160, 160, 161, 162, 163, 163, 164, |
| 164, 165, 165, 165, 166, 166, 167, 167, 168, 168, |
| 168, 169, 170, 171, 172, 172, 172, 173, 173, 174, |
| 174, 175, 176, 177, 177, 177, 177, 178, 179, 179, |
| 180, 180, 181, 181, 181, 182, 182, 183, 184, 185, |
| 185, 186, 186, 187, 188, 188, 189, 189, 189, 190, |
| 191, 191, 191, 192, 192, 192, 192, 193, 193, 195, |
| 194, 196, 196, 196, 196, 196, 196, 196, 196, 196, |
| 196, 196, 196, 196, 196, 196, 196, 197, 198, 198, |
| 198, 199, 200, 201, 201, 201, 202, 202, 203, 203, |
| 204, 205, 206, 207, 208, 209, 210, 210, 210, 211, |
| 212, 213, 214, 214, 215, 215, 215, 216, 217, 217, |
| 217, 217, 217, 218, 218, 218, 219, 219, 219, 219, |
| 219, 219, 220, 220, 220, 221, 221, 222, 222, 222, |
| 223, 223, 223, 223, 223, 224, 225, 225, 225, 225, |
| 226, 226, 227, 227, 227, 227, 227, 227, 228, 228, |
| 229, 230, 230, 230, 231, 231, 231, 231, 231, 231, |
| 231, 231, 231, 231, 231, 231, 231, 231, 231, 232, |
| 232, 232, 232, 232, 232, 233, 233, 233, 233, 234, |
| 235, 235, 235, 235, 235, 235, 236, 237, 238, 238, |
| 239, 239, 240, 240, 240, 241, 241, 242, 242, 243, |
| 243, 244, 244, 245, 246, 246, 246, 247, 247, 247, |
| 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, |
| 247, 247, 247, 248, 248, 248, 248, 248, 248, 248, |
| 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, |
| 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, |
| 248, 248, 248, 249, 249, 249, 250, 250, 250, 250, |
| 250, 250, 250, 250, 251, 251, 252, 252, 252, 253, |
| 253, 253, 253, 254, 254, 255, 256, 256, 257, 257, |
| 257, 257, 258, 258, 259, 259, 260, 260, 261, 261, |
| 262, 262, 263, 263, 264, 265, 266, 267, 268, 268, |
| 268, 268, 268, 268, 268, 268, 268, 268, 268, 269, |
| 270, 270, 270, 270, 270 |
| }; |
| |
| /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ |
| static const yytype_uint8 yyr2[] = |
| { |
| 0, 2, 4, 2, 2, 2, 2, 2, 2, 2, |
| 6, 6, 5, 5, 5, 5, 5, 1, 2, 0, |
| 2, 0, 2, 2, 0, 1, 1, 1, 1, 1, |
| 1, 1, 5, 3, 3, 5, 3, 0, 3, 1, |
| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 1, 1, 0, 3, 0, 3, 1, 1, 1, 1, |
| 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, |
| 7, 7, 7, 4, 4, 6, 6, 3, 3, 0, |
| 2, 1, 1, 0, 4, 6, 4, 1, 5, 0, |
| 3, 0, 1, 1, 1, 5, 0, 1, 1, 4, |
| 2, 0, 0, 1, 10, 8, 4, 10, 3, 2, |
| 2, 0, 0, 1, 1, 1, 1, 3, 4, 4, |
| 4, 4, 5, 1, 3, 9, 9, 0, 10, 1, |
| 1, 0, 3, 6, 1, 5, 2, 1, 1, 0, |
| 10, 4, 4, 1, 2, 1, 0, 1, 4, 0, |
| 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 1, 1, 1, 1, 1, 1, 1, 0, 8, 4, |
| 4, 0, 10, 2, 2, 2, 1, 0, 1, 1, |
| 1, 0, 0, 0, 9, 0, 1, 6, 2, 0, |
| 0, 3, 1, 1, 1, 5, 2, 2, 1, 1, |
| 2, 3, 2, 1, 2, 2, 1, 2, 1, 2, |
| 3, 2, 1, 5, 2, 1, 1, 1, 2, 2, |
| 1, 1, 1, 1, 1, 2, 5, 10, 6, 11, |
| 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, |
| 2, 1, 2, 6, 2, 3, 7, 7, 6, 6, |
| 6, 6, 5, 6, 5, 6, 7, 6, 6, 0, |
| 1, 2, 1, 1, 2, 3, 3, 4, 4, 3, |
| 5, 5, 2, 6, 3, 4, 3, 2, 2, 0, |
| 2, 3, 3, 4, 4, 2, 2, 0, 1, 1, |
| 2, 1, 3, 3, 2, 2, 0, 2, 3, 2, |
| 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, |
| 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, |
| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
| 1, 1, 1, 4, 3, 4, 5, 8, 7, 6, |
| 9, 8, 4, 4, 1, 1, 1, 2, 1, 3, |
| 3, 3, 3, 0, 1, 5, 1, 2, 1, 3, |
| 3, 1, 2, 5, 5, 4, 1, 1, 4, 4, |
| 1, 2, 3, 3, 2, 3, 3, 3, 1, 1, |
| 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, |
| 0, 2, 2, 2, 2 |
| }; |
| |
| |
| #define yyerrok (yyerrstatus = 0) |
| #define yyclearin (yychar = YYEMPTY) |
| #define YYEMPTY (-2) |
| #define YYEOF 0 |
| |
| #define YYACCEPT goto yyacceptlab |
| #define YYABORT goto yyabortlab |
| #define YYERROR goto yyerrorlab |
| |
| |
| #define YYRECOVERING() (!!yyerrstatus) |
| |
| #define YYBACKUP(Token, Value) \ |
| do \ |
| if (yychar == YYEMPTY) \ |
| { \ |
| yychar = (Token); \ |
| yylval = (Value); \ |
| YYPOPSTACK (yylen); \ |
| yystate = *yyssp; \ |
| goto yybackup; \ |
| } \ |
| else \ |
| { \ |
| yyerror (parser, YY_("syntax error: cannot back up")); \ |
| YYERROR; \ |
| } \ |
| while (0) |
| |
| /* Error token number */ |
| #define YYTERROR 1 |
| #define YYERRCODE 256 |
| |
| |
| |
| /* Enable debugging if requested. */ |
| #if YYDEBUG |
| |
| # ifndef YYFPRINTF |
| # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ |
| # define YYFPRINTF fprintf |
| # endif |
| |
| # define YYDPRINTF(Args) \ |
| do { \ |
| if (yydebug) \ |
| YYFPRINTF Args; \ |
| } while (0) |
| |
| /* This macro is provided for backward compatibility. */ |
| #ifndef YY_LOCATION_PRINT |
| # define YY_LOCATION_PRINT(File, Loc) ((void) 0) |
| #endif |
| |
| |
| # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ |
| do { \ |
| if (yydebug) \ |
| { \ |
| YYFPRINTF (stderr, "%s ", Title); \ |
| yy_symbol_print (stderr, \ |
| Type, Value, parser); \ |
| YYFPRINTF (stderr, "\n"); \ |
| } \ |
| } while (0) |
| |
| |
| /*----------------------------------------. |
| | Print this symbol's value on YYOUTPUT. | |
| `----------------------------------------*/ |
| |
| static void |
| yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, CSSParser* parser) |
| { |
| FILE *yyo = yyoutput; |
| YYUSE (yyo); |
| YYUSE (parser); |
| if (!yyvaluep) |
| return; |
| # ifdef YYPRINT |
| if (yytype < YYNTOKENS) |
| YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); |
| # endif |
| YYUSE (yytype); |
| } |
| |
| |
| /*--------------------------------. |
| | Print this symbol on YYOUTPUT. | |
| `--------------------------------*/ |
| |
| static void |
| yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, CSSParser* parser) |
| { |
| YYFPRINTF (yyoutput, "%s %s (", |
| yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); |
| |
| yy_symbol_value_print (yyoutput, yytype, yyvaluep, parser); |
| YYFPRINTF (yyoutput, ")"); |
| } |
| |
| /*------------------------------------------------------------------. |
| | yy_stack_print -- Print the state stack from its BOTTOM up to its | |
| | TOP (included). | |
| `------------------------------------------------------------------*/ |
| |
| static void |
| yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) |
| { |
| YYFPRINTF (stderr, "Stack now"); |
| for (; yybottom <= yytop; yybottom++) |
| { |
| int yybot = *yybottom; |
| YYFPRINTF (stderr, " %d", yybot); |
| } |
| YYFPRINTF (stderr, "\n"); |
| } |
| |
| # define YY_STACK_PRINT(Bottom, Top) \ |
| do { \ |
| if (yydebug) \ |
| yy_stack_print ((Bottom), (Top)); \ |
| } while (0) |
| |
| |
| /*------------------------------------------------. |
| | Report that the YYRULE is going to be reduced. | |
| `------------------------------------------------*/ |
| |
| static void |
| yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, CSSParser* parser) |
| { |
| unsigned long int yylno = yyrline[yyrule]; |
| int yynrhs = yyr2[yyrule]; |
| int yyi; |
| YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", |
| yyrule - 1, yylno); |
| /* The symbols being reduced. */ |
| for (yyi = 0; yyi < yynrhs; yyi++) |
| { |
| YYFPRINTF (stderr, " $%d = ", yyi + 1); |
| yy_symbol_print (stderr, |
| yystos[yyssp[yyi + 1 - yynrhs]], |
| &(yyvsp[(yyi + 1) - (yynrhs)]) |
| , parser); |
| YYFPRINTF (stderr, "\n"); |
| } |
| } |
| |
| # define YY_REDUCE_PRINT(Rule) \ |
| do { \ |
| if (yydebug) \ |
| yy_reduce_print (yyssp, yyvsp, Rule, parser); \ |
| } while (0) |
| |
| /* Nonzero means print parse trace. It is left uninitialized so that |
| multiple parsers can coexist. */ |
| int yydebug; |
| #else /* !YYDEBUG */ |
| # define YYDPRINTF(Args) |
| # define YY_SYMBOL_PRINT(Title, Type, Value, Location) |
| # define YY_STACK_PRINT(Bottom, Top) |
| # define YY_REDUCE_PRINT(Rule) |
| #endif /* !YYDEBUG */ |
| |
| |
| /* YYINITDEPTH -- initial size of the parser's stacks. */ |
| #ifndef YYINITDEPTH |
| # define YYINITDEPTH 200 |
| #endif |
| |
| /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only |
| if the built-in stack extension method is used). |
| |
| Do not make this value too large; the results are undefined if |
| YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) |
| evaluated with infinite-precision integer arithmetic. */ |
| |
| #ifndef YYMAXDEPTH |
| # define YYMAXDEPTH 10000 |
| #endif |
| |
| |
| #if YYERROR_VERBOSE |
| |
| # ifndef yystrlen |
| # if defined __GLIBC__ && defined _STRING_H |
| # define yystrlen strlen |
| # else |
| /* Return the length of YYSTR. */ |
| static YYSIZE_T |
| yystrlen (const char *yystr) |
| { |
| YYSIZE_T yylen; |
| for (yylen = 0; yystr[yylen]; yylen++) |
| continue; |
| return yylen; |
| } |
| # endif |
| # endif |
| |
| # ifndef yystpcpy |
| # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE |
| # define yystpcpy stpcpy |
| # else |
| /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in |
| YYDEST. */ |
| static char * |
| yystpcpy (char *yydest, const char *yysrc) |
| { |
| char *yyd = yydest; |
| const char *yys = yysrc; |
| |
| while ((*yyd++ = *yys++) != '\0') |
| continue; |
| |
| return yyd - 1; |
| } |
| # endif |
| # endif |
| |
| # ifndef yytnamerr |
| /* Copy to YYRES the contents of YYSTR after stripping away unnecessary |
| quotes and backslashes, so that it's suitable for yyerror. The |
| heuristic is that double-quoting is unnecessary unless the string |
| contains an apostrophe, a comma, or backslash (other than |
| backslash-backslash). YYSTR is taken from yytname. If YYRES is |
| null, do not copy; instead, return the length of what the result |
| would have been. */ |
| static YYSIZE_T |
| yytnamerr (char *yyres, const char *yystr) |
| { |
| if (*yystr == '"') |
| { |
| YYSIZE_T yyn = 0; |
| char const *yyp = yystr; |
| |
| for (;;) |
| switch (*++yyp) |
| { |
| case '\'': |
| case ',': |
| goto do_not_strip_quotes; |
| |
| case '\\': |
| if (*++yyp != '\\') |
| goto do_not_strip_quotes; |
| /* Fall through. */ |
| default: |
| if (yyres) |
| yyres[yyn] = *yyp; |
| yyn++; |
| break; |
| |
| case '"': |
| if (yyres) |
| yyres[yyn] = '\0'; |
| return yyn; |
| } |
| do_not_strip_quotes: ; |
| } |
| |
| if (! yyres) |
| return yystrlen (yystr); |
| |
| return yystpcpy (yyres, yystr) - yyres; |
| } |
| # endif |
| |
| /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message |
| about the unexpected token YYTOKEN for the state stack whose top is |
| YYSSP. |
| |
| Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is |
| not large enough to hold the message. In that case, also set |
| *YYMSG_ALLOC to the required number of bytes. Return 2 if the |
| required number of bytes is too large to store. */ |
| static int |
| yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, |
| yytype_int16 *yyssp, int yytoken) |
| { |
| YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); |
| YYSIZE_T yysize = yysize0; |
| enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; |
| /* Internationalized format string. */ |
| const char *yyformat = YY_NULLPTR; |
| /* Arguments of yyformat. */ |
| char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |
| /* Number of reported tokens (one for the "unexpected", one per |
| "expected"). */ |
| int yycount = 0; |
| |
| /* There are many possibilities here to consider: |
| - If this state is a consistent state with a default action, then |
| the only way this function was invoked is if the default action |
| is an error action. In that case, don't check for expected |
| tokens because there are none. |
| - The only way there can be no lookahead present (in yychar) is if |
| this state is a consistent state with a default action. Thus, |
| detecting the absence of a lookahead is sufficient to determine |
| that there is no unexpected or expected token to report. In that |
| case, just report a simple "syntax error". |
| - Don't assume there isn't a lookahead just because this state is a |
| consistent state with a default action. There might have been a |
| previous inconsistent state, consistent state with a non-default |
| action, or user semantic action that manipulated yychar. |
| - Of course, the expected token list depends on states to have |
| correct lookahead information, and it depends on the parser not |
| to perform extra reductions after fetching a lookahead from the |
| scanner and before detecting a syntax error. Thus, state merging |
| (from LALR or IELR) and default reductions corrupt the expected |
| token list. However, the list is correct for canonical LR with |
| one exception: it will still contain any token that will not be |
| accepted due to an error action in a later state. |
| */ |
| if (yytoken != YYEMPTY) |
| { |
| int yyn = yypact[*yyssp]; |
| yyarg[yycount++] = yytname[yytoken]; |
| if (!yypact_value_is_default (yyn)) |
| { |
| /* Start YYX at -YYN if negative to avoid negative indexes in |
| YYCHECK. In other words, skip the first -YYN actions for |
| this state because they are default actions. */ |
| int yyxbegin = yyn < 0 ? -yyn : 0; |
| /* Stay within bounds of both yycheck and yytname. */ |
| int yychecklim = YYLAST - yyn + 1; |
| int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
| int yyx; |
| |
| for (yyx = yyxbegin; yyx < yyxend; ++yyx) |
| if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR |
| && !yytable_value_is_error (yytable[yyx + yyn])) |
| { |
| if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) |
| { |
| yycount = 1; |
| yysize = yysize0; |
| break; |
| } |
| yyarg[yycount++] = yytname[yyx]; |
| { |
| YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); |
| if (! (yysize <= yysize1 |
| && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) |
| return 2; |
| yysize = yysize1; |
| } |
| } |
| } |
| } |
| |
| switch (yycount) |
| { |
| # define YYCASE_(N, S) \ |
| case N: \ |
| yyformat = S; \ |
| break |
| YYCASE_(0, YY_("syntax error")); |
| YYCASE_(1, YY_("syntax error, unexpected %s")); |
| YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); |
| YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); |
| YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); |
| YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); |
| # undef YYCASE_ |
| } |
| |
| { |
| YYSIZE_T yysize1 = yysize + yystrlen (yyformat); |
| if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) |
| return 2; |
| yysize = yysize1; |
| } |
| |
| if (*yymsg_alloc < yysize) |
| { |
| *yymsg_alloc = 2 * yysize; |
| if (! (yysize <= *yymsg_alloc |
| && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) |
| *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; |
| return 1; |
| } |
| |
| /* Avoid sprintf, as that infringes on the user's name space. |
| Don't have undefined behavior even if the translation |
| produced a string with the wrong number of "%s"s. */ |
| { |
| char *yyp = *yymsg; |
| int yyi = 0; |
| while ((*yyp = *yyformat) != '\0') |
| if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) |
| { |
| yyp += yytnamerr (yyp, yyarg[yyi++]); |
| yyformat += 2; |
| } |
| else |
| { |
| yyp++; |
| yyformat++; |
| } |
| } |
| return 0; |
| } |
| #endif /* YYERROR_VERBOSE */ |
| |
| /*-----------------------------------------------. |
| | Release the memory associated to this symbol. | |
| `-----------------------------------------------*/ |
| |
| static void |
| yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, CSSParser* parser) |
| { |
| YYUSE (yyvaluep); |
| YYUSE (parser); |
| if (!yymsg) |
| yymsg = "Deleting"; |
| YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); |
| |
| YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
| switch (yytype) |
| { |
| case 148: /* valid_rule */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2059 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 149: /* rule */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2065 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 150: /* block_rule_list */ |
| #line 263 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).ruleList); } |
| #line 2071 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 151: /* block_valid_rule_list */ |
| #line 263 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).ruleList); } |
| #line 2077 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 152: /* block_valid_rule */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2083 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 153: /* block_rule */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2089 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 156: /* import */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2095 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 160: /* maybe_media_value */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2101 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 161: /* base_media_query_expression */ |
| #line 278 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).mediaQueryExpression); } |
| #line 2107 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 162: /* media_query_expression */ |
| #line 278 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).mediaQueryExpression); } |
| #line 2113 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 163: /* media_query_expression_list */ |
| #line 281 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).mediaQueryExpressionList); } |
| #line 2119 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 164: /* maybe_and_media_query_expression_list */ |
| #line 281 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).mediaQueryExpressionList); } |
| #line 2125 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 166: /* media_query */ |
| #line 273 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).mediaQuery); } |
| #line 2131 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 167: /* maybe_media_list */ |
| #line 270 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).mediaList)) ((*yyvaluep).mediaList)->deref(); } |
| #line 2137 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 168: /* media_list */ |
| #line 270 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).mediaList)) ((*yyvaluep).mediaList)->deref(); } |
| #line 2143 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 172: /* media */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2149 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 173: /* supports */ |
| #line 345 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2155 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 184: /* keyframes */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2161 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 186: /* keyframes_rule */ |
| #line 289 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).keyframeRuleList); } |
| #line 2167 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 187: /* keyframe_rule */ |
| #line 286 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).keyframe)) ((*yyvaluep).keyframe)->deref(); } |
| #line 2173 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 188: /* key_list */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2179 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 191: /* page */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2185 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 192: /* page_selector */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2191 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 198: /* font_face */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2197 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 200: /* region */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2203 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 208: /* ruleset */ |
| #line 260 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { if (((*yyvaluep).rule)) ((*yyvaluep).rule)->deref(); } |
| #line 2209 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 210: /* selector_list */ |
| #line 304 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selectorList); } |
| #line 2215 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 213: /* nested_selector_list */ |
| #line 304 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selectorList); } |
| #line 2221 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 215: /* comma_separated_lang_ranges */ |
| #line 320 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).stringList); } |
| #line 2227 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 216: /* complex_selector_with_trailing_whitespace */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2233 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 217: /* complex_selector */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2239 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 219: /* compound_selector */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2245 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 220: /* simple_selector_list */ |
| #line 304 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selectorList); } |
| #line 2251 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 222: /* specifier_list */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2257 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 223: /* specifier */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2263 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 224: /* class */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2269 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 225: /* attrib */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2275 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 229: /* pseudo_page */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2281 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 230: /* nth_selector_ending */ |
| #line 305 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selectorList); } |
| #line 2287 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 231: /* pseudo */ |
| #line 301 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).selector); } |
| #line 2293 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 239: /* ident_list */ |
| #line 331 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2299 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 240: /* track_names_list */ |
| #line 334 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { destroy(((*yyvaluep).value)); } |
| #line 2305 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 241: /* whitespace_or_expr */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2311 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 242: /* maybe_expr */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2317 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 243: /* expr */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2323 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 244: /* valid_expr */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2329 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 247: /* term */ |
| #line 296 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { destroy(((*yyvaluep).value)); } |
| #line 2335 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 249: /* function */ |
| #line 296 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { destroy(((*yyvaluep).value)); } |
| #line 2341 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 250: /* variable_function */ |
| #line 296 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { destroy(((*yyvaluep).value)); } |
| #line 2347 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 252: /* calc_func_term */ |
| #line 296 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { destroy(((*yyvaluep).value)); } |
| #line 2353 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 255: /* calc_func_paren_expr */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2359 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 256: /* calc_func_expr */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2365 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 257: /* valid_calc_func_expr */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2371 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 258: /* calc_func_expr_list */ |
| #line 316 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { delete ((*yyvaluep).valueList); } |
| #line 2377 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 259: /* calc_function */ |
| #line 296 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { destroy(((*yyvaluep).value)); } |
| #line 2383 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| case 261: /* min_or_max_function */ |
| #line 296 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1257 */ |
| { destroy(((*yyvaluep).value)); } |
| #line 2389 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1257 */ |
| break; |
| |
| |
| default: |
| break; |
| } |
| YY_IGNORE_MAYBE_UNINITIALIZED_END |
| } |
| |
| |
| |
| |
| /*----------. |
| | yyparse. | |
| `----------*/ |
| |
| int |
| yyparse (CSSParser* parser) |
| { |
| /* The lookahead symbol. */ |
| int yychar; |
| |
| |
| /* The semantic value of the lookahead symbol. */ |
| /* Default value used for initialization, for pacifying older GCCs |
| or non-GCC compilers. */ |
| YY_INITIAL_VALUE (static YYSTYPE yyval_default;) |
| YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); |
| |
| /* Number of syntax errors so far. */ |
| int yynerrs; |
| |
| int yystate; |
| /* Number of tokens to shift before error messages enabled. */ |
| int yyerrstatus; |
| |
| /* The stacks and their tools: |
| 'yyss': related to states. |
| 'yyvs': related to semantic values. |
| |
| Refer to the stacks through separate pointers, to allow yyoverflow |
| to reallocate them elsewhere. */ |
| |
| /* The state stack. */ |
| yytype_int16 yyssa[YYINITDEPTH]; |
| yytype_int16 *yyss; |
| yytype_int16 *yyssp; |
| |
| /* The semantic value stack. */ |
| YYSTYPE yyvsa[YYINITDEPTH]; |
| YYSTYPE *yyvs; |
| YYSTYPE *yyvsp; |
| |
| YYSIZE_T yystacksize; |
| |
| int yyn; |
| int yyresult; |
| /* Lookahead token as an internal (translated) token number. */ |
| int yytoken = 0; |
| /* The variables used to return semantic value and location from the |
| action routines. */ |
| YYSTYPE yyval; |
| |
| #if YYERROR_VERBOSE |
| /* Buffer for error messages, and its allocated size. */ |
| char yymsgbuf[128]; |
| char *yymsg = yymsgbuf; |
| YYSIZE_T yymsg_alloc = sizeof yymsgbuf; |
| #endif |
| |
| #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
| |
| /* The number of symbols on the RHS of the reduced rule. |
| Keep to zero when no symbol should be popped. */ |
| int yylen = 0; |
| |
| yyssp = yyss = yyssa; |
| yyvsp = yyvs = yyvsa; |
| yystacksize = YYINITDEPTH; |
| |
| YYDPRINTF ((stderr, "Starting parse\n")); |
| |
| yystate = 0; |
| yyerrstatus = 0; |
| yynerrs = 0; |
| yychar = YYEMPTY; /* Cause a token to be read. */ |
| goto yysetstate; |
| |
| /*------------------------------------------------------------. |
| | yynewstate -- Push a new state, which is found in yystate. | |
| `------------------------------------------------------------*/ |
| yynewstate: |
| /* In all cases, when you get here, the value and location stacks |
| have just been pushed. So pushing a state here evens the stacks. */ |
| yyssp++; |
| |
| yysetstate: |
| *yyssp = yystate; |
| |
| if (yyss + yystacksize - 1 <= yyssp) |
| { |
| /* Get the current used size of the three stacks, in elements. */ |
| YYSIZE_T yysize = yyssp - yyss + 1; |
| |
| #ifdef yyoverflow |
| { |
| /* Give user a chance to reallocate the stack. Use copies of |
| these so that the &'s don't force the real ones into |
| memory. */ |
| YYSTYPE *yyvs1 = yyvs; |
| yytype_int16 *yyss1 = yyss; |
| |
| /* Each stack pointer address is followed by the size of the |
| data in use in that stack, in bytes. This used to be a |
| conditional around just the two extra args, but that might |
| be undefined if yyoverflow is a macro. */ |
| yyoverflow (YY_("memory exhausted"), |
| &yyss1, yysize * sizeof (*yyssp), |
| &yyvs1, yysize * sizeof (*yyvsp), |
| &yystacksize); |
| |
| yyss = yyss1; |
| yyvs = yyvs1; |
| } |
| #else /* no yyoverflow */ |
| # ifndef YYSTACK_RELOCATE |
| goto yyexhaustedlab; |
| # else |
| /* Extend the stack our own way. */ |
| if (YYMAXDEPTH <= yystacksize) |
| goto yyexhaustedlab; |
| yystacksize *= 2; |
| if (YYMAXDEPTH < yystacksize) |
| yystacksize = YYMAXDEPTH; |
| |
| { |
| yytype_int16 *yyss1 = yyss; |
| union yyalloc *yyptr = |
| (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); |
| if (! yyptr) |
| goto yyexhaustedlab; |
| YYSTACK_RELOCATE (yyss_alloc, yyss); |
| YYSTACK_RELOCATE (yyvs_alloc, yyvs); |
| # undef YYSTACK_RELOCATE |
| if (yyss1 != yyssa) |
| YYSTACK_FREE (yyss1); |
| } |
| # endif |
| #endif /* no yyoverflow */ |
| |
| yyssp = yyss + yysize - 1; |
| yyvsp = yyvs + yysize - 1; |
| |
| YYDPRINTF ((stderr, "Stack size increased to %lu\n", |
| (unsigned long int) yystacksize)); |
| |
| if (yyss + yystacksize - 1 <= yyssp) |
| YYABORT; |
| } |
| |
| YYDPRINTF ((stderr, "Entering state %d\n", yystate)); |
| |
| if (yystate == YYFINAL) |
| YYACCEPT; |
| |
| goto yybackup; |
| |
| /*-----------. |
| | yybackup. | |
| `-----------*/ |
| yybackup: |
| |
| /* Do appropriate processing given the current state. Read a |
| lookahead token if we need one and don't already have one. */ |
| |
| /* First try to decide what to do without reference to lookahead token. */ |
| yyn = yypact[yystate]; |
| if (yypact_value_is_default (yyn)) |
| goto yydefault; |
| |
| /* Not known => get a lookahead token if don't already have one. */ |
| |
| /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ |
| if (yychar == YYEMPTY) |
| { |
| YYDPRINTF ((stderr, "Reading a token: ")); |
| yychar = yylex (&yylval, parser); |
| } |
| |
| if (yychar <= YYEOF) |
| { |
| yychar = yytoken = YYEOF; |
| YYDPRINTF ((stderr, "Now at end of input.\n")); |
| } |
| else |
| { |
| yytoken = YYTRANSLATE (yychar); |
| YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); |
| } |
| |
| /* If the proper action on seeing token YYTOKEN is to reduce or to |
| detect an error, take that action. */ |
| yyn += yytoken; |
| if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) |
| goto yydefault; |
| yyn = yytable[yyn]; |
| if (yyn <= 0) |
| { |
| if (yytable_value_is_error (yyn)) |
| goto yyerrlab; |
| yyn = -yyn; |
| goto yyreduce; |
| } |
| |
| /* Count tokens shifted since error; after three, turn off error |
| status. */ |
| if (yyerrstatus) |
| yyerrstatus--; |
| |
| /* Shift the lookahead token. */ |
| YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); |
| |
| /* Discard the shifted token. */ |
| yychar = YYEMPTY; |
| |
| yystate = yyn; |
| YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
| *++yyvsp = yylval; |
| YY_IGNORE_MAYBE_UNINITIALIZED_END |
| |
| goto yynewstate; |
| |
| |
| /*-----------------------------------------------------------. |
| | yydefault -- do the default action for the current state. | |
| `-----------------------------------------------------------*/ |
| yydefault: |
| yyn = yydefact[yystate]; |
| if (yyn == 0) |
| goto yyerrlab; |
| goto yyreduce; |
| |
| |
| /*-----------------------------. |
| | yyreduce -- Do a reduction. | |
| `-----------------------------*/ |
| yyreduce: |
| /* yyn is the number of a rule to reduce with. */ |
| yylen = yyr2[yyn]; |
| |
| /* If YYLEN is nonzero, implement the default value of the action: |
| '$$ = $1'. |
| |
| Otherwise, the following line sets YYVAL to garbage. |
| This behavior is undocumented and Bison |
| users should not rely upon it. Assigning to YYVAL |
| unconditionally makes the parser a bit smaller, and it avoids a |
| GCC warning that YYVAL may be used uninitialized. */ |
| yyval = yyvsp[1-yylen]; |
| |
| |
| YY_REDUCE_PRINT (yyn); |
| switch (yyn) |
| { |
| case 10: |
| #line 370 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->m_rule = adoptRef((yyvsp[-2].rule)); } |
| #line 2657 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 11: |
| #line 372 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->m_keyframe = adoptRef((yyvsp[-2].keyframe)); } |
| #line 2663 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 13: |
| #line 377 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if ((yyvsp[-1].valueList)) { |
| parser->m_valueList = std::unique_ptr<CSSParserValueList>((yyvsp[-1].valueList)); |
| int oldParsedProperties = parser->m_parsedProperties.size(); |
| if (!parser->parseValue(parser->m_id, parser->m_important)) |
| parser->rollbackLastProperties(parser->m_parsedProperties.size() - oldParsedProperties); |
| parser->m_valueList = nullptr; |
| } |
| } |
| #line 2677 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 14: |
| #line 388 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->m_mediaQuery = std::unique_ptr<MediaQuery>((yyvsp[-1].mediaQuery)); } |
| #line 2683 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 15: |
| #line 391 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if ((yyvsp[-1].selectorList)) { |
| if (parser->m_selectorListForParseSelector) |
| parser->m_selectorListForParseSelector->adoptSelectorVector(*(yyvsp[-1].selectorList)); |
| parser->recycleSelectorVector(std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>>((yyvsp[-1].selectorList))); |
| } |
| } |
| #line 2695 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 16: |
| #line 400 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->m_supportsCondition = (yyvsp[-1].boolean); } |
| #line 2701 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 32: |
| #line 418 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if (parser->m_styleSheet) |
| parser->m_styleSheet->parserSetEncodingFromCharsetRule((yyvsp[-2].string)); |
| if (parser->isExtractingSourceData() && parser->m_currentRuleDataStack->isEmpty() && parser->m_ruleSourceDataResult) |
| parser->addNewRuleToSourceTree(CSSRuleSourceData::createUnknown()); |
| } |
| #line 2712 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 38: |
| #line 433 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if (RefPtr<StyleRuleBase> rule = adoptRef((yyvsp[-1].rule))) { |
| if (parser->m_styleSheet) |
| parser->m_styleSheet->parserAppendRule(rule.releaseNonNull()); |
| } |
| } |
| #line 2723 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 44: |
| #line 447 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.rule) = nullptr; } |
| #line 2729 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 48: |
| #line 457 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = (yyvsp[0].rule); |
| parser->m_hadSyntacticallyValidCSSRule = true; |
| } |
| #line 2738 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 49: |
| #line 461 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.rule) = nullptr; } |
| #line 2744 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 50: |
| #line 462 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.rule) = nullptr; } |
| #line 2750 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 51: |
| #line 463 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.rule) = nullptr; } |
| #line 2756 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 52: |
| #line 467 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.ruleList) = nullptr; } |
| #line 2762 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 53: |
| #line 468 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.ruleList) = (yyvsp[-2].ruleList); |
| if (RefPtr<StyleRuleBase> rule = adoptRef((yyvsp[-1].rule))) { |
| if (!(yyval.ruleList)) |
| (yyval.ruleList) = new Vector<RefPtr<StyleRuleBase>>; |
| (yyval.ruleList)->append(WTFMove(rule)); |
| } |
| } |
| #line 2775 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 54: |
| #line 479 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.ruleList) = nullptr; } |
| #line 2781 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 55: |
| #line 480 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.ruleList) = (yyvsp[-2].ruleList); |
| if (RefPtr<StyleRuleBase> rule = adoptRef((yyvsp[-1].rule))) { |
| if (!(yyval.ruleList)) |
| (yyval.ruleList) = new Vector<RefPtr<StyleRuleBase>>; |
| (yyval.ruleList)->append(WTFMove(rule)); |
| } |
| } |
| #line 2794 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 63: |
| #line 502 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.rule) = nullptr; } |
| #line 2800 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 64: |
| #line 502 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.rule) = nullptr; } |
| #line 2806 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 65: |
| #line 502 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.rule) = nullptr; } |
| #line 2812 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 68: |
| #line 505 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderEnd(); |
| parser->markRuleBodyStart(); |
| } |
| #line 2821 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 69: |
| #line 512 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderStart(CSSRuleSourceData::IMPORT_RULE); |
| } |
| #line 2829 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 70: |
| #line 518 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = parser->createImportRule((yyvsp[-3].string), adoptRef((yyvsp[-1].mediaList))).leakRef(); |
| } |
| #line 2837 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 71: |
| #line 521 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = parser->createImportRule((yyvsp[-3].string), adoptRef((yyvsp[-1].mediaList))).leakRef(); |
| } |
| #line 2845 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 72: |
| #line 524 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = nullptr; |
| parser->popRuleData(); |
| if ((yyvsp[-1].mediaList)) |
| (yyvsp[-1].mediaList)->deref(); |
| } |
| #line 2856 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 73: |
| #line 530 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = nullptr; |
| parser->popRuleData(); |
| } |
| #line 2865 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 74: |
| #line 534 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = nullptr; |
| parser->popRuleData(); |
| } |
| #line 2874 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 75: |
| #line 541 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->addNamespace((yyvsp[-3].string), (yyvsp[-2].string)); } |
| #line 2880 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 79: |
| #line 547 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.string).clear(); } |
| #line 2886 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 83: |
| #line 551 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.valueList) = nullptr; } |
| #line 2892 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 84: |
| #line 551 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.valueList) = (yyvsp[-1].valueList); } |
| #line 2898 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 85: |
| #line 553 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<CSSParserValueList> mediaValue((yyvsp[-1].valueList)); |
| (yyvsp[-3].string).convertToASCIILowercaseInPlace(); |
| (yyval.mediaQueryExpression) = new MediaQueryExpression((yyvsp[-3].string), mediaValue.get()); |
| } |
| #line 2908 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 86: |
| #line 561 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if ((yyvsp[-3].mediaQueryRestrictor) != MediaQuery::None) { |
| |
| |
| delete (yyvsp[-1].mediaQueryExpression); |
| (yyval.mediaQueryExpression) = new MediaQueryExpression; |
| } else |
| (yyval.mediaQueryExpression) = (yyvsp[-1].mediaQueryExpression); |
| } |
| #line 2922 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 87: |
| #line 573 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaQueryExpressionList) = new Vector<MediaQueryExpression>; |
| (yyval.mediaQueryExpressionList)->append(WTFMove(*(yyvsp[0].mediaQueryExpression))); |
| delete (yyvsp[0].mediaQueryExpression); |
| } |
| #line 2932 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 88: |
| #line 578 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaQueryExpressionList) = (yyvsp[-4].mediaQueryExpressionList); |
| (yyval.mediaQueryExpressionList)->append(WTFMove(*(yyvsp[0].mediaQueryExpression))); |
| delete (yyvsp[0].mediaQueryExpression); |
| } |
| #line 2942 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 89: |
| #line 586 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaQueryExpressionList) = new Vector<MediaQueryExpression>; |
| } |
| #line 2950 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 90: |
| #line 589 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaQueryExpressionList) = (yyvsp[0].mediaQueryExpressionList); |
| } |
| #line 2958 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 91: |
| #line 595 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaQueryRestrictor) = MediaQuery::None; |
| } |
| #line 2966 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 92: |
| #line 598 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaQueryRestrictor) = MediaQuery::Only; |
| } |
| #line 2974 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 93: |
| #line 601 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaQueryRestrictor) = MediaQuery::Not; |
| } |
| #line 2982 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 94: |
| #line 607 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaQuery) = new MediaQuery(MediaQuery::None, "all", WTFMove(*(yyvsp[0].mediaQueryExpressionList))); |
| delete (yyvsp[0].mediaQueryExpressionList); |
| } |
| #line 2991 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 95: |
| #line 612 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyvsp[-2].string).convertToASCIILowercaseInPlace(); |
| (yyval.mediaQuery) = new MediaQuery((yyvsp[-4].mediaQueryRestrictor), (yyvsp[-2].string), WTFMove(*(yyvsp[0].mediaQueryExpressionList))); |
| delete (yyvsp[0].mediaQueryExpressionList); |
| } |
| #line 3001 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 96: |
| #line 619 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.mediaList) = &MediaQuerySet::create().leakRef(); } |
| #line 3007 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 98: |
| #line 622 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaList) = &MediaQuerySet::create().leakRef(); |
| (yyval.mediaList)->addMediaQuery(WTFMove(*(yyvsp[0].mediaQuery))); |
| delete (yyvsp[0].mediaQuery); |
| parser->updateLastMediaLine(*(yyval.mediaList)); |
| } |
| #line 3018 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 99: |
| #line 628 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaList) = (yyvsp[-3].mediaList); |
| if ((yyval.mediaList)) { |
| (yyval.mediaList)->addMediaQuery(WTFMove(*(yyvsp[0].mediaQuery))); |
| parser->updateLastMediaLine(*(yyval.mediaList)); |
| } |
| delete (yyvsp[0].mediaQuery); |
| } |
| #line 3031 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 100: |
| #line 636 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.mediaList) = nullptr; |
| if ((yyvsp[-1].mediaList)) |
| (yyvsp[-1].mediaList)->deref(); |
| } |
| #line 3041 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 101: |
| #line 644 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleBodyStart(); |
| } |
| #line 3049 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 102: |
| #line 650 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderStart(CSSRuleSourceData::MEDIA_RULE); |
| } |
| #line 3057 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 103: |
| #line 656 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderEnd(); |
| } |
| #line 3065 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 104: |
| #line 662 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = &parser->createMediaRule(adoptRef((yyvsp[-6].mediaList)), std::unique_ptr<Vector<RefPtr<StyleRuleBase>>>((yyvsp[-1].ruleList)).get()).leakRef(); |
| } |
| #line 3073 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 105: |
| #line 665 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = &parser->createEmptyMediaRule(std::unique_ptr<Vector<RefPtr<StyleRuleBase>>>((yyvsp[-1].ruleList)).get()).leakRef(); |
| } |
| #line 3081 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 106: |
| #line 668 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = nullptr; |
| parser->popRuleData(); |
| } |
| #line 3090 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 107: |
| #line 675 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = &parser->createSupportsRule((yyvsp[-6].boolean), std::unique_ptr<Vector<RefPtr<StyleRuleBase>>>((yyvsp[-1].ruleList)).get()).leakRef(); |
| } |
| #line 3098 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 108: |
| #line 678 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = nullptr; |
| parser->popRuleData(); |
| parser->popSupportsRuleData(); |
| } |
| #line 3108 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 109: |
| #line 686 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.boolean) = false; |
| } |
| #line 3116 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 110: |
| #line 689 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.boolean) = false; |
| } |
| #line 3124 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 111: |
| #line 695 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderStart(CSSRuleSourceData::SUPPORTS_RULE); |
| parser->markSupportsRuleHeaderStart(); |
| } |
| #line 3133 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 112: |
| #line 702 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderEnd(); |
| parser->markSupportsRuleHeaderEnd(); |
| } |
| #line 3142 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 117: |
| #line 710 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = !(yyvsp[0].boolean); } |
| #line 3148 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 118: |
| #line 713 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = (yyvsp[-3].boolean) && (yyvsp[0].boolean); } |
| #line 3154 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 119: |
| #line 714 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = (yyvsp[-3].boolean) && (yyvsp[0].boolean); } |
| #line 3160 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 120: |
| #line 718 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = (yyvsp[-3].boolean) || (yyvsp[0].boolean); } |
| #line 3166 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 121: |
| #line 719 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = (yyvsp[-3].boolean) || (yyvsp[0].boolean); } |
| #line 3172 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 122: |
| #line 723 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = (yyvsp[-2].boolean); } |
| #line 3178 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 123: |
| #line 724 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = (yyvsp[0].boolean); } |
| #line 3184 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 124: |
| #line 725 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = false; } |
| #line 3190 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 125: |
| #line 729 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.boolean) = false; |
| CSSParser* p = static_cast<CSSParser*>(parser); |
| std::unique_ptr<CSSParserValueList> propertyValue((yyvsp[-3].valueList)); |
| if ((yyvsp[-6].id) && propertyValue) { |
| p->m_valueList = WTFMove(propertyValue); |
| int oldParsedProperties = p->m_parsedProperties.size(); |
| (yyval.boolean) = p->parseValue((yyvsp[-6].id), (yyvsp[-2].boolean)); |
| |
| if ((yyval.boolean)) |
| p->rollbackLastProperties(p->m_parsedProperties.size() - oldParsedProperties); |
| p->m_valueList = nullptr; |
| } |
| p->markPropertyEnd((yyvsp[-2].boolean), false); |
| } |
| #line 3210 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 126: |
| #line 745 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.boolean) = false; |
| CSSParser* p = static_cast<CSSParser*>(parser); |
| std::unique_ptr<CSSParserValueList> propertyValue((yyvsp[-3].valueList)); |
| if (propertyValue) { |
| parser->m_valueList = WTFMove(propertyValue); |
| int oldParsedProperties = p->m_parsedProperties.size(); |
| p->setCustomPropertyName((yyvsp[-6].string)); |
| (yyval.boolean) = p->parseValue(CSSPropertyCustom, (yyvsp[-2].boolean)); |
| if ((yyval.boolean)) |
| p->rollbackLastProperties(p->m_parsedProperties.size() - oldParsedProperties); |
| p->m_valueList = nullptr; |
| } |
| p->markPropertyEnd((yyvsp[-2].boolean), false); |
| } |
| #line 3230 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 127: |
| #line 763 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderStart(CSSRuleSourceData::KEYFRAMES_RULE); |
| } |
| #line 3238 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 128: |
| #line 769 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = &parser->createKeyframesRule((yyvsp[-6].string), std::unique_ptr<Vector<RefPtr<StyleKeyframe>>>((yyvsp[-1].keyframeRuleList))).leakRef(); |
| } |
| #line 3246 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 131: |
| #line 777 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.keyframeRuleList) = new Vector<RefPtr<StyleKeyframe>>; } |
| #line 3252 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 132: |
| #line 778 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.keyframeRuleList) = (yyvsp[-2].keyframeRuleList); |
| if (RefPtr<StyleKeyframe> keyframe = adoptRef((yyvsp[-1].keyframe))) |
| (yyval.keyframeRuleList)->append(WTFMove(keyframe)); |
| } |
| #line 3262 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 133: |
| #line 785 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.keyframe) = parser->createKeyframe(*std::unique_ptr<CSSParserValueList>((yyvsp[-5].valueList))).leakRef(); } |
| #line 3268 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 134: |
| #line 788 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.valueList) = new CSSParserValueList; |
| (yyval.valueList)->addValue((yyvsp[0].value)); |
| } |
| #line 3277 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 135: |
| #line 792 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.valueList) = (yyvsp[-4].valueList); |
| if ((yyval.valueList)) |
| (yyval.valueList)->addValue((yyvsp[0].value)); |
| } |
| #line 3287 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 136: |
| #line 800 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).isInt = false; |
| (yyval.value).fValue = (yyvsp[-1].integer) * (yyvsp[0].number); |
| (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; |
| } |
| #line 3298 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 137: |
| #line 806 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).isInt = false; |
| if (equalLettersIgnoringASCIICase((yyvsp[0].string), "from")) |
| (yyval.value).fValue = 0; |
| else if (equalLettersIgnoringASCIICase((yyvsp[0].string), "to")) |
| (yyval.value).fValue = 100; |
| else { |
| (yyval.value).unit = 0; |
| YYERROR; |
| } |
| (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; |
| } |
| #line 3316 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 138: |
| #line 819 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).unit = 0; |
| } |
| #line 3324 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 139: |
| #line 825 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderStart(CSSRuleSourceData::PAGE_RULE); |
| } |
| #line 3332 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 140: |
| #line 832 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if ((yyvsp[-6].selector)) |
| (yyval.rule) = parser->createPageRule(std::unique_ptr<CSSParserSelector>((yyvsp[-6].selector))).leakRef(); |
| else { |
| |
| parser->clearProperties(); |
| |
| (yyval.rule) = nullptr; |
| parser->popRuleData(); |
| } |
| } |
| #line 3348 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 141: |
| #line 843 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->popRuleData(); |
| (yyval.rule) = nullptr; |
| } |
| #line 3357 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 142: |
| #line 847 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->popRuleData(); |
| (yyval.rule) = nullptr; |
| } |
| #line 3366 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 143: |
| #line 854 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector(QualifiedName(nullAtom, (yyvsp[0].string), parser->m_defaultNamespace)); |
| (yyval.selector)->setForPage(); |
| } |
| #line 3375 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 144: |
| #line 858 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = (yyvsp[0].selector); |
| if ((yyval.selector)) { |
| (yyval.selector)->prependTagSelector(QualifiedName(nullAtom, (yyvsp[-1].string), parser->m_defaultNamespace)); |
| (yyval.selector)->setForPage(); |
| } |
| } |
| #line 3387 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 145: |
| #line 865 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = (yyvsp[0].selector); |
| if ((yyval.selector)) |
| (yyval.selector)->setForPage(); |
| } |
| #line 3397 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 146: |
| #line 870 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector; |
| (yyval.selector)->setForPage(); |
| } |
| #line 3406 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 149: |
| #line 879 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->startDeclarationsForMarginBox(); |
| } |
| #line 3414 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 150: |
| #line 881 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->createMarginAtRule((yyvsp[-6].marginBox)); |
| } |
| #line 3422 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 151: |
| #line 887 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::TopLeftCornerMarginBox; |
| } |
| #line 3430 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 152: |
| #line 890 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::TopLeftMarginBox; |
| } |
| #line 3438 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 153: |
| #line 893 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::TopCenterMarginBox; |
| } |
| #line 3446 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 154: |
| #line 896 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::TopRightMarginBox; |
| } |
| #line 3454 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 155: |
| #line 899 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::TopRightCornerMarginBox; |
| } |
| #line 3462 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 156: |
| #line 902 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::BottomLeftCornerMarginBox; |
| } |
| #line 3470 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 157: |
| #line 905 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::BottomLeftMarginBox; |
| } |
| #line 3478 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 158: |
| #line 908 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::BottomCenterMarginBox; |
| } |
| #line 3486 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 159: |
| #line 911 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::BottomRightMarginBox; |
| } |
| #line 3494 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 160: |
| #line 914 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::BottomRightCornerMarginBox; |
| } |
| #line 3502 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 161: |
| #line 917 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::LeftTopMarginBox; |
| } |
| #line 3510 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 162: |
| #line 920 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::LeftMiddleMarginBox; |
| } |
| #line 3518 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 163: |
| #line 923 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::LeftBottomMarginBox; |
| } |
| #line 3526 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 164: |
| #line 926 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::RightTopMarginBox; |
| } |
| #line 3534 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 165: |
| #line 929 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::RightMiddleMarginBox; |
| } |
| #line 3542 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 166: |
| #line 932 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.marginBox) = CSSSelector::RightBottomMarginBox; |
| } |
| #line 3550 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 167: |
| #line 938 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderStart(CSSRuleSourceData::FONT_FACE_RULE); |
| } |
| #line 3558 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 168: |
| #line 944 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = parser->createFontFaceRule().leakRef(); |
| } |
| #line 3566 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 169: |
| #line 947 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = nullptr; |
| parser->popRuleData(); |
| } |
| #line 3575 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 170: |
| #line 951 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = nullptr; |
| parser->popRuleData(); |
| } |
| #line 3584 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 171: |
| #line 957 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderStart(CSSRuleSourceData::REGION_RULE); |
| } |
| #line 3592 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 172: |
| #line 963 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<Vector<RefPtr<StyleRuleBase>>> ruleList((yyvsp[-1].ruleList)); |
| if ((yyvsp[-6].selectorList)) |
| (yyval.rule) = parser->createRegionRule(std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>>((yyvsp[-6].selectorList)).get(), ruleList.get()).leakRef(); |
| else { |
| (yyval.rule) = nullptr; |
| parser->popRuleData(); |
| } |
| } |
| #line 3606 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 173: |
| #line 975 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.relation) = CSSParserSelectorCombinator::DirectAdjacent; } |
| #line 3612 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 174: |
| #line 976 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.relation) = CSSParserSelectorCombinator::IndirectAdjacent; } |
| #line 3618 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 175: |
| #line 977 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.relation) = CSSParserSelectorCombinator::Child; } |
| #line 3624 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 177: |
| #line 983 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.integer) = 1; } |
| #line 3630 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 178: |
| #line 985 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.integer) = -1; } |
| #line 3636 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 179: |
| #line 985 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.integer) = 1; } |
| #line 3642 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 180: |
| #line 987 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->markPropertyStart(); } |
| #line 3648 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 181: |
| #line 990 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markRuleHeaderStart(CSSRuleSourceData::STYLE_RULE); |
| parser->markSelectorStart(); |
| } |
| #line 3657 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 182: |
| #line 996 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->markRuleHeaderEnd(); } |
| #line 3663 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 183: |
| #line 998 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->markSelectorEnd(); } |
| #line 3669 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 184: |
| #line 1001 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.rule) = parser->createStyleRule((yyvsp[-7].selectorList)).leakRef(); |
| parser->recycleSelectorVector(std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>>((yyvsp[-7].selectorList))); |
| } |
| #line 3678 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 185: |
| #line 1007 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->markSelectorStart(); } |
| #line 3684 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 186: |
| #line 1010 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selectorList) = nullptr; |
| if ((yyvsp[0].selector)) { |
| (yyval.selectorList) = parser->createSelectorVector().release(); |
| (yyval.selectorList)->append(std::unique_ptr<CSSParserSelector>((yyvsp[0].selector))); |
| parser->updateLastSelectorLineAndPosition(); |
| } |
| } |
| #line 3697 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 187: |
| #line 1018 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>> selectorList((yyvsp[-5].selectorList)); |
| std::unique_ptr<CSSParserSelector> selector((yyvsp[0].selector)); |
| (yyval.selectorList) = nullptr; |
| if (selectorList && selector) { |
| (yyval.selectorList) = selectorList.release(); |
| (yyval.selectorList)->append(WTFMove(selector)); |
| parser->updateLastSelectorLineAndPosition(); |
| } |
| } |
| #line 3712 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 188: |
| #line 1028 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selectorList) = nullptr; |
| delete (yyvsp[-1].selectorList); |
| } |
| #line 3721 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 189: |
| #line 1034 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->startNestedSelectorList(); } |
| #line 3727 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 190: |
| #line 1035 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->endNestedSelectorList(); } |
| #line 3733 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 191: |
| #line 1038 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selectorList) = (yyvsp[-1].selectorList); |
| } |
| #line 3741 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 194: |
| #line 1046 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.stringList) = new Vector<CSSParserString>; |
| (yyval.stringList)->append((yyvsp[0].string)); |
| } |
| #line 3750 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 195: |
| #line 1050 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.stringList) = (yyvsp[-4].stringList); |
| if ((yyval.stringList)) |
| (yyvsp[-4].stringList)->append((yyvsp[0].string)); |
| } |
| #line 3760 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 196: |
| #line 1055 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.stringList) = nullptr; |
| delete (yyvsp[-1].stringList); |
| } |
| #line 3769 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 200: |
| #line 1067 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<CSSParserSelector> left((yyvsp[-1].selector)); |
| std::unique_ptr<CSSParserSelector> right((yyvsp[0].selector)); |
| (yyval.selector) = nullptr; |
| if (left && right) { |
| right->appendTagHistory(CSSParserSelectorCombinator::DescendantSpace, WTFMove(left)); |
| (yyval.selector) = right.release(); |
| } |
| } |
| #line 3783 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 201: |
| #line 1076 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<CSSParserSelector> left((yyvsp[-2].selector)); |
| std::unique_ptr<CSSParserSelector> right((yyvsp[0].selector)); |
| (yyval.selector) = nullptr; |
| if (left && right) { |
| right->appendTagHistory((yyvsp[-1].relation), WTFMove(left)); |
| (yyval.selector) = right.release(); |
| } |
| } |
| #line 3797 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 202: |
| #line 1085 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| delete (yyvsp[-1].selector); |
| } |
| #line 3806 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 203: |
| #line 1092 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| static LChar emptyString = '\0'; |
| (yyval.string).init(&emptyString, 0); |
| } |
| #line 3815 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 204: |
| #line 1096 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { static LChar star = '*'; (yyval.string).init(&star, 1); } |
| #line 3821 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 206: |
| #line 1101 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector(QualifiedName(nullAtom, (yyvsp[0].string), parser->m_defaultNamespace)); |
| } |
| #line 3829 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 207: |
| #line 1104 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = (yyvsp[0].selector); |
| if ((yyval.selector)) { |
| QualifiedName elementName(nullAtom, (yyvsp[-1].string), parser->m_defaultNamespace); |
| parser->rewriteSpecifiersWithElementName(elementName, *(yyval.selector)); |
| } |
| } |
| #line 3841 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 208: |
| #line 1111 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = (yyvsp[0].selector); |
| if ((yyval.selector)) |
| parser->rewriteSpecifiersWithNamespaceIfNeeded(*(yyval.selector)); |
| } |
| #line 3851 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 209: |
| #line 1116 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector(parser->determineNameInNamespace((yyvsp[-1].string), (yyvsp[0].string))); |
| } |
| #line 3859 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 210: |
| #line 1119 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = (yyvsp[0].selector); |
| if ((yyval.selector)) |
| parser->rewriteSpecifiersWithElementName((yyvsp[-2].string), (yyvsp[-1].string), *(yyval.selector)); |
| } |
| #line 3869 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 211: |
| #line 1124 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = (yyvsp[0].selector); |
| if ((yyval.selector)) |
| parser->rewriteSpecifiersWithElementName((yyvsp[-1].string), starAtom, *(yyval.selector)); |
| } |
| #line 3879 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 212: |
| #line 1132 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selectorList) = nullptr; |
| if ((yyvsp[0].selector)) { |
| (yyval.selectorList) = parser->createSelectorVector().release(); |
| (yyval.selectorList)->append(std::unique_ptr<CSSParserSelector>((yyvsp[0].selector))); |
| } |
| } |
| #line 3891 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 213: |
| #line 1139 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>> list((yyvsp[-4].selectorList)); |
| std::unique_ptr<CSSParserSelector> selector((yyvsp[0].selector)); |
| (yyval.selectorList) = nullptr; |
| if (list && selector) { |
| (yyval.selectorList) = list.release(); |
| (yyval.selectorList)->append(WTFMove(selector)); |
| } |
| } |
| #line 3905 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 214: |
| #line 1148 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selectorList) = nullptr; |
| delete (yyvsp[-1].selectorList); |
| } |
| #line 3914 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 215: |
| #line 1155 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.string) = (yyvsp[0].string); |
| } |
| #line 3922 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 216: |
| #line 1158 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| static LChar star = '*'; |
| (yyval.string).init(&star, 1); |
| } |
| #line 3931 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 218: |
| #line 1166 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<CSSParserSelector> list((yyvsp[-1].selector)); |
| std::unique_ptr<CSSParserSelector> specifier((yyvsp[0].selector)); |
| (yyval.selector) = nullptr; |
| if (list && specifier) |
| (yyval.selector) = parser->rewriteSpecifiers(WTFMove(list), WTFMove(specifier)).release(); |
| } |
| #line 3943 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 219: |
| #line 1173 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| delete (yyvsp[-1].selector); |
| } |
| #line 3952 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 220: |
| #line 1180 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector; |
| (yyval.selector)->setMatch(CSSSelector::Id); |
| if (parser->m_context.mode == HTMLQuirksMode) |
| (yyvsp[0].string).convertToASCIILowercaseInPlace(); |
| (yyval.selector)->setValue((yyvsp[0].string)); |
| } |
| #line 3964 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 221: |
| #line 1187 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if ((yyvsp[0].string)[0] >= '0' && (yyvsp[0].string)[0] <= '9') |
| (yyval.selector) = nullptr; |
| else { |
| (yyval.selector) = new CSSParserSelector; |
| (yyval.selector)->setMatch(CSSSelector::Id); |
| if (parser->m_context.mode == HTMLQuirksMode) |
| (yyvsp[0].string).convertToASCIILowercaseInPlace(); |
| (yyval.selector)->setValue((yyvsp[0].string)); |
| } |
| } |
| #line 3980 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 225: |
| #line 1204 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector; |
| (yyval.selector)->setMatch(CSSSelector::Class); |
| if (parser->m_context.mode == HTMLQuirksMode) |
| (yyvsp[0].string).convertToASCIILowercaseInPlace(); |
| (yyval.selector)->setValue((yyvsp[0].string)); |
| } |
| #line 3992 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 226: |
| #line 1214 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector; |
| (yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[-2].string), nullAtom), parser->m_context.isHTMLDocument); |
| (yyval.selector)->setMatch(CSSSelector::Set); |
| } |
| #line 4002 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 227: |
| #line 1219 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector; |
| (yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[-7].string), nullAtom), parser->m_context.isHTMLDocument); |
| (yyval.selector)->setMatch((yyvsp[-5].match)); |
| (yyval.selector)->setValue((yyvsp[-3].string)); |
| (yyval.selector)->setAttributeValueMatchingIsCaseInsensitive((yyvsp[-1].boolean)); |
| } |
| #line 4014 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 228: |
| #line 1226 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector; |
| (yyval.selector)->setAttribute(parser->determineNameInNamespace((yyvsp[-3].string), (yyvsp[-2].string)), parser->m_context.isHTMLDocument); |
| (yyval.selector)->setMatch(CSSSelector::Set); |
| } |
| #line 4024 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 229: |
| #line 1231 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = new CSSParserSelector; |
| (yyval.selector)->setAttribute(parser->determineNameInNamespace((yyvsp[-8].string), (yyvsp[-7].string)), parser->m_context.isHTMLDocument); |
| (yyval.selector)->setMatch((yyvsp[-5].match)); |
| (yyval.selector)->setValue((yyvsp[-3].string)); |
| (yyval.selector)->setAttributeValueMatchingIsCaseInsensitive((yyvsp[-1].boolean)); |
| } |
| #line 4036 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 230: |
| #line 1241 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if (UNLIKELY((yyvsp[-1].string).length() != 1 || !isASCIIAlphaCaselessEqual((yyvsp[-1].string)[0], 'i'))) |
| YYERROR; |
| (yyval.boolean) = true; |
| } |
| #line 4046 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 231: |
| #line 1247 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.boolean) = false; |
| } |
| #line 4054 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 232: |
| #line 1252 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.match) = CSSSelector::Exact; |
| } |
| #line 4062 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 233: |
| #line 1255 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.match) = CSSSelector::List; |
| } |
| #line 4070 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 234: |
| #line 1258 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.match) = CSSSelector::Hyphen; |
| } |
| #line 4078 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 235: |
| #line 1261 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.match) = CSSSelector::Begin; |
| } |
| #line 4086 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 236: |
| #line 1264 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.match) = CSSSelector::End; |
| } |
| #line 4094 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 237: |
| #line 1267 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.match) = CSSSelector::Contain; |
| } |
| #line 4102 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 240: |
| #line 1275 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = CSSParserSelector::parsePagePseudoSelector((yyvsp[0].string)); |
| } |
| #line 4110 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 241: |
| #line 1280 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selectorList) = nullptr; |
| } |
| #line 4118 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 242: |
| #line 1283 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selectorList) = nullptr; |
| } |
| #line 4126 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 243: |
| #line 1286 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if ((yyvsp[-2].selectorList)) |
| (yyval.selectorList) = (yyvsp[-2].selectorList); |
| else |
| YYERROR; |
| } |
| #line 4137 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 244: |
| #line 1295 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector((yyvsp[0].string)); |
| } |
| #line 4145 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 245: |
| #line 1298 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = CSSParserSelector::parsePseudoElementSelector((yyvsp[0].string)); |
| } |
| #line 4153 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 246: |
| #line 1303 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = CSSParserSelector::parsePseudoElementCueFunctionSelector((yyvsp[-4].string), (yyvsp[-2].selectorList)); |
| } |
| #line 4161 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 247: |
| #line 1307 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = CSSParserSelector::parsePseudoElementSlottedFunctionSelector((yyvsp[-4].string), (yyvsp[-2].selector)); |
| } |
| #line 4169 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 248: |
| #line 1310 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = CSSParserSelector::parsePseudoClassHostFunctionSelector((yyvsp[-4].string), (yyvsp[-2].selector)); |
| } |
| #line 4177 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 249: |
| #line 1318 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| if ((yyvsp[-2].selectorList)) { |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->adoptSelectorVector(*std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>>((yyvsp[-2].selectorList))); |
| selector->setPseudoClassValue((yyvsp[-4].string)); |
| if (selector->pseudoClassType() == CSSSelector::PseudoClassAny) |
| (yyval.selector) = selector.release(); |
| } |
| } |
| #line 4193 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 250: |
| #line 1329 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| if ((yyvsp[-2].selectorList)) { |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->adoptSelectorVector(*std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>>((yyvsp[-2].selectorList))); |
| selector->setPseudoClassValue((yyvsp[-4].string)); |
| if (selector->pseudoClassType() == CSSSelector::PseudoClassMatches) |
| (yyval.selector) = selector.release(); |
| } |
| } |
| #line 4209 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 251: |
| #line 1340 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| if ((yyvsp[-2].stringList)) { |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->setLangArgumentList(*std::unique_ptr<Vector<CSSParserString>>((yyvsp[-2].stringList))); |
| selector->setPseudoClassValue((yyvsp[-4].string)); |
| if (selector->pseudoClassType() == CSSSelector::PseudoClassLang) |
| (yyval.selector) = selector.release(); |
| } |
| } |
| #line 4225 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 252: |
| #line 1351 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>> ending((yyvsp[0].selectorList)); |
| if (selectorListDoesNotMatchAnyPseudoElement(ending.get())) { |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->setArgument((yyvsp[-1].string)); |
| selector->setPseudoClassValue((yyvsp[-3].string)); |
| if (ending) |
| selector->adoptSelectorVector(*ending); |
| CSSSelector::PseudoClassType pseudoClassType = selector->pseudoClassType(); |
| if (pseudoClassType == CSSSelector::PseudoClassNthChild || pseudoClassType == CSSSelector::PseudoClassNthLastChild) |
| (yyval.selector) = selector.release(); |
| } |
| } |
| #line 4245 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 253: |
| #line 1366 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>> ending((yyvsp[0].selectorList)); |
| if (selectorListDoesNotMatchAnyPseudoElement(ending.get())) { |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->setArgument(AtomicString::number((yyvsp[-2].integer) * (yyvsp[-1].number))); |
| selector->setPseudoClassValue((yyvsp[-4].string)); |
| if (ending) |
| selector->adoptSelectorVector(*ending); |
| CSSSelector::PseudoClassType pseudoClassType = selector->pseudoClassType(); |
| if (pseudoClassType == CSSSelector::PseudoClassNthChild || pseudoClassType == CSSSelector::PseudoClassNthLastChild) |
| (yyval.selector) = selector.release(); |
| } |
| } |
| #line 4265 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 254: |
| #line 1381 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>> ending((yyvsp[0].selectorList)); |
| if (isValidNthToken((yyvsp[-1].string)) && selectorListDoesNotMatchAnyPseudoElement(ending.get())) { |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->setArgument((yyvsp[-1].string)); |
| selector->setPseudoClassValue((yyvsp[-3].string)); |
| if (ending) |
| selector->adoptSelectorVector(*ending); |
| CSSSelector::PseudoClassType pseudoClassType = selector->pseudoClassType(); |
| if (pseudoClassType == CSSSelector::PseudoClassNthChild || pseudoClassType == CSSSelector::PseudoClassNthLastChild) |
| (yyval.selector) = selector.release(); |
| } |
| } |
| #line 4285 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 255: |
| #line 1398 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->setArgument((yyvsp[-2].string)); |
| selector->setPseudoClassValue((yyvsp[-4].string)); |
| if (selector->pseudoClassType() != CSSSelector::PseudoClassUnknown) |
| (yyval.selector) = selector.release(); |
| } |
| #line 4299 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 256: |
| #line 1408 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->setArgument(AtomicString::number((yyvsp[-3].integer) * (yyvsp[-2].number))); |
| selector->setPseudoClassValue((yyvsp[-5].string)); |
| if (selector->pseudoClassType() != CSSSelector::PseudoClassUnknown) |
| (yyval.selector) = selector.release(); |
| } |
| #line 4313 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 257: |
| #line 1418 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->setArgument((yyvsp[-2].string)); |
| selector->setPseudoClassValue((yyvsp[-4].string)); |
| CSSSelector::PseudoClassType type = selector->pseudoClassType(); |
| if (type == CSSSelector::PseudoClassUnknown) |
| selector = nullptr; |
| else if (type == CSSSelector::PseudoClassNthChild || |
| type == CSSSelector::PseudoClassNthOfType || |
| type == CSSSelector::PseudoClassNthLastChild || |
| type == CSSSelector::PseudoClassNthLastOfType) { |
| if (!isValidNthToken((yyvsp[-2].string))) |
| selector = nullptr; |
| } |
| (yyval.selector) = selector.release(); |
| } |
| #line 4335 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 258: |
| #line 1436 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.selector) = nullptr; |
| if ((yyvsp[-2].selectorList)) { |
| std::unique_ptr<Vector<std::unique_ptr<CSSParserSelector>>> list((yyvsp[-2].selectorList)); |
| if (selectorListDoesNotMatchAnyPseudoElement(list.get())) { |
| auto selector = std::make_unique<CSSParserSelector>(); |
| selector->setMatch(CSSSelector::PseudoClass); |
| selector->setPseudoClassValue((yyvsp[-4].string)); |
| selector->adoptSelectorVector(*list); |
| if (selector->pseudoClassType() == CSSSelector::PseudoClassNot) |
| (yyval.selector) = selector.release(); |
| } |
| } |
| } |
| #line 4354 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 259: |
| #line 1453 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = false; } |
| #line 4360 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 261: |
| #line 1455 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = (yyvsp[-1].boolean) || (yyvsp[0].boolean); } |
| #line 4366 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 263: |
| #line 1457 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = false; } |
| #line 4372 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 265: |
| #line 1462 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markPropertyStart(); |
| (yyval.boolean) = (yyvsp[-2].boolean); |
| } |
| #line 4381 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 266: |
| #line 1466 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markPropertyStart(); |
| (yyval.boolean) = false; |
| } |
| #line 4390 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 267: |
| #line 1470 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markPropertyStart(); |
| (yyval.boolean) = (yyvsp[-3].boolean); |
| if ((yyvsp[-2].boolean)) |
| (yyval.boolean) = (yyvsp[-2].boolean); |
| } |
| #line 4401 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 268: |
| #line 1476 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->markPropertyStart(); |
| (yyval.boolean) = (yyvsp[-3].boolean); |
| } |
| #line 4410 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 269: |
| #line 1483 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| parser->syntaxError((yyvsp[-1].location), CSSParser::PropertyDeclarationError); |
| } |
| #line 4418 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 270: |
| #line 1489 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.boolean) = false; |
| bool isPropertyParsed = false; |
| std::unique_ptr<CSSParserValueList> propertyValue((yyvsp[-1].valueList)); |
| if (propertyValue) { |
| parser->m_valueList = WTFMove(propertyValue); |
| int oldParsedProperties = parser->m_parsedProperties.size(); |
| parser->setCustomPropertyName((yyvsp[-4].string)); |
| (yyval.boolean) = parser->parseValue(CSSPropertyCustom, (yyvsp[0].boolean)); |
| if (!(yyval.boolean)) |
| parser->rollbackLastProperties(parser->m_parsedProperties.size() - oldParsedProperties); |
| else |
| isPropertyParsed = true; |
| parser->m_valueList = nullptr; |
| } |
| parser->markPropertyEnd((yyvsp[0].boolean), isPropertyParsed); |
| } |
| #line 4440 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 271: |
| #line 1506 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.boolean) = false; |
| bool isPropertyParsed = false; |
| std::unique_ptr<CSSParserValueList> propertyValue((yyvsp[-1].valueList)); |
| if ((yyvsp[-4].id) && propertyValue) { |
| parser->m_valueList = WTFMove(propertyValue); |
| int oldParsedProperties = parser->m_parsedProperties.size(); |
| (yyval.boolean) = parser->parseValue((yyvsp[-4].id), (yyvsp[0].boolean)); |
| if (!(yyval.boolean)) |
| parser->rollbackLastProperties(parser->m_parsedProperties.size() - oldParsedProperties); |
| else |
| isPropertyParsed = true; |
| parser->m_valueList = nullptr; |
| } |
| parser->markPropertyEnd((yyvsp[0].boolean), isPropertyParsed); |
| } |
| #line 4461 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 272: |
| #line 1522 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = false; } |
| #line 4467 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 273: |
| #line 1523 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| |
| parser->markPropertyEnd(false, false); |
| delete (yyvsp[-2].valueList); |
| (yyval.boolean) = false; |
| } |
| #line 4478 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 274: |
| #line 1529 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| |
| (yyval.boolean) = false; |
| } |
| #line 4487 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 275: |
| #line 1533 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| |
| parser->markPropertyEnd(false, false); |
| (yyval.boolean) = false; |
| } |
| #line 4497 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 276: |
| #line 1540 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->syntaxError((yyvsp[-1].location)); } |
| #line 4503 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 277: |
| #line 1542 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.id) = cssPropertyID((yyvsp[-1].string)); } |
| #line 4509 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 278: |
| #line 1544 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = true; } |
| #line 4515 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 279: |
| #line 1544 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.boolean) = false; } |
| #line 4521 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 280: |
| #line 1549 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.valueList) = new CSSParserValueList; |
| (yyval.valueList)->addValue(makeIdentValue((yyvsp[-1].string))); |
| } |
| #line 4530 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 281: |
| #line 1553 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.valueList) = (yyvsp[-2].valueList); |
| (yyval.valueList)->addValue(makeIdentValue((yyvsp[-1].string))); |
| } |
| #line 4539 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 282: |
| #line 1560 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).setFromValueList(std::make_unique<CSSParserValueList>()); |
| } |
| #line 4547 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 283: |
| #line 1563 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).setFromValueList(std::unique_ptr<CSSParserValueList>((yyvsp[-1].valueList))); |
| } |
| #line 4555 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 284: |
| #line 1566 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = 0; |
| YYERROR; |
| } |
| #line 4565 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 285: |
| #line 1576 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| if ((yyvsp[0].valueList)) |
| (yyval.valueList) = (yyvsp[0].valueList); |
| else { |
| CSSParserValue val; |
| val.id = CSSValueInvalid; |
| val.unit = CSSPrimitiveValue::CSS_PARSER_WHITESPACE; |
| val.string.init(emptyString()); |
| (yyval.valueList) = new CSSParserValueList; |
| (yyval.valueList)->addValue(val); |
| } |
| } |
| #line 4582 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 286: |
| #line 1588 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.valueList) = (yyvsp[0].valueList); } |
| #line 4588 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 287: |
| #line 1591 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.valueList) = nullptr; } |
| #line 4594 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 288: |
| #line 1591 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.valueList) = (yyvsp[0].valueList); } |
| #line 4600 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 290: |
| #line 1593 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.valueList) = nullptr; delete (yyvsp[-1].valueList); } |
| #line 4606 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 291: |
| #line 1596 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.valueList) = new CSSParserValueList; |
| (yyval.valueList)->addValue((yyvsp[0].value)); |
| } |
| #line 4615 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 292: |
| #line 1600 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.valueList) = (yyvsp[-2].valueList); |
| if (!(yyval.valueList)) |
| destroy((yyvsp[0].value)); |
| else { |
| if ((yyvsp[-1].character)) { |
| CSSParserValue v; |
| v.id = CSSValueInvalid; |
| v.unit = CSSParserValue::Operator; |
| v.iValue = (yyvsp[-1].character); |
| (yyval.valueList)->addValue(v); |
| } |
| (yyval.valueList)->addValue((yyvsp[0].value)); |
| } |
| } |
| #line 4635 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 294: |
| #line 1619 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.character) = '/'; } |
| #line 4641 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 295: |
| #line 1619 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.character) = ','; } |
| #line 4647 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 296: |
| #line 1619 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.character) = 0; } |
| #line 4653 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 298: |
| #line 1623 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value) = (yyvsp[-1].value); (yyval.value).fValue *= (yyvsp[-2].integer); } |
| #line 4659 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 299: |
| #line 1624 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).string = (yyvsp[-1].string); (yyval.value).unit = CSSPrimitiveValue::CSS_STRING; } |
| #line 4665 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 300: |
| #line 1625 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value) = makeIdentValue((yyvsp[-1].string)); } |
| #line 4671 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 301: |
| #line 1627 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).string = (yyvsp[-1].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; } |
| #line 4677 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 302: |
| #line 1628 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).string = (yyvsp[-1].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; } |
| #line 4683 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 303: |
| #line 1629 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).string = (yyvsp[-1].string); (yyval.value).unit = CSSPrimitiveValue::CSS_URI; } |
| #line 4689 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 304: |
| #line 1630 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).string = (yyvsp[-1].string); (yyval.value).unit = CSSPrimitiveValue::CSS_UNICODE_RANGE; } |
| #line 4695 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 305: |
| #line 1631 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).string = (yyvsp[-1].string); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; } |
| #line 4701 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 306: |
| #line 1632 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).string = CSSParserString(); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; } |
| #line 4707 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 311: |
| #line 1638 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; (yyval.value).unit = 0; |
| } |
| #line 4715 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 313: |
| #line 1647 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).isInt = true; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; } |
| #line 4721 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 314: |
| #line 1648 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; } |
| #line 4727 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 315: |
| #line 1649 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PERCENTAGE; } |
| #line 4733 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 316: |
| #line 1650 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PX; } |
| #line 4739 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 317: |
| #line 1651 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_CM; } |
| #line 4745 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 318: |
| #line 1652 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MM; } |
| #line 4751 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 319: |
| #line 1653 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_IN; } |
| #line 4757 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 320: |
| #line 1654 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PT; } |
| #line 4763 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 321: |
| #line 1655 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PC; } |
| #line 4769 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 322: |
| #line 1656 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DEG; } |
| #line 4775 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 323: |
| #line 1657 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_RAD; } |
| #line 4781 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 324: |
| #line 1658 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_GRAD; } |
| #line 4787 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 325: |
| #line 1659 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_TURN; } |
| #line 4793 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 326: |
| #line 1660 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MS; } |
| #line 4799 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 327: |
| #line 1661 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_S; } |
| #line 4805 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 328: |
| #line 1662 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_HZ; } |
| #line 4811 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 329: |
| #line 1663 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_KHZ; } |
| #line 4817 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 330: |
| #line 1664 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EMS; } |
| #line 4823 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 331: |
| #line 1665 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSParserValue::Q_EMS; } |
| #line 4829 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 332: |
| #line 1666 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EXS; } |
| #line 4835 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 333: |
| #line 1667 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).fValue = (yyvsp[0].number); |
| (yyval.value).unit = CSSPrimitiveValue::CSS_REMS; |
| if (parser->m_styleSheet) |
| parser->m_styleSheet->parserSetUsesRemUnits(); |
| } |
| #line 4847 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 334: |
| #line 1674 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_CHS; } |
| #line 4853 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 335: |
| #line 1675 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_VW; } |
| #line 4859 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 336: |
| #line 1676 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_VH; } |
| #line 4865 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 337: |
| #line 1677 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_VMIN; } |
| #line 4871 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 338: |
| #line 1678 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_VMAX; } |
| #line 4877 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 339: |
| #line 1679 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DPPX; } |
| #line 4883 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 340: |
| #line 1680 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DPI; } |
| #line 4889 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 341: |
| #line 1681 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DPCM; } |
| #line 4895 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 342: |
| #line 1682 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value).id = CSSValueInvalid; (yyval.value).fValue = (yyvsp[0].number); (yyval.value).unit = CSSPrimitiveValue::CSS_FR; } |
| #line 4901 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 343: |
| #line 1686 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| CSSParserFunction* f = new CSSParserFunction; |
| f->name = (yyvsp[-3].string); |
| f->args = std::unique_ptr<CSSParserValueList>((yyvsp[-1].valueList)); |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = CSSParserValue::Function; |
| (yyval.value).function = f; |
| } |
| #line 4914 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 344: |
| #line 1694 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| CSSParserFunction* f = new CSSParserFunction; |
| f->name = (yyvsp[-2].string); |
| f->args = std::make_unique<CSSParserValueList>(); |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = CSSParserValue::Function; |
| (yyval.value).function = f; |
| } |
| #line 4927 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 345: |
| #line 1702 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| CSSParserFunction* f = new CSSParserFunction; |
| f->name = (yyvsp[-3].string); |
| f->args = nullptr; |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = CSSParserValue::Function; |
| (yyval.value).function = f; |
| } |
| #line 4940 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 346: |
| #line 1713 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| CSSParserVariable* var = new CSSParserVariable; |
| var->name = (yyvsp[-2].string); |
| var->args = nullptr; |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = CSSParserValue::Variable; |
| (yyval.value).variable = var; |
| } |
| #line 4953 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 347: |
| #line 1721 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| CSSParserVariable* var = new CSSParserVariable; |
| var->name = (yyvsp[-5].string); |
| var->args = std::unique_ptr<CSSParserValueList>((yyvsp[-1].valueList)); |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = CSSParserValue::Variable; |
| (yyval.value).variable = var; |
| } |
| #line 4966 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 348: |
| #line 1729 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| CSSParserVariable* var = new CSSParserVariable; |
| var->name = (yyvsp[-4].string); |
| var->args = std::make_unique<CSSParserValueList>(); |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = CSSParserValue::Variable; |
| (yyval.value).variable = var; |
| } |
| #line 4979 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 349: |
| #line 1738 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = 0; |
| YYERROR; |
| } |
| #line 4989 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 350: |
| #line 1743 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = 0; |
| YYERROR; |
| } |
| #line 4999 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 351: |
| #line 1748 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = 0; |
| YYERROR; |
| } |
| #line 5009 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 352: |
| #line 1753 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = 0; |
| delete (yyvsp[-1].valueList); |
| YYERROR; |
| } |
| #line 5020 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 353: |
| #line 1759 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = 0; |
| YYERROR; |
| } |
| #line 5030 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 357: |
| #line 1771 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.value) = (yyvsp[0].value); (yyval.value).fValue *= (yyvsp[-1].integer); } |
| #line 5036 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 359: |
| #line 1781 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.character) = '+'; |
| } |
| #line 5044 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 360: |
| #line 1784 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.character) = '-'; |
| } |
| #line 5052 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 361: |
| #line 1787 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.character) = '*'; |
| } |
| #line 5060 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 362: |
| #line 1790 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.character) = '/'; |
| } |
| #line 5068 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 365: |
| #line 1798 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.valueList) = nullptr; |
| if ((yyvsp[-2].valueList)) { |
| (yyval.valueList) = (yyvsp[-2].valueList); |
| CSSParserValue v; |
| v.id = CSSValueInvalid; |
| v.unit = CSSParserValue::Operator; |
| v.iValue = '('; |
| (yyval.valueList)->insertValueAt(0, v); |
| v.iValue = ')'; |
| (yyval.valueList)->addValue(v); |
| } |
| } |
| #line 5086 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 367: |
| #line 1813 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.valueList) = nullptr; delete (yyvsp[-1].valueList); } |
| #line 5092 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 368: |
| #line 1816 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.valueList) = new CSSParserValueList; |
| (yyval.valueList)->addValue((yyvsp[0].value)); |
| } |
| #line 5101 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 369: |
| #line 1820 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<CSSParserValueList> expression((yyvsp[-2].valueList)); |
| (yyval.valueList) = nullptr; |
| if (expression && (yyvsp[-1].character)) { |
| (yyval.valueList) = expression.release(); |
| CSSParserValue v; |
| v.id = CSSValueInvalid; |
| v.unit = CSSParserValue::Operator; |
| v.iValue = (yyvsp[-1].character); |
| (yyval.valueList)->addValue(v); |
| (yyval.valueList)->addValue((yyvsp[0].value)); |
| } else { |
| destroy((yyvsp[0].value)); |
| } |
| |
| } |
| #line 5122 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 370: |
| #line 1836 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<CSSParserValueList> left((yyvsp[-2].valueList)); |
| std::unique_ptr<CSSParserValueList> right((yyvsp[0].valueList)); |
| (yyval.valueList) = nullptr; |
| if (left && (yyvsp[-1].character) && right) { |
| CSSParserValue v; |
| v.id = CSSValueInvalid; |
| v.unit = CSSParserValue::Operator; |
| v.iValue = (yyvsp[-1].character); |
| left->addValue(v); |
| left->extend(*right); |
| (yyval.valueList) = left.release(); |
| } |
| } |
| #line 5141 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 373: |
| #line 1855 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| std::unique_ptr<CSSParserValueList> list((yyvsp[-4].valueList)); |
| std::unique_ptr<CSSParserValueList> expression((yyvsp[-1].valueList)); |
| (yyval.valueList) = nullptr; |
| if (list && expression) { |
| (yyval.valueList) = list.release(); |
| CSSParserValue v; |
| v.id = CSSValueInvalid; |
| v.unit = CSSParserValue::Operator; |
| v.iValue = ','; |
| (yyval.valueList)->addValue(v); |
| (yyval.valueList)->extend(*expression); |
| } |
| } |
| #line 5160 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 374: |
| #line 1872 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| CSSParserFunction* f = new CSSParserFunction; |
| f->name = (yyvsp[-4].string); |
| f->args = std::unique_ptr<CSSParserValueList>((yyvsp[-2].valueList)); |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = CSSParserValue::Function; |
| (yyval.value).function = f; |
| } |
| #line 5173 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 375: |
| #line 1880 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = 0; |
| YYERROR; |
| } |
| #line 5183 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 378: |
| #line 1891 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| CSSParserFunction* f = new CSSParserFunction; |
| f->name = (yyvsp[-3].string); |
| f->args = std::unique_ptr<CSSParserValueList>((yyvsp[-1].valueList)); |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = CSSParserValue::Function; |
| (yyval.value).function = f; |
| } |
| #line 5196 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 379: |
| #line 1899 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { |
| (yyval.value).id = CSSValueInvalid; |
| (yyval.value).unit = 0; |
| YYERROR; |
| } |
| #line 5206 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 385: |
| #line 1914 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { parser->invalidBlockHit(); } |
| #line 5212 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| case 399: |
| #line 1930 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1646 */ |
| { (yyval.location) = parser->currentLocation(); } |
| #line 5218 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| break; |
| |
| |
| #line 5222 "DerivedSources/WebCore/CSSGrammar.cpp" /* yacc.c:1646 */ |
| default: break; |
| } |
| /* User semantic actions sometimes alter yychar, and that requires |
| that yytoken be updated with the new translation. We take the |
| approach of translating immediately before every use of yytoken. |
| One alternative is translating here after every semantic action, |
| but that translation would be missed if the semantic action invokes |
| YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or |
| if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an |
| incorrect destructor might then be invoked immediately. In the |
| case of YYERROR or YYBACKUP, subsequent parser actions might lead |
| to an incorrect destructor call or verbose syntax error message |
| before the lookahead is translated. */ |
| YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); |
| |
| YYPOPSTACK (yylen); |
| yylen = 0; |
| YY_STACK_PRINT (yyss, yyssp); |
| |
| *++yyvsp = yyval; |
| |
| /* Now 'shift' the result of the reduction. Determine what state |
| that goes to, based on the state we popped back to and the rule |
| number reduced by. */ |
| |
| yyn = yyr1[yyn]; |
| |
| yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; |
| if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) |
| yystate = yytable[yystate]; |
| else |
| yystate = yydefgoto[yyn - YYNTOKENS]; |
| |
| goto yynewstate; |
| |
| |
| /*--------------------------------------. |
| | yyerrlab -- here on detecting error. | |
| `--------------------------------------*/ |
| yyerrlab: |
| /* Make sure we have latest lookahead translation. See comments at |
| user semantic actions for why this is necessary. */ |
| yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); |
| |
| /* If not already recovering from an error, report this error. */ |
| if (!yyerrstatus) |
| { |
| ++yynerrs; |
| #if ! YYERROR_VERBOSE |
| yyerror (parser, YY_("syntax error")); |
| #else |
| # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ |
| yyssp, yytoken) |
| { |
| char const *yymsgp = YY_("syntax error"); |
| int yysyntax_error_status; |
| yysyntax_error_status = YYSYNTAX_ERROR; |
| if (yysyntax_error_status == 0) |
| yymsgp = yymsg; |
| else if (yysyntax_error_status == 1) |
| { |
| if (yymsg != yymsgbuf) |
| YYSTACK_FREE (yymsg); |
| yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); |
| if (!yymsg) |
| { |
| yymsg = yymsgbuf; |
| yymsg_alloc = sizeof yymsgbuf; |
| yysyntax_error_status = 2; |
| } |
| else |
| { |
| yysyntax_error_status = YYSYNTAX_ERROR; |
| yymsgp = yymsg; |
| } |
| } |
| yyerror (parser, yymsgp); |
| if (yysyntax_error_status == 2) |
| goto yyexhaustedlab; |
| } |
| # undef YYSYNTAX_ERROR |
| #endif |
| } |
| |
| |
| |
| if (yyerrstatus == 3) |
| { |
| /* If just tried and failed to reuse lookahead token after an |
| error, discard it. */ |
| |
| if (yychar <= YYEOF) |
| { |
| /* Return failure if at end of input. */ |
| if (yychar == YYEOF) |
| YYABORT; |
| } |
| else |
| { |
| yydestruct ("Error: discarding", |
| yytoken, &yylval, parser); |
| yychar = YYEMPTY; |
| } |
| } |
| |
| /* Else will try to reuse lookahead token after shifting the error |
| token. */ |
| goto yyerrlab1; |
| |
| |
| /*---------------------------------------------------. |
| | yyerrorlab -- error raised explicitly by YYERROR. | |
| `---------------------------------------------------*/ |
| yyerrorlab: |
| |
| /* Pacify compilers like GCC when the user code never invokes |
| YYERROR and the label yyerrorlab therefore never appears in user |
| code. */ |
| if (/*CONSTCOND*/ 0) |
| goto yyerrorlab; |
| |
| /* Do not reclaim the symbols of the rule whose action triggered |
| this YYERROR. */ |
| YYPOPSTACK (yylen); |
| yylen = 0; |
| YY_STACK_PRINT (yyss, yyssp); |
| yystate = *yyssp; |
| goto yyerrlab1; |
| |
| |
| /*-------------------------------------------------------------. |
| | yyerrlab1 -- common code for both syntax error and YYERROR. | |
| `-------------------------------------------------------------*/ |
| yyerrlab1: |
| yyerrstatus = 3; /* Each real token shifted decrements this. */ |
| |
| for (;;) |
| { |
| yyn = yypact[yystate]; |
| if (!yypact_value_is_default (yyn)) |
| { |
| yyn += YYTERROR; |
| if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) |
| { |
| yyn = yytable[yyn]; |
| if (0 < yyn) |
| break; |
| } |
| } |
| |
| /* Pop the current state because it cannot handle the error token. */ |
| if (yyssp == yyss) |
| YYABORT; |
| |
| |
| yydestruct ("Error: popping", |
| yystos[yystate], yyvsp, parser); |
| YYPOPSTACK (1); |
| yystate = *yyssp; |
| YY_STACK_PRINT (yyss, yyssp); |
| } |
| |
| YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN |
| *++yyvsp = yylval; |
| YY_IGNORE_MAYBE_UNINITIALIZED_END |
| |
| |
| /* Shift the error token. */ |
| YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); |
| |
| yystate = yyn; |
| goto yynewstate; |
| |
| |
| /*-------------------------------------. |
| | yyacceptlab -- YYACCEPT comes here. | |
| `-------------------------------------*/ |
| yyacceptlab: |
| yyresult = 0; |
| goto yyreturn; |
| |
| /*-----------------------------------. |
| | yyabortlab -- YYABORT comes here. | |
| `-----------------------------------*/ |
| yyabortlab: |
| yyresult = 1; |
| goto yyreturn; |
| |
| #if !defined yyoverflow || YYERROR_VERBOSE |
| /*-------------------------------------------------. |
| | yyexhaustedlab -- memory exhaustion comes here. | |
| `-------------------------------------------------*/ |
| yyexhaustedlab: |
| yyerror (parser, YY_("memory exhausted")); |
| yyresult = 2; |
| /* Fall through. */ |
| #endif |
| |
| yyreturn: |
| if (yychar != YYEMPTY) |
| { |
| /* Make sure we have latest lookahead translation. See comments at |
| user semantic actions for why this is necessary. */ |
| yytoken = YYTRANSLATE (yychar); |
| yydestruct ("Cleanup: discarding lookahead", |
| yytoken, &yylval, parser); |
| } |
| /* Do not reclaim the symbols of the rule whose action triggered |
| this YYABORT or YYACCEPT. */ |
| YYPOPSTACK (yylen); |
| YY_STACK_PRINT (yyss, yyssp); |
| while (yyssp != yyss) |
| { |
| yydestruct ("Cleanup: popping", |
| yystos[*yyssp], yyvsp, parser); |
| YYPOPSTACK (1); |
| } |
| #ifndef yyoverflow |
| if (yyss != yyssa) |
| YYSTACK_FREE (yyss); |
| #endif |
| #if YYERROR_VERBOSE |
| if (yymsg != yymsgbuf) |
| YYSTACK_FREE (yymsg); |
| #endif |
| return yyresult; |
| } |
| #line 1940 "DerivedSources/WebCore/CSSGrammar.y" /* yacc.c:1906 */ |
| |