1 /* A Bison parser, made by GNU Bison 3.7.4.  */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 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 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35    especially those whose name start with YY_ or yy_.  They are
36    private implementation details that can be changed or removed.  */
37 
38 #ifndef YY_YY_MATCHER_PARSER_PARSE_H_INCLUDED
39 # define YY_YY_MATCHER_PARSER_PARSE_H_INCLUDED
40 /* Debug traces.  */
41 #ifndef YYDEBUG
42 # define YYDEBUG 0
43 #endif
44 #if YYDEBUG
45 extern int yydebug;
46 #endif
47 
48 /* Token kinds.  */
49 #ifndef YYTOKENTYPE
50 # define YYTOKENTYPE
51   enum yytokentype
52   {
53     YYEMPTY = -2,
54     YYEOF = 0,                     /* "end of file"  */
55     YYerror = 256,                 /* error  */
56     YYUNDEF = 257,                 /* "invalid token"  */
57     MATCHER_ALL = 258,             /* MATCHER_ALL  */
58     MATCHER_UNREAD = 259,          /* MATCHER_UNREAD  */
59     MATCHER_NOT_UNREAD = 260,      /* MATCHER_NOT_UNREAD  */
60     MATCHER_NEW = 261,             /* MATCHER_NEW  */
61     MATCHER_NOT_NEW = 262,         /* MATCHER_NOT_NEW  */
62     MATCHER_MARKED = 263,          /* MATCHER_MARKED  */
63     MATCHER_NOT_MARKED = 264,      /* MATCHER_NOT_MARKED  */
64     MATCHER_DELETED = 265,         /* MATCHER_DELETED  */
65     MATCHER_NOT_DELETED = 266,     /* MATCHER_NOT_DELETED  */
66     MATCHER_REPLIED = 267,         /* MATCHER_REPLIED  */
67     MATCHER_NOT_REPLIED = 268,     /* MATCHER_NOT_REPLIED  */
68     MATCHER_FORWARDED = 269,       /* MATCHER_FORWARDED  */
69     MATCHER_NOT_FORWARDED = 270,   /* MATCHER_NOT_FORWARDED  */
70     MATCHER_SUBJECT = 271,         /* MATCHER_SUBJECT  */
71     MATCHER_NOT_SUBJECT = 272,     /* MATCHER_NOT_SUBJECT  */
72     MATCHER_FROM = 273,            /* MATCHER_FROM  */
73     MATCHER_NOT_FROM = 274,        /* MATCHER_NOT_FROM  */
74     MATCHER_TO = 275,              /* MATCHER_TO  */
75     MATCHER_NOT_TO = 276,          /* MATCHER_NOT_TO  */
76     MATCHER_CC = 277,              /* MATCHER_CC  */
77     MATCHER_NOT_CC = 278,          /* MATCHER_NOT_CC  */
78     MATCHER_TO_OR_CC = 279,        /* MATCHER_TO_OR_CC  */
79     MATCHER_NOT_TO_AND_NOT_CC = 280, /* MATCHER_NOT_TO_AND_NOT_CC  */
80     MATCHER_AGE_GREATER = 281,     /* MATCHER_AGE_GREATER  */
81     MATCHER_AGE_LOWER = 282,       /* MATCHER_AGE_LOWER  */
82     MATCHER_NEWSGROUPS = 283,      /* MATCHER_NEWSGROUPS  */
83     MATCHER_AGE_GREATER_HOURS = 284, /* MATCHER_AGE_GREATER_HOURS  */
84     MATCHER_AGE_LOWER_HOURS = 285, /* MATCHER_AGE_LOWER_HOURS  */
85     MATCHER_DATE_AFTER = 286,      /* MATCHER_DATE_AFTER  */
86     MATCHER_DATE_BEFORE = 287,     /* MATCHER_DATE_BEFORE  */
87     MATCHER_NOT_NEWSGROUPS = 288,  /* MATCHER_NOT_NEWSGROUPS  */
88     MATCHER_INREPLYTO = 289,       /* MATCHER_INREPLYTO  */
89     MATCHER_NOT_INREPLYTO = 290,   /* MATCHER_NOT_INREPLYTO  */
90     MATCHER_MESSAGEID = 291,       /* MATCHER_MESSAGEID  */
91     MATCHER_NOT_MESSAGEID = 292,   /* MATCHER_NOT_MESSAGEID  */
92     MATCHER_REFERENCES = 293,      /* MATCHER_REFERENCES  */
93     MATCHER_NOT_REFERENCES = 294,  /* MATCHER_NOT_REFERENCES  */
94     MATCHER_SCORE_GREATER = 295,   /* MATCHER_SCORE_GREATER  */
95     MATCHER_SCORE_LOWER = 296,     /* MATCHER_SCORE_LOWER  */
96     MATCHER_HEADER = 297,          /* MATCHER_HEADER  */
97     MATCHER_NOT_HEADER = 298,      /* MATCHER_NOT_HEADER  */
98     MATCHER_HEADERS_PART = 299,    /* MATCHER_HEADERS_PART  */
99     MATCHER_NOT_HEADERS_PART = 300, /* MATCHER_NOT_HEADERS_PART  */
100     MATCHER_MESSAGE = 301,         /* MATCHER_MESSAGE  */
101     MATCHER_HEADERS_CONT = 302,    /* MATCHER_HEADERS_CONT  */
102     MATCHER_NOT_HEADERS_CONT = 303, /* MATCHER_NOT_HEADERS_CONT  */
103     MATCHER_NOT_MESSAGE = 304,     /* MATCHER_NOT_MESSAGE  */
104     MATCHER_BODY_PART = 305,       /* MATCHER_BODY_PART  */
105     MATCHER_NOT_BODY_PART = 306,   /* MATCHER_NOT_BODY_PART  */
106     MATCHER_TEST = 307,            /* MATCHER_TEST  */
107     MATCHER_NOT_TEST = 308,        /* MATCHER_NOT_TEST  */
108     MATCHER_MATCHCASE = 309,       /* MATCHER_MATCHCASE  */
109     MATCHER_MATCH = 310,           /* MATCHER_MATCH  */
110     MATCHER_REGEXPCASE = 311,      /* MATCHER_REGEXPCASE  */
111     MATCHER_REGEXP = 312,          /* MATCHER_REGEXP  */
112     MATCHER_SCORE = 313,           /* MATCHER_SCORE  */
113     MATCHER_MOVE = 314,            /* MATCHER_MOVE  */
114     MATCHER_FOUND_IN_ADDRESSBOOK = 315, /* MATCHER_FOUND_IN_ADDRESSBOOK  */
115     MATCHER_NOT_FOUND_IN_ADDRESSBOOK = 316, /* MATCHER_NOT_FOUND_IN_ADDRESSBOOK  */
116     MATCHER_IN = 317,              /* MATCHER_IN  */
117     MATCHER_COPY = 318,            /* MATCHER_COPY  */
118     MATCHER_DELETE = 319,          /* MATCHER_DELETE  */
119     MATCHER_MARK = 320,            /* MATCHER_MARK  */
120     MATCHER_UNMARK = 321,          /* MATCHER_UNMARK  */
121     MATCHER_LOCK = 322,            /* MATCHER_LOCK  */
122     MATCHER_UNLOCK = 323,          /* MATCHER_UNLOCK  */
123     MATCHER_EXECUTE = 324,         /* MATCHER_EXECUTE  */
124     MATCHER_MARK_AS_READ = 325,    /* MATCHER_MARK_AS_READ  */
125     MATCHER_MARK_AS_UNREAD = 326,  /* MATCHER_MARK_AS_UNREAD  */
126     MATCHER_FORWARD = 327,         /* MATCHER_FORWARD  */
127     MATCHER_MARK_AS_SPAM = 328,    /* MATCHER_MARK_AS_SPAM  */
128     MATCHER_MARK_AS_HAM = 329,     /* MATCHER_MARK_AS_HAM  */
129     MATCHER_FORWARD_AS_ATTACHMENT = 330, /* MATCHER_FORWARD_AS_ATTACHMENT  */
130     MATCHER_EOL = 331,             /* MATCHER_EOL  */
131     MATCHER_OR = 332,              /* MATCHER_OR  */
132     MATCHER_AND = 333,             /* MATCHER_AND  */
133     MATCHER_COLOR = 334,           /* MATCHER_COLOR  */
134     MATCHER_SCORE_EQUAL = 335,     /* MATCHER_SCORE_EQUAL  */
135     MATCHER_REDIRECT = 336,        /* MATCHER_REDIRECT  */
136     MATCHER_SIZE_GREATER = 337,    /* MATCHER_SIZE_GREATER  */
137     MATCHER_SIZE_SMALLER = 338,    /* MATCHER_SIZE_SMALLER  */
138     MATCHER_SIZE_EQUAL = 339,      /* MATCHER_SIZE_EQUAL  */
139     MATCHER_LOCKED = 340,          /* MATCHER_LOCKED  */
140     MATCHER_NOT_LOCKED = 341,      /* MATCHER_NOT_LOCKED  */
141     MATCHER_PARTIAL = 342,         /* MATCHER_PARTIAL  */
142     MATCHER_NOT_PARTIAL = 343,     /* MATCHER_NOT_PARTIAL  */
143     MATCHER_COLORLABEL = 344,      /* MATCHER_COLORLABEL  */
144     MATCHER_NOT_COLORLABEL = 345,  /* MATCHER_NOT_COLORLABEL  */
145     MATCHER_IGNORE_THREAD = 346,   /* MATCHER_IGNORE_THREAD  */
146     MATCHER_NOT_IGNORE_THREAD = 347, /* MATCHER_NOT_IGNORE_THREAD  */
147     MATCHER_WATCH_THREAD = 348,    /* MATCHER_WATCH_THREAD  */
148     MATCHER_NOT_WATCH_THREAD = 349, /* MATCHER_NOT_WATCH_THREAD  */
149     MATCHER_CHANGE_SCORE = 350,    /* MATCHER_CHANGE_SCORE  */
150     MATCHER_SET_SCORE = 351,       /* MATCHER_SET_SCORE  */
151     MATCHER_ADD_TO_ADDRESSBOOK = 352, /* MATCHER_ADD_TO_ADDRESSBOOK  */
152     MATCHER_STOP = 353,            /* MATCHER_STOP  */
153     MATCHER_HIDE = 354,            /* MATCHER_HIDE  */
154     MATCHER_IGNORE = 355,          /* MATCHER_IGNORE  */
155     MATCHER_WATCH = 356,           /* MATCHER_WATCH  */
156     MATCHER_SPAM = 357,            /* MATCHER_SPAM  */
157     MATCHER_NOT_SPAM = 358,        /* MATCHER_NOT_SPAM  */
158     MATCHER_HAS_ATTACHMENT = 359,  /* MATCHER_HAS_ATTACHMENT  */
159     MATCHER_HAS_NO_ATTACHMENT = 360, /* MATCHER_HAS_NO_ATTACHMENT  */
160     MATCHER_SIGNED = 361,          /* MATCHER_SIGNED  */
161     MATCHER_NOT_SIGNED = 362,      /* MATCHER_NOT_SIGNED  */
162     MATCHER_TAG = 363,             /* MATCHER_TAG  */
163     MATCHER_NOT_TAG = 364,         /* MATCHER_NOT_TAG  */
164     MATCHER_SET_TAG = 365,         /* MATCHER_SET_TAG  */
165     MATCHER_UNSET_TAG = 366,       /* MATCHER_UNSET_TAG  */
166     MATCHER_TAGGED = 367,          /* MATCHER_TAGGED  */
167     MATCHER_NOT_TAGGED = 368,      /* MATCHER_NOT_TAGGED  */
168     MATCHER_CLEAR_TAGS = 369,      /* MATCHER_CLEAR_TAGS  */
169     MATCHER_ENABLED = 370,         /* MATCHER_ENABLED  */
170     MATCHER_DISABLED = 371,        /* MATCHER_DISABLED  */
171     MATCHER_RULENAME = 372,        /* MATCHER_RULENAME  */
172     MATCHER_ACCOUNT = 373,         /* MATCHER_ACCOUNT  */
173     MATCHER_STRING = 374,          /* MATCHER_STRING  */
174     MATCHER_SECTION = 375,         /* MATCHER_SECTION  */
175     MATCHER_INTEGER = 376          /* MATCHER_INTEGER  */
176   };
177   typedef enum yytokentype yytoken_kind_t;
178 #endif
179 /* Token kinds.  */
180 #define YYEMPTY -2
181 #define YYEOF 0
182 #define YYerror 256
183 #define YYUNDEF 257
184 #define MATCHER_ALL 258
185 #define MATCHER_UNREAD 259
186 #define MATCHER_NOT_UNREAD 260
187 #define MATCHER_NEW 261
188 #define MATCHER_NOT_NEW 262
189 #define MATCHER_MARKED 263
190 #define MATCHER_NOT_MARKED 264
191 #define MATCHER_DELETED 265
192 #define MATCHER_NOT_DELETED 266
193 #define MATCHER_REPLIED 267
194 #define MATCHER_NOT_REPLIED 268
195 #define MATCHER_FORWARDED 269
196 #define MATCHER_NOT_FORWARDED 270
197 #define MATCHER_SUBJECT 271
198 #define MATCHER_NOT_SUBJECT 272
199 #define MATCHER_FROM 273
200 #define MATCHER_NOT_FROM 274
201 #define MATCHER_TO 275
202 #define MATCHER_NOT_TO 276
203 #define MATCHER_CC 277
204 #define MATCHER_NOT_CC 278
205 #define MATCHER_TO_OR_CC 279
206 #define MATCHER_NOT_TO_AND_NOT_CC 280
207 #define MATCHER_AGE_GREATER 281
208 #define MATCHER_AGE_LOWER 282
209 #define MATCHER_NEWSGROUPS 283
210 #define MATCHER_AGE_GREATER_HOURS 284
211 #define MATCHER_AGE_LOWER_HOURS 285
212 #define MATCHER_DATE_AFTER 286
213 #define MATCHER_DATE_BEFORE 287
214 #define MATCHER_NOT_NEWSGROUPS 288
215 #define MATCHER_INREPLYTO 289
216 #define MATCHER_NOT_INREPLYTO 290
217 #define MATCHER_MESSAGEID 291
218 #define MATCHER_NOT_MESSAGEID 292
219 #define MATCHER_REFERENCES 293
220 #define MATCHER_NOT_REFERENCES 294
221 #define MATCHER_SCORE_GREATER 295
222 #define MATCHER_SCORE_LOWER 296
223 #define MATCHER_HEADER 297
224 #define MATCHER_NOT_HEADER 298
225 #define MATCHER_HEADERS_PART 299
226 #define MATCHER_NOT_HEADERS_PART 300
227 #define MATCHER_MESSAGE 301
228 #define MATCHER_HEADERS_CONT 302
229 #define MATCHER_NOT_HEADERS_CONT 303
230 #define MATCHER_NOT_MESSAGE 304
231 #define MATCHER_BODY_PART 305
232 #define MATCHER_NOT_BODY_PART 306
233 #define MATCHER_TEST 307
234 #define MATCHER_NOT_TEST 308
235 #define MATCHER_MATCHCASE 309
236 #define MATCHER_MATCH 310
237 #define MATCHER_REGEXPCASE 311
238 #define MATCHER_REGEXP 312
239 #define MATCHER_SCORE 313
240 #define MATCHER_MOVE 314
241 #define MATCHER_FOUND_IN_ADDRESSBOOK 315
242 #define MATCHER_NOT_FOUND_IN_ADDRESSBOOK 316
243 #define MATCHER_IN 317
244 #define MATCHER_COPY 318
245 #define MATCHER_DELETE 319
246 #define MATCHER_MARK 320
247 #define MATCHER_UNMARK 321
248 #define MATCHER_LOCK 322
249 #define MATCHER_UNLOCK 323
250 #define MATCHER_EXECUTE 324
251 #define MATCHER_MARK_AS_READ 325
252 #define MATCHER_MARK_AS_UNREAD 326
253 #define MATCHER_FORWARD 327
254 #define MATCHER_MARK_AS_SPAM 328
255 #define MATCHER_MARK_AS_HAM 329
256 #define MATCHER_FORWARD_AS_ATTACHMENT 330
257 #define MATCHER_EOL 331
258 #define MATCHER_OR 332
259 #define MATCHER_AND 333
260 #define MATCHER_COLOR 334
261 #define MATCHER_SCORE_EQUAL 335
262 #define MATCHER_REDIRECT 336
263 #define MATCHER_SIZE_GREATER 337
264 #define MATCHER_SIZE_SMALLER 338
265 #define MATCHER_SIZE_EQUAL 339
266 #define MATCHER_LOCKED 340
267 #define MATCHER_NOT_LOCKED 341
268 #define MATCHER_PARTIAL 342
269 #define MATCHER_NOT_PARTIAL 343
270 #define MATCHER_COLORLABEL 344
271 #define MATCHER_NOT_COLORLABEL 345
272 #define MATCHER_IGNORE_THREAD 346
273 #define MATCHER_NOT_IGNORE_THREAD 347
274 #define MATCHER_WATCH_THREAD 348
275 #define MATCHER_NOT_WATCH_THREAD 349
276 #define MATCHER_CHANGE_SCORE 350
277 #define MATCHER_SET_SCORE 351
278 #define MATCHER_ADD_TO_ADDRESSBOOK 352
279 #define MATCHER_STOP 353
280 #define MATCHER_HIDE 354
281 #define MATCHER_IGNORE 355
282 #define MATCHER_WATCH 356
283 #define MATCHER_SPAM 357
284 #define MATCHER_NOT_SPAM 358
285 #define MATCHER_HAS_ATTACHMENT 359
286 #define MATCHER_HAS_NO_ATTACHMENT 360
287 #define MATCHER_SIGNED 361
288 #define MATCHER_NOT_SIGNED 362
289 #define MATCHER_TAG 363
290 #define MATCHER_NOT_TAG 364
291 #define MATCHER_SET_TAG 365
292 #define MATCHER_UNSET_TAG 366
293 #define MATCHER_TAGGED 367
294 #define MATCHER_NOT_TAGGED 368
295 #define MATCHER_CLEAR_TAGS 369
296 #define MATCHER_ENABLED 370
297 #define MATCHER_DISABLED 371
298 #define MATCHER_RULENAME 372
299 #define MATCHER_ACCOUNT 373
300 #define MATCHER_STRING 374
301 #define MATCHER_SECTION 375
302 #define MATCHER_INTEGER 376
303 
304 /* Value type.  */
305 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
306 union YYSTYPE
307 {
308 #line 317 "matcher_parser_parse.y"
309 
310 	char *str;
311 	int value;
312 
313 #line 314 "matcher_parser_parse.h"
314 
315 };
316 typedef union YYSTYPE YYSTYPE;
317 # define YYSTYPE_IS_TRIVIAL 1
318 # define YYSTYPE_IS_DECLARED 1
319 #endif
320 
321 
322 extern YYSTYPE yylval;
323 
324 int yyparse (void);
325 
326 #endif /* !YY_YY_MATCHER_PARSER_PARSE_H_INCLUDED  */
327