ddc
yyQParser.h
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.3.2. */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
6  Inc.
7 
8  This program is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program. If not, see <http://www.gnu.org/licenses/>. */
20 
21 /* As a special exception, you may create a larger work that contains
22  part or all of the Bison parser skeleton and distribute that work
23  under terms of your choice, so long as that work isn't itself a
24  parser generator using the skeleton or a modified version thereof
25  as a parser skeleton. Alternatively, if you modify or redistribute
26  the parser skeleton itself, you may (at your option) remove this
27  special exception, which will cause the skeleton and the resulting
28  Bison output files to be licensed under the GNU General Public
29  License without this special exception.
30 
31  This special exception was added by the Free Software Foundation in
32  version 2.2 of Bison. */
33 
34 /* Undocumented macros, especially those whose name start with YY_,
35  are private implementation details. Do not rely on them. */
36 
37 #ifndef YY_YYQ_YYQPARSER_H_INCLUDED
38 # define YY_YYQ_YYQPARSER_H_INCLUDED
39 /* Debug traces. */
40 #ifndef YYDEBUG
41 # define YYDEBUG 0
42 #endif
43 #if YYDEBUG
44 extern int yyqdebug;
45 #endif
46 
47 /* Token type. */
48 #ifndef YYTOKENTYPE
49 # define YYTOKENTYPE
51  {
52  SYMBOL = 258,
53  INDEX = 259,
54  REGEX = 260,
55  NEG_REGEX = 261,
56  REGOPT = 262,
57  REGEX_SEARCH = 263,
59  INTEGER = 265,
60  DATE = 266,
61  PREFIX = 267,
62  SUFFIX = 268,
63  INFIX = 269,
64  AT_LBRACE = 270,
65  COLON_LBRACE = 271,
66  STAR_LBRACE = 272,
67  RBRACE_STAR = 273,
68  EXPANDER = 274,
69  HASH_LESS = 275,
70  HASH_GREATER = 276,
71  HASH_EQUAL = 277,
72  DOLLAR_DOT = 278,
73  KW_COMMENT = 279,
74  CNTXT = 280,
75  WITHIN = 281,
78  HAS_FIELD = 284,
81  LESS_BY_RANK = 287,
83  LESS_BY_SIZE = 289,
84  IS_SIZE = 290,
86  LESS_BY_DATE = 292,
87  IS_DATE = 293,
88  GREATER_BY = 294,
89  LESS_BY = 295,
90  LESS_BY_LEFT = 296,
96  DEBUG_RANK = 302,
97  RANDOM = 303,
98  BY = 304,
99  SAMPLE = 305,
100  LESS_BY_KEY = 306,
104  PRUNE_ASC = 310,
105  PRUNE_DESC = 311,
106  CLIMIT = 312,
107  KW_DATE = 313,
108  KW_FILEID = 314,
109  KW_FILENAME = 315,
116  OP_PHRASE = 322,
117  OP_WORD = 323,
118  OP_BOOL_AND = 324,
119  OP_BOOL_OR = 325,
120  COUNT = 326,
121  KEYS = 327,
122  NEAR = 328,
123  WITH = 329,
124  WITHOUT = 330,
125  WITHOR = 331
126  };
127 #endif
128 
129 /* Value type. */
130 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
131 
132 union YYSTYPE
133 {
134 #line 88 "yyQParser.y" /* yacc.c:1921 */
135 
136  std::string* m_str; /* For returning simple strings */
137  int m_int; /* For returning integers */
138  class CQuery* m_pnode; /* For returning basic query nodes */
139  class CQFilter* m_pfilt; /* For returning single query filters */
140 
141 #line 142 "yyQParser.h" /* yacc.c:1921 */
142 };
143 
144 typedef union YYSTYPE YYSTYPE;
145 # define YYSTYPE_IS_TRIVIAL 1
146 # define YYSTYPE_IS_DECLARED 1
147 #endif
148 
149 
150 
151 int yyqparse (CQueryCompiler* _qcompiler);
152 
153 #endif /* !YY_YYQ_YYQPARSER_H_INCLUDED */
Definition: yyQParser.h:123
Definition: yyQParser.h:115
Definition: yyQParser.h:71
Definition: yyQParser.h:93
Definition: yyQParser.h:72
Definition: yyQParser.h:114
Definition: yyQParser.h:90
Definition: yyQParser.h:111
Definition: yyQParser.h:59
Definition: yyQParser.h:106
Definition: yyQParser.h:120
Definition: yyQParser.h:69
Definition: yyQParser.h:125
Definition: yyQParser.h:122
std::string * m_str
Definition: yyQParser.h:136
Definition: yyQParser.h:85
int yyqparse(CQueryCompiler *_qcompiler)
Definition: yyQParser.cpp:1548
Definition: yyQParser.h:124
class for global query filters aka "query operators"
Definition: QueryFilter.h:35
Definition: yyQParser.h:82
Definition: yyQParser.h:77
Definition: yyQParser.h:113
Definition: yyQParser.h:61
Definition: yyQParser.h:100
Definition: yyQParser.h:95
Definition: yyQParser.h:108
Definition: yyQParser.h:58
Definition: yyQParser.h:74
Definition: yyQParser.h:54
Definition: yyQParser.h:89
Definition: yyQParser.h:78
Definition: yyQParser.h:86
Definition: yyQParser.h:55
Definition: yyQParser.h:79
Definition: yyQParser.h:118
Definition: yyQParser.h:91
class CQFilter * m_pfilt
Definition: yyQParser.h:139
Definition: yyQParser.h:84
Definition: yyQParser.h:57
Definition: yyQParser.h:83
Definition: yyQParser.h:98
Definition: yyQParser.h:121
int yyqdebug
Definition: yyQParser.h:76
Definition: yyQParser.h:105
Definition: yyQParser.h:116
Definition: yyQParser.h:75
int m_int
Definition: yyQParser.h:137
Definition: yyQParser.h:97
class CQuery * m_pnode
Definition: yyQParser.h:138
Definition: yyQParser.h:52
Definition: yyQParser.h:80
Definition: yyQParser.h:109
Definition: yyQParser.h:103
Definition: yyQParser.h:104
Definition: yyQParser.h:63
Definition: yyQParser.h:56
Definition: yyQParser.h:99
Definition: yyQParser.h:53
Definition: QueryCompiler.h:50
Definition: yyQParser.h:67
Definition: yyQParser.h:94
Definition: yyQParser.h:110
Definition: yyQParser.h:96
Definition: yyQParser.h:73
Definition: yyQParser.h:62
Definition: yyQParser.h:132
Definition: yyQParser.h:101
Definition: yyQParser.h:117
Definition: yyQParser.h:60
yytokentype
Definition: yyQParser.h:50
Definition: yyQParser.h:65
Definition: yyQParser.h:107
Definition: yyQParser.h:66
Definition: yyQParser.h:87
Definition: yyQParser.h:88
Definition: yyQParser.h:102
Definition: yyQParser.h:92
Definition: yyQParser.h:70
Definition: yyQParser.h:81
Definition: yyQParser.h:64
Definition: yyQParser.h:112
Definition: yyQParser.h:68
Truly abstract (index-independent) representation of a parsed query Should eventually replace old ad...
Definition: Query.h:36
Definition: yyQParser.h:119