Warning, file /frameworks/kholidays/src/parsers/plan2/holidayscannerplan.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 // clang-format off 0002 0003 #line 2 "holidayscannerplan.cpp" 0004 0005 #line 4 "holidayscannerplan.cpp" 0006 0007 #define YY_INT_ALIGNED short int 0008 0009 /* A lexical scanner generated by flex */ 0010 0011 /* %not-for-header */ 0012 0013 /* %if-c-only */ 0014 /* %if-not-reentrant */ 0015 /* %endif */ 0016 /* %endif */ 0017 /* %ok-for-header */ 0018 0019 #define FLEX_SCANNER 0020 #define YY_FLEX_MAJOR_VERSION 2 0021 #define YY_FLEX_MINOR_VERSION 5 0022 #define YY_FLEX_SUBMINOR_VERSION 35 0023 #if YY_FLEX_SUBMINOR_VERSION > 0 0024 #define FLEX_BETA 0025 #endif 0026 0027 /* %if-c++-only */ 0028 /* The c++ scanner is a mess. The FlexLexer.h header file relies on the 0029 * following macro. This is required in order to pass the c++-multiple-scanners 0030 * test in the regression suite. We get reports that it breaks inheritance. 0031 * We will address this in a future release of flex, or omit the C++ scanner 0032 * altogether. 0033 */ 0034 #define yyFlexLexer HolidayScannerFlexLexer 0035 /* %endif */ 0036 0037 /* %if-c-only */ 0038 /* %endif */ 0039 0040 /* %if-c-only */ 0041 /* %endif */ 0042 0043 /* First, we deal with platform-specific or compiler-specific issues. */ 0044 0045 /* begin standard C headers. */ 0046 /* %if-c-only */ 0047 /* %endif */ 0048 0049 /* %if-tables-serialization */ 0050 /* %endif */ 0051 /* end standard C headers. */ 0052 0053 /* %if-c-or-c++ */ 0054 /* flex integer type definitions */ 0055 0056 #ifndef FLEXINT_H 0057 #define FLEXINT_H 0058 0059 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 0060 0061 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 0062 0063 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 0064 * if you want the limit (max/min) macros for int types. 0065 */ 0066 #ifndef __STDC_LIMIT_MACROS 0067 #define __STDC_LIMIT_MACROS 1 0068 #endif 0069 0070 #include <inttypes.h> 0071 typedef int8_t flex_int8_t; 0072 typedef uint8_t flex_uint8_t; 0073 typedef int16_t flex_int16_t; 0074 typedef uint16_t flex_uint16_t; 0075 typedef int32_t flex_int32_t; 0076 typedef uint32_t flex_uint32_t; 0077 #else 0078 typedef signed char flex_int8_t; 0079 typedef short int flex_int16_t; 0080 typedef int flex_int32_t; 0081 typedef unsigned char flex_uint8_t; 0082 typedef unsigned short int flex_uint16_t; 0083 typedef unsigned int flex_uint32_t; 0084 0085 /* Limits of integral types. */ 0086 #ifndef INT8_MIN 0087 #define INT8_MIN (-128) 0088 #endif 0089 #ifndef INT16_MIN 0090 #define INT16_MIN (-32767-1) 0091 #endif 0092 #ifndef INT32_MIN 0093 #define INT32_MIN (-2147483647-1) 0094 #endif 0095 #ifndef INT8_MAX 0096 #define INT8_MAX (127) 0097 #endif 0098 #ifndef INT16_MAX 0099 #define INT16_MAX (32767) 0100 #endif 0101 #ifndef INT32_MAX 0102 #define INT32_MAX (2147483647) 0103 #endif 0104 #ifndef UINT8_MAX 0105 #define UINT8_MAX (255U) 0106 #endif 0107 #ifndef UINT16_MAX 0108 #define UINT16_MAX (65535U) 0109 #endif 0110 #ifndef UINT32_MAX 0111 #define UINT32_MAX (4294967295U) 0112 #endif 0113 0114 #endif /* ! C99 */ 0115 0116 #endif /* ! FLEXINT_H */ 0117 0118 /* %endif */ 0119 0120 /* %if-c++-only */ 0121 /* begin standard C++ headers. */ 0122 #include <iostream> 0123 #include <cerrno> 0124 #include <cstdlib> 0125 #include <cstdio> 0126 #include <cstring> 0127 /* end standard C++ headers. */ 0128 /* %endif */ 0129 0130 #ifdef __cplusplus 0131 0132 /* The "const" storage-class-modifier is valid. */ 0133 #define YY_USE_CONST 0134 0135 #else /* ! __cplusplus */ 0136 0137 /* C99 requires __STDC__ to be defined as 1. */ 0138 #if defined (__STDC__) 0139 0140 #define YY_USE_CONST 0141 0142 #endif /* defined (__STDC__) */ 0143 #endif /* ! __cplusplus */ 0144 0145 #ifdef YY_USE_CONST 0146 #define yyconst const 0147 #else 0148 #define yyconst 0149 #endif 0150 0151 /* %not-for-header */ 0152 0153 /* Returned upon end-of-file. */ 0154 #define YY_NULL 0 0155 /* %ok-for-header */ 0156 0157 /* %not-for-header */ 0158 0159 /* Promotes a possibly negative, possibly signed char to an unsigned 0160 * integer for use as an array index. If the signed char is negative, 0161 * we want to instead treat it as an 8-bit unsigned char, hence the 0162 * double cast. 0163 */ 0164 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 0165 /* %ok-for-header */ 0166 0167 /* %if-reentrant */ 0168 /* %endif */ 0169 0170 /* %if-not-reentrant */ 0171 0172 /* %endif */ 0173 0174 /* Enter a start condition. This macro really ought to take a parameter, 0175 * but we do it the disgusting crufty way forced on us by the ()-less 0176 * definition of BEGIN. 0177 */ 0178 #define BEGIN (yy_start) = 1 + 2 * 0179 0180 /* Translate the current start state into a value that can be later handed 0181 * to BEGIN to return to the state. The YYSTATE alias is for lex 0182 * compatibility. 0183 */ 0184 #define YY_START (((yy_start) - 1) / 2) 0185 #define YYSTATE YY_START 0186 0187 /* Action number for EOF rule of a given start state. */ 0188 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 0189 0190 /* Special action meaning "start processing a new file". */ 0191 #define YY_NEW_FILE yyrestart( yyin ) 0192 0193 #define YY_END_OF_BUFFER_CHAR 0 0194 0195 /* Size of default input buffer. */ 0196 #ifndef YY_BUF_SIZE 0197 #ifdef __ia64__ 0198 /* On IA-64, the buffer size is 16k, not 8k. 0199 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. 0200 * Ditto for the __ia64__ case accordingly. 0201 */ 0202 #define YY_BUF_SIZE 32768 0203 #else 0204 #define YY_BUF_SIZE 16384 0205 #endif /* __ia64__ */ 0206 #endif 0207 0208 /* The state buf must be large enough to hold one state per character in the main buffer. 0209 */ 0210 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 0211 0212 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 0213 #define YY_TYPEDEF_YY_BUFFER_STATE 0214 typedef struct yy_buffer_state *YY_BUFFER_STATE; 0215 #endif 0216 0217 /* %if-not-reentrant */ 0218 extern int yyleng; 0219 /* %endif */ 0220 0221 /* %if-c-only */ 0222 /* %if-not-reentrant */ 0223 /* %endif */ 0224 /* %endif */ 0225 0226 #define EOB_ACT_CONTINUE_SCAN 0 0227 #define EOB_ACT_END_OF_FILE 1 0228 #define EOB_ACT_LAST_MATCH 2 0229 0230 #define YY_LESS_LINENO(n) 0231 0232 /* Return all but the first "n" matched characters back to the input stream. */ 0233 #define yyless(n) \ 0234 do \ 0235 { \ 0236 /* Undo effects of setting up yytext. */ \ 0237 int yyless_macro_arg = (n); \ 0238 YY_LESS_LINENO(yyless_macro_arg);\ 0239 *yy_cp = (yy_hold_char); \ 0240 YY_RESTORE_YY_MORE_OFFSET \ 0241 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 0242 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 0243 } \ 0244 while ( 0 ) 0245 0246 #define unput(c) yyunput( c, (yytext_ptr) ) 0247 0248 #ifndef YY_TYPEDEF_YY_SIZE_T 0249 #define YY_TYPEDEF_YY_SIZE_T 0250 typedef size_t yy_size_t; 0251 #endif 0252 0253 #ifndef YY_STRUCT_YY_BUFFER_STATE 0254 #define YY_STRUCT_YY_BUFFER_STATE 0255 struct yy_buffer_state { 0256 /* %if-c-only */ 0257 /* %endif */ 0258 0259 /* %if-c++-only */ 0260 std::istream *yy_input_file; 0261 /* %endif */ 0262 0263 char *yy_ch_buf; /* input buffer */ 0264 char *yy_buf_pos; /* current position in input buffer */ 0265 0266 /* Size of input buffer in bytes, not including room for EOB 0267 * characters. 0268 */ 0269 yy_size_t yy_buf_size; 0270 0271 /* Number of characters read into yy_ch_buf, not including EOB 0272 * characters. 0273 */ 0274 int yy_n_chars; 0275 0276 /* Whether we "own" the buffer - i.e., we know we created it, 0277 * and can realloc() it to grow it, and should free() it to 0278 * delete it. 0279 */ 0280 int yy_is_our_buffer; 0281 0282 /* Whether this is an "interactive" input source; if so, and 0283 * if we're using stdio for input, then we want to use getc() 0284 * instead of fread(), to make sure we stop fetching input after 0285 * each newline. 0286 */ 0287 int yy_is_interactive; 0288 0289 /* Whether we're considered to be at the beginning of a line. 0290 * If so, '^' rules will be active on the next match, otherwise 0291 * not. 0292 */ 0293 int yy_at_bol; 0294 0295 int yy_bs_lineno; /**< The line count. */ 0296 int yy_bs_column; /**< The column count. */ 0297 0298 /* Whether to try to fill the input buffer when we reach the 0299 * end of it. 0300 */ 0301 int yy_fill_buffer; 0302 0303 int yy_buffer_status; 0304 0305 #define YY_BUFFER_NEW 0 0306 #define YY_BUFFER_NORMAL 1 0307 /* When an EOF's been seen but there's still some text to process 0308 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 0309 * shouldn't try reading from the input source any more. We might 0310 * still have a bunch of tokens to match, though, because of 0311 * possible backing-up. 0312 * 0313 * When we actually see the EOF, we change the status to "new" 0314 * (via yyrestart()), so that the user can continue scanning by 0315 * just pointing yyin at a new input file. 0316 */ 0317 #define YY_BUFFER_EOF_PENDING 2 0318 0319 }; 0320 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 0321 0322 /* %if-c-only Standard (non-C++) definition */ 0323 /* %not-for-header */ 0324 0325 /* %if-not-reentrant */ 0326 /* %endif */ 0327 /* %ok-for-header */ 0328 0329 /* %endif */ 0330 0331 /* We provide macros for accessing buffer states in case in the 0332 * future we want to put the buffer states in a more general 0333 * "scanner state". 0334 * 0335 * Returns the top of the stack, or NULL. 0336 */ 0337 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 0338 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 0339 : NULL) 0340 0341 /* Same as previous macro, but useful when we know that the buffer stack is not 0342 * NULL or when we need an lvalue. For internal use only. 0343 */ 0344 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 0345 0346 /* %if-c-only Standard (non-C++) definition */ 0347 /* %if-not-reentrant */ 0348 /* %not-for-header */ 0349 0350 /* %ok-for-header */ 0351 0352 /* %endif */ 0353 /* %endif */ 0354 0355 void *HolidayScanneralloc(yy_size_t); 0356 void *HolidayScannerrealloc(void *, yy_size_t); 0357 void HolidayScannerfree(void *); 0358 0359 #define yy_new_buffer yy_create_buffer 0360 0361 #define yy_set_interactive(is_interactive) \ 0362 { \ 0363 if ( ! YY_CURRENT_BUFFER ){ \ 0364 yyensure_buffer_stack (); \ 0365 YY_CURRENT_BUFFER_LVALUE = \ 0366 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 0367 } \ 0368 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 0369 } 0370 0371 #define yy_set_bol(at_bol) \ 0372 { \ 0373 if ( ! YY_CURRENT_BUFFER ){\ 0374 yyensure_buffer_stack (); \ 0375 YY_CURRENT_BUFFER_LVALUE = \ 0376 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 0377 } \ 0378 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 0379 } 0380 0381 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 0382 0383 /* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */ 0384 /* Begin user sect3 */ 0385 0386 #define FLEX_DEBUG 0387 0388 typedef unsigned char YY_CHAR; 0389 0390 #define yytext_ptr yytext 0391 0392 #include <FlexLexer.h> 0393 0394 /* %if-c-only Standard (non-C++) definition */ 0395 /* %endif */ 0396 0397 /* Done after the current pattern has been matched and before the 0398 * corresponding action - sets up yytext. 0399 */ 0400 #define YY_DO_BEFORE_ACTION \ 0401 (yytext_ptr) = yy_bp; \ 0402 /* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\ 0403 yyleng = (size_t) (yy_cp - yy_bp); \ 0404 (yy_hold_char) = *yy_cp; \ 0405 *yy_cp = '\0'; \ 0406 /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ 0407 (yy_c_buf_p) = yy_cp; 0408 0409 /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ 0410 #define YY_NUM_RULES 202 0411 #define YY_END_OF_BUFFER 203 0412 /* This struct is not used in this scanner, 0413 but its presence is necessary. */ 0414 struct yy_trans_info { 0415 flex_int32_t yy_verify; 0416 flex_int32_t yy_nxt; 0417 }; 0418 static yyconst flex_int16_t yy_accept[982] = { 0419 0, 0420 0, 0, 203, 201, 3, 4, 5, 201, 201, 5, 0421 201, 10, 10, 10, 10, 10, 10, 31, 201, 32, 0422 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 0423 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 0424 201, 201, 201, 201, 5, 3, 4, 28, 0, 11, 0425 0, 1, 33, 10, 0, 0, 0, 0, 0, 29, 0426 27, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0427 0, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0429 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0430 0431 0, 0, 0, 18, 17, 0, 0, 0, 0, 0, 0432 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0433 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0436 16, 0, 0, 0, 0, 0, 0, 34, 0, 2, 0437 35, 36, 37, 38, 39, 0, 0, 0, 0, 41, 0438 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0439 0, 0, 0, 0, 0, 13, 0, 191, 0, 0, 0440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0441 0442 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0443 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0445 0, 0, 0, 0, 0, 0, 62, 0, 0, 0, 0446 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0447 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0449 0, 0, 114, 0, 0, 0, 0, 0, 0, 0, 0450 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0451 0, 0, 0, 0, 103, 0, 0, 0, 0, 185, 0452 0453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0454 0, 189, 125, 0, 0, 0, 0, 0, 0, 190, 0455 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0456 0, 14, 0, 0, 0, 0, 118, 131, 88, 0, 0457 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0459 0, 0, 127, 0, 0, 0, 64, 0, 0, 63, 0460 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0461 0, 172, 0, 0, 0, 188, 0, 0, 0, 0, 0462 0, 0, 0, 0, 8, 0, 0, 42, 0, 0, 0463 0464 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0465 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0466 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0467 0, 0, 108, 0, 0, 0, 0, 0, 0, 0, 0468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0469 0, 0, 0, 0, 0, 0, 82, 0, 0, 0, 0470 0, 0, 0, 21, 0, 0, 0, 0, 132, 44, 0471 0, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0472 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0473 0, 0, 12, 0, 0, 39, 0, 35, 0, 0, 0474 0475 0, 0, 0, 0, 109, 115, 0, 0, 101, 0, 0476 141, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0477 0, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0478 60, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0479 0, 126, 0, 0, 0, 0, 0, 87, 79, 0, 0480 0, 0, 0, 171, 0, 0, 0, 0, 0, 95, 0481 94, 0, 0, 0, 148, 0, 0, 0, 143, 0, 0482 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0483 0, 0, 26, 0, 124, 128, 0, 0, 0, 0, 0484 129, 0, 123, 37, 0, 0, 0, 0, 0, 0, 0485 0486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0487 133, 0, 0, 168, 65, 192, 43, 0, 0, 0, 0488 0, 0, 77, 0, 0, 0, 0, 0, 23, 193, 0489 0, 0, 0, 0, 38, 74, 107, 0, 0, 0, 0490 80, 119, 0, 0, 0, 181, 0, 57, 0, 0, 0491 169, 0, 122, 0, 0, 0, 25, 0, 0, 0, 0492 83, 0, 89, 0, 70, 186, 0, 0, 110, 0, 0493 0, 0, 0, 0, 0, 0, 24, 0, 0, 91, 0494 0, 0, 0, 45, 117, 0, 0, 0, 0, 0, 0495 0, 48, 0, 36, 0, 0, 149, 0, 0, 199, 0496 0497 0, 0, 0, 0, 76, 102, 0, 78, 0, 0, 0498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0499 0, 0, 0, 0, 0, 0, 0, 165, 0, 0, 0500 0, 162, 0, 6, 0, 0, 0, 0, 0, 0, 0501 0, 0, 0, 0, 0, 121, 0, 0, 58, 0, 0502 0, 184, 0, 0, 0, 105, 0, 0, 0, 106, 0503 0, 54, 0, 67, 0, 111, 0, 0, 0, 86, 0504 93, 173, 0, 0, 0, 0, 150, 180, 0, 0, 0505 0, 0, 0, 0, 139, 0, 151, 0, 0, 0, 0506 100, 0, 0, 0, 120, 0, 71, 0, 0, 104, 0507 0508 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0509 0, 0, 0, 0, 0, 0, 0, 0, 51, 69, 0510 0, 194, 0, 0, 59, 0, 0, 0, 177, 0, 0511 0, 0, 0, 0, 7, 22, 113, 175, 99, 142, 0512 68, 0, 0, 0, 85, 0, 92, 0, 0, 0, 0513 179, 75, 55, 0, 195, 0, 166, 174, 0, 0, 0514 0, 73, 97, 163, 0, 0, 0, 0, 0, 0, 0515 0, 0, 0, 0, 136, 0, 134, 0, 0, 0, 0516 167, 176, 0, 0, 0, 98, 182, 50, 0, 56, 0517 0, 0, 0, 164, 0, 0, 0, 0, 96, 0, 0518 0519 0, 47, 66, 187, 178, 0, 0, 72, 0, 0, 0520 0, 0, 0, 0, 0, 200, 0, 140, 138, 0, 0521 170, 0, 0, 0, 49, 53, 0, 0, 0, 90, 0522 0, 197, 84, 144, 0, 0, 152, 0, 160, 0, 0523 0, 0, 0, 159, 0, 135, 0, 0, 9, 0, 0524 0, 0, 183, 0, 153, 0, 156, 0, 158, 0, 0525 137, 196, 0, 0, 0, 0, 145, 0, 0, 0, 0526 52, 0, 146, 0, 155, 154, 157, 161, 0, 147, 0527 0 0528 }; 0529 0530 static yyconst flex_int32_t yy_ec[256] = { 0531 0, 0532 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 0533 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0534 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0535 1, 2, 4, 5, 6, 1, 7, 8, 1, 7, 0536 7, 7, 7, 1, 7, 7, 7, 9, 10, 11, 0537 12, 13, 14, 9, 9, 9, 9, 15, 1, 16, 0538 17, 18, 7, 1, 19, 20, 21, 22, 23, 24, 0539 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 0540 35, 36, 37, 38, 39, 40, 41, 1, 42, 43, 0541 7, 1, 7, 1, 1, 1, 44, 45, 46, 47, 0542 0543 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 0544 58, 59, 60, 61, 62, 63, 64, 65, 66, 1, 0545 67, 68, 1, 69, 1, 1, 1, 1, 1, 1, 0546 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0547 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0548 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0549 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0550 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0551 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0552 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0553 0554 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0555 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0556 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0557 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0558 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0559 1, 1, 1, 1, 1 0560 }; 0561 0562 static yyconst flex_int32_t yy_meta[70] = { 0563 0, 0564 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0565 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0566 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0567 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0568 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0569 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0570 1, 1, 1, 1, 1, 1, 1, 1, 1 0571 }; 0572 0573 static yyconst flex_int16_t yy_base[985] = { 0574 0, 0575 0, 415, 427, 2013, 424, 422, 407, 380, 378, 2013, 0576 371, 61, 67, 73, 79, 85, 97, 361, 243, 217, 0577 141, 93, 87, 98, 191, 135, 191, 188, 184, 83, 0578 238, 105, 239, 240, 249, 292, 95, 290, 338, 384, 0579 115, 141, 293, 135, 182, 180, 152, 2013, 147, 2013, 0580 133, 2013, 2013, 440, 129, 147, 148, 146, 148, 2013, 0581 2013, 2013, 157, 193, 175, 182, 177, 184, 202, 197, 0582 236, 2013, 249, 243, 250, 256, 254, 258, 239, 286, 0583 250, 265, 287, 282, 284, 288, 289, 312, 334, 336, 0584 340, 330, 347, 344, 330, 343, 340, 333, 351, 339, 0585 0586 377, 384, 381, 2013, 390, 395, 390, 425, 397, 383, 0587 425, 440, 421, 429, 443, 463, 439, 436, 437, 438, 0588 440, 446, 442, 474, 468, 2013, 486, 515, 488, 490, 0589 471, 523, 484, 496, 496, 535, 489, 501, 521, 531, 0590 582, 566, 518, 530, 558, 538, 569, 584, 559, 555, 0591 579, 585, 586, 603, 606, 618, 609, 2013, 130, 2013, 0592 2013, 2013, 2013, 2013, 2013, 611, 610, 626, 632, 2013, 0593 625, 2013, 634, 615, 619, 625, 624, 636, 633, 637, 0594 634, 635, 629, 637, 635, 648, 664, 2013, 669, 667, 0595 657, 674, 667, 665, 682, 675, 667, 664, 669, 668, 0596 0597 688, 671, 673, 689, 693, 691, 691, 678, 705, 697, 0598 689, 718, 714, 707, 707, 719, 711, 730, 712, 725, 0599 734, 731, 728, 718, 722, 733, 731, 735, 739, 728, 0600 739, 750, 768, 748, 765, 772, 2013, 759, 770, 758, 0601 782, 780, 782, 786, 783, 788, 789, 775, 788, 780, 0602 787, 777, 789, 791, 812, 819, 800, 806, 814, 817, 0603 812, 831, 819, 820, 821, 825, 837, 830, 839, 840, 0604 834, 836, 2013, 845, 839, 828, 840, 838, 852, 855, 0605 867, 855, 868, 875, 872, 878, 880, 883, 884, 868, 0606 883, 869, 869, 870, 2013, 888, 877, 881, 904, 2013, 0607 0608 891, 889, 912, 900, 906, 912, 926, 927, 911, 912, 0609 930, 2013, 925, 917, 928, 925, 934, 930, 922, 2013, 0610 942, 927, 928, 954, 956, 947, 957, 967, 966, 956, 0611 956, 2013, 965, 961, 980, 978, 2013, 2013, 2013, 970, 0612 970, 962, 986, 967, 981, 976, 971, 973, 994, 981, 0613 980, 984, 983, 1002, 998, 1004, 1017, 1007, 1004, 1018, 0614 1013, 1028, 2013, 1019, 1032, 1033, 2013, 1034, 1031, 2013, 0615 1018, 1029, 1035, 1029, 1036, 1034, 1024, 2013, 1022, 1028, 0616 1047, 2013, 1050, 1056, 1059, 2013, 1060, 1067, 1057, 1057, 0617 1052, 1077, 1078, 1063, 1079, 1065, 1071, 2013, 1073, 1085, 0618 0619 1086, 1076, 1071, 1086, 1088, 1082, 1081, 1090, 1084, 1097, 0620 1092, 1116, 1112, 2013, 1120, 1112, 1105, 1106, 1119, 1116, 0621 1130, 1131, 1130, 1134, 1129, 1119, 1116, 1121, 1125, 1126, 0622 1129, 1130, 2013, 1141, 1147, 1173, 1137, 1155, 1144, 1149, 0623 1150, 1156, 1163, 1156, 1178, 1180, 1182, 1159, 1180, 1166, 0624 1183, 1167, 1177, 1171, 1173, 1184, 2013, 1191, 1188, 1193, 0625 1185, 1195, 1216, 2013, 1211, 1214, 1219, 1217, 1217, 2013, 0626 1226, 2013, 1221, 1217, 1213, 1220, 1230, 1235, 1215, 1220, 0627 1221, 2013, 1227, 1238, 1225, 1227, 1244, 1239, 1241, 1239, 0628 1263, 1253, 2013, 1254, 1273, 2013, 1272, 2013, 1268, 1253, 0629 0630 1258, 1265, 1263, 1282, 2013, 2013, 1266, 1262, 2013, 1285, 0631 2013, 1269, 1274, 1280, 1272, 1277, 1289, 2013, 1287, 1285, 0632 1297, 2013, 1283, 1293, 1316, 1314, 1314, 1315, 1318, 1314, 0633 2013, 1309, 1310, 1324, 2013, 1307, 1309, 1330, 1317, 1335, 0634 1332, 2013, 1336, 1334, 1335, 1336, 1335, 2013, 2013, 1337, 0635 1325, 1347, 1341, 2013, 1342, 1346, 1348, 1371, 1369, 2013, 0636 2013, 1372, 1371, 1365, 2013, 1377, 1361, 1372, 2013, 1382, 0637 1380, 1373, 1372, 1383, 2013, 1375, 1375, 1376, 1390, 1384, 0638 1390, 1395, 2013, 1397, 2013, 2013, 1404, 1385, 1393, 1400, 0639 2013, 1409, 2013, 2013, 1404, 1417, 1422, 1422, 1427, 1428, 0640 0641 1430, 1414, 1426, 1416, 1425, 1437, 1438, 1418, 1422, 1462, 0642 2013, 1419, 1444, 2013, 2013, 2013, 2013, 1432, 1454, 1438, 0643 1468, 1457, 2013, 1451, 1475, 1472, 1462, 1477, 2013, 2013, 0644 1472, 1479, 1466, 1476, 2013, 2013, 2013, 1473, 1478, 1470, 0645 2013, 2013, 1475, 1481, 1477, 2013, 1469, 2013, 1494, 1478, 0646 2013, 1501, 2013, 1506, 1510, 1518, 2013, 1501, 1508, 1502, 0647 2013, 1520, 2013, 1525, 2013, 2013, 1526, 1504, 2013, 1524, 0648 1513, 1525, 1520, 1534, 1521, 1517, 2013, 1519, 1518, 2013, 0649 1526, 1521, 1529, 2013, 2013, 1547, 1531, 1554, 1542, 1551, 0650 1570, 2013, 1571, 2013, 1572, 1573, 2013, 1556, 1555, 2013, 0651 0652 1566, 1565, 1563, 1582, 2013, 2013, 1564, 2013, 1576, 1577, 0653 1586, 1564, 1578, 1566, 1580, 1589, 1575, 1590, 1616, 1591, 0654 1594, 1610, 1613, 1608, 1605, 1619, 1628, 2013, 1630, 1615, 0655 1626, 2013, 1618, 2013, 1625, 1620, 1619, 1635, 1640, 1634, 0656 1621, 1647, 1650, 1656, 1666, 2013, 1666, 1670, 2013, 1671, 0657 1666, 2013, 1673, 1671, 1659, 2013, 1663, 1678, 1668, 2013, 0658 1670, 2013, 1666, 2013, 1680, 2013, 1672, 1667, 1683, 2013, 0659 2013, 2013, 1674, 1670, 1668, 1685, 2013, 2013, 1674, 1697, 0660 1681, 1695, 1712, 1714, 2013, 1720, 2013, 1721, 1723, 1707, 0661 2013, 1716, 1723, 1704, 2013, 1724, 2013, 1723, 1732, 2013, 0662 0663 1713, 1727, 1716, 1716, 1730, 1738, 1738, 1732, 1734, 1733, 0664 1746, 1749, 1748, 1755, 1767, 1771, 1773, 1774, 2013, 2013, 0665 1767, 2013, 1763, 1764, 2013, 1767, 1767, 1769, 2013, 1783, 0666 1765, 1774, 1786, 1773, 2013, 2013, 2013, 2013, 2013, 2013, 0667 2013, 1770, 1788, 1786, 2013, 1779, 2013, 1794, 1797, 1786, 0668 2013, 2013, 2013, 1789, 2013, 1799, 2013, 2013, 1818, 1811, 0669 1821, 2013, 2013, 2013, 1800, 1813, 1825, 1825, 1820, 1816, 0670 1830, 1831, 1829, 1816, 2013, 1822, 2013, 1828, 1830, 1838, 0671 2013, 2013, 1826, 1821, 1828, 2013, 2013, 2013, 1825, 2013, 0672 1836, 1846, 1856, 2013, 1847, 1861, 1866, 1856, 2013, 1862, 0673 0674 1874, 2013, 2013, 2013, 2013, 1876, 1870, 2013, 1878, 1877, 0675 1874, 1870, 1872, 1873, 1867, 2013, 1880, 2013, 2013, 1880, 0676 2013, 1888, 1882, 1879, 2013, 2013, 1880, 1875, 1897, 2013, 0677 1887, 2013, 2013, 2013, 1903, 1911, 2013, 1901, 2013, 1921, 0678 1923, 1924, 1921, 2013, 1918, 2013, 1923, 1907, 2013, 1917, 0679 1932, 1933, 2013, 1926, 2013, 1928, 2013, 1928, 2013, 1933, 0680 2013, 2013, 1934, 1939, 1929, 1942, 2013, 1944, 1934, 1936, 0681 2013, 1945, 2013, 1953, 2013, 2013, 2013, 2013, 1960, 2013, 0682 2013, 102, 100, 99 0683 }; 0684 0685 static yyconst flex_int16_t yy_def[985] = { 0686 0, 0687 981, 1, 981, 981, 981, 981, 981, 982, 983, 981, 0688 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0689 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0690 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0691 981, 981, 981, 981, 984, 981, 981, 981, 982, 981, 0692 983, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0693 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0694 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0695 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0696 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0697 0698 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0699 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0700 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0701 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0702 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0703 981, 981, 981, 981, 981, 981, 981, 981, 984, 981, 0704 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0705 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0706 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0707 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0708 0709 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0710 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0711 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0712 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0713 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0714 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0715 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0716 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0717 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0718 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0719 0720 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0721 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0722 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0723 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0724 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0725 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0726 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0727 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0728 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0729 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0730 0731 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0732 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0733 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0734 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0735 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0736 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0737 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0738 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0739 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0740 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0741 0742 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0743 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0744 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0745 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0746 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0747 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0748 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0749 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0750 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0751 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0752 0753 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0754 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0755 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0756 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0757 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0758 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0759 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0760 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0761 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0762 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0763 0764 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0765 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0766 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0767 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0768 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0769 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0770 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0771 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0772 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0773 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0774 0775 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0776 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0777 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0778 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0779 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0780 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0781 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0782 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0783 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0784 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0785 0786 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0787 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0788 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0789 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0790 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0791 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0792 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0793 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 0794 0, 981, 981, 981 0795 }; 0796 0797 static yyconst flex_int16_t yy_nxt[2083] = { 0798 0, 0799 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0800 14, 15, 16, 17, 10, 18, 19, 20, 21, 22, 0801 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 0802 33, 34, 35, 36, 37, 38, 39, 40, 4, 41, 0803 42, 43, 4, 21, 22, 23, 24, 25, 26, 27, 0804 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 0805 38, 39, 40, 4, 41, 42, 43, 4, 44, 54, 0806 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0807 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0808 54, 54, 54, 54, 54, 54, 54, 54, 54, 159, 0809 0810 51, 107, 49, 55, 56, 54, 54, 54, 54, 54, 0811 54, 74, 78, 79, 57, 75, 82, 135, 76, 80, 0812 83, 108, 58, 114, 109, 81, 107, 115, 55, 56, 0813 84, 77, 160, 153, 59, 52, 74, 78, 79, 57, 0814 75, 82, 135, 76, 80, 83, 108, 58, 114, 109, 0815 81, 50, 115, 92, 47, 84, 77, 93, 153, 59, 0816 63, 94, 64, 154, 65, 66, 161, 95, 162, 163, 0817 96, 164, 67, 165, 68, 166, 69, 70, 92, 71, 0818 72, 46, 93, 73, 160, 63, 94, 64, 154, 65, 0819 66, 161, 95, 162, 163, 96, 164, 67, 165, 68, 0820 0821 166, 69, 70, 158, 71, 72, 101, 104, 73, 85, 0822 102, 167, 168, 97, 103, 105, 86, 169, 170, 171, 0823 87, 172, 173, 98, 88, 106, 99, 89, 90, 100, 0824 91, 101, 104, 62, 85, 102, 167, 168, 97, 103, 0825 105, 86, 169, 170, 171, 87, 172, 173, 98, 88, 0826 106, 99, 89, 90, 100, 91, 110, 116, 121, 61, 0827 174, 117, 122, 111, 112, 118, 123, 175, 176, 125, 0828 113, 119, 124, 177, 178, 179, 180, 120, 181, 185, 0829 126, 110, 116, 121, 127, 174, 117, 122, 111, 112, 0830 118, 123, 175, 176, 125, 113, 119, 124, 177, 178, 0831 0832 179, 180, 120, 181, 185, 126, 186, 187, 136, 127, 0833 128, 155, 137, 188, 129, 156, 182, 130, 190, 183, 0834 191, 131, 138, 189, 184, 157, 192, 193, 132, 133, 0835 134, 186, 187, 136, 194, 128, 155, 137, 188, 129, 0836 156, 182, 130, 190, 183, 191, 131, 138, 189, 184, 0837 157, 192, 193, 132, 133, 134, 139, 195, 140, 194, 0838 141, 196, 197, 142, 143, 198, 199, 200, 203, 204, 0839 144, 205, 206, 207, 208, 201, 145, 60, 53, 202, 0840 52, 139, 195, 140, 50, 141, 196, 197, 142, 143, 0841 198, 199, 200, 203, 204, 144, 205, 206, 207, 208, 0842 0843 201, 145, 146, 211, 202, 212, 147, 209, 214, 148, 0844 149, 216, 150, 217, 210, 223, 151, 215, 224, 218, 0845 213, 219, 152, 48, 47, 46, 981, 146, 211, 45, 0846 212, 147, 209, 214, 148, 149, 216, 150, 217, 210, 0847 223, 151, 215, 224, 218, 213, 219, 152, 54, 54, 0848 54, 54, 54, 54, 220, 221, 222, 225, 226, 228, 0849 229, 231, 981, 244, 238, 230, 981, 240, 242, 981, 0850 245, 246, 243, 981, 232, 239, 227, 241, 247, 220, 0851 221, 222, 225, 226, 228, 229, 231, 233, 244, 238, 0852 230, 234, 240, 242, 235, 245, 246, 243, 236, 232, 0853 0854 239, 227, 241, 247, 237, 250, 248, 251, 260, 261, 0855 265, 258, 233, 249, 981, 266, 234, 267, 272, 235, 0856 273, 981, 981, 236, 259, 981, 981, 981, 981, 237, 0857 250, 248, 251, 260, 261, 265, 258, 981, 249, 252, 0858 266, 262, 267, 272, 274, 273, 253, 254, 263, 259, 0859 255, 256, 275, 257, 268, 264, 277, 288, 276, 981, 0860 289, 981, 269, 292, 252, 270, 262, 981, 293, 274, 0861 981, 253, 254, 263, 271, 255, 256, 275, 257, 268, 0862 264, 277, 288, 276, 284, 289, 290, 269, 292, 291, 0863 270, 981, 285, 293, 300, 301, 302, 981, 303, 271, 0864 0865 278, 286, 279, 294, 295, 287, 280, 304, 296, 284, 0866 297, 290, 305, 281, 291, 282, 298, 285, 283, 300, 0867 301, 302, 299, 303, 306, 278, 286, 279, 294, 295, 0868 287, 280, 304, 296, 307, 297, 309, 305, 281, 311, 0869 282, 298, 312, 283, 308, 313, 310, 299, 314, 306, 0870 315, 316, 317, 319, 320, 321, 322, 323, 324, 307, 0871 327, 309, 325, 326, 311, 328, 329, 312, 330, 308, 0872 313, 310, 331, 314, 318, 315, 316, 317, 319, 320, 0873 321, 322, 323, 324, 332, 327, 333, 325, 326, 334, 0874 328, 329, 335, 330, 336, 337, 338, 331, 339, 318, 0875 0876 340, 341, 342, 343, 344, 345, 346, 347, 348, 332, 0877 349, 333, 350, 351, 334, 352, 353, 335, 981, 336, 0878 337, 338, 356, 339, 357, 340, 341, 342, 343, 344, 0879 345, 346, 347, 348, 354, 349, 358, 350, 351, 359, 0880 352, 353, 360, 355, 361, 362, 363, 356, 364, 357, 0881 365, 366, 368, 370, 371, 372, 369, 373, 374, 354, 0882 375, 358, 376, 377, 359, 378, 367, 360, 355, 361, 0883 362, 363, 379, 364, 380, 365, 366, 368, 370, 371, 0884 372, 369, 373, 374, 383, 375, 381, 376, 377, 384, 0885 378, 367, 385, 382, 386, 387, 390, 379, 388, 380, 0886 0887 391, 392, 389, 393, 394, 395, 396, 397, 398, 383, 0888 399, 381, 400, 401, 384, 402, 403, 385, 382, 386, 0889 387, 390, 404, 388, 405, 391, 392, 389, 393, 394, 0890 395, 396, 397, 398, 406, 399, 410, 400, 401, 408, 0891 402, 403, 407, 411, 409, 412, 413, 404, 414, 405, 0892 415, 416, 417, 418, 419, 420, 421, 422, 423, 406, 0893 424, 410, 425, 426, 408, 427, 428, 407, 411, 409, 0894 412, 413, 429, 414, 430, 415, 416, 417, 418, 419, 0895 420, 421, 422, 423, 431, 424, 432, 425, 426, 433, 0896 427, 428, 434, 435, 436, 440, 441, 429, 442, 430, 0897 0898 437, 443, 444, 445, 446, 447, 438, 448, 449, 431, 0899 450, 432, 451, 452, 433, 439, 455, 434, 435, 436, 0900 440, 441, 453, 442, 456, 437, 443, 444, 445, 446, 0901 447, 438, 448, 449, 457, 450, 458, 451, 452, 454, 0902 439, 455, 459, 460, 461, 462, 464, 453, 465, 456, 0903 466, 469, 470, 471, 472, 473, 474, 463, 475, 457, 0904 476, 458, 477, 478, 454, 467, 468, 459, 460, 461, 0905 462, 464, 479, 465, 480, 466, 469, 470, 471, 472, 0906 473, 474, 463, 475, 481, 476, 482, 477, 478, 483, 0907 467, 468, 484, 485, 486, 487, 488, 479, 489, 480, 0908 0909 490, 491, 492, 493, 494, 495, 496, 497, 498, 481, 0910 499, 482, 500, 501, 483, 502, 503, 484, 485, 486, 0911 487, 488, 504, 489, 505, 490, 491, 492, 493, 494, 0912 495, 496, 497, 498, 506, 499, 507, 500, 501, 508, 0913 502, 503, 509, 510, 511, 512, 513, 504, 514, 505, 0914 515, 516, 517, 518, 519, 520, 521, 522, 523, 506, 0915 524, 507, 525, 526, 508, 527, 528, 509, 510, 511, 0916 512, 513, 529, 514, 530, 515, 516, 517, 518, 519, 0917 520, 521, 522, 523, 531, 524, 532, 525, 526, 533, 0918 527, 528, 534, 535, 536, 537, 538, 529, 539, 530, 0919 0920 540, 541, 542, 543, 544, 545, 546, 547, 548, 531, 0921 549, 532, 550, 551, 533, 552, 553, 534, 535, 536, 0922 537, 538, 554, 539, 555, 540, 541, 542, 543, 544, 0923 545, 546, 547, 548, 556, 549, 557, 550, 551, 558, 0924 552, 553, 559, 560, 561, 562, 563, 554, 564, 555, 0925 565, 566, 567, 568, 569, 570, 571, 572, 573, 556, 0926 574, 557, 575, 576, 558, 577, 981, 559, 560, 561, 0927 562, 563, 580, 564, 581, 565, 566, 567, 568, 569, 0928 570, 571, 572, 573, 582, 574, 583, 575, 576, 584, 0929 577, 578, 579, 585, 586, 587, 588, 580, 589, 581, 0930 0931 590, 591, 592, 593, 594, 595, 596, 597, 598, 582, 0932 599, 583, 600, 601, 584, 602, 578, 579, 585, 586, 0933 587, 588, 603, 589, 604, 590, 591, 592, 593, 594, 0934 595, 596, 597, 598, 605, 599, 606, 600, 601, 607, 0935 602, 608, 610, 611, 612, 609, 613, 603, 614, 604, 0936 615, 616, 617, 618, 619, 620, 621, 622, 623, 605, 0937 624, 606, 625, 626, 607, 627, 608, 610, 611, 612, 0938 609, 613, 628, 614, 629, 615, 616, 617, 618, 619, 0939 620, 621, 622, 623, 630, 624, 631, 625, 626, 632, 0940 627, 633, 634, 635, 636, 637, 638, 628, 639, 629, 0941 0942 640, 641, 642, 643, 644, 645, 646, 647, 648, 630, 0943 649, 631, 650, 651, 632, 652, 633, 634, 635, 636, 0944 637, 638, 653, 639, 654, 640, 641, 642, 643, 644, 0945 645, 646, 647, 648, 655, 649, 656, 650, 651, 657, 0946 652, 658, 659, 660, 661, 662, 663, 653, 664, 654, 0947 665, 666, 667, 668, 669, 670, 671, 672, 673, 655, 0948 674, 656, 675, 676, 657, 677, 658, 659, 660, 661, 0949 662, 663, 678, 664, 679, 665, 666, 667, 668, 669, 0950 670, 671, 672, 673, 680, 674, 681, 675, 676, 682, 0951 677, 683, 684, 685, 686, 687, 688, 678, 689, 679, 0952 0953 690, 691, 692, 693, 694, 695, 696, 697, 698, 680, 0954 699, 681, 700, 701, 682, 702, 683, 684, 685, 686, 0955 687, 688, 703, 689, 704, 690, 691, 692, 693, 694, 0956 695, 696, 697, 698, 705, 699, 706, 700, 701, 707, 0957 702, 708, 709, 711, 712, 713, 714, 703, 715, 704, 0958 716, 710, 717, 718, 719, 720, 721, 722, 723, 705, 0959 727, 706, 728, 981, 707, 729, 708, 709, 711, 712, 0960 713, 714, 730, 715, 731, 716, 710, 717, 718, 719, 0961 720, 721, 722, 723, 724, 727, 732, 728, 725, 733, 0962 729, 726, 734, 735, 736, 737, 738, 730, 739, 731, 0963 0964 740, 741, 742, 743, 744, 745, 746, 747, 748, 724, 0965 749, 732, 750, 725, 733, 751, 726, 734, 735, 736, 0966 737, 738, 752, 739, 753, 740, 741, 742, 743, 744, 0967 745, 746, 747, 748, 754, 749, 755, 750, 756, 757, 0968 751, 758, 759, 760, 761, 762, 763, 752, 764, 753, 0969 765, 766, 767, 768, 769, 770, 771, 772, 773, 754, 0970 774, 755, 777, 756, 757, 775, 758, 759, 760, 761, 0971 762, 763, 778, 764, 779, 765, 766, 767, 768, 769, 0972 770, 771, 772, 773, 776, 774, 780, 777, 781, 782, 0973 775, 783, 784, 785, 786, 787, 788, 778, 789, 779, 0974 0975 790, 791, 792, 793, 794, 795, 796, 797, 798, 776, 0976 799, 780, 800, 781, 782, 801, 783, 784, 785, 786, 0977 787, 788, 807, 789, 808, 790, 791, 792, 793, 794, 0978 795, 796, 797, 798, 802, 799, 809, 800, 810, 811, 0979 801, 812, 803, 804, 805, 813, 814, 807, 815, 808, 0980 816, 817, 806, 818, 819, 820, 821, 822, 823, 802, 0981 824, 809, 825, 810, 811, 826, 812, 803, 804, 805, 0982 813, 814, 827, 815, 828, 816, 817, 806, 818, 819, 0983 820, 821, 822, 823, 829, 824, 830, 825, 831, 832, 0984 826, 833, 834, 835, 836, 837, 838, 827, 839, 828, 0985 0986 840, 841, 842, 843, 844, 845, 846, 847, 848, 829, 0987 849, 830, 850, 831, 832, 851, 833, 834, 835, 836, 0988 837, 838, 852, 839, 853, 840, 841, 842, 843, 844, 0989 845, 846, 847, 848, 854, 849, 855, 850, 856, 857, 0990 851, 858, 859, 860, 861, 862, 863, 852, 864, 853, 0991 865, 866, 867, 869, 870, 871, 872, 873, 874, 854, 0992 875, 855, 868, 856, 857, 876, 858, 859, 860, 861, 0993 862, 863, 877, 864, 878, 865, 866, 867, 869, 870, 0994 871, 872, 873, 874, 879, 875, 880, 868, 881, 882, 0995 876, 883, 884, 885, 886, 887, 888, 877, 889, 878, 0996 0997 890, 891, 892, 893, 894, 895, 896, 897, 898, 879, 0998 899, 880, 900, 881, 882, 901, 883, 884, 885, 886, 0999 887, 888, 902, 889, 903, 890, 891, 892, 893, 894, 1000 895, 896, 897, 898, 904, 899, 905, 900, 906, 907, 1001 901, 908, 909, 910, 911, 912, 913, 902, 914, 903, 1002 915, 916, 917, 918, 919, 920, 921, 922, 923, 904, 1003 924, 905, 925, 906, 907, 926, 908, 909, 910, 911, 1004 912, 913, 927, 914, 928, 915, 916, 917, 918, 919, 1005 920, 921, 922, 923, 930, 924, 931, 925, 932, 933, 1006 926, 934, 935, 929, 936, 937, 938, 927, 939, 928, 1007 1008 940, 941, 942, 943, 944, 945, 946, 947, 948, 930, 1009 949, 931, 950, 932, 933, 951, 934, 935, 929, 936, 1010 937, 938, 952, 939, 953, 940, 941, 942, 943, 944, 1011 945, 946, 947, 948, 954, 949, 955, 950, 956, 957, 1012 951, 958, 959, 960, 961, 962, 963, 952, 964, 953, 1013 965, 966, 967, 968, 969, 970, 971, 972, 973, 954, 1014 974, 955, 975, 956, 957, 976, 958, 959, 960, 961, 1015 962, 963, 977, 964, 978, 965, 966, 967, 968, 969, 1016 970, 971, 972, 973, 979, 974, 980, 975, 981, 981, 1017 976, 981, 981, 981, 981, 981, 981, 977, 981, 978, 1018 1019 981, 981, 981, 981, 981, 981, 981, 981, 981, 979, 1020 981, 980, 3, 981, 981, 981, 981, 981, 981, 981, 1021 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1022 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1023 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1024 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1025 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1026 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1027 981, 981 1028 }; 1029 1030 static yyconst flex_int16_t yy_chk[2083] = { 1031 0, 1032 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1033 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1034 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1035 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1036 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1037 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1038 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 1039 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 1040 13, 14, 14, 14, 14, 14, 14, 15, 15, 15, 1041 15, 15, 15, 16, 16, 16, 16, 16, 16, 984, 1042 1043 983, 30, 982, 13, 14, 17, 17, 17, 17, 17, 1044 17, 22, 23, 23, 15, 22, 24, 37, 22, 23, 1045 24, 30, 16, 32, 30, 23, 30, 32, 13, 14, 1046 24, 22, 159, 41, 17, 51, 22, 23, 23, 15, 1047 22, 24, 37, 22, 23, 24, 30, 16, 32, 30, 1048 23, 49, 32, 26, 47, 24, 22, 26, 41, 17, 1049 21, 26, 21, 42, 21, 21, 55, 26, 56, 57, 1050 26, 58, 21, 59, 21, 63, 21, 21, 26, 21, 1051 21, 46, 26, 21, 45, 21, 26, 21, 42, 21, 1052 21, 55, 26, 56, 57, 26, 58, 21, 59, 21, 1053 1054 63, 21, 21, 44, 21, 21, 28, 29, 21, 25, 1055 28, 64, 65, 27, 28, 29, 25, 66, 67, 68, 1056 25, 69, 70, 27, 25, 29, 27, 25, 25, 27, 1057 25, 28, 29, 20, 25, 28, 64, 65, 27, 28, 1058 29, 25, 66, 67, 68, 25, 69, 70, 27, 25, 1059 29, 27, 25, 25, 27, 25, 31, 33, 34, 19, 1060 71, 33, 34, 31, 31, 33, 34, 73, 74, 35, 1061 31, 33, 34, 75, 76, 77, 78, 33, 79, 81, 1062 35, 31, 33, 34, 35, 71, 33, 34, 31, 31, 1063 33, 34, 73, 74, 35, 31, 33, 34, 75, 76, 1064 1065 77, 78, 33, 79, 81, 35, 82, 83, 38, 35, 1066 36, 43, 38, 83, 36, 43, 80, 36, 84, 80, 1067 85, 36, 38, 83, 80, 43, 86, 87, 36, 36, 1068 36, 82, 83, 38, 88, 36, 43, 38, 83, 36, 1069 43, 80, 36, 84, 80, 85, 36, 38, 83, 80, 1070 43, 86, 87, 36, 36, 36, 39, 89, 39, 88, 1071 39, 90, 91, 39, 39, 92, 93, 94, 95, 96, 1072 39, 97, 98, 99, 100, 94, 39, 18, 11, 94, 1073 9, 39, 89, 39, 8, 39, 90, 91, 39, 39, 1074 92, 93, 94, 95, 96, 39, 97, 98, 99, 100, 1075 1076 94, 39, 40, 102, 94, 102, 40, 101, 103, 40, 1077 40, 105, 40, 106, 101, 109, 40, 103, 110, 107, 1078 102, 107, 40, 7, 6, 5, 3, 40, 102, 2, 1079 102, 40, 101, 103, 40, 40, 105, 40, 106, 101, 1080 109, 40, 103, 110, 107, 102, 107, 40, 54, 54, 1081 54, 54, 54, 54, 108, 108, 108, 111, 112, 113, 1082 114, 115, 0, 120, 117, 114, 0, 118, 119, 0, 1083 121, 122, 119, 0, 115, 117, 112, 118, 123, 108, 1084 108, 108, 111, 112, 113, 114, 115, 116, 120, 117, 1085 114, 116, 118, 119, 116, 121, 122, 119, 116, 115, 1086 1087 117, 112, 118, 123, 116, 125, 124, 127, 130, 131, 1088 133, 129, 116, 124, 0, 134, 116, 135, 137, 116, 1089 138, 0, 0, 116, 129, 0, 0, 0, 0, 116, 1090 125, 124, 127, 130, 131, 133, 129, 0, 124, 128, 1091 134, 132, 135, 137, 139, 138, 128, 128, 132, 129, 1092 128, 128, 139, 128, 136, 132, 140, 143, 139, 0, 1093 144, 0, 136, 146, 128, 136, 132, 0, 146, 139, 1094 0, 128, 128, 132, 136, 128, 128, 139, 128, 136, 1095 132, 140, 143, 139, 142, 144, 145, 136, 146, 145, 1096 136, 0, 142, 146, 149, 149, 150, 0, 151, 136, 1097 1098 141, 142, 141, 147, 147, 142, 141, 152, 147, 142, 1099 148, 145, 153, 141, 145, 141, 148, 142, 141, 149, 1100 149, 150, 148, 151, 154, 141, 142, 141, 147, 147, 1101 142, 141, 152, 147, 155, 148, 156, 153, 141, 157, 1102 141, 148, 166, 141, 155, 167, 156, 148, 168, 154, 1103 169, 171, 173, 174, 175, 176, 177, 178, 179, 155, 1104 181, 156, 180, 180, 157, 182, 183, 166, 184, 155, 1105 167, 156, 185, 168, 173, 169, 171, 173, 174, 175, 1106 176, 177, 178, 179, 186, 181, 187, 180, 180, 189, 1107 182, 183, 190, 184, 191, 192, 193, 185, 194, 173, 1108 1109 195, 196, 197, 198, 199, 200, 201, 202, 203, 186, 1110 204, 187, 205, 206, 189, 207, 208, 190, 0, 191, 1111 192, 193, 210, 194, 211, 195, 196, 197, 198, 199, 1112 200, 201, 202, 203, 209, 204, 212, 205, 206, 213, 1113 207, 208, 214, 209, 215, 216, 217, 210, 218, 211, 1114 219, 220, 221, 222, 223, 224, 221, 225, 226, 209, 1115 227, 212, 228, 229, 213, 230, 220, 214, 209, 215, 1116 216, 217, 231, 218, 232, 219, 220, 221, 222, 223, 1117 224, 221, 225, 226, 234, 227, 233, 228, 229, 235, 1118 230, 220, 236, 233, 238, 239, 240, 231, 239, 232, 1119 1120 241, 242, 239, 243, 244, 245, 246, 247, 248, 234, 1121 249, 233, 250, 251, 235, 252, 253, 236, 233, 238, 1122 239, 240, 254, 239, 254, 241, 242, 239, 243, 244, 1123 245, 246, 247, 248, 255, 249, 257, 250, 251, 256, 1124 252, 253, 255, 258, 256, 259, 260, 254, 261, 254, 1125 262, 263, 264, 265, 266, 267, 268, 269, 270, 255, 1126 271, 257, 272, 274, 256, 275, 276, 255, 258, 256, 1127 259, 260, 277, 261, 278, 262, 263, 264, 265, 266, 1128 267, 268, 269, 270, 279, 271, 280, 272, 274, 281, 1129 275, 276, 282, 283, 284, 285, 286, 277, 287, 278, 1130 1131 284, 288, 289, 290, 291, 292, 284, 293, 294, 279, 1132 296, 280, 297, 298, 281, 284, 301, 282, 283, 284, 1133 285, 286, 299, 287, 302, 284, 288, 289, 290, 291, 1134 292, 284, 293, 294, 303, 296, 304, 297, 298, 299, 1135 284, 301, 305, 306, 307, 308, 309, 299, 310, 302, 1136 311, 313, 314, 315, 316, 317, 318, 308, 319, 303, 1137 321, 304, 322, 323, 299, 311, 311, 305, 306, 307, 1138 308, 309, 324, 310, 325, 311, 313, 314, 315, 316, 1139 317, 318, 308, 319, 326, 321, 327, 322, 323, 328, 1140 311, 311, 329, 330, 331, 333, 334, 324, 335, 325, 1141 1142 336, 340, 341, 342, 343, 344, 345, 346, 347, 326, 1143 348, 327, 349, 350, 328, 351, 352, 329, 330, 331, 1144 333, 334, 353, 335, 354, 336, 340, 341, 342, 343, 1145 344, 345, 346, 347, 355, 348, 356, 349, 350, 357, 1146 351, 352, 358, 359, 360, 361, 362, 353, 364, 354, 1147 365, 366, 368, 369, 371, 372, 373, 374, 375, 355, 1148 376, 356, 377, 379, 357, 380, 381, 358, 359, 360, 1149 361, 362, 383, 364, 384, 365, 366, 368, 369, 371, 1150 372, 373, 374, 375, 385, 376, 387, 377, 379, 388, 1151 380, 381, 389, 390, 391, 392, 393, 383, 394, 384, 1152 1153 395, 396, 397, 399, 400, 401, 402, 403, 404, 385, 1154 405, 387, 406, 407, 388, 408, 409, 389, 390, 391, 1155 392, 393, 410, 394, 411, 395, 396, 397, 399, 400, 1156 401, 402, 403, 404, 412, 405, 413, 406, 407, 415, 1157 408, 409, 416, 417, 418, 419, 420, 410, 421, 411, 1158 422, 423, 424, 425, 426, 427, 428, 429, 430, 412, 1159 431, 413, 432, 434, 415, 435, 0, 416, 417, 418, 1160 419, 420, 437, 421, 438, 422, 423, 424, 425, 426, 1161 427, 428, 429, 430, 439, 431, 440, 432, 434, 441, 1162 435, 436, 436, 442, 443, 444, 445, 437, 446, 438, 1163 1164 447, 448, 449, 450, 451, 452, 453, 454, 455, 439, 1165 456, 440, 458, 459, 441, 460, 436, 436, 442, 443, 1166 444, 445, 461, 446, 462, 447, 448, 449, 450, 451, 1167 452, 453, 454, 455, 463, 456, 465, 458, 459, 466, 1168 460, 467, 468, 469, 471, 467, 473, 461, 474, 462, 1169 475, 476, 477, 478, 479, 480, 481, 483, 484, 463, 1170 485, 465, 486, 487, 466, 488, 467, 468, 469, 471, 1171 467, 473, 489, 474, 490, 475, 476, 477, 478, 479, 1172 480, 481, 483, 484, 491, 485, 492, 486, 487, 494, 1173 488, 495, 497, 499, 500, 501, 502, 489, 503, 490, 1174 1175 504, 507, 508, 510, 512, 513, 514, 515, 516, 491, 1176 517, 492, 519, 520, 494, 521, 495, 497, 499, 500, 1177 501, 502, 523, 503, 524, 504, 507, 508, 510, 512, 1178 513, 514, 515, 516, 525, 517, 526, 519, 520, 527, 1179 521, 528, 529, 530, 532, 533, 534, 523, 536, 524, 1180 537, 538, 539, 540, 541, 543, 544, 545, 546, 525, 1181 547, 526, 550, 551, 527, 552, 528, 529, 530, 532, 1182 533, 534, 553, 536, 555, 537, 538, 539, 540, 541, 1183 543, 544, 545, 546, 556, 547, 557, 550, 551, 558, 1184 552, 559, 562, 563, 564, 566, 567, 553, 568, 555, 1185 1186 570, 571, 572, 573, 574, 576, 577, 578, 579, 556, 1187 580, 557, 581, 582, 558, 584, 559, 562, 563, 564, 1188 566, 567, 587, 568, 588, 570, 571, 572, 573, 574, 1189 576, 577, 578, 579, 589, 580, 590, 581, 582, 592, 1190 584, 595, 596, 597, 598, 599, 600, 587, 601, 588, 1191 602, 596, 603, 604, 605, 606, 607, 608, 609, 589, 1192 612, 590, 613, 0, 592, 618, 595, 596, 597, 598, 1193 599, 600, 619, 601, 620, 602, 596, 603, 604, 605, 1194 606, 607, 608, 609, 610, 612, 621, 613, 610, 622, 1195 618, 610, 624, 625, 626, 627, 628, 619, 631, 620, 1196 1197 632, 633, 634, 638, 639, 640, 643, 644, 645, 610, 1198 647, 621, 649, 610, 622, 650, 610, 624, 625, 626, 1199 627, 628, 652, 631, 654, 632, 633, 634, 638, 639, 1200 640, 643, 644, 645, 655, 647, 656, 649, 658, 659, 1201 650, 660, 662, 664, 667, 668, 670, 652, 671, 654, 1202 672, 673, 674, 675, 676, 678, 679, 681, 682, 655, 1203 683, 656, 687, 658, 659, 686, 660, 662, 664, 667, 1204 668, 670, 688, 671, 689, 672, 673, 674, 675, 676, 1205 678, 679, 681, 682, 686, 683, 690, 687, 691, 693, 1206 686, 695, 696, 698, 699, 701, 702, 688, 703, 689, 1207 1208 704, 707, 709, 710, 711, 712, 713, 714, 715, 686, 1209 716, 690, 717, 691, 693, 718, 695, 696, 698, 699, 1210 701, 702, 720, 703, 721, 704, 707, 709, 710, 711, 1211 712, 713, 714, 715, 719, 716, 722, 717, 723, 724, 1212 718, 725, 719, 719, 719, 726, 727, 720, 729, 721, 1213 730, 731, 719, 733, 735, 736, 737, 738, 739, 719, 1214 740, 722, 741, 723, 724, 742, 725, 719, 719, 719, 1215 726, 727, 743, 729, 744, 730, 731, 719, 733, 735, 1216 736, 737, 738, 739, 745, 740, 747, 741, 748, 750, 1217 742, 751, 753, 754, 755, 757, 758, 743, 759, 744, 1218 1219 761, 763, 765, 767, 768, 769, 773, 774, 775, 745, 1220 776, 747, 779, 748, 750, 780, 751, 753, 754, 755, 1221 757, 758, 781, 759, 782, 761, 763, 765, 767, 768, 1222 769, 773, 774, 775, 783, 776, 784, 779, 786, 788, 1223 780, 789, 790, 792, 793, 794, 796, 781, 798, 782, 1224 799, 801, 802, 803, 804, 805, 806, 807, 808, 783, 1225 809, 784, 802, 786, 788, 810, 789, 790, 792, 793, 1226 794, 796, 811, 798, 812, 799, 801, 802, 803, 804, 1227 805, 806, 807, 808, 813, 809, 814, 802, 815, 816, 1228 810, 817, 818, 821, 823, 824, 826, 811, 827, 812, 1229 1230 828, 830, 831, 832, 833, 834, 842, 843, 844, 813, 1231 846, 814, 848, 815, 816, 849, 817, 818, 821, 823, 1232 824, 826, 850, 827, 854, 828, 830, 831, 832, 833, 1233 834, 842, 843, 844, 856, 846, 859, 848, 860, 861, 1234 849, 865, 866, 867, 868, 869, 870, 850, 871, 854, 1235 872, 873, 874, 876, 878, 879, 880, 883, 884, 856, 1236 885, 859, 889, 860, 861, 891, 865, 866, 867, 868, 1237 869, 870, 892, 871, 893, 872, 873, 874, 876, 878, 1238 879, 880, 883, 884, 895, 885, 896, 889, 897, 898, 1239 891, 900, 901, 893, 906, 907, 909, 892, 910, 893, 1240 1241 911, 912, 913, 914, 915, 917, 920, 922, 923, 895, 1242 924, 896, 927, 897, 898, 928, 900, 901, 893, 906, 1243 907, 909, 929, 910, 931, 911, 912, 913, 914, 915, 1244 917, 920, 922, 923, 935, 924, 936, 927, 938, 940, 1245 928, 941, 942, 943, 945, 947, 948, 929, 950, 931, 1246 951, 952, 954, 956, 958, 960, 963, 964, 965, 935, 1247 966, 936, 968, 938, 940, 969, 941, 942, 943, 945, 1248 947, 948, 970, 950, 972, 951, 952, 954, 956, 958, 1249 960, 963, 964, 965, 974, 966, 979, 968, 0, 0, 1250 969, 0, 0, 0, 0, 0, 0, 970, 0, 972, 1251 1252 0, 0, 0, 0, 0, 0, 0, 0, 0, 974, 1253 0, 979, 981, 981, 981, 981, 981, 981, 981, 981, 1254 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1255 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1256 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1257 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1258 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1259 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 1260 981, 981 1261 }; 1262 1263 static yyconst flex_int16_t yy_rule_linenum[202] = { 1264 0, 1265 89, 90, 91, 92, 93, 95, 96, 97, 98, 100, 1266 102, 106, 107, 108, 109, 110, 111, 112, 113, 114, 1267 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 1268 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 1269 137, 138, 140, 141, 143, 144, 145, 146, 147, 148, 1270 149, 150, 151, 152, 153, 155, 156, 158, 159, 160, 1271 161, 162, 163, 164, 165, 166, 167, 168, 169, 171, 1272 172, 173, 174, 175, 176, 177, 179, 181, 182, 183, 1273 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 1274 195, 196, 197, 198, 199, 200, 201, 203, 205, 206, 1275 1276 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 1277 217, 219, 220, 221, 222, 223, 224, 225, 227, 229, 1278 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 1279 240, 241, 242, 244, 245, 246, 247, 248, 249, 250, 1280 252, 254, 255, 256, 257, 258, 259, 260, 261, 262, 1281 263, 264, 265, 267, 268, 269, 270, 271, 272, 273, 1282 275, 277, 278, 279, 280, 281, 282, 283, 284, 285, 1283 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 1284 298, 300, 301, 302, 303, 304, 305, 306, 307, 308, 1285 309, 310, 311, 313, 314, 315, 316, 317, 318, 319, 1286 1287 321 1288 }; 1289 1290 /* The intent behind this definition is that it'll catch 1291 * any uses of REJECT which flex missed. 1292 */ 1293 #define REJECT reject_used_but_not_detected 1294 #define yymore() yymore_used_but_not_detected 1295 #define YY_MORE_ADJ 0 1296 #define YY_RESTORE_YY_MORE_OFFSET 1297 #line 1 "holidayscannerplan.lpp" 1298 /* 1299 Original version from plan: 1300 SPDX-FileCopyrightText: Thomas Driemeyer <thomas@bitrot.de> 1301 1302 Adapted for use in KOrganizer: 1303 SPDX-FileCopyrightText: Preston Brown <pbrown@kde.org> and 1304 SPDX-FileCopyrightText: Reinhold Kainhofer <reinhold@kainhofer.com> 1305 1306 Major rewrite using Bison C++ skeleton: 1307 SPDX-FileCopyrightText: 2010 John Layt <john@layt.net> 1308 1309 SPDX-License-Identifier: LGPL-2.0-or-later 1310 */ 1311 #line 28 "holidayscannerplan.lpp" 1312 # include <cstdlib> 1313 # include <errno.h> 1314 # include <limits.h> 1315 # include <string> 1316 1317 # include <kholidays_debug.h> 1318 1319 # include "holidayscannerplan_p.h" 1320 # include "holidayparserdriverplan_p.h" 1321 # include "holidayparserplan.hpp" 1322 1323 /* import the parser's token type into a local typedef */ 1324 typedef KHolidays::HolidayParserPlan::token token; 1325 typedef KHolidays::HolidayParserPlan::token_type token_type; 1326 1327 /* By default yylex returns int, we use token_type. Unfortunately yyterminate 1328 * by default returns 0, which is not of token_type. */ 1329 # define yyterminate() return token::END 1330 1331 /* This disables inclusion of unistd.h, which is not available under Visual C++ 1332 * on Win32. The C++ scanner uses STL streams instead. */ 1333 # define YY_NO_UNISTD_H 1334 /*** Flex Declarations and Options ***/ 1335 /* enable c++ scanner class generation */ 1336 /* change the name of the scanner class. results in "HolidayScannerFlexLexer" */ 1337 /* the manual says "somewhat more optimized" */ 1338 /* enable scanner to generate debug output. disable this for release 1339 * versions. */ 1340 /* no support for include files is planned */ 1341 /* enables the use of start condition stacks */ 1342 /* The following paragraph suffices to track locations accurately. Each time 1343 * yylex is invoked, the begin position is moved onto the end position. */ 1344 #line 78 "holidayscannerplan.lpp" 1345 # define YY_USER_ACTION yylloc->columns( yyleng ); 1346 #line 1359 "holidayscannerplan.cpp" 1347 1348 #define INITIAL 0 1349 1350 #ifndef YY_NO_UNISTD_H 1351 /* Special case for "unistd.h", since it is non-ANSI. We include it way 1352 * down here because we want the user's section 1 to have been scanned first. 1353 * The user has a chance to override it with an option. 1354 */ 1355 /* %if-c-only */ 1356 /* %endif */ 1357 /* %if-c++-only */ 1358 #include <unistd.h> 1359 /* %endif */ 1360 #endif 1361 1362 #ifndef YY_EXTRA_TYPE 1363 #define YY_EXTRA_TYPE void * 1364 #endif 1365 1366 /* %if-c-only Reentrant structure and macros (non-C++). */ 1367 /* %if-reentrant */ 1368 /* %if-c-only */ 1369 /* %endif */ 1370 /* %if-reentrant */ 1371 /* %endif */ 1372 /* %endif End reentrant structures and macros. */ 1373 /* %if-bison-bridge */ 1374 /* %endif */ 1375 /* %not-for-header */ 1376 1377 /* %ok-for-header */ 1378 1379 /* %endif */ 1380 1381 #ifndef yytext_ptr 1382 static void yy_flex_strncpy(char *, yyconst char *, int); 1383 #endif 1384 1385 #ifdef YY_NEED_STRLEN 1386 static int yy_flex_strlen(yyconst char *); 1387 #endif 1388 1389 #ifndef YY_NO_INPUT 1390 /* %if-c-only Standard (non-C++) definition */ 1391 /* %not-for-header */ 1392 1393 /* %ok-for-header */ 1394 1395 /* %endif */ 1396 #endif 1397 1398 /* %if-c-only */ 1399 /* %endif */ 1400 1401 /* Amount of stuff to slurp up with each read. */ 1402 #ifndef YY_READ_BUF_SIZE 1403 #ifdef __ia64__ 1404 /* On IA-64, the buffer size is 16k, not 8k */ 1405 #define YY_READ_BUF_SIZE 16384 1406 #else 1407 #define YY_READ_BUF_SIZE 8192 1408 #endif /* __ia64__ */ 1409 #endif 1410 1411 /* Copy whatever the last rule matched to the standard output. */ 1412 #ifndef ECHO 1413 /* %if-c-only Standard (non-C++) definition */ 1414 /* %endif */ 1415 /* %if-c++-only C++ definition */ 1416 #define ECHO LexerOutput( yytext, yyleng ) 1417 /* %endif */ 1418 #endif 1419 1420 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 1421 * is returned in "result". 1422 */ 1423 #ifndef YY_INPUT 1424 #define YY_INPUT(buf,result,max_size) \ 1425 /* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\ 1426 \ 1427 /* %if-c++-only C++ definition \ */\ 1428 if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \ 1429 YY_FATAL_ERROR( "input in flex scanner failed" ); 1430 /* %endif */ 1431 1432 #endif 1433 1434 /* No semi-colon after return; correct usage is to write "yyterminate();" - 1435 * we don't want an extra ';' after the "return" because that will cause 1436 * some compilers to complain about unreachable statements. 1437 */ 1438 #ifndef yyterminate 1439 #define yyterminate() return YY_NULL 1440 #endif 1441 1442 /* Number of entries by which start-condition stack grows. */ 1443 #ifndef YY_START_STACK_INCR 1444 #define YY_START_STACK_INCR 25 1445 #endif 1446 1447 /* Report a fatal error. */ 1448 #ifndef YY_FATAL_ERROR 1449 /* %if-c-only */ 1450 /* %endif */ 1451 /* %if-c++-only */ 1452 #define YY_FATAL_ERROR(msg) LexerError( msg ) 1453 /* %endif */ 1454 #endif 1455 1456 /* %if-tables-serialization structures and prototypes */ 1457 /* %not-for-header */ 1458 1459 /* %ok-for-header */ 1460 1461 /* %not-for-header */ 1462 1463 /* %tables-yydmap generated elements */ 1464 /* %endif */ 1465 /* end tables serialization structures and prototypes */ 1466 1467 /* %ok-for-header */ 1468 1469 /* Default declaration of generated scanner - a define so the user can 1470 * easily add parameters. 1471 */ 1472 #ifndef YY_DECL 1473 #define YY_DECL_IS_OURS 1 1474 /* %if-c-only Standard (non-C++) definition */ 1475 /* %endif */ 1476 /* %if-c++-only C++ definition */ 1477 #define YY_DECL int yyFlexLexer::yylex() 1478 /* %endif */ 1479 #endif /* !YY_DECL */ 1480 1481 /* Code executed at the beginning of each rule, after yytext and yyleng 1482 * have been set up. 1483 */ 1484 #ifndef YY_USER_ACTION 1485 #define YY_USER_ACTION 1486 #endif 1487 1488 /* Code executed at the end of each rule. */ 1489 #ifndef YY_BREAK 1490 #define YY_BREAK break; 1491 #endif 1492 1493 /* %% [6.0] YY_RULE_SETUP definition goes here */ 1494 #define YY_RULE_SETUP \ 1495 if ( yyleng > 0 ) \ 1496 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ 1497 (yytext[yyleng - 1] == '\n'); \ 1498 YY_USER_ACTION 1499 1500 /* %not-for-header */ 1501 1502 /** The main scanner function which does all the work. 1503 */ 1504 YY_DECL { 1505 yy_state_type yy_current_state; 1506 char *yy_cp, *yy_bp; 1507 int yy_act; 1508 1509 /* %% [7.0] user's declarations go here */ 1510 #line 81 "holidayscannerplan.lpp" 1511 1512 /* code to place at the beginning of yylex() */ 1513 // reset location 1514 yylloc->step(); 1515 1516 #line 1533 "holidayscannerplan.cpp" 1517 1518 if (!(yy_init)) 1519 { 1520 (yy_init) = 1; 1521 1522 #ifdef YY_USER_INIT 1523 YY_USER_INIT; 1524 #endif 1525 1526 if (!(yy_start)) { 1527 (yy_start) = 1; /* first start state */ 1528 } 1529 1530 if (! yyin) 1531 /* %if-c-only */ 1532 /* %endif */ 1533 /* %if-c++-only */ 1534 { 1535 yyin = & std::cin; 1536 } 1537 /* %endif */ 1538 1539 if (! yyout) 1540 /* %if-c-only */ 1541 /* %endif */ 1542 /* %if-c++-only */ 1543 { 1544 yyout = & std::cout; 1545 } 1546 /* %endif */ 1547 1548 if (! YY_CURRENT_BUFFER) { 1549 yyensure_buffer_stack(); 1550 YY_CURRENT_BUFFER_LVALUE = 1551 yy_create_buffer(yyin, YY_BUF_SIZE); 1552 } 1553 1554 yy_load_buffer_state(); 1555 } 1556 1557 while (1) /* loops until end-of-file is reached */ 1558 { 1559 /* %% [8.0] yymore()-related code goes here */ 1560 yy_cp = (yy_c_buf_p); 1561 1562 /* Support of yytext. */ 1563 *yy_cp = (yy_hold_char); 1564 1565 /* yy_bp points to the position in yy_ch_buf of the start of 1566 * the current run. 1567 */ 1568 yy_bp = yy_cp; 1569 1570 /* %% [9.0] code to set up and find next match goes here */ 1571 yy_current_state = (yy_start); 1572 yy_current_state += YY_AT_BOL(); 1573 yy_match: 1574 do { 1575 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 1576 if (yy_accept[yy_current_state]) { 1577 (yy_last_accepting_state) = yy_current_state; 1578 (yy_last_accepting_cpos) = yy_cp; 1579 } 1580 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { 1581 yy_current_state = (int) yy_def[yy_current_state]; 1582 if (yy_current_state >= 982) { 1583 yy_c = yy_meta[(unsigned int) yy_c]; 1584 } 1585 } 1586 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1587 ++yy_cp; 1588 } while (yy_current_state != 981); 1589 yy_cp = (yy_last_accepting_cpos); 1590 yy_current_state = (yy_last_accepting_state); 1591 1592 yy_find_action: 1593 /* %% [10.0] code to find the action number goes here */ 1594 yy_act = yy_accept[yy_current_state]; 1595 1596 YY_DO_BEFORE_ACTION; 1597 1598 /* %% [11.0] code for yylineno update goes here */ 1599 1600 do_action: /* This label is used only to access EOF actions. */ 1601 1602 /* %% [12.0] debug code goes here */ 1603 if (yy_flex_debug) { 1604 if (yy_act == 0) { 1605 std::cerr << "--scanner backing up\n"; 1606 } else if (yy_act < 202) 1607 std::cerr << "--accepting rule at line " << yy_rule_linenum[yy_act] << 1608 "(\"" << yytext << "\")\n"; 1609 else if (yy_act == 202) { 1610 std::cerr << "--accepting default rule (\"" << yytext << "\")\n"; 1611 } else if (yy_act == 203) { 1612 std::cerr << "--(end of buffer or a NUL)\n"; 1613 } else { 1614 std::cerr << "--EOF (start condition " << YY_START << ")\n"; 1615 } 1616 } 1617 1618 switch (yy_act) { 1619 /* beginning of action switch */ 1620 /* %% [13.0] actions go here */ 1621 case 0: /* must back up */ 1622 /* undo the effects of YY_DO_BEFORE_ACTION */ 1623 *yy_cp = (yy_hold_char); 1624 yy_cp = (yy_last_accepting_cpos); 1625 yy_current_state = (yy_last_accepting_state); 1626 goto yy_find_action; 1627 1628 case 1: 1629 /* rule 1 can match eol */ 1630 YY_RULE_SETUP 1631 #line 89 "holidayscannerplan.lpp" 1632 { yylloc->lines(yyleng); yylloc->step(); } 1633 YY_BREAK 1634 case 2: 1635 /* rule 2 can match eol */ 1636 YY_RULE_SETUP 1637 #line 90 "holidayscannerplan.lpp" 1638 { yylloc->lines(yyleng); yylloc->step(); } 1639 YY_BREAK 1640 case 3: 1641 YY_RULE_SETUP 1642 #line 91 "holidayscannerplan.lpp" 1643 { yylloc->step(); } 1644 YY_BREAK 1645 case 4: 1646 /* rule 4 can match eol */ 1647 YY_RULE_SETUP 1648 #line 92 "holidayscannerplan.lpp" 1649 { yylloc->lines(yyleng); yylloc->step(); } 1650 YY_BREAK 1651 case 5: 1652 YY_RULE_SETUP 1653 #line 93 "holidayscannerplan.lpp" 1654 { return KHolidays::HolidayParserPlan::token_type(*yytext); } 1655 YY_BREAK 1656 case 6: 1657 YY_RULE_SETUP 1658 #line 95 "holidayscannerplan.lpp" 1659 { return token::COUNTRY; } 1660 YY_BREAK 1661 case 7: 1662 YY_RULE_SETUP 1663 #line 96 "holidayscannerplan.lpp" 1664 { return token::LANGUAGE; } 1665 YY_BREAK 1666 case 8: 1667 YY_RULE_SETUP 1668 #line 97 "holidayscannerplan.lpp" 1669 { return token::NAME; } 1670 YY_BREAK 1671 case 9: 1672 YY_RULE_SETUP 1673 #line 98 "holidayscannerplan.lpp" 1674 { return token::DESCRIPTION; } 1675 YY_BREAK 1676 case 10: 1677 YY_RULE_SETUP 1678 #line 100 "holidayscannerplan.lpp" 1679 { yylval->ival = atoi(yytext); return token::NUMBER; } 1680 YY_BREAK 1681 case 11: 1682 /* rule 11 can match eol */ 1683 YY_RULE_SETUP 1684 #line 102 "holidayscannerplan.lpp" 1685 { 1686 yylval->sval = strdup(yytext + 1); 1687 yylval->sval[ strlen(yylval->sval) - 1 ] = 0; 1688 return token::STRING; 1689 } 1690 YY_BREAK 1691 case 12: 1692 YY_RULE_SETUP 1693 #line 106 "holidayscannerplan.lpp" 1694 ; 1695 YY_BREAK 1696 case 13: 1697 YY_RULE_SETUP 1698 #line 107 "holidayscannerplan.lpp" 1699 ; 1700 YY_BREAK 1701 case 14: 1702 YY_RULE_SETUP 1703 #line 108 "holidayscannerplan.lpp" 1704 ; 1705 YY_BREAK 1706 case 15: 1707 YY_RULE_SETUP 1708 #line 109 "holidayscannerplan.lpp" 1709 ; 1710 YY_BREAK 1711 case 16: 1712 YY_RULE_SETUP 1713 #line 110 "holidayscannerplan.lpp" 1714 ; 1715 YY_BREAK 1716 case 17: 1717 YY_RULE_SETUP 1718 #line 111 "holidayscannerplan.lpp" 1719 { return token::INOP; } 1720 YY_BREAK 1721 case 18: 1722 YY_RULE_SETUP 1723 #line 112 "holidayscannerplan.lpp" 1724 { return token::IF; } 1725 YY_BREAK 1726 case 19: 1727 YY_RULE_SETUP 1728 #line 113 "holidayscannerplan.lpp" 1729 { return token::PLUS; } 1730 YY_BREAK 1731 case 20: 1732 YY_RULE_SETUP 1733 #line 114 "holidayscannerplan.lpp" 1734 { return token::MINUS; } 1735 YY_BREAK 1736 case 21: 1737 YY_RULE_SETUP 1738 #line 115 "holidayscannerplan.lpp" 1739 { return token::YEAR; } 1740 YY_BREAK 1741 case 22: 1742 YY_RULE_SETUP 1743 #line 116 "holidayscannerplan.lpp" 1744 { return token::LEAPYEAR; } 1745 YY_BREAK 1746 case 23: 1747 YY_RULE_SETUP 1748 #line 117 "holidayscannerplan.lpp" 1749 { return token::EASTER; } 1750 YY_BREAK 1751 case 24: 1752 YY_RULE_SETUP 1753 #line 118 "holidayscannerplan.lpp" 1754 { return token::PASCHA; } 1755 YY_BREAK 1756 case 25: 1757 YY_RULE_SETUP 1758 #line 119 "holidayscannerplan.lpp" 1759 { return token::LENGTH; } 1760 YY_BREAK 1761 case 26: 1762 YY_RULE_SETUP 1763 #line 120 "holidayscannerplan.lpp" 1764 { return token::SHIFT; } 1765 YY_BREAK 1766 case 27: 1767 YY_RULE_SETUP 1768 #line 122 "holidayscannerplan.lpp" 1769 { return token::EQ; } 1770 YY_BREAK 1771 case 28: 1772 YY_RULE_SETUP 1773 #line 123 "holidayscannerplan.lpp" 1774 { return token::NE; } 1775 YY_BREAK 1776 case 29: 1777 YY_RULE_SETUP 1778 #line 124 "holidayscannerplan.lpp" 1779 { return token::LE; } 1780 YY_BREAK 1781 case 30: 1782 YY_RULE_SETUP 1783 #line 125 "holidayscannerplan.lpp" 1784 { return token::GE; } 1785 YY_BREAK 1786 case 31: 1787 YY_RULE_SETUP 1788 #line 126 "holidayscannerplan.lpp" 1789 { return token::LT; } 1790 YY_BREAK 1791 case 32: 1792 YY_RULE_SETUP 1793 #line 127 "holidayscannerplan.lpp" 1794 { return token::GT; } 1795 YY_BREAK 1796 case 33: 1797 YY_RULE_SETUP 1798 #line 128 "holidayscannerplan.lpp" 1799 { return token::AND;} 1800 YY_BREAK 1801 case 34: 1802 YY_RULE_SETUP 1803 #line 129 "holidayscannerplan.lpp" 1804 { return token::OR; } 1805 YY_BREAK 1806 case 35: 1807 YY_RULE_SETUP 1808 #line 131 "holidayscannerplan.lpp" 1809 { yylval->ival = 1; return token::NUMBER; } 1810 YY_BREAK 1811 case 36: 1812 YY_RULE_SETUP 1813 #line 132 "holidayscannerplan.lpp" 1814 { yylval->ival = 2; return token::NUMBER; } 1815 YY_BREAK 1816 case 37: 1817 YY_RULE_SETUP 1818 #line 133 "holidayscannerplan.lpp" 1819 { yylval->ival = 3; return token::NUMBER; } 1820 YY_BREAK 1821 case 38: 1822 YY_RULE_SETUP 1823 #line 134 "holidayscannerplan.lpp" 1824 { yylval->ival = 4; return token::NUMBER; } 1825 YY_BREAK 1826 case 39: 1827 YY_RULE_SETUP 1828 #line 135 "holidayscannerplan.lpp" 1829 { yylval->ival = 5; return token::NUMBER; } 1830 YY_BREAK 1831 case 40: 1832 YY_RULE_SETUP 1833 #line 136 "holidayscannerplan.lpp" 1834 { yylval->ival = 99999; return token::NUMBER; } 1835 YY_BREAK 1836 case 41: 1837 YY_RULE_SETUP 1838 #line 137 "holidayscannerplan.lpp" 1839 { yylval->ival = -99999; return token::NUMBER; } 1840 YY_BREAK 1841 case 42: 1842 YY_RULE_SETUP 1843 #line 138 "holidayscannerplan.lpp" 1844 { yylval->ival = 0; return token::NUMBER; } 1845 YY_BREAK 1846 case 43: 1847 YY_RULE_SETUP 1848 #line 140 "holidayscannerplan.lpp" 1849 { yylval->ival = -1; return token::NUMBER; } 1850 YY_BREAK 1851 case 44: 1852 YY_RULE_SETUP 1853 #line 141 "holidayscannerplan.lpp" 1854 { yylval->ival = 1; return token::NUMBER; } 1855 YY_BREAK 1856 case 45: 1857 YY_RULE_SETUP 1858 #line 143 "holidayscannerplan.lpp" 1859 { yylval->sval = (char *)"public"; return token::CATEGORY; } 1860 YY_BREAK 1861 case 46: 1862 YY_RULE_SETUP 1863 #line 144 "holidayscannerplan.lpp" 1864 { yylval->sval = (char *)"civil"; return token::CATEGORY; } 1865 YY_BREAK 1866 case 47: 1867 YY_RULE_SETUP 1868 #line 145 "holidayscannerplan.lpp" 1869 { yylval->sval = (char *)"religious"; return token::CATEGORY; } 1870 YY_BREAK 1871 case 48: 1872 YY_RULE_SETUP 1873 #line 146 "holidayscannerplan.lpp" 1874 { yylval->sval = (char *)"school"; return token::CATEGORY; } 1875 YY_BREAK 1876 case 49: 1877 YY_RULE_SETUP 1878 #line 147 "holidayscannerplan.lpp" 1879 { yylval->sval = (char *)"government"; return token::CATEGORY; } 1880 YY_BREAK 1881 case 50: 1882 YY_RULE_SETUP 1883 #line 148 "holidayscannerplan.lpp" 1884 { yylval->sval = (char *)"financial"; return token::CATEGORY; } 1885 YY_BREAK 1886 case 51: 1887 YY_RULE_SETUP 1888 #line 149 "holidayscannerplan.lpp" 1889 { yylval->sval = (char *)"cultural"; return token::CATEGORY; } 1890 YY_BREAK 1891 case 52: 1892 YY_RULE_SETUP 1893 #line 150 "holidayscannerplan.lpp" 1894 { yylval->sval = (char *)"commemorative"; return token::CATEGORY; } 1895 YY_BREAK 1896 case 53: 1897 YY_RULE_SETUP 1898 #line 151 "holidayscannerplan.lpp" 1899 { yylval->sval = (char *)"historical"; return token::CATEGORY; } 1900 YY_BREAK 1901 case 54: 1902 YY_RULE_SETUP 1903 #line 152 "holidayscannerplan.lpp" 1904 { yylval->sval = (char *)"nameday"; return token::CATEGORY; } 1905 YY_BREAK 1906 case 55: 1907 YY_RULE_SETUP 1908 #line 153 "holidayscannerplan.lpp" 1909 { yylval->sval = (char *)"seasonal"; return token::CATEGORY; } 1910 YY_BREAK 1911 case 56: 1912 YY_RULE_SETUP 1913 #line 155 "holidayscannerplan.lpp" 1914 { yylval->sval = (char *)"gregorian"; return token::CALENDAR; } 1915 YY_BREAK 1916 case 57: 1917 YY_RULE_SETUP 1918 #line 156 "holidayscannerplan.lpp" 1919 { yylval->sval = (char *)"julian"; return token::CALENDAR; } 1920 YY_BREAK 1921 case 58: 1922 YY_RULE_SETUP 1923 #line 158 "holidayscannerplan.lpp" 1924 { yylval->ival = 1; return token::MONTH; } 1925 YY_BREAK 1926 case 59: 1927 YY_RULE_SETUP 1928 #line 159 "holidayscannerplan.lpp" 1929 { yylval->ival = 2; return token::MONTH; } 1930 YY_BREAK 1931 case 60: 1932 YY_RULE_SETUP 1933 #line 160 "holidayscannerplan.lpp" 1934 { yylval->ival = 3; return token::MONTH; } 1935 YY_BREAK 1936 case 61: 1937 YY_RULE_SETUP 1938 #line 161 "holidayscannerplan.lpp" 1939 { yylval->ival = 4; return token::MONTH; } 1940 YY_BREAK 1941 case 62: 1942 YY_RULE_SETUP 1943 #line 162 "holidayscannerplan.lpp" 1944 { yylval->ival = 5; return token::MONTH; } 1945 YY_BREAK 1946 case 63: 1947 YY_RULE_SETUP 1948 #line 163 "holidayscannerplan.lpp" 1949 { yylval->ival = 6; return token::MONTH; } 1950 YY_BREAK 1951 case 64: 1952 YY_RULE_SETUP 1953 #line 164 "holidayscannerplan.lpp" 1954 { yylval->ival = 7; return token::MONTH; } 1955 YY_BREAK 1956 case 65: 1957 YY_RULE_SETUP 1958 #line 165 "holidayscannerplan.lpp" 1959 { yylval->ival = 8; return token::MONTH; } 1960 YY_BREAK 1961 case 66: 1962 YY_RULE_SETUP 1963 #line 166 "holidayscannerplan.lpp" 1964 { yylval->ival = 9; return token::MONTH; } 1965 YY_BREAK 1966 case 67: 1967 YY_RULE_SETUP 1968 #line 167 "holidayscannerplan.lpp" 1969 { yylval->ival = 10; return token::MONTH; } 1970 YY_BREAK 1971 case 68: 1972 YY_RULE_SETUP 1973 #line 168 "holidayscannerplan.lpp" 1974 { yylval->ival = 11; return token::MONTH; } 1975 YY_BREAK 1976 case 69: 1977 YY_RULE_SETUP 1978 #line 169 "holidayscannerplan.lpp" 1979 { yylval->ival = 12; return token::MONTH; } 1980 YY_BREAK 1981 case 70: 1982 YY_RULE_SETUP 1983 #line 171 "holidayscannerplan.lpp" 1984 { yylval->ival = 1; return token::WDAY; } 1985 YY_BREAK 1986 case 71: 1987 YY_RULE_SETUP 1988 #line 172 "holidayscannerplan.lpp" 1989 { yylval->ival = 2; return token::WDAY; } 1990 YY_BREAK 1991 case 72: 1992 YY_RULE_SETUP 1993 #line 173 "holidayscannerplan.lpp" 1994 { yylval->ival = 3; return token::WDAY; } 1995 YY_BREAK 1996 case 73: 1997 YY_RULE_SETUP 1998 #line 174 "holidayscannerplan.lpp" 1999 { yylval->ival = 4; return token::WDAY; } 2000 YY_BREAK 2001 case 74: 2002 YY_RULE_SETUP 2003 #line 175 "holidayscannerplan.lpp" 2004 { yylval->ival = 5; return token::WDAY; } 2005 YY_BREAK 2006 case 75: 2007 YY_RULE_SETUP 2008 #line 176 "holidayscannerplan.lpp" 2009 { yylval->ival = 6; return token::WDAY; } 2010 YY_BREAK 2011 case 76: 2012 YY_RULE_SETUP 2013 #line 177 "holidayscannerplan.lpp" 2014 { yylval->ival = 7; return token::WDAY; } 2015 YY_BREAK 2016 case 77: 2017 YY_RULE_SETUP 2018 #line 179 "holidayscannerplan.lpp" 2019 { yylval->sval = (char *)"coptic"; return token::CALENDAR; } 2020 YY_BREAK 2021 case 78: 2022 YY_RULE_SETUP 2023 #line 181 "holidayscannerplan.lpp" 2024 { yylval->ival = 1; return token::MONTH; } 2025 YY_BREAK 2026 case 79: 2027 YY_RULE_SETUP 2028 #line 182 "holidayscannerplan.lpp" 2029 { yylval->ival = 2; return token::MONTH; } 2030 YY_BREAK 2031 case 80: 2032 YY_RULE_SETUP 2033 #line 183 "holidayscannerplan.lpp" 2034 { yylval->ival = 3; return token::MONTH; } 2035 YY_BREAK 2036 case 81: 2037 YY_RULE_SETUP 2038 #line 184 "holidayscannerplan.lpp" 2039 { yylval->ival = 4; return token::MONTH; } 2040 YY_BREAK 2041 case 82: 2042 YY_RULE_SETUP 2043 #line 185 "holidayscannerplan.lpp" 2044 { yylval->ival = 5; return token::MONTH; } 2045 YY_BREAK 2046 case 83: 2047 YY_RULE_SETUP 2048 #line 186 "holidayscannerplan.lpp" 2049 { yylval->ival = 6; return token::MONTH; } 2050 YY_BREAK 2051 case 84: 2052 YY_RULE_SETUP 2053 #line 187 "holidayscannerplan.lpp" 2054 { yylval->ival = 7; return token::MONTH; } 2055 YY_BREAK 2056 case 85: 2057 YY_RULE_SETUP 2058 #line 188 "holidayscannerplan.lpp" 2059 { yylval->ival = 8; return token::MONTH; } 2060 YY_BREAK 2061 case 86: 2062 YY_RULE_SETUP 2063 #line 189 "holidayscannerplan.lpp" 2064 { yylval->ival = 9; return token::MONTH; } 2065 YY_BREAK 2066 case 87: 2067 YY_RULE_SETUP 2068 #line 190 "holidayscannerplan.lpp" 2069 { yylval->ival = 10; return token::MONTH; } 2070 YY_BREAK 2071 case 88: 2072 YY_RULE_SETUP 2073 #line 191 "holidayscannerplan.lpp" 2074 { yylval->ival = 11; return token::MONTH; } 2075 YY_BREAK 2076 case 89: 2077 YY_RULE_SETUP 2078 #line 192 "holidayscannerplan.lpp" 2079 { yylval->ival = 12; return token::MONTH; } 2080 YY_BREAK 2081 case 90: 2082 YY_RULE_SETUP 2083 #line 193 "holidayscannerplan.lpp" 2084 { yylval->ival = 13; return token::MONTH; } 2085 YY_BREAK 2086 case 91: 2087 YY_RULE_SETUP 2088 #line 195 "holidayscannerplan.lpp" 2089 { yylval->ival = 1; return token::WDAY; } 2090 YY_BREAK 2091 case 92: 2092 YY_RULE_SETUP 2093 #line 196 "holidayscannerplan.lpp" 2094 { yylval->ival = 2; return token::WDAY; } 2095 YY_BREAK 2096 case 93: 2097 YY_RULE_SETUP 2098 #line 197 "holidayscannerplan.lpp" 2099 { yylval->ival = 3; return token::WDAY; } 2100 YY_BREAK 2101 case 94: 2102 YY_RULE_SETUP 2103 #line 198 "holidayscannerplan.lpp" 2104 { yylval->ival = 4; return token::WDAY; } 2105 YY_BREAK 2106 case 95: 2107 YY_RULE_SETUP 2108 #line 199 "holidayscannerplan.lpp" 2109 { yylval->ival = 5; return token::WDAY; } 2110 YY_BREAK 2111 case 96: 2112 YY_RULE_SETUP 2113 #line 200 "holidayscannerplan.lpp" 2114 { yylval->ival = 6; return token::WDAY; } 2115 YY_BREAK 2116 case 97: 2117 YY_RULE_SETUP 2118 #line 201 "holidayscannerplan.lpp" 2119 { yylval->ival = 7; return token::WDAY; } 2120 YY_BREAK 2121 case 98: 2122 YY_RULE_SETUP 2123 #line 203 "holidayscannerplan.lpp" 2124 { yylval->sval = (char *)"ethiopian"; return token::CALENDAR; } 2125 YY_BREAK 2126 case 99: 2127 YY_RULE_SETUP 2128 #line 205 "holidayscannerplan.lpp" 2129 { yylval->ival = 1; return token::MONTH; } 2130 YY_BREAK 2131 case 100: 2132 YY_RULE_SETUP 2133 #line 206 "holidayscannerplan.lpp" 2134 { yylval->ival = 2; return token::MONTH; } 2135 YY_BREAK 2136 case 101: 2137 YY_RULE_SETUP 2138 #line 207 "holidayscannerplan.lpp" 2139 { yylval->ival = 3; return token::MONTH; } 2140 YY_BREAK 2141 case 102: 2142 YY_RULE_SETUP 2143 #line 208 "holidayscannerplan.lpp" 2144 { yylval->ival = 4; return token::MONTH; } 2145 YY_BREAK 2146 case 103: 2147 YY_RULE_SETUP 2148 #line 209 "holidayscannerplan.lpp" 2149 { yylval->ival = 5; return token::MONTH; } 2150 YY_BREAK 2151 case 104: 2152 YY_RULE_SETUP 2153 #line 210 "holidayscannerplan.lpp" 2154 { yylval->ival = 6; return token::MONTH; } 2155 YY_BREAK 2156 case 105: 2157 YY_RULE_SETUP 2158 #line 211 "holidayscannerplan.lpp" 2159 { yylval->ival = 7; return token::MONTH; } 2160 YY_BREAK 2161 case 106: 2162 YY_RULE_SETUP 2163 #line 212 "holidayscannerplan.lpp" 2164 { yylval->ival = 8; return token::MONTH; } 2165 YY_BREAK 2166 case 107: 2167 YY_RULE_SETUP 2168 #line 213 "holidayscannerplan.lpp" 2169 { yylval->ival = 9; return token::MONTH; } 2170 YY_BREAK 2171 case 108: 2172 YY_RULE_SETUP 2173 #line 214 "holidayscannerplan.lpp" 2174 { yylval->ival = 10; return token::MONTH; } 2175 YY_BREAK 2176 case 109: 2177 YY_RULE_SETUP 2178 #line 215 "holidayscannerplan.lpp" 2179 { yylval->ival = 11; return token::MONTH; } 2180 YY_BREAK 2181 case 110: 2182 YY_RULE_SETUP 2183 #line 216 "holidayscannerplan.lpp" 2184 { yylval->ival = 12; return token::MONTH; } 2185 YY_BREAK 2186 case 111: 2187 YY_RULE_SETUP 2188 #line 217 "holidayscannerplan.lpp" 2189 { yylval->ival = 13; return token::MONTH; } 2190 YY_BREAK 2191 case 112: 2192 YY_RULE_SETUP 2193 #line 219 "holidayscannerplan.lpp" 2194 { yylval->ival = 1; return token::WDAY; } 2195 YY_BREAK 2196 case 113: 2197 YY_RULE_SETUP 2198 #line 220 "holidayscannerplan.lpp" 2199 { yylval->ival = 2; return token::WDAY; } 2200 YY_BREAK 2201 case 114: 2202 YY_RULE_SETUP 2203 #line 221 "holidayscannerplan.lpp" 2204 { yylval->ival = 3; return token::WDAY; } 2205 YY_BREAK 2206 case 115: 2207 YY_RULE_SETUP 2208 #line 222 "holidayscannerplan.lpp" 2209 { yylval->ival = 4; return token::WDAY; } 2210 YY_BREAK 2211 case 116: 2212 YY_RULE_SETUP 2213 #line 223 "holidayscannerplan.lpp" 2214 { yylval->ival = 5; return token::WDAY; } 2215 YY_BREAK 2216 case 117: 2217 YY_RULE_SETUP 2218 #line 224 "holidayscannerplan.lpp" 2219 { yylval->ival = 6; return token::WDAY; } 2220 YY_BREAK 2221 case 118: 2222 YY_RULE_SETUP 2223 #line 225 "holidayscannerplan.lpp" 2224 { yylval->ival = 7; return token::WDAY; } 2225 YY_BREAK 2226 case 119: 2227 YY_RULE_SETUP 2228 #line 227 "holidayscannerplan.lpp" 2229 { yylval->sval = (char *)"hebrew"; return token::CALENDAR; } 2230 YY_BREAK 2231 case 120: 2232 YY_RULE_SETUP 2233 #line 229 "holidayscannerplan.lpp" 2234 { yylval->ival = 1; return token::MONTH; } 2235 YY_BREAK 2236 case 121: 2237 YY_RULE_SETUP 2238 #line 230 "holidayscannerplan.lpp" 2239 { yylval->ival = 2; return token::MONTH; } 2240 YY_BREAK 2241 case 122: 2242 YY_RULE_SETUP 2243 #line 231 "holidayscannerplan.lpp" 2244 { yylval->ival = 3; return token::MONTH; } 2245 YY_BREAK 2246 case 123: 2247 YY_RULE_SETUP 2248 #line 232 "holidayscannerplan.lpp" 2249 { yylval->ival = 4; return token::MONTH; } 2250 YY_BREAK 2251 case 124: 2252 YY_RULE_SETUP 2253 #line 233 "holidayscannerplan.lpp" 2254 { yylval->ival = 5; return token::MONTH; } 2255 YY_BREAK 2256 case 125: 2257 YY_RULE_SETUP 2258 #line 234 "holidayscannerplan.lpp" 2259 { yylval->ival = 6; return token::MONTH; } 2260 YY_BREAK 2261 case 126: 2262 YY_RULE_SETUP 2263 #line 235 "holidayscannerplan.lpp" 2264 { yylval->ival = 7; return token::MONTH; } 2265 YY_BREAK 2266 case 127: 2267 YY_RULE_SETUP 2268 #line 236 "holidayscannerplan.lpp" 2269 { yylval->ival = 8; return token::MONTH; } 2270 YY_BREAK 2271 case 128: 2272 YY_RULE_SETUP 2273 #line 237 "holidayscannerplan.lpp" 2274 { yylval->ival = 9; return token::MONTH; } 2275 YY_BREAK 2276 case 129: 2277 YY_RULE_SETUP 2278 #line 238 "holidayscannerplan.lpp" 2279 { yylval->ival = 10; return token::MONTH; } 2280 YY_BREAK 2281 case 130: 2282 YY_RULE_SETUP 2283 #line 239 "holidayscannerplan.lpp" 2284 { yylval->ival = 11; return token::MONTH; } 2285 YY_BREAK 2286 case 131: 2287 YY_RULE_SETUP 2288 #line 240 "holidayscannerplan.lpp" 2289 { yylval->ival = 12; return token::MONTH; } 2290 YY_BREAK 2291 case 132: 2292 YY_RULE_SETUP 2293 #line 241 "holidayscannerplan.lpp" 2294 { yylval->ival = 13; return token::MONTH; } 2295 YY_BREAK 2296 case 133: 2297 YY_RULE_SETUP 2298 #line 242 "holidayscannerplan.lpp" 2299 { yylval->ival = 14; return token::MONTH; } 2300 YY_BREAK 2301 case 134: 2302 YY_RULE_SETUP 2303 #line 244 "holidayscannerplan.lpp" 2304 { yylval->ival = 1; return token::WDAY; } 2305 YY_BREAK 2306 case 135: 2307 YY_RULE_SETUP 2308 #line 245 "holidayscannerplan.lpp" 2309 { yylval->ival = 2; return token::WDAY; } 2310 YY_BREAK 2311 case 136: 2312 YY_RULE_SETUP 2313 #line 246 "holidayscannerplan.lpp" 2314 { yylval->ival = 3; return token::WDAY; } 2315 YY_BREAK 2316 case 137: 2317 YY_RULE_SETUP 2318 #line 247 "holidayscannerplan.lpp" 2319 { yylval->ival = 4; return token::WDAY; } 2320 YY_BREAK 2321 case 138: 2322 YY_RULE_SETUP 2323 #line 248 "holidayscannerplan.lpp" 2324 { yylval->ival = 5; return token::WDAY; } 2325 YY_BREAK 2326 case 139: 2327 YY_RULE_SETUP 2328 #line 249 "holidayscannerplan.lpp" 2329 { yylval->ival = 6; return token::WDAY; } 2330 YY_BREAK 2331 case 140: 2332 YY_RULE_SETUP 2333 #line 250 "holidayscannerplan.lpp" 2334 { yylval->ival = 7; return token::WDAY; } 2335 YY_BREAK 2336 case 141: 2337 YY_RULE_SETUP 2338 #line 252 "holidayscannerplan.lpp" 2339 { yylval->sval = (char *)"hijri"; return token::CALENDAR; } 2340 YY_BREAK 2341 case 142: 2342 YY_RULE_SETUP 2343 #line 254 "holidayscannerplan.lpp" 2344 { yylval->ival = 1; return token::MONTH; } 2345 YY_BREAK 2346 case 143: 2347 YY_RULE_SETUP 2348 #line 255 "holidayscannerplan.lpp" 2349 { yylval->ival = 2; return token::MONTH; } 2350 YY_BREAK 2351 case 144: 2352 YY_RULE_SETUP 2353 #line 256 "holidayscannerplan.lpp" 2354 { yylval->ival = 3; return token::MONTH; } 2355 YY_BREAK 2356 case 145: 2357 YY_RULE_SETUP 2358 #line 257 "holidayscannerplan.lpp" 2359 { yylval->ival = 4; return token::MONTH; } 2360 YY_BREAK 2361 case 146: 2362 YY_RULE_SETUP 2363 #line 258 "holidayscannerplan.lpp" 2364 { yylval->ival = 5; return token::MONTH; } 2365 YY_BREAK 2366 case 147: 2367 YY_RULE_SETUP 2368 #line 259 "holidayscannerplan.lpp" 2369 { yylval->ival = 6; return token::MONTH; } 2370 YY_BREAK 2371 case 148: 2372 YY_RULE_SETUP 2373 #line 260 "holidayscannerplan.lpp" 2374 { yylval->ival = 7; return token::MONTH; } 2375 YY_BREAK 2376 case 149: 2377 YY_RULE_SETUP 2378 #line 261 "holidayscannerplan.lpp" 2379 { yylval->ival = 8; return token::MONTH; } 2380 YY_BREAK 2381 case 150: 2382 YY_RULE_SETUP 2383 #line 262 "holidayscannerplan.lpp" 2384 { yylval->ival = 9; return token::MONTH; } 2385 YY_BREAK 2386 case 151: 2387 YY_RULE_SETUP 2388 #line 263 "holidayscannerplan.lpp" 2389 { yylval->ival = 10; return token::MONTH; } 2390 YY_BREAK 2391 case 152: 2392 YY_RULE_SETUP 2393 #line 264 "holidayscannerplan.lpp" 2394 { yylval->ival = 11; return token::MONTH; } 2395 YY_BREAK 2396 case 153: 2397 YY_RULE_SETUP 2398 #line 265 "holidayscannerplan.lpp" 2399 { yylval->ival = 12; return token::MONTH; } 2400 YY_BREAK 2401 case 154: 2402 YY_RULE_SETUP 2403 #line 267 "holidayscannerplan.lpp" 2404 { yylval->ival = 1; return token::WDAY; } 2405 YY_BREAK 2406 case 155: 2407 YY_RULE_SETUP 2408 #line 268 "holidayscannerplan.lpp" 2409 { yylval->ival = 2; return token::WDAY; } 2410 YY_BREAK 2411 case 156: 2412 YY_RULE_SETUP 2413 #line 269 "holidayscannerplan.lpp" 2414 { yylval->ival = 3; return token::WDAY; } 2415 YY_BREAK 2416 case 157: 2417 YY_RULE_SETUP 2418 #line 270 "holidayscannerplan.lpp" 2419 { yylval->ival = 4; return token::WDAY; } 2420 YY_BREAK 2421 case 158: 2422 YY_RULE_SETUP 2423 #line 271 "holidayscannerplan.lpp" 2424 { yylval->ival = 5; return token::WDAY; } 2425 YY_BREAK 2426 case 159: 2427 YY_RULE_SETUP 2428 #line 272 "holidayscannerplan.lpp" 2429 { yylval->ival = 6; return token::WDAY; } 2430 YY_BREAK 2431 case 160: 2432 YY_RULE_SETUP 2433 #line 273 "holidayscannerplan.lpp" 2434 { yylval->ival = 7; return token::WDAY; } 2435 YY_BREAK 2436 case 161: 2437 YY_RULE_SETUP 2438 #line 275 "holidayscannerplan.lpp" 2439 { yylval->sval = (char *)"indiannational"; return token::CALENDAR; } 2440 YY_BREAK 2441 case 162: 2442 YY_RULE_SETUP 2443 #line 277 "holidayscannerplan.lpp" 2444 { yylval->ival = 1; return token::MONTH; } 2445 YY_BREAK 2446 case 163: 2447 YY_RULE_SETUP 2448 #line 278 "holidayscannerplan.lpp" 2449 { yylval->ival = 2; return token::MONTH; } 2450 YY_BREAK 2451 case 164: 2452 YY_RULE_SETUP 2453 #line 279 "holidayscannerplan.lpp" 2454 { yylval->ival = 3; return token::MONTH; } 2455 YY_BREAK 2456 case 165: 2457 YY_RULE_SETUP 2458 #line 280 "holidayscannerplan.lpp" 2459 { yylval->ival = 4; return token::MONTH; } 2460 YY_BREAK 2461 case 166: 2462 YY_RULE_SETUP 2463 #line 281 "holidayscannerplan.lpp" 2464 { yylval->ival = 5; return token::MONTH; } 2465 YY_BREAK 2466 case 167: 2467 YY_RULE_SETUP 2468 #line 282 "holidayscannerplan.lpp" 2469 { yylval->ival = 6; return token::MONTH; } 2470 YY_BREAK 2471 case 168: 2472 YY_RULE_SETUP 2473 #line 283 "holidayscannerplan.lpp" 2474 { yylval->ival = 7; return token::MONTH; } 2475 YY_BREAK 2476 case 169: 2477 YY_RULE_SETUP 2478 #line 284 "holidayscannerplan.lpp" 2479 { yylval->ival = 8; return token::MONTH; } 2480 YY_BREAK 2481 case 170: 2482 YY_RULE_SETUP 2483 #line 285 "holidayscannerplan.lpp" 2484 { yylval->ival = 9; return token::MONTH; } 2485 YY_BREAK 2486 case 171: 2487 YY_RULE_SETUP 2488 #line 286 "holidayscannerplan.lpp" 2489 { yylval->ival = 10; return token::MONTH; } 2490 YY_BREAK 2491 case 172: 2492 YY_RULE_SETUP 2493 #line 287 "holidayscannerplan.lpp" 2494 { yylval->ival = 11; return token::MONTH; } 2495 YY_BREAK 2496 case 173: 2497 YY_RULE_SETUP 2498 #line 288 "holidayscannerplan.lpp" 2499 { yylval->ival = 12; return token::MONTH; } 2500 YY_BREAK 2501 case 174: 2502 YY_RULE_SETUP 2503 #line 290 "holidayscannerplan.lpp" 2504 { yylval->ival = 1; return token::WDAY; } 2505 YY_BREAK 2506 case 175: 2507 YY_RULE_SETUP 2508 #line 291 "holidayscannerplan.lpp" 2509 { yylval->ival = 2; return token::WDAY; } 2510 YY_BREAK 2511 case 176: 2512 YY_RULE_SETUP 2513 #line 292 "holidayscannerplan.lpp" 2514 { yylval->ival = 3; return token::WDAY; } 2515 YY_BREAK 2516 case 177: 2517 YY_RULE_SETUP 2518 #line 293 "holidayscannerplan.lpp" 2519 { yylval->ival = 4; return token::WDAY; } 2520 YY_BREAK 2521 case 178: 2522 YY_RULE_SETUP 2523 #line 294 "holidayscannerplan.lpp" 2524 { yylval->ival = 5; return token::WDAY; } 2525 YY_BREAK 2526 case 179: 2527 YY_RULE_SETUP 2528 #line 295 "holidayscannerplan.lpp" 2529 { yylval->ival = 6; return token::WDAY; } 2530 YY_BREAK 2531 case 180: 2532 YY_RULE_SETUP 2533 #line 296 "holidayscannerplan.lpp" 2534 { yylval->ival = 7; return token::WDAY; } 2535 YY_BREAK 2536 case 181: 2537 YY_RULE_SETUP 2538 #line 298 "holidayscannerplan.lpp" 2539 { yylval->sval = (char *)"jalali"; return token::CALENDAR; } 2540 YY_BREAK 2541 case 182: 2542 YY_RULE_SETUP 2543 #line 300 "holidayscannerplan.lpp" 2544 { yylval->ival = 1; return token::MONTH; } 2545 YY_BREAK 2546 case 183: 2547 YY_RULE_SETUP 2548 #line 301 "holidayscannerplan.lpp" 2549 { yylval->ival = 2; return token::MONTH; } 2550 YY_BREAK 2551 case 184: 2552 YY_RULE_SETUP 2553 #line 302 "holidayscannerplan.lpp" 2554 { yylval->ival = 3; return token::MONTH; } 2555 YY_BREAK 2556 case 185: 2557 YY_RULE_SETUP 2558 #line 303 "holidayscannerplan.lpp" 2559 { yylval->ival = 4; return token::MONTH; } 2560 YY_BREAK 2561 case 186: 2562 YY_RULE_SETUP 2563 #line 304 "holidayscannerplan.lpp" 2564 { yylval->ival = 5; return token::MONTH; } 2565 YY_BREAK 2566 case 187: 2567 YY_RULE_SETUP 2568 #line 305 "holidayscannerplan.lpp" 2569 { yylval->ival = 6; return token::MONTH; } 2570 YY_BREAK 2571 case 188: 2572 YY_RULE_SETUP 2573 #line 306 "holidayscannerplan.lpp" 2574 { yylval->ival = 7; return token::MONTH; } 2575 YY_BREAK 2576 case 189: 2577 YY_RULE_SETUP 2578 #line 307 "holidayscannerplan.lpp" 2579 { yylval->ival = 8; return token::MONTH; } 2580 YY_BREAK 2581 case 190: 2582 YY_RULE_SETUP 2583 #line 308 "holidayscannerplan.lpp" 2584 { yylval->ival = 9; return token::MONTH; } 2585 YY_BREAK 2586 case 191: 2587 YY_RULE_SETUP 2588 #line 309 "holidayscannerplan.lpp" 2589 { yylval->ival = 10; return token::MONTH; } 2590 YY_BREAK 2591 case 192: 2592 YY_RULE_SETUP 2593 #line 310 "holidayscannerplan.lpp" 2594 { yylval->ival = 11; return token::MONTH; } 2595 YY_BREAK 2596 case 193: 2597 YY_RULE_SETUP 2598 #line 311 "holidayscannerplan.lpp" 2599 { yylval->ival = 12; return token::MONTH; } 2600 YY_BREAK 2601 case 194: 2602 YY_RULE_SETUP 2603 #line 313 "holidayscannerplan.lpp" 2604 { yylval->ival = 1; return token::WDAY; } 2605 YY_BREAK 2606 case 195: 2607 YY_RULE_SETUP 2608 #line 314 "holidayscannerplan.lpp" 2609 { yylval->ival = 2; return token::WDAY; } 2610 YY_BREAK 2611 case 196: 2612 YY_RULE_SETUP 2613 #line 315 "holidayscannerplan.lpp" 2614 { yylval->ival = 3; return token::WDAY; } 2615 YY_BREAK 2616 case 197: 2617 YY_RULE_SETUP 2618 #line 316 "holidayscannerplan.lpp" 2619 { yylval->ival = 4; return token::WDAY; } 2620 YY_BREAK 2621 case 198: 2622 YY_RULE_SETUP 2623 #line 317 "holidayscannerplan.lpp" 2624 { yylval->ival = 5; return token::WDAY; } 2625 YY_BREAK 2626 case 199: 2627 YY_RULE_SETUP 2628 #line 318 "holidayscannerplan.lpp" 2629 { yylval->ival = 6; return token::WDAY; } 2630 YY_BREAK 2631 case 200: 2632 YY_RULE_SETUP 2633 #line 319 "holidayscannerplan.lpp" 2634 { yylval->ival = 7; return token::WDAY; } 2635 YY_BREAK 2636 case 201: 2637 YY_RULE_SETUP 2638 #line 321 "holidayscannerplan.lpp" 2639 { LexerError(yytext); } 2640 YY_BREAK 2641 case 202: 2642 YY_RULE_SETUP 2643 #line 323 "holidayscannerplan.lpp" 2644 ECHO; 2645 YY_BREAK 2646 #line 2659 "holidayscannerplan.cpp" 2647 case YY_STATE_EOF(INITIAL): 2648 yyterminate(); 2649 2650 case YY_END_OF_BUFFER: { 2651 /* Amount of text matched not including the EOB char. */ 2652 int yy_amount_of_matched_text = (int)(yy_cp - (yytext_ptr)) - 1; 2653 2654 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 2655 *yy_cp = (yy_hold_char); 2656 YY_RESTORE_YY_MORE_OFFSET 2657 2658 if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW) { 2659 /* We're scanning a new file or input source. It's 2660 * possible that this happened because the user 2661 * just pointed yyin at a new source and called 2662 * yylex(). If so, then we have to assure 2663 * consistency between YY_CURRENT_BUFFER and our 2664 * globals. Here is the right place to do so, because 2665 * this is the first action (other than possibly a 2666 * back-up) that will match for the new input source. 2667 */ 2668 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 2669 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 2670 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 2671 } 2672 2673 /* Note that here we test for yy_c_buf_p "<=" to the position 2674 * of the first EOB in the buffer, since yy_c_buf_p will 2675 * already have been incremented past the NUL character 2676 * (since all states make transitions on EOB to the 2677 * end-of-buffer state). Contrast this with the test 2678 * in input(). 2679 */ 2680 if ((yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]) { 2681 /* This was really a NUL. */ 2682 yy_state_type yy_next_state; 2683 2684 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 2685 2686 yy_current_state = yy_get_previous_state(); 2687 2688 /* Okay, we're now positioned to make the NUL 2689 * transition. We couldn't have 2690 * yy_get_previous_state() go ahead and do it 2691 * for us because it doesn't know how to deal 2692 * with the possibility of jamming (and we don't 2693 * want to build jamming into it because then it 2694 * will run more slowly). 2695 */ 2696 2697 yy_next_state = yy_try_NUL_trans(yy_current_state); 2698 2699 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 2700 2701 if (yy_next_state) { 2702 /* Consume the NUL. */ 2703 yy_cp = ++(yy_c_buf_p); 2704 yy_current_state = yy_next_state; 2705 goto yy_match; 2706 } 2707 2708 else { 2709 /* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */ 2710 yy_cp = (yy_last_accepting_cpos); 2711 yy_current_state = (yy_last_accepting_state); 2712 goto yy_find_action; 2713 } 2714 } 2715 2716 else switch (yy_get_next_buffer()) { 2717 case EOB_ACT_END_OF_FILE: { 2718 (yy_did_buffer_switch_on_eof) = 0; 2719 2720 if (yywrap()) { 2721 /* Note: because we've taken care in 2722 * yy_get_next_buffer() to have set up 2723 * yytext, we can now set up 2724 * yy_c_buf_p so that if some total 2725 * hoser (like flex itself) wants to 2726 * call the scanner after we return the 2727 * YY_NULL, it'll still work - another 2728 * YY_NULL will get returned. 2729 */ 2730 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 2731 2732 yy_act = YY_STATE_EOF(YY_START); 2733 goto do_action; 2734 } 2735 2736 else { 2737 if (!(yy_did_buffer_switch_on_eof)) { 2738 YY_NEW_FILE; 2739 } 2740 } 2741 break; 2742 } 2743 2744 case EOB_ACT_CONTINUE_SCAN: 2745 (yy_c_buf_p) = 2746 (yytext_ptr) + yy_amount_of_matched_text; 2747 2748 yy_current_state = yy_get_previous_state(); 2749 2750 yy_cp = (yy_c_buf_p); 2751 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 2752 goto yy_match; 2753 2754 case EOB_ACT_LAST_MATCH: 2755 (yy_c_buf_p) = 2756 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 2757 2758 yy_current_state = yy_get_previous_state(); 2759 2760 yy_cp = (yy_c_buf_p); 2761 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 2762 goto yy_find_action; 2763 } 2764 break; 2765 } 2766 2767 default: 2768 YY_FATAL_ERROR( 2769 "fatal flex scanner internal error--no action found"); 2770 } /* end of action switch */ 2771 } /* end of scanning one token */ 2772 } /* end of yylex */ 2773 /* %ok-for-header */ 2774 2775 /* %if-c++-only */ 2776 /* %not-for-header */ 2777 2778 /* The contents of this function are C++ specific, so the () macro is not used. 2779 */ 2780 yyFlexLexer::yyFlexLexer(std::istream *arg_yyin, std::ostream *arg_yyout) 2781 { 2782 yyin = arg_yyin; 2783 yyout = arg_yyout; 2784 yy_c_buf_p = nullptr; 2785 yy_init = 0; 2786 yy_start = 0; 2787 yy_flex_debug = 0; 2788 yylineno = 1; // this will only get updated if %option yylineno 2789 2790 yy_did_buffer_switch_on_eof = 0; 2791 2792 yy_looking_for_trail_begin = 0; 2793 yy_more_flag = 0; 2794 yy_more_len = 0; 2795 yy_more_offset = yy_prev_more_offset = 0; 2796 2797 yy_start_stack_ptr = yy_start_stack_depth = 0; 2798 yy_start_stack = nullptr; 2799 2800 yy_buffer_stack = nullptr; 2801 yy_buffer_stack_top = 0; 2802 yy_buffer_stack_max = 0; 2803 2804 yy_state_buf = nullptr; 2805 2806 } 2807 2808 /* The contents of this function are C++ specific, so the () macro is not used. 2809 */ 2810 yyFlexLexer::~yyFlexLexer() 2811 { 2812 delete [] yy_state_buf; 2813 HolidayScannerfree(yy_start_stack); 2814 yy_delete_buffer(YY_CURRENT_BUFFER); 2815 HolidayScannerfree(yy_buffer_stack); 2816 } 2817 2818 /* The contents of this function are C++ specific, so the () macro is not used. 2819 */ 2820 void yyFlexLexer::switch_streams(std::istream *new_in, std::ostream *new_out) 2821 { 2822 if (new_in) { 2823 yy_delete_buffer(YY_CURRENT_BUFFER); 2824 yy_switch_to_buffer(yy_create_buffer(new_in, YY_BUF_SIZE)); 2825 } 2826 2827 if (new_out) { 2828 yyout = new_out; 2829 } 2830 } 2831 2832 #ifdef YY_INTERACTIVE 2833 int yyFlexLexer::LexerInput(char *buf, int /* max_size */) 2834 #else 2835 int yyFlexLexer::LexerInput(char *buf, int max_size) 2836 #endif 2837 { 2838 if (yyin->eof() || yyin->fail()) { 2839 return 0; 2840 } 2841 2842 #ifdef YY_INTERACTIVE 2843 yyin->get(buf[0]); 2844 2845 if (yyin->eof()) { 2846 return 0; 2847 } 2848 2849 if (yyin->bad()) { 2850 return -1; 2851 } 2852 2853 return 1; 2854 2855 #else 2856 (void) yyin->read(buf, max_size); 2857 2858 if (yyin->bad()) { 2859 return -1; 2860 } else { 2861 return yyin->gcount(); 2862 } 2863 #endif 2864 } 2865 2866 void yyFlexLexer::LexerOutput(const char *buf, int size) 2867 { 2868 (void) yyout->write(buf, size); 2869 } 2870 /* %ok-for-header */ 2871 2872 /* %endif */ 2873 2874 /* yy_get_next_buffer - try to read in a new buffer 2875 * 2876 * Returns a code representing an action: 2877 * EOB_ACT_LAST_MATCH - 2878 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 2879 * EOB_ACT_END_OF_FILE - end of file 2880 */ 2881 /* %if-c-only */ 2882 /* %endif */ 2883 /* %if-c++-only */ 2884 int yyFlexLexer::yy_get_next_buffer() 2885 /* %endif */ 2886 { 2887 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 2888 char *source = (yytext_ptr); 2889 int number_to_move, i; 2890 int ret_val; 2891 2892 if ((yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1]) 2893 YY_FATAL_ERROR( 2894 "fatal flex scanner internal error--end of buffer missed"); 2895 2896 if (YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0) { 2897 /* Don't try to fill the buffer, so this is an EOF. */ 2898 if ((yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1) { 2899 /* We matched a single character, the EOB, so 2900 * treat this as a final EOF. 2901 */ 2902 return EOB_ACT_END_OF_FILE; 2903 } 2904 2905 else { 2906 /* We matched some text prior to the EOB, first 2907 * process it. 2908 */ 2909 return EOB_ACT_LAST_MATCH; 2910 } 2911 } 2912 2913 /* Try to read more data. */ 2914 2915 /* First move last chars to start of buffer. */ 2916 number_to_move = (int)((yy_c_buf_p) - (yytext_ptr)) - 1; 2917 2918 for (i = 0; i < number_to_move; ++i) { 2919 *(dest++) = *(source++); 2920 } 2921 2922 if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING) 2923 /* don't do the read, it's not guaranteed to return an EOF, 2924 * just force an EOF 2925 */ 2926 { 2927 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 2928 } 2929 2930 else { 2931 int num_to_read = 2932 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 2933 2934 while (num_to_read <= 0) { 2935 /* Not enough room in the buffer - grow it. */ 2936 2937 /* just a shorter name for the current buffer */ 2938 YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 2939 2940 int yy_c_buf_p_offset = 2941 (int)((yy_c_buf_p) - b->yy_ch_buf); 2942 2943 if (b->yy_is_our_buffer) { 2944 int new_size = b->yy_buf_size * 2; 2945 2946 if (new_size <= 0) { 2947 b->yy_buf_size += b->yy_buf_size / 8; 2948 } else { 2949 b->yy_buf_size *= 2; 2950 } 2951 2952 b->yy_ch_buf = (char *) 2953 /* Include room in for 2 EOB chars. */ 2954 HolidayScannerrealloc((void *) b->yy_ch_buf, b->yy_buf_size + 2); 2955 } else 2956 /* Can't grow it, we don't own it. */ 2957 { 2958 b->yy_ch_buf = nullptr; 2959 } 2960 2961 if (! b->yy_ch_buf) 2962 YY_FATAL_ERROR( 2963 "fatal error - scanner input buffer overflow"); 2964 2965 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 2966 2967 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 2968 number_to_move - 1; 2969 2970 } 2971 2972 if (num_to_read > YY_READ_BUF_SIZE) { 2973 num_to_read = YY_READ_BUF_SIZE; 2974 } 2975 2976 /* Read in more data. */ 2977 YY_INPUT((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 2978 (yy_n_chars), (size_t) num_to_read); 2979 2980 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 2981 } 2982 2983 if ((yy_n_chars) == 0) { 2984 if (number_to_move == YY_MORE_ADJ) { 2985 ret_val = EOB_ACT_END_OF_FILE; 2986 yyrestart(yyin); 2987 } 2988 2989 else { 2990 ret_val = EOB_ACT_LAST_MATCH; 2991 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 2992 YY_BUFFER_EOF_PENDING; 2993 } 2994 } 2995 2996 else { 2997 ret_val = EOB_ACT_CONTINUE_SCAN; 2998 } 2999 3000 if ((yy_size_t)((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 3001 /* Extend the array by 50%, plus the number we really need. */ 3002 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 3003 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) HolidayScannerrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, new_size); 3004 if (! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf) { 3005 YY_FATAL_ERROR("out of dynamic memory in yy_get_next_buffer()"); 3006 } 3007 } 3008 3009 (yy_n_chars) += number_to_move; 3010 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 3011 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 3012 3013 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 3014 3015 return ret_val; 3016 } 3017 3018 /* yy_get_previous_state - get the state just before the EOB char was reached */ 3019 3020 /* %if-c-only */ 3021 /* %not-for-header */ 3022 3023 /* %endif */ 3024 /* %if-c++-only */ 3025 yy_state_type yyFlexLexer::yy_get_previous_state() 3026 /* %endif */ 3027 { 3028 yy_state_type yy_current_state; 3029 char *yy_cp; 3030 3031 /* %% [15.0] code to get the start state into yy_current_state goes here */ 3032 yy_current_state = (yy_start); 3033 yy_current_state += YY_AT_BOL(); 3034 3035 for (yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp) { 3036 /* %% [16.0] code to find the next state goes here */ 3037 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 3038 if (yy_accept[yy_current_state]) { 3039 (yy_last_accepting_state) = yy_current_state; 3040 (yy_last_accepting_cpos) = yy_cp; 3041 } 3042 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { 3043 yy_current_state = (int) yy_def[yy_current_state]; 3044 if (yy_current_state >= 982) { 3045 yy_c = yy_meta[(unsigned int) yy_c]; 3046 } 3047 } 3048 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3049 } 3050 3051 return yy_current_state; 3052 } 3053 3054 /* yy_try_NUL_trans - try to make a transition on the NUL character 3055 * 3056 * synopsis 3057 * next_state = yy_try_NUL_trans( current_state ); 3058 */ 3059 /* %if-c-only */ 3060 /* %endif */ 3061 /* %if-c++-only */ 3062 yy_state_type yyFlexLexer::yy_try_NUL_trans(yy_state_type yy_current_state) 3063 /* %endif */ 3064 { 3065 int yy_is_jam; 3066 /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ 3067 char *yy_cp = (yy_c_buf_p); 3068 3069 YY_CHAR yy_c = 1; 3070 if (yy_accept[yy_current_state]) { 3071 (yy_last_accepting_state) = yy_current_state; 3072 (yy_last_accepting_cpos) = yy_cp; 3073 } 3074 while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { 3075 yy_current_state = (int) yy_def[yy_current_state]; 3076 if (yy_current_state >= 982) { 3077 yy_c = yy_meta[(unsigned int) yy_c]; 3078 } 3079 } 3080 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 3081 yy_is_jam = (yy_current_state == 981); 3082 3083 return yy_is_jam ? 0 : yy_current_state; 3084 } 3085 3086 /* %if-c-only */ 3087 /* %endif */ 3088 /* %if-c++-only */ 3089 void yyFlexLexer::yyunput(int c, char *yy_bp) 3090 /* %endif */ 3091 { 3092 char *yy_cp; 3093 3094 yy_cp = (yy_c_buf_p); 3095 3096 /* undo effects of setting up yytext */ 3097 *yy_cp = (yy_hold_char); 3098 3099 if (yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2) { 3100 /* need to shift things up to make room */ 3101 /* +2 for EOB chars. */ 3102 int number_to_move = (yy_n_chars) + 2; 3103 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 3104 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 3105 char *source = 3106 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; 3107 3108 while (source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf) { 3109 *--dest = *--source; 3110 } 3111 3112 yy_cp += (int)(dest - source); 3113 yy_bp += (int)(dest - source); 3114 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = 3115 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; 3116 3117 if (yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2) { 3118 YY_FATAL_ERROR("flex scanner push-back overflow"); 3119 } 3120 } 3121 3122 *--yy_cp = (char) c; 3123 3124 /* %% [18.0] update yylineno here */ 3125 3126 (yytext_ptr) = yy_bp; 3127 (yy_hold_char) = *yy_cp; 3128 (yy_c_buf_p) = yy_cp; 3129 } 3130 /* %if-c-only */ 3131 /* %endif */ 3132 3133 /* %if-c-only */ 3134 /* %endif */ 3135 /* %if-c++-only */ 3136 int yyFlexLexer::yyinput() 3137 /* %endif */ 3138 { 3139 int c; 3140 3141 *(yy_c_buf_p) = (yy_hold_char); 3142 3143 if (*(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR) { 3144 /* yy_c_buf_p now points to the character we want to return. 3145 * If this occurs *before* the EOB characters, then it's a 3146 * valid NUL; if not, then we've hit the end of the buffer. 3147 */ 3148 if ((yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]) 3149 /* This was really a NUL. */ 3150 { 3151 *(yy_c_buf_p) = '\0'; 3152 } 3153 3154 else { 3155 /* need more input */ 3156 int offset = (yy_c_buf_p) - (yytext_ptr); 3157 ++(yy_c_buf_p); 3158 3159 switch (yy_get_next_buffer()) { 3160 case EOB_ACT_LAST_MATCH: 3161 /* This happens because yy_g_n_b() 3162 * sees that we've accumulated a 3163 * token and flags that we need to 3164 * try matching the token before 3165 * proceeding. But for input(), 3166 * there's no matching to consider. 3167 * So convert the EOB_ACT_LAST_MATCH 3168 * to EOB_ACT_END_OF_FILE. 3169 */ 3170 3171 /* Reset buffer status. */ 3172 yyrestart(yyin); 3173 3174 /*FALLTHROUGH*/ 3175 3176 case EOB_ACT_END_OF_FILE: { 3177 if (yywrap()) { 3178 return EOF; 3179 } 3180 3181 if (!(yy_did_buffer_switch_on_eof)) { 3182 YY_NEW_FILE; 3183 } 3184 #ifdef __cplusplus 3185 return yyinput(); 3186 #else 3187 return input(); 3188 #endif 3189 } 3190 3191 case EOB_ACT_CONTINUE_SCAN: 3192 (yy_c_buf_p) = (yytext_ptr) + offset; 3193 break; 3194 } 3195 } 3196 } 3197 3198 c = *(unsigned char *)(yy_c_buf_p); /* cast for 8-bit char's */ 3199 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 3200 (yy_hold_char) = *++(yy_c_buf_p); 3201 3202 /* %% [19.0] update BOL and yylineno */ 3203 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); 3204 3205 return c; 3206 } 3207 /* %if-c-only */ 3208 /* %endif */ 3209 3210 /** Immediately switch to a different input stream. 3211 * @param input_file A readable stream. 3212 * 3213 * @note This function does not reset the start condition to @c INITIAL . 3214 */ 3215 /* %if-c-only */ 3216 /* %endif */ 3217 /* %if-c++-only */ 3218 void yyFlexLexer::yyrestart(std::istream *input_file) 3219 /* %endif */ 3220 { 3221 3222 if (! YY_CURRENT_BUFFER) { 3223 yyensure_buffer_stack(); 3224 YY_CURRENT_BUFFER_LVALUE = 3225 yy_create_buffer(yyin, YY_BUF_SIZE); 3226 } 3227 3228 yy_init_buffer(YY_CURRENT_BUFFER, input_file); 3229 yy_load_buffer_state(); 3230 } 3231 3232 /** Switch to a different input buffer. 3233 * @param new_buffer The new input buffer. 3234 * 3235 */ 3236 /* %if-c-only */ 3237 /* %endif */ 3238 /* %if-c++-only */ 3239 void yyFlexLexer::yy_switch_to_buffer(YY_BUFFER_STATE new_buffer) 3240 /* %endif */ 3241 { 3242 3243 /* TODO. We should be able to replace this entire function body 3244 * with 3245 * yypop_buffer_state(); 3246 * yypush_buffer_state(new_buffer); 3247 */ 3248 yyensure_buffer_stack(); 3249 if (YY_CURRENT_BUFFER == new_buffer) { 3250 return; 3251 } 3252 3253 if (YY_CURRENT_BUFFER) { 3254 /* Flush out information for old buffer. */ 3255 *(yy_c_buf_p) = (yy_hold_char); 3256 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 3257 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 3258 } 3259 3260 YY_CURRENT_BUFFER_LVALUE = new_buffer; 3261 yy_load_buffer_state(); 3262 3263 /* We don't actually know whether we did this switch during 3264 * EOF (yywrap()) processing, but the only time this flag 3265 * is looked at is after yywrap() is called, so it's safe 3266 * to go ahead and always set it. 3267 */ 3268 (yy_did_buffer_switch_on_eof) = 1; 3269 } 3270 3271 /* %if-c-only */ 3272 /* %endif */ 3273 /* %if-c++-only */ 3274 void yyFlexLexer::yy_load_buffer_state() 3275 /* %endif */ 3276 { 3277 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 3278 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 3279 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 3280 (yy_hold_char) = *(yy_c_buf_p); 3281 } 3282 3283 /** Allocate and initialize an input buffer state. 3284 * @param file A readable stream. 3285 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 3286 * 3287 * @return the allocated buffer state. 3288 */ 3289 /* %if-c-only */ 3290 /* %endif */ 3291 /* %if-c++-only */ 3292 YY_BUFFER_STATE yyFlexLexer::yy_create_buffer(std::istream *file, int size) 3293 /* %endif */ 3294 { 3295 YY_BUFFER_STATE b; 3296 3297 b = (YY_BUFFER_STATE) HolidayScanneralloc(sizeof(struct yy_buffer_state)); 3298 if (! b) { 3299 YY_FATAL_ERROR("out of dynamic memory in yy_create_buffer()"); 3300 } 3301 3302 b->yy_buf_size = size; 3303 3304 /* yy_ch_buf has to be 2 characters longer than the size given because 3305 * we need to put in 2 end-of-buffer characters. 3306 */ 3307 b->yy_ch_buf = (char *) HolidayScanneralloc(b->yy_buf_size + 2); 3308 if (! b->yy_ch_buf) { 3309 YY_FATAL_ERROR("out of dynamic memory in yy_create_buffer()"); 3310 } 3311 3312 b->yy_is_our_buffer = 1; 3313 3314 yy_init_buffer(b, file); 3315 3316 return b; 3317 } 3318 3319 /** Destroy the buffer. 3320 * @param b a buffer created with yy_create_buffer() 3321 * 3322 */ 3323 /* %if-c-only */ 3324 /* %endif */ 3325 /* %if-c++-only */ 3326 void yyFlexLexer::yy_delete_buffer(YY_BUFFER_STATE b) 3327 /* %endif */ 3328 { 3329 3330 if (! b) { 3331 return; 3332 } 3333 3334 if (b == YY_CURRENT_BUFFER) { /* Not sure if we should pop here. */ 3335 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) nullptr; 3336 } 3337 3338 if (b->yy_is_our_buffer) { 3339 HolidayScannerfree((void *) b->yy_ch_buf); 3340 } 3341 3342 HolidayScannerfree((void *) b); 3343 } 3344 3345 /* %if-c-only */ 3346 /* %endif */ 3347 3348 /* %if-c++-only */ 3349 3350 extern "C" int isatty(int); 3351 3352 /* %endif */ 3353 3354 /* Initializes or reinitializes a buffer. 3355 * This function is sometimes called more than once on the same buffer, 3356 * such as during a yyrestart() or at EOF. 3357 */ 3358 /* %if-c-only */ 3359 /* %endif */ 3360 /* %if-c++-only */ 3361 void yyFlexLexer::yy_init_buffer(YY_BUFFER_STATE b, std::istream *file) 3362 /* %endif */ 3363 3364 { 3365 int oerrno = errno; 3366 3367 yy_flush_buffer(b); 3368 3369 b->yy_input_file = file; 3370 b->yy_fill_buffer = 1; 3371 3372 /* If b is the current buffer, then yy_init_buffer was _probably_ 3373 * called from yyrestart() or through yy_get_next_buffer. 3374 * In that case, we don't want to reset the lineno or column. 3375 */ 3376 if (b != YY_CURRENT_BUFFER) { 3377 b->yy_bs_lineno = 1; 3378 b->yy_bs_column = 0; 3379 } 3380 3381 /* %if-c-only */ 3382 /* %endif */ 3383 /* %if-c++-only */ 3384 b->yy_is_interactive = 0; 3385 /* %endif */ 3386 errno = oerrno; 3387 } 3388 3389 /** Discard all buffered characters. On the next scan, YY_INPUT will be called. 3390 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 3391 * 3392 */ 3393 /* %if-c-only */ 3394 /* %endif */ 3395 /* %if-c++-only */ 3396 void yyFlexLexer::yy_flush_buffer(YY_BUFFER_STATE b) 3397 /* %endif */ 3398 { 3399 if (! b) { 3400 return; 3401 } 3402 3403 b->yy_n_chars = 0; 3404 3405 /* We always need two end-of-buffer characters. The first causes 3406 * a transition to the end-of-buffer state. The second causes 3407 * a jam in that state. 3408 */ 3409 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 3410 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 3411 3412 b->yy_buf_pos = &b->yy_ch_buf[0]; 3413 3414 b->yy_at_bol = 1; 3415 b->yy_buffer_status = YY_BUFFER_NEW; 3416 3417 if (b == YY_CURRENT_BUFFER) { 3418 yy_load_buffer_state(); 3419 } 3420 } 3421 3422 /* %if-c-or-c++ */ 3423 /** Pushes the new state onto the stack. The new state becomes 3424 * the current state. This function will allocate the stack 3425 * if necessary. 3426 * @param new_buffer The new state. 3427 * 3428 */ 3429 /* %if-c-only */ 3430 /* %endif */ 3431 /* %if-c++-only */ 3432 void yyFlexLexer::yypush_buffer_state(YY_BUFFER_STATE new_buffer) 3433 /* %endif */ 3434 { 3435 if (new_buffer == nullptr) { 3436 return; 3437 } 3438 3439 yyensure_buffer_stack(); 3440 3441 /* This block is copied from yy_switch_to_buffer. */ 3442 if (YY_CURRENT_BUFFER) { 3443 /* Flush out information for old buffer. */ 3444 *(yy_c_buf_p) = (yy_hold_char); 3445 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 3446 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 3447 } 3448 3449 /* Only push if top exists. Otherwise, replace top. */ 3450 if (YY_CURRENT_BUFFER) { 3451 (yy_buffer_stack_top)++; 3452 } 3453 YY_CURRENT_BUFFER_LVALUE = new_buffer; 3454 3455 /* copied from yy_switch_to_buffer. */ 3456 yy_load_buffer_state(); 3457 (yy_did_buffer_switch_on_eof) = 1; 3458 } 3459 /* %endif */ 3460 3461 /* %if-c-or-c++ */ 3462 /** Removes and deletes the top of the stack, if present. 3463 * The next element becomes the new top. 3464 * 3465 */ 3466 /* %if-c-only */ 3467 /* %endif */ 3468 /* %if-c++-only */ 3469 void yyFlexLexer::yypop_buffer_state(void) 3470 /* %endif */ 3471 { 3472 if (!YY_CURRENT_BUFFER) { 3473 return; 3474 } 3475 3476 yy_delete_buffer(YY_CURRENT_BUFFER); 3477 YY_CURRENT_BUFFER_LVALUE = nullptr; 3478 if ((yy_buffer_stack_top) > 0) { 3479 --(yy_buffer_stack_top); 3480 } 3481 3482 if (YY_CURRENT_BUFFER) { 3483 yy_load_buffer_state(); 3484 (yy_did_buffer_switch_on_eof) = 1; 3485 } 3486 } 3487 /* %endif */ 3488 3489 /* %if-c-or-c++ */ 3490 /* Allocates the stack if it does not exist. 3491 * Guarantees space for at least one push. 3492 */ 3493 /* %if-c-only */ 3494 /* %endif */ 3495 /* %if-c++-only */ 3496 void yyFlexLexer::yyensure_buffer_stack(void) 3497 /* %endif */ 3498 { 3499 int num_to_alloc; 3500 3501 if (!(yy_buffer_stack)) { 3502 3503 /* First allocation is just for 2 elements, since we don't know if this 3504 * scanner will even need a stack. We use 2 instead of 1 to avoid an 3505 * immediate realloc on the next call. 3506 */ 3507 num_to_alloc = 1; 3508 (yy_buffer_stack) = (struct yy_buffer_state **)HolidayScanneralloc 3509 (num_to_alloc * sizeof(struct yy_buffer_state *) 3510 ); 3511 if (!(yy_buffer_stack)) { 3512 YY_FATAL_ERROR("out of dynamic memory in yyensure_buffer_stack()"); 3513 } 3514 3515 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state *)); 3516 3517 (yy_buffer_stack_max) = num_to_alloc; 3518 (yy_buffer_stack_top) = 0; 3519 return; 3520 } 3521 3522 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1) { 3523 3524 /* Increase the buffer to prepare for a possible push. */ 3525 int grow_size = 8 /* arbitrary grow size */; 3526 3527 num_to_alloc = (yy_buffer_stack_max) + grow_size; 3528 (yy_buffer_stack) = (struct yy_buffer_state **)HolidayScannerrealloc 3529 ((yy_buffer_stack), 3530 num_to_alloc * sizeof(struct yy_buffer_state *) 3531 ); 3532 if (!(yy_buffer_stack)) { 3533 YY_FATAL_ERROR("out of dynamic memory in yyensure_buffer_stack()"); 3534 } 3535 3536 /* zero only the new slots.*/ 3537 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state *)); 3538 (yy_buffer_stack_max) = num_to_alloc; 3539 } 3540 } 3541 /* %endif */ 3542 3543 /* %if-c-only */ 3544 /* %endif */ 3545 3546 /* %if-c-only */ 3547 /* %endif */ 3548 3549 /* %if-c-only */ 3550 /* %endif */ 3551 3552 /* %if-c-only */ 3553 /* %endif */ 3554 /* %if-c++-only */ 3555 void yyFlexLexer::yy_push_state(int new_state) 3556 /* %endif */ 3557 { 3558 if ((yy_start_stack_ptr) >= (yy_start_stack_depth)) { 3559 yy_size_t new_size; 3560 3561 (yy_start_stack_depth) += YY_START_STACK_INCR; 3562 new_size = (yy_start_stack_depth) * sizeof(int); 3563 3564 if (!(yy_start_stack)) { 3565 (yy_start_stack) = (int *) HolidayScanneralloc(new_size); 3566 } 3567 3568 else { 3569 (yy_start_stack) = (int *) HolidayScannerrealloc((void *)(yy_start_stack), new_size); 3570 } 3571 3572 if (!(yy_start_stack)) { 3573 YY_FATAL_ERROR("out of memory expanding start-condition stack"); 3574 } 3575 } 3576 3577 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; 3578 3579 BEGIN(new_state); 3580 } 3581 3582 /* %if-c-only */ 3583 /* %endif */ 3584 /* %if-c++-only */ 3585 void yyFlexLexer::yy_pop_state() 3586 /* %endif */ 3587 { 3588 if (--(yy_start_stack_ptr) < 0) { 3589 YY_FATAL_ERROR("start-condition stack underflow"); 3590 } 3591 3592 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); 3593 } 3594 3595 /* %if-c-only */ 3596 /* %endif */ 3597 /* %if-c++-only */ 3598 int yyFlexLexer::yy_top_state() 3599 /* %endif */ 3600 { 3601 return (yy_start_stack)[(yy_start_stack_ptr) - 1]; 3602 } 3603 3604 #ifndef YY_EXIT_FAILURE 3605 #define YY_EXIT_FAILURE 2 3606 #endif 3607 3608 /* %if-c-only */ 3609 /* %endif */ 3610 /* %if-c++-only */ 3611 void yyFlexLexer::LexerError(yyconst char msg[]) 3612 { 3613 std::cerr << msg << std::endl; 3614 exit(YY_EXIT_FAILURE); 3615 } 3616 /* %endif */ 3617 3618 /* Redefine yyless() so it works in section 3 code. */ 3619 3620 #undef yyless 3621 #define yyless(n) \ 3622 do \ 3623 { \ 3624 /* Undo effects of setting up yytext. */ \ 3625 int yyless_macro_arg = (n); \ 3626 YY_LESS_LINENO(yyless_macro_arg);\ 3627 yytext[yyleng] = (yy_hold_char); \ 3628 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 3629 (yy_hold_char) = *(yy_c_buf_p); \ 3630 *(yy_c_buf_p) = '\0'; \ 3631 yyleng = yyless_macro_arg; \ 3632 } \ 3633 while ( 0 ) 3634 3635 /* Accessor methods (get/set functions) to struct members. */ 3636 3637 /* %if-c-only */ 3638 /* %if-reentrant */ 3639 /* %endif */ 3640 /* %if-reentrant */ 3641 /* %endif */ 3642 /* %endif */ 3643 3644 /* %if-reentrant */ 3645 /* %if-bison-bridge */ 3646 /* %endif */ 3647 /* %endif if-c-only */ 3648 3649 /* %if-c-only */ 3650 /* %endif */ 3651 3652 /* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */ 3653 /* %if-reentrant */ 3654 /* %endif */ 3655 /* %endif */ 3656 3657 /* 3658 * Internal utility routines. 3659 */ 3660 3661 #ifndef yytext_ptr 3662 static void yy_flex_strncpy(char *s1, yyconst char *s2, int n) 3663 { 3664 int i; 3665 for (i = 0; i < n; ++i) { 3666 s1[i] = s2[i]; 3667 } 3668 } 3669 #endif 3670 3671 #ifdef YY_NEED_STRLEN 3672 static int yy_flex_strlen(yyconst char *s) 3673 { 3674 int n; 3675 for (n = 0; s[n]; ++n) 3676 ; 3677 3678 return n; 3679 } 3680 #endif 3681 3682 void *HolidayScanneralloc(yy_size_t size) 3683 { 3684 return (void *) malloc(size); 3685 } 3686 3687 void *HolidayScannerrealloc(void *ptr, yy_size_t size) 3688 { 3689 /* The cast to (char *) in the following accommodates both 3690 * implementations that use char* generic pointers, and those 3691 * that use void* generic pointers. It works with the latter 3692 * because both ANSI C and C++ allow castless assignment from 3693 * any pointer type to void*, and deal with argument conversions 3694 * as though doing an assignment. 3695 */ 3696 return (void *) realloc((char *) ptr, size); 3697 } 3698 3699 void HolidayScannerfree(void *ptr) 3700 { 3701 free((char *) ptr); /* see HolidayScannerrealloc() for (char *) cast */ 3702 } 3703 3704 /* %if-tables-serialization definitions */ 3705 /* %define-yytables The name for this specific scanner's tables. */ 3706 #define YYTABLES_NAME "yytables" 3707 /* %endif */ 3708 3709 /* %ok-for-header */ 3710 3711 #line 323 "holidayscannerplan.lpp" 3712 3713 namespace KHolidays 3714 { 3715 3716 HolidayScannerPlan::HolidayScannerPlan(std::istream *in, std::ostream *out) 3717 : HolidayScannerFlexLexer(in, out) 3718 { 3719 } 3720 3721 HolidayScannerPlan::~HolidayScannerPlan() 3722 { 3723 } 3724 3725 void HolidayScannerPlan::set_debug(bool b) 3726 { 3727 yy_flex_debug = b; 3728 } 3729 3730 } // namespace KHolidays 3731 3732 /* This implementation of HolidayScannerFlexLexer::yylex() is required to fill the 3733 * vtable of the class HolidayScannerFlexLexer. We define the scanner's main yylex 3734 * function via YY_DECL to reside in the HolidayScannerPlan class instead. */ 3735 3736 #ifdef yylex 3737 #undef yylex 3738 #endif 3739 3740 int HolidayScannerFlexLexer::yylex() 3741 { 3742 qCDebug(KHOLIDAYS_LOG) << "in HolidayScannerFlexLexer::yylex() !"; 3743 return 0; 3744 } 3745 3746 /* When the scanner receives an end-of-file indication from YY_INPUT, it then 3747 * checks the yywrap() function. If yywrap() returns false (zero), then it is 3748 * assumed that the function has gone ahead and set up `yyin' to point to 3749 * another input file, and scanning continues. If it returns true (non-zero), 3750 * then the scanner terminates, returning 0 to its caller. */ 3751 3752 int HolidayScannerFlexLexer::yywrap() 3753 { 3754 return 1; 3755 }