| | |
| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | #define YYBISON 1 |
| |
|
| | |
| | #define YYBISON_VERSION "2.4.2" |
| |
|
| | |
| | #define YYSKELETON_NAME "yacc.c" |
| |
|
| | |
| | #define YYPURE 0 |
| |
|
| | |
| | #define YYPUSH 0 |
| |
|
| | |
| | #define YYPULL 1 |
| |
|
| | |
| | #define YYLSP_NEEDED 0 |
| |
|
| |
|
| | |
| |
|
| |
|
| | |
| | #line 72 "SelectionFilter.tab.c" |
| |
|
| | |
| | #ifndef YYDEBUG |
| | # define YYDEBUG 0 |
| | #endif |
| |
|
| | |
| | #ifdef YYERROR_VERBOSE |
| | # undef YYERROR_VERBOSE |
| | # define YYERROR_VERBOSE 1 |
| | #else |
| | # define YYERROR_VERBOSE 0 |
| | #endif |
| |
|
| | |
| | #ifndef YYTOKEN_TABLE |
| | # define YYTOKEN_TABLE 0 |
| | #endif |
| |
|
| |
|
| | |
| | #ifndef YYTOKENTYPE |
| | # define YYTOKENTYPE |
| | |
| | |
| | enum yytokentype |
| | { |
| | TIDENTIFIER = 258, |
| | TSUB = 259, |
| | TSELECT = 260, |
| | TCOUNT = 261, |
| | TSLICE = 262, |
| | TNAMESPACE = 263, |
| | TNUMBER = 264 |
| | }; |
| | #endif |
| |
|
| |
|
| | #if !defined YYSTYPE && !defined YYSTYPE_IS_DECLARED |
| | typedef union YYSTYPE |
| | { |
| |
|
| | |
| | # line 8 "SelectionFilter.y" |
| |
|
| | std::string* string; |
| | Node_Object* object; |
| | Node_Slice* slice; |
| | Node_Block* block; |
| | int token; |
| | int number; |
| |
|
| |
|
| | |
| | # line 128 "SelectionFilter.tab.c" |
| | } YYSTYPE; |
| | # define YYSTYPE_IS_TRIVIAL 1 |
| | # define yystype YYSTYPE |
| | # define YYSTYPE_IS_DECLARED 1 |
| | #endif |
| |
|
| |
|
| | |
| |
|
| |
|
| | |
| | #line 140 "SelectionFilter.tab.c" |
| |
|
| | #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; |
| | #elif (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | typedef signed char yytype_int8; |
| | #else |
| | typedef short int 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 \ |
| | && (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | # include <stddef.h> |
| | # 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> |
| | # define YY_(msgid) dgettext("bison-runtime", msgid) |
| | # endif |
| | # endif |
| | # ifndef YY_ |
| | # define YY_(msgid) msgid |
| | # endif |
| | #endif |
| |
|
| | |
| | #if !defined lint || defined __GNUC__ |
| | # define YYUSE(e) ((void)(e)) |
| | #else |
| | # define YYUSE(e) |
| | #endif |
| |
|
| | |
| | #ifndef lint |
| | # define YYID(n) (n) |
| | #else |
| | # if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | static int YYID(int yyi) |
| | # else |
| | static int YYID(yyi) |
| | int yyi; |
| | # endif |
| | { |
| | return yyi; |
| | } |
| | #endif |
| |
|
| | #if !defined yyoverflow || YYERROR_VERBOSE |
| |
|
| | |
| |
|
| | # ifdef YYSTACK_USE_ALLOCA |
| | # if YYSTACK_USE_ALLOCA |
| | # ifdef __GNUC__ |
| | # define YYSTACK_ALLOC __builtin_alloca |
| | # elif defined __BUILTIN_VA_ARG_INCR |
| | # include <alloca.h> |
| | # elif defined _AIX |
| | # define YYSTACK_ALLOC __alloca |
| | # elif defined _MSC_VER |
| | # include <malloc.h> |
| | # define alloca _alloca |
| | # else |
| | # define YYSTACK_ALLOC alloca |
| | # if !defined _ALLOCA_H && !defined _STDLIB_H \ |
| | && (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | # include <stdlib.h> |
| | # ifndef _STDLIB_H |
| | # define _STDLIB_H 1 |
| | # endif |
| | # endif |
| | # endif |
| | # endif |
| | # endif |
| |
|
| | # ifdef YYSTACK_ALLOC |
| | |
| | # define YYSTACK_FREE(Ptr) \ |
| | do { \ |
| | ; \ |
| | } while (YYID(0)) |
| | # ifndef YYSTACK_ALLOC_MAXIMUM |
| | |
| | |
| | |
| | |
| | # define YYSTACK_ALLOC_MAXIMUM 4032 |
| | # 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 _STDLIB_H \ |
| | && !((defined YYMALLOC || defined malloc) && (defined YYFREE || defined free))) |
| | # include <stdlib.h> |
| | # ifndef _STDLIB_H |
| | # define _STDLIB_H 1 |
| | # endif |
| | # endif |
| | # ifndef YYMALLOC |
| | # define YYMALLOC malloc |
| | # if !defined malloc && !defined _STDLIB_H \ |
| | && (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | void* malloc(YYSIZE_T); |
| | # endif |
| | # endif |
| | # ifndef YYFREE |
| | # define YYFREE free |
| | # if !defined free && !defined _STDLIB_H \ |
| | && (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | void free(void*); |
| | # endif |
| | # endif |
| | # endif |
| | #endif |
| |
|
| |
|
| | #if (!defined yyoverflow \ |
| | && (!defined __cplusplus || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) |
| |
|
| | |
| | union yyalloc |
| | { |
| | yytype_int16 yyss_alloc; |
| | YYSTYPE yyvs_alloc; |
| | }; |
| |
|
| | |
| | # define YYSTACK_GAP_MAXIMUM (sizeof(union yyalloc) - 1) |
| |
|
| | |
| | |
| | # define YYSTACK_BYTES(N) ((N) * (sizeof(yytype_int16) + sizeof(YYSTYPE)) + YYSTACK_GAP_MAXIMUM) |
| |
|
| | |
| | |
| | # ifndef YYCOPY |
| | # if defined __GNUC__ && 1 < __GNUC__ |
| | # define YYCOPY(To, From, Count) __builtin_memcpy(To, From, (Count) * sizeof(*(From))) |
| | # else |
| | # define YYCOPY(To, From, Count) \ |
| | do { \ |
| | YYSIZE_T yyi; \ |
| | for (yyi = 0; yyi < (Count); yyi++) \ |
| | (To)[yyi] = (From)[yyi]; \ |
| | } while (YYID(0)) |
| | # endif |
| | # endif |
| |
|
| | |
| | |
| | |
| | |
| | |
| | # 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 (YYID(0)) |
| |
|
| | #endif |
| |
|
| | |
| | #define YYFINAL 11 |
| | |
| | #define YYLAST 15 |
| |
|
| | |
| | #define YYNTOKENS 10 |
| | |
| | #define YYNNTS 8 |
| | |
| | #define YYNRULES 14 |
| | |
| | #define YYNSTATES 20 |
| |
|
| | |
| | #define YYUNDEFTOK 2 |
| | #define YYMAXUTOK 264 |
| |
|
| | #define YYTRANSLATE(YYX) ((unsigned int)(YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
| |
|
| | |
| | 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, 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, 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 |
| | }; |
| |
|
| | #if YYDEBUG |
| | |
| | |
| | static const yytype_uint8 yyprhs[] = {0, 0, 3, 6, 11, 12, 15, 16, 21, 25, 28, 32, 34, 37, 39}; |
| |
|
| | |
| | static const yytype_int8 yyrhs[] = {17, 0, -1, 5, 3, -1, 5, 3, 8, 3, -1, -1, 4, 3, |
| | -1, -1, 6, 9, 7, 9, -1, 6, 9, 7, -1, 6, 9, -1, |
| | 11, 12, 13, -1, 14, -1, 15, 14, -1, 15, -1, 16, -1}; |
| |
|
| | |
| | static const yytype_uint8 yyrline[] = {0, 39, 39, 40, 42, 43, 45, 46, 47, 48, 50, 52, 53, 55, 57}; |
| | #endif |
| |
|
| | #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE |
| | |
| | |
| | static const char* const yytname[] = { |
| | "$end", |
| | "error", |
| | "$undefined", |
| | "TIDENTIFIER", |
| | "TSUB", |
| | "TSELECT", |
| | "TCOUNT", |
| | "TSLICE", |
| | "TNAMESPACE", |
| | "TNUMBER", |
| | "$accept", |
| | "type", |
| | "subname", |
| | "count", |
| | "matchline", |
| | "matchlines", |
| | "block", |
| | "filter", |
| | 0 |
| | }; |
| | #endif |
| |
|
| | #ifdef YYPRINT |
| | |
| | |
| | static const yytype_uint16 yytoknum[] = {0, 256, 257, 258, 259, 260, 261, 262, 263, 264}; |
| | #endif |
| |
|
| | |
| | static const yytype_uint8 yyr1[] = {0, 10, 11, 11, 12, 12, 13, 13, 13, 13, 14, 15, 15, 16, 17}; |
| |
|
| | |
| | static const yytype_uint8 yyr2[] = {0, 2, 2, 4, 0, 2, 0, 4, 3, 2, 3, 1, 2, 1, 1}; |
| |
|
| | |
| | |
| | |
| | static const yytype_uint8 yydefact[] = {0, 0, 4, 11, 13, 14, 0, 2, 0, 6, |
| | 12, 1, 0, 5, 0, 10, 3, 9, 8, 7}; |
| |
|
| | |
| | static const yytype_int8 yydefgoto[] = {-1, 2, 9, 15, 3, 4, 5, 6}; |
| |
|
| | |
| | |
| | #define YYPACT_NINF -6 |
| | static const yytype_int8 yypact[] = {-5, -2, -1, -6, -5, -6, 2, -4, 3, 1, |
| | -6, -6, 5, -6, 0, -6, -6, 4, 6, -6}; |
| |
|
| | |
| | static const yytype_int8 yypgoto[] = {-6, -6, -6, -6, 8, -6, -6, -6}; |
| |
|
| | |
| | |
| | |
| | |
| | #define YYTABLE_NINF -1 |
| | static const yytype_uint8 yytable[] = {1, 7, 11, 8, 12, 0, 13, 14, 16, 17, 0, 18, 10, 0, 0, 19}; |
| |
|
| | static const yytype_int8 yycheck[] = {5, 3, 0, 4, 8, -1, 3, 6, 3, 9, -1, 7, 4, -1, -1, 9}; |
| |
|
| | |
| | |
| | static const yytype_uint8 yystos[] = {0, 5, 11, 14, 15, 16, 17, 3, 4, 12, |
| | 14, 0, 8, 3, 6, 13, 3, 9, 7, 9}; |
| |
|
| | #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 YYFAIL goto yyerrlab |
| | #if defined YYFAIL |
| | |
| | |
| | |
| | |
| | #endif |
| |
|
| | #define YYRECOVERING() (!!yyerrstatus) |
| |
|
| | #define YYBACKUP(Token, Value) \ |
| | do \ |
| | if (yychar == YYEMPTY && yylen == 1) { \ |
| | yychar = (Token); \ |
| | yylval = (Value); \ |
| | yytoken = YYTRANSLATE(yychar); \ |
| | YYPOPSTACK(1); \ |
| | goto yybackup; \ |
| | } \ |
| | else { \ |
| | yyerror(YY_("syntax error: cannot back up")); \ |
| | YYERROR; \ |
| | } \ |
| | while (YYID(0)) |
| |
|
| |
|
| | #define YYTERROR 1 |
| | #define YYERRCODE 256 |
| |
|
| |
|
| | |
| | |
| | |
| |
|
| | #define YYRHSLOC(Rhs, K) ((Rhs)[K]) |
| | #ifndef YYLLOC_DEFAULT |
| | # define YYLLOC_DEFAULT(Current, Rhs, N) \ |
| | do \ |
| | if (YYID(N)) { \ |
| | (Current).first_line = YYRHSLOC(Rhs, 1).first_line; \ |
| | (Current).first_column = YYRHSLOC(Rhs, 1).first_column; \ |
| | (Current).last_line = YYRHSLOC(Rhs, N).last_line; \ |
| | (Current).last_column = YYRHSLOC(Rhs, N).last_column; \ |
| | } \ |
| | else { \ |
| | (Current).first_line = (Current).last_line = YYRHSLOC(Rhs, 0).last_line; \ |
| | (Current).first_column = (Current).last_column = YYRHSLOC(Rhs, 0).last_column; \ |
| | } \ |
| | while (YYID(0)) |
| | #endif |
| |
|
| |
|
| | |
| | |
| | |
| |
|
| | #ifndef YY_LOCATION_PRINT |
| | # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL |
| | # define YY_LOCATION_PRINT(File, Loc) \ |
| | fprintf(File, "%d.%d-%d.%d", (Loc).first_line, (Loc).first_column, (Loc).last_line, (Loc).last_column) |
| | # else |
| | # define YY_LOCATION_PRINT(File, Loc) ((void)0) |
| | # endif |
| | #endif |
| |
|
| |
|
| | |
| |
|
| | #ifdef YYLEX_PARAM |
| | # define YYLEX yylex(YYLEX_PARAM) |
| | #else |
| | # define YYLEX yylex() |
| | #endif |
| |
|
| | |
| | #if YYDEBUG |
| |
|
| | # ifndef YYFPRINTF |
| | # include <stdio.h> |
| | # define YYFPRINTF fprintf |
| | # endif |
| |
|
| | # define YYDPRINTF(Args) \ |
| | do { \ |
| | if (yydebug) \ |
| | YYFPRINTF Args; \ |
| | } while (YYID(0)) |
| |
|
| | # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ |
| | do { \ |
| | if (yydebug) { \ |
| | YYFPRINTF(stderr, "%s ", Title); \ |
| | yy_symbol_print(stderr, Type, Value); \ |
| | YYFPRINTF(stderr, "\n"); \ |
| | } \ |
| | } while (YYID(0)) |
| |
|
| |
|
| | |
| | |
| | |
| |
|
| | |
| | # if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | static void yy_symbol_value_print(FILE* yyoutput, int yytype, YYSTYPE const* const yyvaluep) |
| | # else |
| | static void yy_symbol_value_print(yyoutput, yytype, yyvaluep) FILE* yyoutput; |
| | int yytype; |
| | YYSTYPE const* const yyvaluep; |
| | # endif |
| | { |
| | if (!yyvaluep) { |
| | return; |
| | } |
| | # ifdef YYPRINT |
| | if (yytype < YYNTOKENS) { |
| | YYPRINT(yyoutput, yytoknum[yytype], *yyvaluep); |
| | } |
| | # else |
| | YYUSE(yyoutput); |
| | # endif |
| | switch (yytype) { |
| | default: |
| | break; |
| | } |
| | } |
| |
|
| |
|
| | |
| | |
| | |
| |
|
| | # if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | static void yy_symbol_print(FILE* yyoutput, int yytype, YYSTYPE const* const yyvaluep) |
| | # else |
| | static void yy_symbol_print(yyoutput, yytype, yyvaluep) FILE* yyoutput; |
| | int yytype; |
| | YYSTYPE const* const yyvaluep; |
| | # endif |
| | { |
| | if (yytype < YYNTOKENS) { |
| | YYFPRINTF(yyoutput, "token %s (", yytname[yytype]); |
| | } |
| | else { |
| | YYFPRINTF(yyoutput, "nterm %s (", yytname[yytype]); |
| | } |
| |
|
| | yy_symbol_value_print(yyoutput, yytype, yyvaluep); |
| | YYFPRINTF(yyoutput, ")"); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| |
|
| | # if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | static void yy_stack_print(yytype_int16* yybottom, yytype_int16* yytop) |
| | # else |
| | static void yy_stack_print(yybottom, yytop) yytype_int16* yybottom; |
| | yytype_int16* yytop; |
| | # endif |
| | { |
| | 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 (YYID(0)) |
| |
|
| |
|
| | |
| | |
| | |
| |
|
| | # if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | static void yy_reduce_print(YYSTYPE* yyvsp, int yyrule) |
| | # else |
| | static void yy_reduce_print(yyvsp, yyrule) YYSTYPE* yyvsp; |
| | int yyrule; |
| | # endif |
| | { |
| | int yynrhs = yyr2[yyrule]; |
| | int yyi; |
| | unsigned long int yylno = yyrline[yyrule]; |
| | YYFPRINTF(stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); |
| | |
| | for (yyi = 0; yyi < yynrhs; yyi++) { |
| | YYFPRINTF(stderr, " $%d = ", yyi + 1); |
| | yy_symbol_print(stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)])); |
| | YYFPRINTF(stderr, "\n"); |
| | } |
| | } |
| |
|
| | # define YY_REDUCE_PRINT(Rule) \ |
| | do { \ |
| | if (yydebug) \ |
| | yy_reduce_print(yyvsp, Rule); \ |
| | } while (YYID(0)) |
| |
|
| | |
| | |
| | int yydebug; |
| | #else |
| | # define YYDPRINTF(Args) |
| | # define YY_SYMBOL_PRINT(Title, Type, Value, Location) |
| | # define YY_STACK_PRINT(Bottom, Top) |
| | # define YY_REDUCE_PRINT(Rule) |
| | #endif |
| |
|
| |
|
| | |
| | #ifndef YYINITDEPTH |
| | # define YYINITDEPTH 200 |
| | #endif |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #ifndef YYMAXDEPTH |
| | # define YYMAXDEPTH 10000 |
| | #endif |
| |
|
| |
|
| | #if YYERROR_VERBOSE |
| |
|
| | # ifndef yystrlen |
| | # if defined __GLIBC__ && defined _STRING_H |
| | # define yystrlen strlen |
| | # else |
| | |
| | # if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | static YYSIZE_T yystrlen(const char* yystr) |
| | # else |
| | static YYSIZE_T yystrlen(yystr) const char* yystr; |
| | # endif |
| | { |
| | 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 |
| | |
| | |
| | # if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | static char* yystpcpy(char* yydest, const char* yysrc) |
| | # else |
| | static char* yystpcpy(yydest, yysrc) |
| | char* yydest; |
| | const char* yysrc; |
| | # endif |
| | { |
| | char* yyd = yydest; |
| | const char* yys = yysrc; |
| |
|
| | while ((*yyd++ = *yys++) != '\0') { |
| | continue; |
| | } |
| |
|
| | return yyd - 1; |
| | } |
| | # endif |
| | # endif |
| |
|
| | # ifndef yytnamerr |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | 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; |
| | } |
| | |
| | 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 |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | static YYSIZE_T yysyntax_error(char* yyresult, int yystate, int yychar) |
| | { |
| | int yyn = yypact[yystate]; |
| |
|
| | if (!(YYPACT_NINF < yyn && yyn <= YYLAST)) { |
| | return 0; |
| | } |
| | else { |
| | int yytype = YYTRANSLATE(yychar); |
| | YYSIZE_T yysize0 = yytnamerr(0, yytname[yytype]); |
| | YYSIZE_T yysize = yysize0; |
| | YYSIZE_T yysize1; |
| | int yysize_overflow = 0; |
| | enum |
| | { |
| | YYERROR_VERBOSE_ARGS_MAXIMUM = 5 |
| | }; |
| | char const* yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; |
| | int yyx; |
| |
|
| | # if 0 |
| | |
| | |
| | YY_("syntax error, unexpected %s"); |
| | YY_("syntax error, unexpected %s, expecting %s"); |
| | YY_("syntax error, unexpected %s, expecting %s or %s"); |
| | YY_("syntax error, unexpected %s, expecting %s or %s or %s"); |
| | YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); |
| | # endif |
| | char* yyfmt; |
| | char const* yyf; |
| | static char const yyunexpected[] = "Selection Filter: syntax error, unexpected %s"; |
| | static char const yyexpecting[] = ", expecting %s"; |
| | static char const yyor[] = " or %s"; |
| | char yyformat |
| | [sizeof yyunexpected + sizeof yyexpecting - 1 |
| | + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; |
| | char const* yyprefix = yyexpecting; |
| |
|
| | |
| | |
| | int yyxbegin = yyn < 0 ? -yyn : 0; |
| |
|
| | |
| | int yychecklim = YYLAST - yyn + 1; |
| | int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; |
| | int yycount = 1; |
| |
|
| | yyarg[0] = yytname[yytype]; |
| | yyfmt = yystpcpy(yyformat, yyunexpected); |
| |
|
| | for (yyx = yyxbegin; yyx < yyxend; ++yyx) { |
| | if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { |
| | if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { |
| | yycount = 1; |
| | yysize = yysize0; |
| | yyformat[sizeof yyunexpected - 1] = '\0'; |
| | break; |
| | } |
| | yyarg[yycount++] = yytname[yyx]; |
| | yysize1 = yysize + yytnamerr(0, yytname[yyx]); |
| | yysize_overflow |= (yysize1 < yysize); |
| | yysize = yysize1; |
| | yyfmt = yystpcpy(yyfmt, yyprefix); |
| | yyprefix = yyor; |
| | } |
| | } |
| |
|
| | yyf = YY_(yyformat); |
| | yysize1 = yysize + yystrlen(yyf); |
| | yysize_overflow |= (yysize1 < yysize); |
| | yysize = yysize1; |
| |
|
| | if (yysize_overflow) { |
| | return YYSIZE_MAXIMUM; |
| | } |
| |
|
| | if (yyresult) { |
| | |
| | |
| | |
| | char* yyp = yyresult; |
| | int yyi = 0; |
| | while ((*yyp = *yyf) != '\0') { |
| | if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { |
| | yyp += yytnamerr(yyp, yyarg[yyi++]); |
| | yyf += 2; |
| | } |
| | else { |
| | yyp++; |
| | yyf++; |
| | } |
| | } |
| | } |
| | return yysize; |
| | } |
| | } |
| | #endif |
| |
|
| |
|
| | |
| | |
| | |
| |
|
| | |
| | #if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | static void yydestruct(const char* yymsg, int yytype, YYSTYPE* yyvaluep) |
| | #else |
| | static void yydestruct(yymsg, yytype, yyvaluep) const char* yymsg; |
| | int yytype; |
| | YYSTYPE* yyvaluep; |
| | #endif |
| | { |
| | YYUSE(yyvaluep); |
| |
|
| | if (!yymsg) { |
| | yymsg = "Deleting"; |
| | } |
| | YY_SYMBOL_PRINT(yymsg, yytype, yyvaluep, yylocationp); |
| |
|
| | switch (yytype) { |
| |
|
| | default: |
| | break; |
| | } |
| | } |
| |
|
| | |
| | #ifdef YYPARSE_PARAM |
| | # if defined __STDC__ || defined __cplusplus |
| | int yyparse(void* YYPARSE_PARAM); |
| | # else |
| | int yyparse(); |
| | # endif |
| | #else |
| | # if defined __STDC__ || defined __cplusplus |
| | int yyparse(void); |
| | # else |
| | int yyparse(); |
| | # endif |
| | #endif |
| |
|
| |
|
| | |
| | int yychar; |
| |
|
| | |
| | YYSTYPE yylval; |
| |
|
| | |
| | int yynerrs; |
| |
|
| |
|
| | |
| | |
| | |
| |
|
| | #ifdef YYPARSE_PARAM |
| | # if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | int yyparse(void* YYPARSE_PARAM) |
| | # else |
| | int yyparse(YYPARSE_PARAM) void* YYPARSE_PARAM; |
| | # endif |
| | #else |
| | # if (defined __STDC__ || defined __C99__FUNC__ || defined __cplusplus || defined _MSC_VER) |
| | int yyparse(void) |
| | # else |
| | int yyparse() |
| |
|
| | # endif |
| | #endif |
| | { |
| |
|
| |
|
| | int yystate; |
| | |
| | int yyerrstatus; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | yytype_int16 yyssa[YYINITDEPTH]; |
| | yytype_int16* yyss; |
| | yytype_int16* yyssp; |
| |
|
| | |
| | YYSTYPE yyvsa[YYINITDEPTH]; |
| | YYSTYPE* yyvs; |
| | YYSTYPE* yyvsp; |
| |
|
| | YYSIZE_T yystacksize; |
| |
|
| | int yyn; |
| | int yyresult; |
| | |
| | int yytoken; |
| | |
| | |
| | YYSTYPE yyval; |
| |
|
| | #if YYERROR_VERBOSE |
| | |
| | char yymsgbuf[128]; |
| | char* yymsg = yymsgbuf; |
| | YYSIZE_T yymsg_alloc = sizeof yymsgbuf; |
| | #endif |
| |
|
| | #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
| |
|
| | |
| | |
| | int yylen = 0; |
| |
|
| | yytoken = 0; |
| | yyss = yyssa; |
| | yyvs = yyvsa; |
| | yystacksize = YYINITDEPTH; |
| |
|
| | YYDPRINTF((stderr, "Starting parse\n")); |
| |
|
| | yystate = 0; |
| | yyerrstatus = 0; |
| | yynerrs = 0; |
| | yychar = YYEMPTY; |
| |
|
| | |
| | |
| | |
| | |
| | yyssp = yyss; |
| | yyvsp = yyvs; |
| |
|
| | goto yysetstate; |
| |
|
| | |
| | |
| | |
| | yynewstate: |
| | |
| | |
| | yyssp++; |
| |
|
| | yysetstate: |
| | *yyssp = yystate; |
| |
|
| | if (yyss + yystacksize - 1 <= yyssp) { |
| | |
| | YYSIZE_T yysize = yyssp - yyss + 1; |
| |
|
| | #ifdef yyoverflow |
| | { |
| | |
| | |
| | |
| | YYSTYPE* yyvs1 = yyvs; |
| | yytype_int16* yyss1 = yyss; |
| |
|
| | |
| | |
| | |
| | |
| | yyoverflow( |
| | YY_("memory exhausted"), |
| | &yyss1, |
| | yysize * sizeof(*yyssp), |
| | &yyvs1, |
| | yysize * sizeof(*yyvsp), |
| | &yystacksize |
| | ); |
| |
|
| | yyss = yyss1; |
| | yyvs = yyvs1; |
| | } |
| | #else |
| | # ifndef YYSTACK_RELOCATE |
| | goto yyexhaustedlab; |
| | # else |
| | |
| | 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 |
| |
|
| | 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: |
| |
|
| | |
| | |
| |
|
| | |
| | yyn = yypact[yystate]; |
| | if (yyn == YYPACT_NINF) { |
| | goto yydefault; |
| | } |
| |
|
| | |
| |
|
| | |
| | if (yychar == YYEMPTY) { |
| | YYDPRINTF((stderr, "Reading a token: ")); |
| | yychar = YYLEX; |
| | } |
| |
|
| | 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); |
| | } |
| |
|
| | |
| | |
| | yyn += yytoken; |
| | if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) { |
| | goto yydefault; |
| | } |
| | yyn = yytable[yyn]; |
| | if (yyn <= 0) { |
| | if (yyn == 0 || yyn == YYTABLE_NINF) { |
| | goto yyerrlab; |
| | } |
| | yyn = -yyn; |
| | goto yyreduce; |
| | } |
| |
|
| | |
| | |
| | if (yyerrstatus) { |
| | yyerrstatus--; |
| | } |
| |
|
| | |
| | YY_SYMBOL_PRINT("Shifting", yytoken, &yylval, &yylloc); |
| |
|
| | |
| | yychar = YYEMPTY; |
| |
|
| | yystate = yyn; |
| | *++yyvsp = yylval; |
| |
|
| | goto yynewstate; |
| |
|
| |
|
| | |
| | |
| | |
| | yydefault: |
| | yyn = yydefact[yystate]; |
| | if (yyn == 0) { |
| | goto yyerrlab; |
| | } |
| | goto yyreduce; |
| |
|
| |
|
| | |
| | |
| | |
| | yyreduce: |
| | |
| | yylen = yyr2[yyn]; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | yyval = yyvsp[1 - yylen]; |
| |
|
| |
|
| | YY_REDUCE_PRINT(yyn); |
| | switch (yyn) { |
| | case 2: |
| |
|
| | |
| | #line 39 "SelectionFilter.y" |
| | { |
| | (yyval.string) = (yyvsp[(2) - (2)].string); |
| | } break; |
| |
|
| | case 3: |
| |
|
| | |
| | #line 40 "SelectionFilter.y" |
| | { |
| | (yyval.string) = StringFactory::New( |
| | *(yyvsp[(2) - (4)].string) + "::" + *(yyvsp[(4) - (4)].string) |
| | ); |
| | } break; |
| |
|
| | case 4: |
| |
|
| | |
| | #line 42 "SelectionFilter.y" |
| | { |
| | (yyval.string) = 0; |
| | } break; |
| |
|
| | case 5: |
| |
|
| | |
| | #line 43 "SelectionFilter.y" |
| | { |
| | (yyval.string) = (yyvsp[(2) - (2)].string); |
| | } break; |
| |
|
| | case 6: |
| |
|
| | |
| | #line 45 "SelectionFilter.y" |
| | { |
| | (yyval.slice) = 0; |
| | } break; |
| |
|
| | case 7: |
| |
|
| | |
| | #line 46 "SelectionFilter.y" |
| | { |
| | (yyval.slice) = new Node_Slice((yyvsp[(2) - (4)].number), (yyvsp[(4) - (4)].number)); |
| | } break; |
| |
|
| | case 8: |
| |
|
| | |
| | #line 47 "SelectionFilter.y" |
| | { |
| | (yyval.slice) = new Node_Slice((yyvsp[(2) - (3)].number)); |
| | } break; |
| |
|
| | case 9: |
| |
|
| | |
| | #line 48 "SelectionFilter.y" |
| | { |
| | (yyval.slice) = new Node_Slice((yyvsp[(2) - (2)].number), (yyvsp[(2) - (2)].number)); |
| | } break; |
| |
|
| | case 10: |
| |
|
| | |
| | #line 50 "SelectionFilter.y" |
| | { |
| | (yyval.object) = new Node_Object( |
| | (yyvsp[(1) - (3)].string), |
| | (yyvsp[(2) - (3)].string), |
| | (yyvsp[(3) - (3)].slice) |
| | ); |
| | } break; |
| |
|
| | case 11: |
| |
|
| | |
| | #line 52 "SelectionFilter.y" |
| | { |
| | (yyval.block) = new Node_Block((yyvsp[(1) - (1)].object)); |
| | ; |
| | } break; |
| |
|
| | case 12: |
| |
|
| | |
| | #line 53 "SelectionFilter.y" |
| | { |
| | (yyval.block) = (yyvsp[(1) - (2)].block); |
| | (yyval.block)->Objects.emplace_back((yyvsp[(2) - (2)].object)); |
| | ; |
| | } break; |
| |
|
| | case 13: |
| |
|
| | |
| | #line 55 "SelectionFilter.y" |
| | { |
| | (yyval.block) = (yyvsp[(1) - (1)].block); |
| | } break; |
| |
|
| | case 14: |
| |
|
| | |
| | #line 57 "SelectionFilter.y" |
| | { |
| | TopBlock = (yyvsp[(1) - (1)].block); |
| | } break; |
| |
|
| |
|
| | |
| | #line 1432 "SelectionFilter.tab.c" |
| | default: |
| | break; |
| | } |
| | YY_SYMBOL_PRINT("-> $$ =", yyr1[yyn], &yyval, &yyloc); |
| |
|
| | YYPOPSTACK(yylen); |
| | yylen = 0; |
| | YY_STACK_PRINT(yyss, yyssp); |
| |
|
| | *++yyvsp = yyval; |
| |
|
| | |
| | |
| | |
| |
|
| | 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: |
| | |
| | if (!yyerrstatus) { |
| | ++yynerrs; |
| | #if !YYERROR_VERBOSE |
| | yyerror(YY_("Selection Filter: syntax error")); |
| | #else |
| | { |
| | YYSIZE_T yysize = yysyntax_error(0, yystate, yychar); |
| | if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { |
| | YYSIZE_T yyalloc = 2 * yysize; |
| | if (!(yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) { |
| | yyalloc = YYSTACK_ALLOC_MAXIMUM; |
| | } |
| | if (yymsg != yymsgbuf) { |
| | YYSTACK_FREE(yymsg); |
| | } |
| | yymsg = (char*)YYSTACK_ALLOC(yyalloc); |
| | if (yymsg) { |
| | yymsg_alloc = yyalloc; |
| | } |
| | else { |
| | yymsg = yymsgbuf; |
| | yymsg_alloc = sizeof yymsgbuf; |
| | } |
| | } |
| |
|
| | if (0 < yysize && yysize <= yymsg_alloc) { |
| | (void)yysyntax_error(yymsg, yystate, yychar); |
| | yyerror(yymsg); |
| | } |
| | else { |
| | yyerror(YY_("Selection Filter: syntax error")); |
| | if (yysize != 0) { |
| | goto yyexhaustedlab; |
| | } |
| | } |
| | } |
| | #endif |
| | } |
| |
|
| |
|
| | if (yyerrstatus == 3) { |
| | |
| | |
| |
|
| | if (yychar <= YYEOF) { |
| | |
| | if (yychar == YYEOF) { |
| | YYABORT; |
| | } |
| | } |
| | else { |
| | yydestruct("Error: discarding", yytoken, &yylval); |
| | yychar = YYEMPTY; |
| | } |
| | } |
| |
|
| | |
| | |
| | goto yyerrlab1; |
| |
|
| |
|
| | |
| | |
| | |
| | yyerrorlab: |
| |
|
| | |
| | |
| | |
| | if ( 0) { |
| | goto yyerrorlab; |
| | } |
| |
|
| | |
| | |
| | YYPOPSTACK(yylen); |
| | yylen = 0; |
| | YY_STACK_PRINT(yyss, yyssp); |
| | yystate = *yyssp; |
| | goto yyerrlab1; |
| |
|
| |
|
| | |
| | |
| | |
| | yyerrlab1: |
| | yyerrstatus = 3; |
| |
|
| | for (;;) { |
| | yyn = yypact[yystate]; |
| | if (yyn != YYPACT_NINF) { |
| | yyn += YYTERROR; |
| | if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { |
| | yyn = yytable[yyn]; |
| | if (0 < yyn) { |
| | break; |
| | } |
| | } |
| | } |
| |
|
| | |
| | if (yyssp == yyss) { |
| | YYABORT; |
| | } |
| |
|
| |
|
| | yydestruct("Error: popping", yystos[yystate], yyvsp); |
| | YYPOPSTACK(1); |
| | yystate = *yyssp; |
| | YY_STACK_PRINT(yyss, yyssp); |
| | } |
| |
|
| | *++yyvsp = yylval; |
| |
|
| |
|
| | |
| | YY_SYMBOL_PRINT("Shifting", yystos[yyn], yyvsp, yylsp); |
| |
|
| | yystate = yyn; |
| | goto yynewstate; |
| |
|
| |
|
| | |
| | |
| | |
| | yyacceptlab: |
| | yyresult = 0; |
| | goto yyreturn; |
| |
|
| | |
| | |
| | |
| | yyabortlab: |
| | yyresult = 1; |
| | goto yyreturn; |
| |
|
| | #if !defined(yyoverflow) || YYERROR_VERBOSE |
| | |
| | |
| | |
| | yyexhaustedlab: |
| | yyerror(YY_("memory exhausted")); |
| | yyresult = 2; |
| | |
| | #endif |
| |
|
| | yyreturn: |
| | if (yychar != YYEMPTY) { |
| | yydestruct("Cleanup: discarding lookahead", yytoken, &yylval); |
| | } |
| | |
| | |
| | YYPOPSTACK(yylen); |
| | YY_STACK_PRINT(yyss, yyssp); |
| | while (yyssp != yyss) { |
| | yydestruct("Cleanup: popping", yystos[*yyssp], yyvsp); |
| | YYPOPSTACK(1); |
| | } |
| | #ifndef yyoverflow |
| | if (yyss != yyssa) { |
| | YYSTACK_FREE(yyss); |
| | } |
| | #endif |
| | #if YYERROR_VERBOSE |
| | if (yymsg != yymsgbuf) { |
| | YYSTACK_FREE(yymsg); |
| | } |
| | #endif |
| | |
| | return YYID(yyresult); |
| | } |
| |
|
| |
|
| | |
| | #line 61 "SelectionFilter.y" |
| |
|