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