KHolidays Library
holidayscannerplan.cpp
00001 #line 2 "holidayscannerplan.cpp" 00002 00003 #line 4 "holidayscannerplan.cpp" 00004 00005 #define YY_INT_ALIGNED short int 00006 00007 /* A lexical scanner generated by flex */ 00008 00009 /* %not-for-header */ 00010 00011 /* %if-c-only */ 00012 /* %if-not-reentrant */ 00013 /* %endif */ 00014 /* %endif */ 00015 /* %ok-for-header */ 00016 00017 #define FLEX_SCANNER 00018 #define YY_FLEX_MAJOR_VERSION 2 00019 #define YY_FLEX_MINOR_VERSION 5 00020 #define YY_FLEX_SUBMINOR_VERSION 35 00021 #if YY_FLEX_SUBMINOR_VERSION > 0 00022 #define FLEX_BETA 00023 #endif 00024 00025 /* %if-c++-only */ 00026 /* The c++ scanner is a mess. The FlexLexer.h header file relies on the 00027 * following macro. This is required in order to pass the c++-multiple-scanners 00028 * test in the regression suite. We get reports that it breaks inheritance. 00029 * We will address this in a future release of flex, or omit the C++ scanner 00030 * altogether. 00031 */ 00032 #define yyFlexLexer HolidayScannerFlexLexer 00033 /* %endif */ 00034 00035 /* %if-c-only */ 00036 /* %endif */ 00037 00038 /* %if-c-only */ 00039 /* %endif */ 00040 00041 /* First, we deal with platform-specific or compiler-specific issues. */ 00042 00043 /* begin standard C headers. */ 00044 /* %if-c-only */ 00045 /* %endif */ 00046 00047 /* %if-tables-serialization */ 00048 /* %endif */ 00049 /* end standard C headers. */ 00050 00051 /* %if-c-or-c++ */ 00052 /* flex integer type definitions */ 00053 00054 #ifndef FLEXINT_H 00055 #define FLEXINT_H 00056 00057 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 00058 00059 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 00060 00061 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 00062 * if you want the limit (max/min) macros for int types. 00063 */ 00064 #ifndef __STDC_LIMIT_MACROS 00065 #define __STDC_LIMIT_MACROS 1 00066 #endif 00067 00068 #include <inttypes.h> 00069 typedef int8_t flex_int8_t; 00070 typedef uint8_t flex_uint8_t; 00071 typedef int16_t flex_int16_t; 00072 typedef uint16_t flex_uint16_t; 00073 typedef int32_t flex_int32_t; 00074 typedef uint32_t flex_uint32_t; 00075 #else 00076 typedef signed char flex_int8_t; 00077 typedef short int flex_int16_t; 00078 typedef int flex_int32_t; 00079 typedef unsigned char flex_uint8_t; 00080 typedef unsigned short int flex_uint16_t; 00081 typedef unsigned int flex_uint32_t; 00082 #endif /* ! C99 */ 00083 00084 /* Limits of integral types. */ 00085 #ifndef INT8_MIN 00086 #define INT8_MIN (-128) 00087 #endif 00088 #ifndef INT16_MIN 00089 #define INT16_MIN (-32767-1) 00090 #endif 00091 #ifndef INT32_MIN 00092 #define INT32_MIN (-2147483647-1) 00093 #endif 00094 #ifndef INT8_MAX 00095 #define INT8_MAX (127) 00096 #endif 00097 #ifndef INT16_MAX 00098 #define INT16_MAX (32767) 00099 #endif 00100 #ifndef INT32_MAX 00101 #define INT32_MAX (2147483647) 00102 #endif 00103 #ifndef UINT8_MAX 00104 #define UINT8_MAX (255U) 00105 #endif 00106 #ifndef UINT16_MAX 00107 #define UINT16_MAX (65535U) 00108 #endif 00109 #ifndef UINT32_MAX 00110 #define UINT32_MAX (4294967295U) 00111 #endif 00112 00113 #endif /* ! FLEXINT_H */ 00114 00115 /* %endif */ 00116 00117 /* %if-c++-only */ 00118 /* begin standard C++ headers. */ 00119 #include <iostream> 00120 #include <errno.h> 00121 #include <cstdlib> 00122 #include <cstring> 00123 #include <cstdio> 00124 /* end standard C++ headers. */ 00125 /* %endif */ 00126 00127 #ifdef __cplusplus 00128 00129 /* The "const" storage-class-modifier is valid. */ 00130 #define YY_USE_CONST 00131 00132 #else /* ! __cplusplus */ 00133 00134 /* C99 requires __STDC__ to be defined as 1. */ 00135 #if defined (__STDC__) 00136 00137 #define YY_USE_CONST 00138 00139 #endif /* defined (__STDC__) */ 00140 #endif /* ! __cplusplus */ 00141 00142 #ifdef YY_USE_CONST 00143 #define yyconst const 00144 #else 00145 #define yyconst 00146 #endif 00147 00148 /* %not-for-header */ 00149 00150 /* Returned upon end-of-file. */ 00151 #define YY_NULL 0 00152 /* %ok-for-header */ 00153 00154 /* %not-for-header */ 00155 00156 /* Promotes a possibly negative, possibly signed char to an unsigned 00157 * integer for use as an array index. If the signed char is negative, 00158 * we want to instead treat it as an 8-bit unsigned char, hence the 00159 * double cast. 00160 */ 00161 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 00162 /* %ok-for-header */ 00163 00164 /* %if-reentrant */ 00165 /* %endif */ 00166 00167 /* %if-not-reentrant */ 00168 00169 /* %endif */ 00170 00171 /* Enter a start condition. This macro really ought to take a parameter, 00172 * but we do it the disgusting crufty way forced on us by the ()-less 00173 * definition of BEGIN. 00174 */ 00175 #define BEGIN (yy_start) = 1 + 2 * 00176 00177 /* Translate the current start state into a value that can be later handed 00178 * to BEGIN to return to the state. The YYSTATE alias is for lex 00179 * compatibility. 00180 */ 00181 #define YY_START (((yy_start) - 1) / 2) 00182 #define YYSTATE YY_START 00183 00184 /* Action number for EOF rule of a given start state. */ 00185 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 00186 00187 /* Special action meaning "start processing a new file". */ 00188 #define YY_NEW_FILE yyrestart( yyin ) 00189 00190 #define YY_END_OF_BUFFER_CHAR 0 00191 00192 /* Size of default input buffer. */ 00193 #ifndef YY_BUF_SIZE 00194 #define YY_BUF_SIZE 16384 00195 #endif 00196 00197 /* The state buf must be large enough to hold one state per character in the main buffer. 00198 */ 00199 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 00200 00201 #ifndef YY_TYPEDEF_YY_BUFFER_STATE 00202 #define YY_TYPEDEF_YY_BUFFER_STATE 00203 typedef struct yy_buffer_state *YY_BUFFER_STATE; 00204 #endif 00205 00206 /* %if-not-reentrant */ 00207 extern int yyleng; 00208 /* %endif */ 00209 00210 /* %if-c-only */ 00211 /* %if-not-reentrant */ 00212 /* %endif */ 00213 /* %endif */ 00214 00215 #define EOB_ACT_CONTINUE_SCAN 0 00216 #define EOB_ACT_END_OF_FILE 1 00217 #define EOB_ACT_LAST_MATCH 2 00218 00219 #define YY_LESS_LINENO(n) 00220 00221 /* Return all but the first "n" matched characters back to the input stream. */ 00222 #define yyless(n) \ 00223 do \ 00224 { \ 00225 /* Undo effects of setting up yytext. */ \ 00226 int yyless_macro_arg = (n); \ 00227 YY_LESS_LINENO(yyless_macro_arg);\ 00228 *yy_cp = (yy_hold_char); \ 00229 YY_RESTORE_YY_MORE_OFFSET \ 00230 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 00231 YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 00232 } \ 00233 while ( 0 ) 00234 00235 #define unput(c) yyunput( c, (yytext_ptr) ) 00236 00237 #ifndef YY_TYPEDEF_YY_SIZE_T 00238 #define YY_TYPEDEF_YY_SIZE_T 00239 typedef size_t yy_size_t; 00240 #endif 00241 00242 #ifndef YY_STRUCT_YY_BUFFER_STATE 00243 #define YY_STRUCT_YY_BUFFER_STATE 00244 struct yy_buffer_state 00245 { 00246 /* %if-c-only */ 00247 /* %endif */ 00248 00249 /* %if-c++-only */ 00250 std::istream* yy_input_file; 00251 /* %endif */ 00252 00253 char *yy_ch_buf; /* input buffer */ 00254 char *yy_buf_pos; /* current position in input buffer */ 00255 00256 /* Size of input buffer in bytes, not including room for EOB 00257 * characters. 00258 */ 00259 yy_size_t yy_buf_size; 00260 00261 /* Number of characters read into yy_ch_buf, not including EOB 00262 * characters. 00263 */ 00264 int yy_n_chars; 00265 00266 /* Whether we "own" the buffer - i.e., we know we created it, 00267 * and can realloc() it to grow it, and should free() it to 00268 * delete it. 00269 */ 00270 int yy_is_our_buffer; 00271 00272 /* Whether this is an "interactive" input source; if so, and 00273 * if we're using stdio for input, then we want to use getc() 00274 * instead of fread(), to make sure we stop fetching input after 00275 * each newline. 00276 */ 00277 int yy_is_interactive; 00278 00279 /* Whether we're considered to be at the beginning of a line. 00280 * If so, '^' rules will be active on the next match, otherwise 00281 * not. 00282 */ 00283 int yy_at_bol; 00284 00285 int yy_bs_lineno; 00286 int yy_bs_column; 00288 /* Whether to try to fill the input buffer when we reach the 00289 * end of it. 00290 */ 00291 int yy_fill_buffer; 00292 00293 int yy_buffer_status; 00294 00295 #define YY_BUFFER_NEW 0 00296 #define YY_BUFFER_NORMAL 1 00297 /* When an EOF's been seen but there's still some text to process 00298 * then we mark the buffer as YY_EOF_PENDING, to indicate that we 00299 * shouldn't try reading from the input source any more. We might 00300 * still have a bunch of tokens to match, though, because of 00301 * possible backing-up. 00302 * 00303 * When we actually see the EOF, we change the status to "new" 00304 * (via yyrestart()), so that the user can continue scanning by 00305 * just pointing yyin at a new input file. 00306 */ 00307 #define YY_BUFFER_EOF_PENDING 2 00308 00309 }; 00310 #endif /* !YY_STRUCT_YY_BUFFER_STATE */ 00311 00312 /* %if-c-only Standard (non-C++) definition */ 00313 /* %not-for-header */ 00314 00315 /* %if-not-reentrant */ 00316 /* %endif */ 00317 /* %ok-for-header */ 00318 00319 /* %endif */ 00320 00321 /* We provide macros for accessing buffer states in case in the 00322 * future we want to put the buffer states in a more general 00323 * "scanner state". 00324 * 00325 * Returns the top of the stack, or NULL. 00326 */ 00327 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 00328 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 00329 : NULL) 00330 00331 /* Same as previous macro, but useful when we know that the buffer stack is not 00332 * NULL or when we need an lvalue. For internal use only. 00333 */ 00334 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 00335 00336 /* %if-c-only Standard (non-C++) definition */ 00337 /* %if-not-reentrant */ 00338 /* %not-for-header */ 00339 00340 /* %ok-for-header */ 00341 00342 /* %endif */ 00343 /* %endif */ 00344 00345 void *HolidayScanneralloc (yy_size_t ); 00346 void *HolidayScannerrealloc (void *,yy_size_t ); 00347 void HolidayScannerfree (void * ); 00348 00349 #define yy_new_buffer yy_create_buffer 00350 00351 #define yy_set_interactive(is_interactive) \ 00352 { \ 00353 if ( ! YY_CURRENT_BUFFER ){ \ 00354 yyensure_buffer_stack (); \ 00355 YY_CURRENT_BUFFER_LVALUE = \ 00356 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 00357 } \ 00358 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 00359 } 00360 00361 #define yy_set_bol(at_bol) \ 00362 { \ 00363 if ( ! YY_CURRENT_BUFFER ){\ 00364 yyensure_buffer_stack (); \ 00365 YY_CURRENT_BUFFER_LVALUE = \ 00366 yy_create_buffer( yyin, YY_BUF_SIZE ); \ 00367 } \ 00368 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 00369 } 00370 00371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 00372 00373 /* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */ 00374 /* Begin user sect3 */ 00375 00376 #define FLEX_DEBUG 00377 00378 typedef unsigned char YY_CHAR; 00379 00380 #define yytext_ptr yytext 00381 00382 #include <FlexLexer.h> 00383 00384 /* %if-c-only Standard (non-C++) definition */ 00385 /* %endif */ 00386 00387 /* Done after the current pattern has been matched and before the 00388 * corresponding action - sets up yytext. 00389 */ 00390 #define YY_DO_BEFORE_ACTION \ 00391 (yytext_ptr) = yy_bp; \ 00392 /* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\ 00393 yyleng = (size_t) (yy_cp - yy_bp); \ 00394 (yy_hold_char) = *yy_cp; \ 00395 *yy_cp = '\0'; \ 00396 /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\ 00397 (yy_c_buf_p) = yy_cp; 00398 00399 /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */ 00400 #define YY_NUM_RULES 201 00401 #define YY_END_OF_BUFFER 202 00402 /* This struct is not used in this scanner, 00403 but its presence is necessary. */ 00404 struct yy_trans_info 00405 { 00406 flex_int32_t yy_verify; 00407 flex_int32_t yy_nxt; 00408 }; 00409 static yyconst flex_int16_t yy_accept[943] = 00410 { 0, 00411 0, 0, 202, 200, 3, 4, 5, 200, 200, 5, 00412 200, 10, 10, 10, 10, 10, 10, 41, 200, 42, 00413 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 00414 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 00415 200, 200, 200, 200, 5, 3, 4, 38, 0, 11, 00416 0, 1, 43, 10, 0, 0, 0, 0, 0, 39, 00417 37, 40, 0, 0, 0, 0, 0, 0, 0, 0, 00418 0, 129, 0, 0, 0, 0, 0, 0, 0, 0, 00419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00421 00422 0, 0, 18, 17, 0, 0, 0, 0, 0, 0, 00423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00424 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 00425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00426 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 00427 0, 0, 0, 0, 0, 0, 44, 0, 2, 45, 00428 46, 47, 48, 49, 0, 0, 0, 0, 51, 0, 00429 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00430 0, 0, 0, 0, 13, 0, 190, 0, 0, 0, 00431 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00432 00433 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00436 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 00437 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00439 0, 0, 0, 0, 0, 0, 29, 113, 0, 0, 00440 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00441 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 00442 0, 0, 0, 184, 0, 0, 0, 0, 0, 0, 00443 00444 0, 0, 0, 0, 0, 0, 0, 0, 188, 124, 00445 0, 0, 0, 0, 0, 0, 189, 0, 0, 0, 00446 0, 32, 0, 0, 0, 0, 0, 34, 14, 0, 00447 0, 0, 0, 117, 130, 87, 0, 0, 0, 0, 00448 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00449 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 00450 0, 63, 0, 0, 62, 0, 0, 0, 0, 0, 00451 0, 0, 50, 0, 0, 0, 0, 171, 0, 0, 00452 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 00453 8, 0, 0, 52, 0, 0, 0, 0, 0, 0, 00454 00455 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 00456 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00457 0, 0, 0, 0, 107, 0, 0, 0, 0, 0, 00458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00459 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 00460 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 00461 0, 0, 0, 0, 131, 54, 0, 60, 0, 0, 00462 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 00463 0, 0, 0, 0, 0, 0, 12, 0, 0, 49, 00464 45, 0, 0, 0, 30, 0, 0, 108, 114, 0, 00465 00466 0, 100, 0, 140, 0, 0, 0, 0, 0, 197, 00467 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 00468 0, 0, 0, 59, 0, 0, 0, 20, 0, 0, 00469 0, 0, 0, 125, 0, 0, 0, 0, 0, 86, 00470 78, 0, 0, 0, 0, 170, 0, 0, 0, 0, 00471 0, 94, 93, 0, 0, 147, 0, 0, 142, 0, 00472 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 00473 27, 0, 123, 127, 21, 0, 0, 0, 0, 128, 00474 0, 122, 47, 0, 0, 0, 0, 0, 0, 0, 00475 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 00476 00477 0, 0, 132, 0, 0, 167, 64, 191, 53, 0, 00478 0, 0, 0, 76, 0, 0, 0, 0, 24, 192, 00479 0, 0, 0, 48, 73, 106, 0, 0, 79, 118, 00480 0, 0, 180, 0, 56, 0, 0, 168, 0, 121, 00481 0, 0, 0, 26, 0, 0, 0, 0, 82, 0, 00482 88, 0, 69, 185, 0, 109, 0, 0, 0, 0, 00483 0, 0, 0, 25, 0, 0, 90, 0, 0, 0, 00484 116, 0, 0, 0, 0, 0, 46, 0, 0, 148, 00485 0, 0, 198, 0, 0, 0, 0, 75, 101, 0, 00486 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00487 00488 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 00489 0, 0, 164, 0, 0, 0, 161, 6, 0, 0, 00490 0, 0, 0, 0, 0, 0, 120, 0, 57, 0, 00491 0, 183, 0, 0, 0, 104, 33, 0, 0, 0, 00492 105, 0, 0, 66, 0, 110, 0, 0, 0, 85, 00493 92, 172, 0, 0, 0, 0, 149, 179, 0, 0, 00494 0, 0, 138, 0, 150, 0, 0, 0, 99, 0, 00495 0, 0, 119, 0, 70, 0, 0, 36, 103, 0, 00496 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00497 0, 0, 0, 0, 0, 0, 68, 0, 193, 0, 00498 00499 0, 58, 0, 176, 0, 0, 0, 0, 7, 23, 00500 112, 174, 98, 141, 67, 0, 0, 0, 84, 0, 00501 91, 0, 0, 178, 74, 0, 194, 0, 165, 173, 00502 0, 0, 0, 72, 96, 162, 0, 0, 0, 0, 00503 0, 0, 0, 0, 0, 0, 135, 0, 133, 0, 00504 0, 0, 166, 175, 0, 0, 97, 181, 55, 0, 00505 0, 163, 0, 0, 0, 0, 95, 0, 0, 65, 00506 186, 177, 0, 0, 71, 0, 0, 0, 0, 0, 00507 0, 0, 199, 0, 139, 137, 0, 169, 0, 0, 00508 0, 0, 0, 89, 0, 196, 83, 143, 0, 0, 00509 00510 151, 0, 159, 0, 0, 0, 0, 158, 0, 134, 00511 0, 9, 0, 0, 0, 182, 0, 152, 0, 155, 00512 0, 157, 0, 136, 195, 0, 0, 0, 144, 0, 00513 0, 0, 0, 145, 0, 154, 153, 156, 160, 0, 00514 146, 0 00515 } ; 00516 00517 static yyconst flex_int32_t yy_ec[256] = 00518 { 0, 00519 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 00520 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 00521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00522 1, 2, 4, 5, 6, 1, 7, 8, 1, 7, 00523 7, 7, 7, 1, 7, 7, 7, 9, 10, 11, 00524 12, 13, 14, 9, 9, 9, 9, 15, 1, 16, 00525 17, 18, 7, 1, 19, 20, 21, 22, 23, 24, 00526 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 00527 35, 36, 37, 38, 39, 40, 41, 1, 42, 43, 00528 7, 1, 7, 1, 1, 1, 44, 45, 46, 47, 00529 00530 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 00531 58, 59, 60, 61, 62, 63, 64, 65, 66, 1, 00532 67, 68, 1, 69, 1, 1, 1, 1, 1, 1, 00533 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00534 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00535 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00536 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00537 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00538 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00539 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00540 00541 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00542 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00543 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00544 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00545 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00546 1, 1, 1, 1, 1 00547 } ; 00548 00549 static yyconst flex_int32_t yy_meta[70] = 00550 { 0, 00551 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00552 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00553 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00554 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00555 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00556 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 00557 1, 1, 1, 1, 1, 1, 1, 1, 1 00558 } ; 00559 00560 static yyconst flex_int16_t yy_base[946] = 00561 { 0, 00562 0, 298, 287, 1944, 281, 277, 261, 259, 241, 1944, 00563 226, 61, 67, 73, 79, 85, 97, 215, 210, 168, 00564 141, 94, 86, 99, 191, 197, 128, 160, 169, 155, 00565 233, 102, 224, 242, 95, 282, 78, 248, 327, 373, 00566 95, 247, 270, 103, 166, 166, 159, 1944, 150, 1944, 00567 151, 1944, 1944, 329, 96, 148, 149, 156, 187, 1944, 00568 1944, 1944, 195, 196, 185, 201, 232, 243, 277, 276, 00569 282, 1944, 290, 284, 287, 304, 312, 302, 328, 318, 00570 336, 317, 367, 324, 325, 325, 326, 345, 346, 347, 00571 374, 365, 383, 384, 366, 380, 377, 387, 375, 385, 00572 00573 418, 386, 1944, 396, 423, 414, 419, 428, 416, 420, 00574 442, 417, 425, 441, 459, 457, 457, 460, 442, 459, 00575 471, 463, 470, 464, 1944, 483, 511, 505, 487, 468, 00576 519, 485, 511, 531, 517, 520, 517, 557, 566, 516, 00577 560, 552, 563, 574, 586, 596, 575, 546, 570, 576, 00578 582, 610, 601, 610, 626, 607, 1944, 133, 1944, 1944, 00579 1944, 1944, 1944, 1944, 608, 605, 619, 624, 1944, 617, 00580 1944, 631, 613, 623, 630, 629, 649, 652, 653, 652, 00581 656, 641, 653, 656, 652, 667, 1944, 670, 666, 655, 00582 672, 665, 665, 681, 675, 669, 666, 673, 673, 675, 00583 00584 685, 700, 703, 703, 690, 702, 707, 699, 719, 713, 00585 704, 715, 707, 725, 706, 729, 736, 726, 723, 714, 00586 725, 736, 742, 745, 751, 740, 745, 757, 766, 746, 00587 763, 769, 1944, 755, 773, 754, 775, 773, 778, 786, 00588 786, 792, 793, 787, 799, 790, 799, 789, 801, 801, 00589 809, 817, 802, 803, 810, 814, 808, 829, 817, 819, 00590 822, 837, 832, 842, 843, 844, 1944, 1944, 853, 846, 00591 837, 845, 847, 859, 845, 859, 868, 865, 871, 872, 00592 873, 863, 876, 863, 880, 868, 867, 872, 1944, 889, 00593 885, 889, 904, 1944, 900, 892, 906, 895, 896, 903, 00594 00595 909, 901, 922, 924, 906, 907, 915, 935, 1944, 922, 00596 914, 926, 929, 939, 935, 936, 1944, 957, 942, 943, 00597 953, 1944, 964, 966, 950, 962, 952, 1944, 1944, 960, 00598 956, 974, 971, 1944, 1944, 1944, 963, 966, 958, 983, 00599 966, 980, 971, 973, 993, 988, 990, 990, 986, 1005, 00600 992, 999, 1010, 999, 998, 1012, 1021, 1944, 1011, 1023, 00601 1024, 1944, 1025, 1022, 1944, 1012, 1023, 1030, 1026, 1033, 00602 1032, 1022, 1944, 1020, 1033, 1052, 1041, 1944, 1053, 1059, 00603 1053, 1944, 1055, 1060, 1049, 1051, 1046, 1071, 1072, 1056, 00604 1944, 1056, 1062, 1944, 1064, 1079, 1080, 1071, 1068, 1083, 00605 00606 1086, 1080, 1079, 1095, 1089, 1097, 1093, 1109, 1104, 1944, 00607 1112, 1102, 1096, 1099, 1108, 1121, 1121, 1120, 1124, 1108, 00608 1105, 1113, 1118, 1119, 1944, 1132, 1137, 1142, 1123, 1151, 00609 1131, 1135, 1136, 1140, 1147, 1152, 1143, 1166, 1169, 1170, 00610 1147, 1168, 1154, 1171, 1155, 1165, 1162, 1164, 1175, 1944, 00611 1183, 1180, 1186, 1188, 1189, 1183, 1192, 1204, 1944, 1200, 00612 1195, 1203, 1212, 1206, 1206, 1944, 1219, 1944, 1214, 1209, 00613 1204, 1211, 1221, 1226, 1944, 1209, 1214, 1216, 1234, 1220, 00614 1239, 1234, 1230, 1235, 1250, 1239, 1944, 1240, 1259, 1944, 00615 1944, 1253, 1240, 1245, 1944, 1249, 1269, 1944, 1944, 1253, 00616 00617 1249, 1944, 1272, 1944, 1260, 1266, 1258, 1263, 1277, 1944, 00618 1274, 1273, 1286, 1944, 1266, 1277, 1292, 1289, 1295, 1295, 00619 1285, 1301, 1298, 1944, 1293, 1296, 1310, 1944, 1293, 1296, 00620 1317, 1304, 1318, 1944, 1322, 1320, 1321, 1322, 1323, 1944, 00621 1944, 1324, 1313, 1336, 1324, 1944, 1326, 1322, 1323, 1352, 00622 1349, 1944, 1944, 1350, 1346, 1944, 1359, 1343, 1944, 1363, 00623 1361, 1363, 1944, 1357, 1357, 1358, 1372, 1365, 1370, 1375, 00624 1944, 1376, 1944, 1944, 1944, 1380, 1360, 1360, 1368, 1944, 00625 1375, 1944, 1944, 1371, 1386, 1389, 1399, 1404, 1407, 1409, 00626 1392, 1400, 1944, 1406, 1397, 1408, 1420, 1399, 1422, 1402, 00627 00628 1406, 1422, 1944, 1402, 1431, 1944, 1944, 1944, 1944, 1421, 00629 1437, 1422, 1442, 1944, 1420, 1448, 1438, 1453, 1944, 1944, 00630 1449, 1456, 1443, 1944, 1944, 1944, 1455, 1447, 1944, 1944, 00631 1453, 1456, 1944, 1447, 1944, 1471, 1453, 1944, 1470, 1944, 00632 1474, 1469, 1476, 1944, 1461, 1481, 1470, 1465, 1944, 1483, 00633 1944, 1490, 1944, 1944, 1492, 1944, 1489, 1485, 1496, 1491, 00634 1507, 1495, 1491, 1944, 1495, 1494, 1944, 1503, 1500, 1507, 00635 1944, 1521, 1509, 1523, 1507, 1525, 1944, 1525, 1529, 1944, 00636 1512, 1512, 1944, 1525, 1524, 1525, 1543, 1944, 1944, 1533, 00637 1944, 1545, 1546, 1557, 1536, 1550, 1540, 1554, 1563, 1566, 00638 00639 1551, 1564, 1590, 1559, 1944, 1564, 1572, 1574, 1573, 1569, 00640 1584, 1593, 1944, 1602, 1586, 1597, 1944, 1944, 1590, 1590, 00641 1606, 1613, 1606, 1593, 1619, 1620, 1944, 1621, 1944, 1622, 00642 1619, 1944, 1629, 1627, 1619, 1944, 1944, 1623, 1640, 1630, 00643 1944, 1631, 1631, 1944, 1645, 1944, 1637, 1633, 1649, 1944, 00644 1944, 1944, 1640, 1638, 1636, 1652, 1944, 1944, 1660, 1640, 00645 1660, 1662, 1944, 1669, 1944, 1670, 1671, 1655, 1944, 1667, 00646 1677, 1658, 1944, 1682, 1944, 1680, 1690, 1944, 1944, 1672, 00647 1686, 1679, 1679, 1693, 1702, 1703, 1699, 1700, 1695, 1702, 00648 1706, 1696, 1703, 1716, 1720, 1721, 1944, 1714, 1944, 1713, 00649 00650 1717, 1944, 1718, 1944, 1717, 1726, 1740, 1728, 1944, 1944, 00651 1944, 1944, 1944, 1944, 1944, 1725, 1747, 1745, 1944, 1737, 00652 1944, 1752, 1753, 1944, 1944, 1737, 1944, 1740, 1944, 1944, 00653 1758, 1750, 1760, 1944, 1944, 1944, 1740, 1753, 1766, 1768, 00654 1763, 1759, 1772, 1775, 1776, 1763, 1944, 1773, 1944, 1779, 00655 1783, 1792, 1944, 1944, 1780, 1784, 1944, 1944, 1944, 1791, 00656 1800, 1944, 1783, 1796, 1800, 1792, 1944, 1797, 1809, 1944, 00657 1944, 1944, 1810, 1806, 1944, 1814, 1813, 1812, 1808, 1810, 00658 1814, 1811, 1944, 1824, 1944, 1944, 1828, 1944, 1836, 1827, 00659 1828, 1821, 1841, 1944, 1830, 1944, 1944, 1944, 1837, 1845, 00660 00661 1944, 1834, 1944, 1854, 1857, 1858, 1855, 1944, 1852, 1944, 00662 1859, 1944, 1851, 1866, 1869, 1944, 1862, 1944, 1864, 1944, 00663 1864, 1944, 1872, 1944, 1944, 1880, 1870, 1886, 1944, 1887, 00664 1877, 1874, 1882, 1944, 1885, 1944, 1944, 1944, 1944, 1891, 00665 1944, 1944, 102, 101, 99 00666 } ; 00667 00668 static yyconst flex_int16_t yy_def[946] = 00669 { 0, 00670 942, 1, 942, 942, 942, 942, 942, 943, 944, 942, 00671 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00672 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00673 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00674 942, 942, 942, 942, 945, 942, 942, 942, 943, 942, 00675 944, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00676 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00677 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00678 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00679 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00680 00681 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00682 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00683 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00684 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00685 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00686 942, 942, 942, 942, 942, 942, 942, 945, 942, 942, 00687 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00688 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00689 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00690 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00691 00692 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00693 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00694 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00695 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00696 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00697 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00698 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00699 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00700 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00701 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00702 00703 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00704 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00705 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00706 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00707 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00708 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00709 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00710 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00711 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00712 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00713 00714 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00715 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00716 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00717 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00718 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00719 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00720 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00721 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00722 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00723 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00724 00725 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00726 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00727 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00728 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00729 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00730 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00731 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00732 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00733 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00734 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00735 00736 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00737 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00738 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00739 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00740 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00741 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00742 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00743 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00744 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00745 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00746 00747 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00748 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00749 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00750 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00751 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00752 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00753 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00754 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00755 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00756 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00757 00758 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00759 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00760 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00761 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00762 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00763 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00764 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00765 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00766 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00767 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00768 00769 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00770 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00771 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00772 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00773 942, 0, 942, 942, 942 00774 } ; 00775 00776 static yyconst flex_int16_t yy_nxt[2014] = 00777 { 0, 00778 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 00779 14, 15, 16, 17, 10, 18, 19, 20, 21, 22, 00780 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 00781 33, 34, 35, 36, 37, 38, 39, 40, 4, 41, 00782 42, 43, 4, 21, 22, 23, 24, 25, 26, 27, 00783 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 00784 38, 39, 40, 4, 41, 42, 43, 4, 44, 54, 00785 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 00786 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 00787 54, 54, 54, 54, 54, 54, 54, 54, 54, 158, 00788 00789 133, 51, 49, 55, 56, 54, 54, 54, 54, 54, 00790 54, 79, 74, 151, 57, 124, 75, 82, 80, 76, 00791 113, 83, 58, 77, 114, 133, 125, 81, 55, 56, 00792 126, 84, 78, 160, 59, 159, 79, 74, 151, 57, 00793 124, 75, 82, 80, 76, 113, 83, 58, 77, 114, 00794 97, 125, 81, 52, 50, 126, 84, 78, 160, 59, 00795 63, 47, 64, 98, 65, 66, 99, 46, 159, 161, 00796 162, 157, 67, 106, 68, 97, 69, 70, 100, 71, 00797 72, 163, 101, 73, 62, 63, 102, 64, 98, 65, 00798 66, 99, 103, 107, 161, 162, 108, 67, 106, 68, 00799 00800 104, 69, 70, 100, 71, 72, 163, 101, 73, 85, 00801 105, 102, 164, 165, 166, 92, 86, 103, 107, 93, 00802 87, 108, 167, 94, 88, 104, 61, 89, 90, 95, 00803 91, 60, 96, 53, 85, 105, 168, 164, 165, 166, 00804 92, 86, 115, 52, 93, 87, 116, 167, 94, 88, 00805 117, 109, 89, 90, 95, 91, 118, 96, 110, 111, 00806 120, 168, 119, 50, 121, 112, 134, 115, 122, 152, 00807 135, 116, 153, 169, 123, 117, 109, 48, 170, 47, 00808 136, 118, 46, 110, 111, 120, 942, 119, 154, 121, 00809 112, 134, 155, 122, 152, 135, 171, 153, 169, 123, 00810 00811 127, 172, 156, 170, 128, 136, 173, 129, 174, 175, 00812 176, 130, 45, 154, 942, 942, 942, 155, 131, 132, 00813 942, 171, 177, 180, 942, 127, 172, 156, 942, 128, 00814 178, 173, 129, 174, 175, 176, 130, 54, 54, 54, 00815 54, 54, 54, 131, 132, 137, 181, 177, 180, 138, 00816 179, 182, 139, 140, 184, 178, 183, 141, 185, 142, 00817 189, 190, 942, 191, 192, 143, 942, 193, 942, 194, 00818 137, 181, 195, 942, 138, 179, 182, 139, 140, 184, 00819 942, 183, 141, 185, 142, 189, 190, 186, 191, 192, 00820 143, 144, 193, 187, 194, 145, 196, 195, 146, 147, 00821 00822 197, 148, 198, 188, 201, 149, 202, 199, 203, 204, 00823 205, 150, 186, 211, 942, 206, 144, 212, 187, 200, 00824 145, 196, 207, 146, 147, 197, 148, 198, 188, 201, 00825 149, 202, 199, 203, 204, 205, 150, 208, 211, 209, 00826 206, 213, 212, 214, 200, 215, 219, 207, 216, 217, 00827 218, 220, 221, 942, 210, 224, 225, 942, 942, 227, 00828 222, 226, 208, 942, 209, 942, 213, 240, 214, 942, 00829 215, 219, 228, 216, 217, 218, 220, 221, 223, 210, 00830 224, 225, 234, 229, 227, 222, 226, 230, 236, 241, 00831 231, 238, 240, 235, 232, 239, 242, 228, 237, 243, 00832 00833 233, 246, 244, 223, 247, 256, 257, 234, 229, 245, 00834 942, 261, 230, 236, 241, 231, 238, 942, 235, 232, 00835 239, 242, 942, 237, 243, 233, 246, 244, 254, 247, 00836 256, 257, 262, 942, 245, 248, 261, 258, 267, 268, 00837 269, 255, 249, 250, 259, 942, 251, 252, 270, 253, 00838 263, 260, 942, 254, 271, 281, 942, 262, 264, 942, 00839 248, 265, 258, 267, 268, 269, 255, 249, 250, 259, 00840 266, 251, 252, 270, 253, 263, 260, 272, 282, 271, 00841 281, 273, 283, 264, 277, 942, 265, 296, 274, 297, 00842 275, 284, 278, 276, 285, 266, 942, 942, 298, 286, 00843 00844 942, 279, 272, 282, 287, 280, 273, 283, 299, 277, 00845 294, 295, 296, 274, 297, 275, 284, 278, 276, 285, 00846 288, 289, 291, 298, 286, 290, 279, 302, 292, 287, 00847 280, 300, 301, 299, 293, 294, 295, 308, 303, 309, 00848 310, 311, 312, 313, 305, 288, 289, 291, 304, 314, 00849 290, 316, 302, 292, 306, 307, 300, 301, 317, 293, 00850 318, 319, 308, 303, 309, 310, 311, 312, 313, 305, 00851 320, 315, 321, 304, 314, 322, 316, 323, 326, 306, 00852 307, 324, 325, 317, 327, 318, 319, 328, 329, 330, 00853 331, 332, 333, 334, 335, 320, 315, 321, 336, 337, 00854 00855 322, 338, 323, 326, 339, 340, 324, 325, 341, 327, 00856 342, 343, 328, 329, 330, 331, 332, 333, 334, 335, 00857 344, 345, 346, 336, 337, 347, 338, 348, 349, 339, 00858 340, 350, 352, 341, 353, 342, 343, 354, 355, 356, 00859 351, 357, 358, 359, 360, 344, 345, 346, 365, 366, 00860 347, 367, 348, 349, 363, 361, 350, 352, 364, 353, 00861 368, 369, 354, 355, 356, 351, 357, 358, 359, 360, 00862 362, 370, 371, 365, 366, 372, 367, 373, 374, 363, 00863 361, 375, 379, 364, 376, 368, 369, 380, 377, 381, 00864 382, 378, 386, 387, 388, 362, 370, 371, 383, 389, 00865 00866 372, 384, 373, 374, 390, 385, 375, 379, 391, 376, 00867 392, 393, 380, 377, 381, 382, 378, 386, 387, 388, 00868 394, 395, 396, 383, 389, 397, 384, 398, 399, 390, 00869 385, 402, 400, 391, 401, 392, 393, 404, 406, 403, 00870 407, 408, 405, 409, 410, 394, 395, 396, 411, 412, 00871 397, 413, 398, 399, 414, 415, 402, 400, 416, 401, 00872 417, 418, 404, 406, 403, 407, 408, 405, 409, 410, 00873 419, 420, 421, 411, 412, 422, 413, 423, 424, 414, 00874 415, 425, 426, 416, 427, 417, 418, 428, 432, 433, 00875 434, 435, 436, 429, 437, 419, 420, 421, 438, 430, 00876 00877 422, 439, 423, 424, 440, 441, 425, 426, 431, 427, 00878 442, 443, 428, 432, 433, 434, 435, 436, 429, 437, 00879 444, 445, 446, 438, 430, 448, 439, 449, 450, 440, 00880 441, 451, 452, 431, 453, 442, 443, 454, 455, 447, 00881 456, 459, 457, 460, 461, 444, 445, 446, 465, 466, 00882 448, 467, 449, 450, 458, 462, 451, 452, 468, 453, 00883 469, 470, 454, 455, 447, 456, 459, 457, 460, 461, 00884 463, 464, 471, 465, 466, 472, 467, 473, 474, 458, 00885 462, 475, 476, 468, 477, 469, 470, 478, 479, 480, 00886 481, 482, 483, 484, 485, 463, 464, 471, 486, 487, 00887 00888 472, 488, 473, 474, 489, 490, 475, 476, 491, 477, 00889 492, 493, 478, 479, 480, 481, 482, 483, 484, 485, 00890 494, 495, 496, 486, 487, 497, 488, 498, 499, 489, 00891 490, 500, 501, 491, 502, 492, 493, 503, 504, 505, 00892 506, 507, 508, 509, 510, 494, 495, 496, 511, 512, 00893 497, 513, 498, 499, 514, 515, 500, 501, 516, 502, 00894 517, 518, 503, 504, 505, 506, 507, 508, 509, 510, 00895 519, 520, 521, 511, 512, 522, 513, 523, 524, 514, 00896 515, 525, 526, 516, 527, 517, 518, 528, 529, 530, 00897 531, 532, 533, 534, 535, 519, 520, 521, 536, 537, 00898 00899 522, 538, 523, 524, 539, 540, 525, 526, 541, 527, 00900 542, 543, 528, 529, 530, 531, 532, 533, 534, 535, 00901 544, 545, 546, 536, 537, 547, 538, 548, 549, 539, 00902 540, 550, 551, 541, 552, 542, 543, 553, 554, 555, 00903 556, 557, 558, 559, 560, 544, 545, 546, 561, 562, 00904 547, 563, 548, 549, 564, 565, 550, 551, 568, 552, 00905 566, 567, 553, 554, 555, 556, 557, 558, 559, 560, 00906 569, 570, 571, 561, 562, 572, 563, 573, 574, 564, 00907 565, 575, 576, 568, 577, 566, 567, 578, 579, 580, 00908 581, 582, 583, 584, 585, 569, 570, 571, 586, 587, 00909 00910 572, 588, 573, 574, 589, 590, 575, 576, 591, 577, 00911 592, 593, 578, 579, 580, 581, 582, 583, 584, 585, 00912 594, 595, 596, 586, 587, 597, 588, 598, 599, 589, 00913 590, 602, 603, 591, 600, 592, 593, 604, 601, 605, 00914 606, 607, 608, 609, 610, 594, 595, 596, 611, 612, 00915 597, 613, 598, 599, 614, 615, 602, 603, 616, 600, 00916 617, 618, 604, 601, 605, 606, 607, 608, 609, 610, 00917 619, 620, 621, 611, 612, 622, 613, 623, 624, 614, 00918 615, 625, 626, 616, 627, 617, 618, 628, 629, 630, 00919 631, 632, 633, 634, 635, 619, 620, 621, 636, 637, 00920 00921 622, 638, 623, 624, 639, 640, 625, 626, 641, 627, 00922 642, 643, 628, 629, 630, 631, 632, 633, 634, 635, 00923 644, 645, 646, 636, 637, 647, 638, 648, 649, 639, 00924 640, 650, 651, 641, 652, 642, 643, 653, 654, 655, 00925 656, 657, 658, 659, 660, 644, 645, 646, 661, 662, 00926 647, 663, 648, 649, 664, 665, 650, 651, 666, 652, 00927 667, 668, 653, 654, 655, 656, 657, 658, 659, 660, 00928 669, 670, 671, 661, 662, 672, 663, 673, 674, 664, 00929 665, 675, 676, 666, 677, 667, 668, 678, 679, 680, 00930 681, 682, 683, 684, 685, 669, 670, 671, 686, 687, 00931 00932 672, 688, 673, 674, 689, 690, 675, 676, 691, 677, 00933 694, 692, 678, 679, 680, 681, 682, 683, 684, 685, 00934 693, 695, 696, 686, 687, 697, 688, 698, 699, 689, 00935 690, 700, 701, 691, 702, 694, 692, 703, 704, 705, 00936 706, 707, 708, 712, 709, 693, 695, 696, 710, 713, 00937 697, 711, 698, 699, 714, 715, 700, 701, 716, 702, 00938 717, 718, 703, 704, 705, 706, 707, 708, 712, 709, 00939 719, 720, 721, 710, 713, 722, 711, 723, 724, 714, 00940 715, 725, 726, 716, 727, 717, 718, 728, 729, 730, 00941 731, 732, 733, 734, 735, 719, 720, 721, 736, 737, 00942 00943 722, 738, 723, 724, 739, 740, 725, 726, 741, 727, 00944 742, 743, 728, 729, 730, 731, 732, 733, 734, 735, 00945 744, 745, 746, 736, 737, 747, 738, 748, 749, 739, 00946 740, 750, 751, 741, 752, 742, 743, 753, 754, 755, 00947 757, 758, 759, 760, 761, 744, 745, 746, 762, 763, 00948 747, 764, 748, 749, 765, 766, 750, 751, 756, 752, 00949 767, 768, 753, 754, 755, 757, 758, 759, 760, 761, 00950 769, 770, 771, 762, 763, 772, 764, 773, 774, 765, 00951 766, 775, 776, 756, 777, 767, 768, 778, 779, 780, 00952 786, 942, 942, 942, 787, 769, 770, 771, 788, 789, 00953 00954 772, 942, 773, 774, 790, 791, 775, 776, 781, 777, 00955 792, 793, 778, 779, 780, 786, 782, 783, 784, 787, 00956 794, 795, 796, 788, 789, 797, 785, 798, 799, 790, 00957 791, 800, 801, 781, 802, 792, 793, 803, 804, 805, 00958 806, 782, 783, 784, 807, 794, 795, 796, 808, 809, 00959 797, 785, 798, 799, 810, 811, 800, 801, 812, 802, 00960 813, 814, 803, 804, 805, 806, 815, 816, 817, 807, 00961 818, 819, 820, 808, 809, 821, 822, 823, 824, 810, 00962 811, 825, 826, 812, 827, 813, 814, 828, 829, 830, 00963 831, 815, 816, 817, 832, 818, 819, 820, 833, 834, 00964 00965 821, 822, 823, 824, 835, 836, 825, 826, 837, 827, 00966 838, 839, 828, 829, 830, 831, 841, 842, 843, 832, 00967 844, 840, 845, 833, 834, 846, 847, 848, 849, 835, 00968 836, 850, 851, 837, 852, 838, 839, 853, 854, 855, 00969 856, 841, 842, 843, 857, 844, 840, 845, 858, 859, 00970 846, 847, 848, 849, 860, 861, 850, 851, 862, 852, 00971 863, 864, 853, 854, 855, 856, 865, 866, 867, 857, 00972 868, 869, 870, 858, 859, 871, 872, 873, 874, 860, 00973 861, 875, 876, 862, 877, 863, 864, 878, 879, 880, 00974 881, 865, 866, 867, 882, 868, 869, 870, 883, 884, 00975 00976 871, 872, 873, 874, 885, 886, 875, 876, 887, 877, 00977 888, 889, 878, 879, 880, 881, 890, 891, 892, 882, 00978 894, 895, 896, 883, 884, 897, 898, 899, 900, 885, 00979 886, 901, 902, 887, 903, 888, 889, 893, 904, 905, 00980 906, 890, 891, 892, 907, 894, 895, 896, 908, 909, 00981 897, 898, 899, 900, 910, 911, 901, 902, 912, 903, 00982 913, 914, 893, 904, 905, 906, 915, 916, 917, 907, 00983 918, 919, 920, 908, 909, 921, 922, 923, 924, 910, 00984 911, 925, 926, 912, 927, 913, 914, 928, 929, 930, 00985 931, 915, 916, 917, 932, 918, 919, 920, 933, 934, 00986 00987 921, 922, 923, 924, 935, 936, 925, 926, 937, 927, 00988 938, 939, 928, 929, 930, 931, 940, 941, 942, 932, 00989 942, 942, 942, 933, 934, 942, 942, 942, 942, 935, 00990 936, 942, 942, 937, 942, 938, 939, 942, 942, 942, 00991 942, 940, 941, 3, 942, 942, 942, 942, 942, 942, 00992 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00993 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00994 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00995 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00996 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00997 00998 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 00999 942, 942, 942 01000 } ; 01001 01002 static yyconst flex_int16_t yy_chk[2014] = 01003 { 0, 01004 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01005 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01006 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01007 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01008 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01009 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 01010 1, 1, 1, 1, 1, 1, 1, 1, 1, 12, 01011 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 01012 13, 14, 14, 14, 14, 14, 14, 15, 15, 15, 01013 15, 15, 15, 16, 16, 16, 16, 16, 16, 945, 01014 01015 37, 944, 943, 13, 14, 17, 17, 17, 17, 17, 01016 17, 23, 22, 41, 15, 35, 22, 24, 23, 22, 01017 32, 24, 16, 22, 32, 37, 35, 23, 13, 14, 01018 35, 24, 22, 55, 17, 158, 23, 22, 41, 15, 01019 35, 22, 24, 23, 22, 32, 24, 16, 22, 32, 01020 27, 35, 23, 51, 49, 35, 24, 22, 55, 17, 01021 21, 47, 21, 27, 21, 21, 27, 46, 45, 56, 01022 57, 44, 21, 30, 21, 27, 21, 21, 28, 21, 01023 21, 58, 28, 21, 20, 21, 28, 21, 27, 21, 01024 21, 27, 29, 30, 56, 57, 30, 21, 30, 21, 01025 01026 29, 21, 21, 28, 21, 21, 58, 28, 21, 25, 01027 29, 28, 59, 63, 64, 26, 25, 29, 30, 26, 01028 25, 30, 65, 26, 25, 29, 19, 25, 25, 26, 01029 25, 18, 26, 11, 25, 29, 66, 59, 63, 64, 01030 26, 25, 33, 9, 26, 25, 33, 65, 26, 25, 01031 33, 31, 25, 25, 26, 25, 33, 26, 31, 31, 01032 34, 66, 33, 8, 34, 31, 38, 33, 34, 42, 01033 38, 33, 42, 67, 34, 33, 31, 7, 68, 6, 01034 38, 33, 5, 31, 31, 34, 3, 33, 43, 34, 01035 31, 38, 43, 34, 42, 38, 69, 42, 67, 34, 01036 01037 36, 70, 43, 68, 36, 38, 71, 36, 73, 74, 01038 75, 36, 2, 43, 0, 0, 0, 43, 36, 36, 01039 0, 69, 76, 78, 0, 36, 70, 43, 0, 36, 01040 77, 71, 36, 73, 74, 75, 36, 54, 54, 54, 01041 54, 54, 54, 36, 36, 39, 79, 76, 78, 39, 01042 77, 80, 39, 39, 81, 77, 80, 39, 82, 39, 01043 84, 85, 0, 86, 87, 39, 0, 88, 0, 89, 01044 39, 79, 90, 0, 39, 77, 80, 39, 39, 81, 01045 0, 80, 39, 82, 39, 84, 85, 83, 86, 87, 01046 39, 40, 88, 83, 89, 40, 91, 90, 40, 40, 01047 01048 92, 40, 93, 83, 95, 40, 96, 94, 97, 98, 01049 99, 40, 83, 102, 0, 100, 40, 104, 83, 94, 01050 40, 91, 100, 40, 40, 92, 40, 93, 83, 95, 01051 40, 96, 94, 97, 98, 99, 40, 101, 102, 101, 01052 100, 105, 104, 106, 94, 106, 108, 100, 107, 107, 01053 107, 109, 110, 0, 101, 112, 113, 0, 0, 114, 01054 111, 113, 101, 0, 101, 0, 105, 119, 106, 0, 01055 106, 108, 114, 107, 107, 107, 109, 110, 111, 101, 01056 112, 113, 116, 115, 114, 111, 113, 115, 117, 120, 01057 115, 118, 119, 116, 115, 118, 121, 114, 117, 122, 01058 01059 115, 124, 123, 111, 126, 129, 130, 116, 115, 123, 01060 0, 132, 115, 117, 120, 115, 118, 0, 116, 115, 01061 118, 121, 0, 117, 122, 115, 124, 123, 128, 126, 01062 129, 130, 133, 0, 123, 127, 132, 131, 135, 136, 01063 137, 128, 127, 127, 131, 0, 127, 127, 137, 127, 01064 134, 131, 0, 128, 137, 140, 0, 133, 134, 0, 01065 127, 134, 131, 135, 136, 137, 128, 127, 127, 131, 01066 134, 127, 127, 137, 127, 134, 131, 138, 141, 137, 01067 140, 138, 142, 134, 139, 0, 134, 148, 138, 149, 01068 138, 143, 139, 138, 143, 134, 0, 0, 150, 144, 01069 01070 0, 139, 138, 141, 144, 139, 138, 142, 151, 139, 01071 147, 147, 148, 138, 149, 138, 143, 139, 138, 143, 01072 145, 145, 146, 150, 144, 145, 139, 153, 146, 144, 01073 139, 152, 152, 151, 146, 147, 147, 156, 154, 165, 01074 166, 167, 168, 170, 155, 145, 145, 146, 154, 172, 01075 145, 173, 153, 146, 155, 155, 152, 152, 174, 146, 01076 175, 176, 156, 154, 165, 166, 167, 168, 170, 155, 01077 177, 172, 178, 154, 172, 179, 173, 180, 182, 155, 01078 155, 181, 181, 174, 183, 175, 176, 184, 185, 186, 01079 188, 189, 190, 191, 192, 177, 172, 178, 193, 194, 01080 01081 179, 195, 180, 182, 196, 197, 181, 181, 198, 183, 01082 199, 200, 184, 185, 186, 188, 189, 190, 191, 192, 01083 201, 202, 203, 193, 194, 204, 195, 204, 205, 196, 01084 197, 206, 207, 198, 208, 199, 200, 209, 210, 211, 01085 206, 212, 213, 214, 215, 201, 202, 203, 218, 219, 01086 204, 220, 204, 205, 217, 216, 206, 207, 217, 208, 01087 221, 222, 209, 210, 211, 206, 212, 213, 214, 215, 01088 216, 223, 224, 218, 219, 225, 220, 226, 227, 217, 01089 216, 228, 230, 217, 229, 221, 222, 231, 229, 232, 01090 234, 229, 236, 237, 238, 216, 223, 224, 235, 239, 01091 01092 225, 235, 226, 227, 240, 235, 228, 230, 241, 229, 01093 242, 243, 231, 229, 232, 234, 229, 236, 237, 238, 01094 244, 245, 246, 235, 239, 247, 235, 248, 249, 240, 01095 235, 251, 250, 241, 250, 242, 243, 252, 253, 251, 01096 254, 255, 252, 256, 257, 244, 245, 246, 258, 259, 01097 247, 260, 248, 249, 261, 262, 251, 250, 263, 250, 01098 264, 265, 252, 253, 251, 254, 255, 252, 256, 257, 01099 266, 269, 270, 258, 259, 271, 260, 272, 273, 261, 01100 262, 274, 275, 263, 276, 264, 265, 277, 278, 279, 01101 280, 281, 282, 277, 283, 266, 269, 270, 284, 277, 01102 01103 271, 285, 272, 273, 286, 287, 274, 275, 277, 276, 01104 288, 290, 277, 278, 279, 280, 281, 282, 277, 283, 01105 291, 292, 293, 284, 277, 295, 285, 296, 297, 286, 01106 287, 298, 299, 277, 300, 288, 290, 301, 302, 293, 01107 303, 305, 304, 306, 307, 291, 292, 293, 310, 311, 01108 295, 312, 296, 297, 304, 308, 298, 299, 313, 300, 01109 314, 315, 301, 302, 293, 303, 305, 304, 306, 307, 01110 308, 308, 316, 310, 311, 318, 312, 319, 320, 304, 01111 308, 321, 323, 313, 324, 314, 315, 325, 326, 327, 01112 330, 331, 332, 333, 337, 308, 308, 316, 338, 339, 01113 01114 318, 340, 319, 320, 341, 342, 321, 323, 343, 324, 01115 344, 345, 325, 326, 327, 330, 331, 332, 333, 337, 01116 346, 347, 348, 338, 339, 349, 340, 350, 351, 341, 01117 342, 352, 353, 343, 354, 344, 345, 355, 356, 357, 01118 359, 360, 361, 363, 364, 346, 347, 348, 366, 367, 01119 349, 368, 350, 351, 369, 370, 352, 353, 371, 354, 01120 372, 374, 355, 356, 357, 359, 360, 361, 363, 364, 01121 375, 376, 377, 366, 367, 379, 368, 380, 381, 369, 01122 370, 383, 384, 371, 385, 372, 374, 386, 387, 388, 01123 389, 390, 392, 393, 395, 375, 376, 377, 396, 397, 01124 01125 379, 398, 380, 381, 399, 400, 383, 384, 401, 385, 01126 402, 403, 386, 387, 388, 389, 390, 392, 393, 395, 01127 404, 405, 406, 396, 397, 407, 398, 408, 409, 399, 01128 400, 411, 412, 401, 413, 402, 403, 414, 415, 416, 01129 417, 418, 419, 420, 421, 404, 405, 406, 422, 423, 01130 407, 424, 408, 409, 426, 427, 411, 412, 429, 413, 01131 428, 428, 414, 415, 416, 417, 418, 419, 420, 421, 01132 430, 431, 432, 422, 423, 433, 424, 434, 435, 426, 01133 427, 436, 437, 429, 438, 428, 428, 439, 440, 441, 01134 442, 443, 444, 445, 446, 430, 431, 432, 447, 448, 01135 01136 433, 449, 434, 435, 451, 452, 436, 437, 453, 438, 01137 454, 455, 439, 440, 441, 442, 443, 444, 445, 446, 01138 456, 457, 458, 447, 448, 460, 449, 461, 462, 451, 01139 452, 464, 465, 453, 463, 454, 455, 467, 463, 469, 01140 470, 471, 472, 473, 474, 456, 457, 458, 476, 477, 01141 460, 478, 461, 462, 479, 480, 464, 465, 481, 463, 01142 482, 483, 467, 463, 469, 470, 471, 472, 473, 474, 01143 484, 485, 486, 476, 477, 488, 478, 489, 492, 479, 01144 480, 493, 494, 481, 496, 482, 483, 497, 500, 501, 01145 503, 505, 506, 507, 508, 484, 485, 486, 509, 511, 01146 01147 488, 512, 489, 492, 513, 515, 493, 494, 516, 496, 01148 517, 518, 497, 500, 501, 503, 505, 506, 507, 508, 01149 519, 520, 521, 509, 511, 522, 512, 523, 525, 513, 01150 515, 526, 527, 516, 529, 517, 518, 530, 531, 532, 01151 533, 535, 536, 537, 538, 519, 520, 521, 539, 542, 01152 522, 543, 523, 525, 544, 545, 526, 527, 547, 529, 01153 548, 549, 530, 531, 532, 533, 535, 536, 537, 538, 01154 550, 551, 554, 539, 542, 555, 543, 557, 558, 544, 01155 545, 560, 561, 547, 562, 548, 549, 564, 565, 566, 01156 567, 568, 569, 570, 572, 550, 551, 554, 576, 577, 01157 01158 555, 578, 557, 558, 579, 581, 560, 561, 584, 562, 01159 586, 585, 564, 565, 566, 567, 568, 569, 570, 572, 01160 585, 587, 588, 576, 577, 589, 578, 590, 591, 579, 01161 581, 592, 594, 584, 595, 586, 585, 596, 597, 598, 01162 599, 600, 601, 604, 602, 585, 587, 588, 602, 605, 01163 589, 602, 590, 591, 610, 611, 592, 594, 612, 595, 01164 613, 615, 596, 597, 598, 599, 600, 601, 604, 602, 01165 616, 617, 618, 602, 605, 621, 602, 622, 623, 610, 01166 611, 627, 628, 612, 631, 613, 615, 632, 634, 636, 01167 637, 639, 641, 642, 643, 616, 617, 618, 645, 646, 01168 01169 621, 647, 622, 623, 648, 650, 627, 628, 652, 631, 01170 655, 657, 632, 634, 636, 637, 639, 641, 642, 643, 01171 658, 659, 660, 645, 646, 661, 647, 662, 663, 648, 01172 650, 665, 666, 652, 668, 655, 657, 669, 670, 672, 01173 673, 674, 675, 676, 678, 658, 659, 660, 679, 681, 01174 661, 682, 662, 663, 684, 685, 665, 666, 672, 668, 01175 686, 687, 669, 670, 672, 673, 674, 675, 676, 678, 01176 690, 692, 693, 679, 681, 694, 682, 695, 696, 684, 01177 685, 697, 698, 672, 699, 686, 687, 700, 701, 702, 01178 704, 0, 0, 0, 706, 690, 692, 693, 707, 708, 01179 01180 694, 0, 695, 696, 709, 710, 697, 698, 703, 699, 01181 711, 712, 700, 701, 702, 704, 703, 703, 703, 706, 01182 714, 715, 716, 707, 708, 719, 703, 720, 721, 709, 01183 710, 722, 723, 703, 724, 711, 712, 725, 726, 728, 01184 730, 703, 703, 703, 731, 714, 715, 716, 733, 734, 01185 719, 703, 720, 721, 735, 738, 722, 723, 739, 724, 01186 740, 742, 725, 726, 728, 730, 743, 745, 747, 731, 01187 748, 749, 753, 733, 734, 754, 755, 756, 759, 735, 01188 738, 760, 761, 739, 762, 740, 742, 764, 766, 767, 01189 768, 743, 745, 747, 770, 748, 749, 753, 771, 772, 01190 01191 754, 755, 756, 759, 774, 776, 760, 761, 777, 762, 01192 780, 781, 764, 766, 767, 768, 782, 783, 784, 770, 01193 785, 781, 786, 771, 772, 787, 788, 789, 790, 774, 01194 776, 791, 792, 777, 793, 780, 781, 794, 795, 796, 01195 798, 782, 783, 784, 800, 785, 781, 786, 801, 803, 01196 787, 788, 789, 790, 805, 806, 791, 792, 807, 793, 01197 808, 816, 794, 795, 796, 798, 817, 818, 820, 800, 01198 822, 823, 826, 801, 803, 828, 831, 832, 833, 805, 01199 806, 837, 838, 807, 839, 808, 816, 840, 841, 842, 01200 843, 817, 818, 820, 844, 822, 823, 826, 845, 846, 01201 01202 828, 831, 832, 833, 848, 850, 837, 838, 851, 839, 01203 852, 855, 840, 841, 842, 843, 856, 860, 861, 844, 01204 863, 864, 865, 845, 846, 866, 868, 869, 873, 848, 01205 850, 874, 876, 851, 877, 852, 855, 861, 878, 879, 01206 880, 856, 860, 861, 881, 863, 864, 865, 882, 884, 01207 866, 868, 869, 873, 887, 889, 874, 876, 890, 877, 01208 891, 892, 861, 878, 879, 880, 893, 895, 899, 881, 01209 900, 902, 904, 882, 884, 905, 906, 907, 909, 887, 01210 889, 911, 913, 890, 914, 891, 892, 915, 917, 919, 01211 921, 893, 895, 899, 923, 900, 902, 904, 926, 927, 01212 01213 905, 906, 907, 909, 928, 930, 911, 913, 931, 914, 01214 932, 933, 915, 917, 919, 921, 935, 940, 0, 923, 01215 0, 0, 0, 926, 927, 0, 0, 0, 0, 928, 01216 930, 0, 0, 931, 0, 932, 933, 0, 0, 0, 01217 0, 935, 940, 942, 942, 942, 942, 942, 942, 942, 01218 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 01219 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 01220 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 01221 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 01222 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 01223 01224 942, 942, 942, 942, 942, 942, 942, 942, 942, 942, 01225 942, 942, 942 01226 } ; 01227 01228 static yyconst flex_int16_t yy_rule_linenum[201] = 01229 { 0, 01230 89, 90, 91, 92, 93, 95, 96, 97, 98, 100, 01231 102, 106, 107, 108, 109, 110, 111, 112, 113, 114, 01232 115, 116, 117, 118, 119, 120, 121, 123, 124, 125, 01233 126, 127, 128, 129, 130, 131, 133, 134, 135, 136, 01234 137, 138, 139, 140, 142, 143, 144, 145, 146, 147, 01235 148, 149, 151, 152, 154, 155, 157, 158, 159, 160, 01236 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 01237 172, 173, 174, 175, 176, 178, 180, 181, 182, 183, 01238 184, 185, 186, 187, 188, 189, 190, 191, 192, 194, 01239 195, 196, 197, 198, 199, 200, 202, 204, 205, 206, 01240 01241 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 01242 218, 219, 220, 221, 222, 223, 224, 226, 228, 229, 01243 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 01244 240, 241, 243, 244, 245, 246, 247, 248, 249, 251, 01245 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 01246 263, 264, 266, 267, 268, 269, 270, 271, 272, 274, 01247 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 01248 286, 287, 289, 290, 291, 292, 293, 294, 295, 297, 01249 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 01250 309, 310, 312, 313, 314, 315, 316, 317, 318, 320 01251 01252 } ; 01253 01254 /* The intent behind this definition is that it'll catch 01255 * any uses of REJECT which flex missed. 01256 */ 01257 #define REJECT reject_used_but_not_detected 01258 #define yymore() yymore_used_but_not_detected 01259 #define YY_MORE_ADJ 0 01260 #define YY_RESTORE_YY_MORE_OFFSET 01261 #line 1 "holidayscannerplan.lpp" 01262 /* 01263 Original version from plan by Thomas Driemeyer <thomas@bitrot.de> 01264 01265 Adapted for use in KOrganizer by 01266 Preston Brown <pbrown@kde.org> and 01267 Reinhold Kainhofer <reinhold@kainhofer.com> 01268 01269 Major rewrite using Bison C++ skeleton: 01270 Copyright 2010 John Layt <john@layt.net> 01271 01272 This library is free software; you can redistribute it and/or 01273 modify it under the terms of the GNU Library General Public 01274 License as published by the Free Software Foundation; either 01275 version 2 of the License, or (at your option) any later version. 01276 01277 This library is distributed in the hope that it will be useful, 01278 but WITHOUT ANY WARRANTY; without even the implied warranty of 01279 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 01280 GNU Library General Public License for more details. 01281 01282 You should have received a copy of the GNU Library General Public License 01283 along with this library; see the file COPYING.LIB. If not, write to the 01284 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 01285 Boston, MA 02110-1301, USA. 01286 */ 01287 #line 28 "holidayscannerplan.lpp" 01288 # include <cstdlib> 01289 # include <errno.h> 01290 # include <limits.h> 01291 # include <string> 01292 01293 # include <kdebug.h> 01294 01295 # include "holidayscannerplan_p.h" 01296 # include "holidayparserdriverplan_p.h" 01297 # include "holidayparserplan.hpp" 01298 01299 /* import the parser's token type into a local typedef */ 01300 typedef KHolidays::HolidayParserPlan::token token; 01301 typedef KHolidays::HolidayParserPlan::token_type token_type; 01302 01303 /* By default yylex returns int, we use token_type. Unfortunately yyterminate 01304 * by default returns 0, which is not of token_type. */ 01305 # define yyterminate() return token::END 01306 01307 /* This disables inclusion of unistd.h, which is not available under Visual C++ 01308 * on Win32. The C++ scanner uses STL streams instead. */ 01309 # define YY_NO_UNISTD_H 01310 /*** Flex Declarations and Options ***/ 01311 /* enable c++ scanner class generation */ 01312 /* change the name of the scanner class. results in "HolidayScannerFlexLexer" */ 01313 /* the manual says "somewhat more optimized" */ 01314 /* enable scanner to generate debug output. disable this for release 01315 * versions. */ 01316 /* no support for include files is planned */ 01317 /* enables the use of start condition stacks */ 01318 /* The following paragraph suffices to track locations accurately. Each time 01319 * yylex is invoked, the begin position is moved onto the end position. */ 01320 #line 78 "holidayscannerplan.lpp" 01321 # define YY_USER_ACTION yylloc->columns( yyleng ); 01322 #line 1323 "holidayscannerplan.cpp" 01323 01324 #define INITIAL 0 01325 01326 #ifndef YY_NO_UNISTD_H 01327 /* Special case for "unistd.h", since it is non-ANSI. We include it way 01328 * down here because we want the user's section 1 to have been scanned first. 01329 * The user has a chance to override it with an option. 01330 */ 01331 /* %if-c-only */ 01332 /* %endif */ 01333 /* %if-c++-only */ 01334 #include <unistd.h> 01335 /* %endif */ 01336 #endif 01337 01338 #ifndef YY_EXTRA_TYPE 01339 #define YY_EXTRA_TYPE void * 01340 #endif 01341 01342 /* %if-c-only Reentrant structure and macros (non-C++). */ 01343 /* %if-reentrant */ 01344 /* %if-c-only */ 01345 /* %endif */ 01346 /* %if-reentrant */ 01347 /* %endif */ 01348 /* %endif End reentrant structures and macros. */ 01349 /* %if-bison-bridge */ 01350 /* %endif */ 01351 /* %not-for-header */ 01352 01353 /* %ok-for-header */ 01354 01355 /* %endif */ 01356 01357 #ifndef yytext_ptr 01358 static void yy_flex_strncpy (char *,yyconst char *,int ); 01359 #endif 01360 01361 #ifdef YY_NEED_STRLEN 01362 static int yy_flex_strlen (yyconst char * ); 01363 #endif 01364 01365 #ifndef YY_NO_INPUT 01366 /* %if-c-only Standard (non-C++) definition */ 01367 /* %not-for-header */ 01368 01369 /* %ok-for-header */ 01370 01371 /* %endif */ 01372 #endif 01373 01374 /* %if-c-only */ 01375 /* %endif */ 01376 01377 /* Amount of stuff to slurp up with each read. */ 01378 #ifndef YY_READ_BUF_SIZE 01379 #define YY_READ_BUF_SIZE 8192 01380 #endif 01381 01382 /* Copy whatever the last rule matched to the standard output. */ 01383 #ifndef ECHO 01384 /* %if-c-only Standard (non-C++) definition */ 01385 /* %endif */ 01386 /* %if-c++-only C++ definition */ 01387 #define ECHO LexerOutput( yytext, yyleng ) 01388 /* %endif */ 01389 #endif 01390 01391 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 01392 * is returned in "result". 01393 */ 01394 #ifndef YY_INPUT 01395 #define YY_INPUT(buf,result,max_size) \ 01396 /* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\ 01397 \ 01398 /* %if-c++-only C++ definition \ */\ 01399 if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \ 01400 YY_FATAL_ERROR( "input in flex scanner failed" ); 01401 /* %endif */ 01402 01403 #endif 01404 01405 /* No semi-colon after return; correct usage is to write "yyterminate();" - 01406 * we don't want an extra ';' after the "return" because that will cause 01407 * some compilers to complain about unreachable statements. 01408 */ 01409 #ifndef yyterminate 01410 #define yyterminate() return YY_NULL 01411 #endif 01412 01413 /* Number of entries by which start-condition stack grows. */ 01414 #ifndef YY_START_STACK_INCR 01415 #define YY_START_STACK_INCR 25 01416 #endif 01417 01418 /* Report a fatal error. */ 01419 #ifndef YY_FATAL_ERROR 01420 /* %if-c-only */ 01421 /* %endif */ 01422 /* %if-c++-only */ 01423 #define YY_FATAL_ERROR(msg) LexerError( msg ) 01424 /* %endif */ 01425 #endif 01426 01427 /* %if-tables-serialization structures and prototypes */ 01428 /* %not-for-header */ 01429 01430 /* %ok-for-header */ 01431 01432 /* %not-for-header */ 01433 01434 /* %tables-yydmap generated elements */ 01435 /* %endif */ 01436 /* end tables serialization structures and prototypes */ 01437 01438 /* %ok-for-header */ 01439 01440 /* Default declaration of generated scanner - a define so the user can 01441 * easily add parameters. 01442 */ 01443 #ifndef YY_DECL 01444 #define YY_DECL_IS_OURS 1 01445 /* %if-c-only Standard (non-C++) definition */ 01446 /* %endif */ 01447 /* %if-c++-only C++ definition */ 01448 #define YY_DECL int yyFlexLexer::yylex() 01449 /* %endif */ 01450 #endif /* !YY_DECL */ 01451 01452 /* Code executed at the beginning of each rule, after yytext and yyleng 01453 * have been set up. 01454 */ 01455 #ifndef YY_USER_ACTION 01456 #define YY_USER_ACTION 01457 #endif 01458 01459 /* Code executed at the end of each rule. */ 01460 #ifndef YY_BREAK 01461 #define YY_BREAK break; 01462 #endif 01463 01464 /* %% [6.0] YY_RULE_SETUP definition goes here */ 01465 #define YY_RULE_SETUP \ 01466 if ( yyleng > 0 ) \ 01467 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ 01468 (yytext[yyleng - 1] == '\n'); \ 01469 YY_USER_ACTION 01470 01471 /* %not-for-header */ 01472 01475 YY_DECL 01476 { 01477 register yy_state_type yy_current_state; 01478 register char *yy_cp, *yy_bp; 01479 register int yy_act; 01480 01481 /* %% [7.0] user's declarations go here */ 01482 #line 81 "holidayscannerplan.lpp" 01483 01484 01485 01486 /* code to place at the beginning of yylex() */ 01487 // reset location 01488 yylloc->step(); 01489 01490 01491 #line 1492 "holidayscannerplan.cpp" 01492 01493 if ( !(yy_init) ) 01494 { 01495 (yy_init) = 1; 01496 01497 #ifdef YY_USER_INIT 01498 YY_USER_INIT; 01499 #endif 01500 01501 if ( ! (yy_start) ) 01502 (yy_start) = 1; /* first start state */ 01503 01504 if ( ! yyin ) 01505 /* %if-c-only */ 01506 /* %endif */ 01507 /* %if-c++-only */ 01508 yyin = & std::cin; 01509 /* %endif */ 01510 01511 if ( ! yyout ) 01512 /* %if-c-only */ 01513 /* %endif */ 01514 /* %if-c++-only */ 01515 yyout = & std::cout; 01516 /* %endif */ 01517 01518 if ( ! YY_CURRENT_BUFFER ) { 01519 yyensure_buffer_stack (); 01520 YY_CURRENT_BUFFER_LVALUE = 01521 yy_create_buffer( yyin, YY_BUF_SIZE ); 01522 } 01523 01524 yy_load_buffer_state( ); 01525 } 01526 01527 while ( 1 ) /* loops until end-of-file is reached */ 01528 { 01529 /* %% [8.0] yymore()-related code goes here */ 01530 yy_cp = (yy_c_buf_p); 01531 01532 /* Support of yytext. */ 01533 *yy_cp = (yy_hold_char); 01534 01535 /* yy_bp points to the position in yy_ch_buf of the start of 01536 * the current run. 01537 */ 01538 yy_bp = yy_cp; 01539 01540 /* %% [9.0] code to set up and find next match goes here */ 01541 yy_current_state = (yy_start); 01542 yy_current_state += YY_AT_BOL(); 01543 yy_match: 01544 do 01545 { 01546 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 01547 if ( yy_accept[yy_current_state] ) 01548 { 01549 (yy_last_accepting_state) = yy_current_state; 01550 (yy_last_accepting_cpos) = yy_cp; 01551 } 01552 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 01553 { 01554 yy_current_state = (int) yy_def[yy_current_state]; 01555 if ( yy_current_state >= 943 ) 01556 yy_c = yy_meta[(unsigned int) yy_c]; 01557 } 01558 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 01559 ++yy_cp; 01560 } 01561 while ( yy_current_state != 942 ); 01562 yy_cp = (yy_last_accepting_cpos); 01563 yy_current_state = (yy_last_accepting_state); 01564 01565 yy_find_action: 01566 /* %% [10.0] code to find the action number goes here */ 01567 yy_act = yy_accept[yy_current_state]; 01568 01569 YY_DO_BEFORE_ACTION; 01570 01571 /* %% [11.0] code for yylineno update goes here */ 01572 01573 do_action: /* This label is used only to access EOF actions. */ 01574 01575 /* %% [12.0] debug code goes here */ 01576 if ( yy_flex_debug ) 01577 { 01578 if ( yy_act == 0 ) 01579 std::cerr << "--scanner backing up\n"; 01580 else if ( yy_act < 201 ) 01581 std::cerr << "--accepting rule at line " << yy_rule_linenum[yy_act] << 01582 "(\"" << yytext << "\")\n"; 01583 else if ( yy_act == 201 ) 01584 std::cerr << "--accepting default rule (\"" << yytext << "\")\n"; 01585 else if ( yy_act == 202 ) 01586 std::cerr << "--(end of buffer or a NUL)\n"; 01587 else 01588 std::cerr << "--EOF (start condition " << YY_START << ")\n"; 01589 } 01590 01591 switch ( yy_act ) 01592 { /* beginning of action switch */ 01593 /* %% [13.0] actions go here */ 01594 case 0: /* must back up */ 01595 /* undo the effects of YY_DO_BEFORE_ACTION */ 01596 *yy_cp = (yy_hold_char); 01597 yy_cp = (yy_last_accepting_cpos); 01598 yy_current_state = (yy_last_accepting_state); 01599 goto yy_find_action; 01600 01601 case 1: 01602 /* rule 1 can match eol */ 01603 YY_RULE_SETUP 01604 #line 89 "holidayscannerplan.lpp" 01605 { yylloc->lines( yyleng ); yylloc->step(); } 01606 YY_BREAK 01607 case 2: 01608 /* rule 2 can match eol */ 01609 YY_RULE_SETUP 01610 #line 90 "holidayscannerplan.lpp" 01611 { yylloc->lines( yyleng ); yylloc->step(); } 01612 YY_BREAK 01613 case 3: 01614 YY_RULE_SETUP 01615 #line 91 "holidayscannerplan.lpp" 01616 { yylloc->step(); } 01617 YY_BREAK 01618 case 4: 01619 /* rule 4 can match eol */ 01620 YY_RULE_SETUP 01621 #line 92 "holidayscannerplan.lpp" 01622 { yylloc->lines( yyleng ); yylloc->step(); } 01623 YY_BREAK 01624 case 5: 01625 YY_RULE_SETUP 01626 #line 93 "holidayscannerplan.lpp" 01627 { return KHolidays::HolidayParserPlan::token_type( *yytext ); } 01628 YY_BREAK 01629 case 6: 01630 YY_RULE_SETUP 01631 #line 95 "holidayscannerplan.lpp" 01632 { return token::COUNTRY; } 01633 YY_BREAK 01634 case 7: 01635 YY_RULE_SETUP 01636 #line 96 "holidayscannerplan.lpp" 01637 { return token::LANGUAGE; } 01638 YY_BREAK 01639 case 8: 01640 YY_RULE_SETUP 01641 #line 97 "holidayscannerplan.lpp" 01642 { return token::NAME; } 01643 YY_BREAK 01644 case 9: 01645 YY_RULE_SETUP 01646 #line 98 "holidayscannerplan.lpp" 01647 { return token::DESCRIPTION; } 01648 YY_BREAK 01649 case 10: 01650 YY_RULE_SETUP 01651 #line 100 "holidayscannerplan.lpp" 01652 { yylval->ival = atoi( yytext ); return token::NUMBER; } 01653 YY_BREAK 01654 case 11: 01655 /* rule 11 can match eol */ 01656 YY_RULE_SETUP 01657 #line 102 "holidayscannerplan.lpp" 01658 { yylval->sval = strdup( yytext + 1 ); 01659 yylval->sval[ strlen( yylval->sval ) - 1 ] = 0; 01660 return token::STRING; } 01661 YY_BREAK 01662 case 12: 01663 YY_RULE_SETUP 01664 #line 106 "holidayscannerplan.lpp" 01665 ; 01666 YY_BREAK 01667 case 13: 01668 YY_RULE_SETUP 01669 #line 107 "holidayscannerplan.lpp" 01670 ; 01671 YY_BREAK 01672 case 14: 01673 YY_RULE_SETUP 01674 #line 108 "holidayscannerplan.lpp" 01675 ; 01676 YY_BREAK 01677 case 15: 01678 YY_RULE_SETUP 01679 #line 109 "holidayscannerplan.lpp" 01680 ; 01681 YY_BREAK 01682 case 16: 01683 YY_RULE_SETUP 01684 #line 110 "holidayscannerplan.lpp" 01685 ; 01686 YY_BREAK 01687 case 17: 01688 YY_RULE_SETUP 01689 #line 111 "holidayscannerplan.lpp" 01690 { return token::INOP; } 01691 YY_BREAK 01692 case 18: 01693 YY_RULE_SETUP 01694 #line 112 "holidayscannerplan.lpp" 01695 { return token::IF; } 01696 YY_BREAK 01697 case 19: 01698 YY_RULE_SETUP 01699 #line 113 "holidayscannerplan.lpp" 01700 { return token::PLUS; } 01701 YY_BREAK 01702 case 20: 01703 YY_RULE_SETUP 01704 #line 114 "holidayscannerplan.lpp" 01705 { return token::MINUS; } 01706 YY_BREAK 01707 case 21: 01708 YY_RULE_SETUP 01709 #line 115 "holidayscannerplan.lpp" 01710 { return token::SMALL; } 01711 YY_BREAK 01712 case 22: 01713 YY_RULE_SETUP 01714 #line 116 "holidayscannerplan.lpp" 01715 { return token::YEAR; } 01716 YY_BREAK 01717 case 23: 01718 YY_RULE_SETUP 01719 #line 117 "holidayscannerplan.lpp" 01720 { return token::LEAPYEAR; } 01721 YY_BREAK 01722 case 24: 01723 YY_RULE_SETUP 01724 #line 118 "holidayscannerplan.lpp" 01725 { return token::EASTER; } 01726 YY_BREAK 01727 case 25: 01728 YY_RULE_SETUP 01729 #line 119 "holidayscannerplan.lpp" 01730 { return token::PASCHA; } 01731 YY_BREAK 01732 case 26: 01733 YY_RULE_SETUP 01734 #line 120 "holidayscannerplan.lpp" 01735 { return token::LENGTH; } 01736 YY_BREAK 01737 case 27: 01738 YY_RULE_SETUP 01739 #line 121 "holidayscannerplan.lpp" 01740 { return token::SHIFT; } 01741 YY_BREAK 01742 case 28: 01743 YY_RULE_SETUP 01744 #line 123 "holidayscannerplan.lpp" 01745 { yylval->ival = 1; return token::COLOR; } 01746 YY_BREAK 01747 case 29: 01748 YY_RULE_SETUP 01749 #line 124 "holidayscannerplan.lpp" 01750 { yylval->ival = 2; return token::COLOR; } 01751 YY_BREAK 01752 case 30: 01753 YY_RULE_SETUP 01754 #line 125 "holidayscannerplan.lpp" 01755 { yylval->ival = 3; return token::COLOR; } 01756 YY_BREAK 01757 case 31: 01758 YY_RULE_SETUP 01759 #line 126 "holidayscannerplan.lpp" 01760 { yylval->ival = 4; return token::COLOR; } 01761 YY_BREAK 01762 case 32: 01763 YY_RULE_SETUP 01764 #line 127 "holidayscannerplan.lpp" 01765 { yylval->ival = 5; return token::COLOR; } 01766 YY_BREAK 01767 case 33: 01768 YY_RULE_SETUP 01769 #line 128 "holidayscannerplan.lpp" 01770 { yylval->ival = 6; return token::COLOR; } 01771 YY_BREAK 01772 case 34: 01773 YY_RULE_SETUP 01774 #line 129 "holidayscannerplan.lpp" 01775 { yylval->ival = 7; return token::COLOR; } 01776 YY_BREAK 01777 case 35: 01778 YY_RULE_SETUP 01779 #line 130 "holidayscannerplan.lpp" 01780 { yylval->ival = 8; return token::COLOR; } 01781 YY_BREAK 01782 case 36: 01783 YY_RULE_SETUP 01784 #line 131 "holidayscannerplan.lpp" 01785 { yylval->ival = 9; return token::COLOR; } 01786 YY_BREAK 01787 case 37: 01788 YY_RULE_SETUP 01789 #line 133 "holidayscannerplan.lpp" 01790 { return token::EQ; } 01791 YY_BREAK 01792 case 38: 01793 YY_RULE_SETUP 01794 #line 134 "holidayscannerplan.lpp" 01795 { return token::NE; } 01796 YY_BREAK 01797 case 39: 01798 YY_RULE_SETUP 01799 #line 135 "holidayscannerplan.lpp" 01800 { return token::LE; } 01801 YY_BREAK 01802 case 40: 01803 YY_RULE_SETUP 01804 #line 136 "holidayscannerplan.lpp" 01805 { return token::GE; } 01806 YY_BREAK 01807 case 41: 01808 YY_RULE_SETUP 01809 #line 137 "holidayscannerplan.lpp" 01810 { return token::LT; } 01811 YY_BREAK 01812 case 42: 01813 YY_RULE_SETUP 01814 #line 138 "holidayscannerplan.lpp" 01815 { return token::GT; } 01816 YY_BREAK 01817 case 43: 01818 YY_RULE_SETUP 01819 #line 139 "holidayscannerplan.lpp" 01820 { return token::AND;} 01821 YY_BREAK 01822 case 44: 01823 YY_RULE_SETUP 01824 #line 140 "holidayscannerplan.lpp" 01825 { return token::OR; } 01826 YY_BREAK 01827 case 45: 01828 YY_RULE_SETUP 01829 #line 142 "holidayscannerplan.lpp" 01830 { yylval->ival = 1; return token::NUMBER; } 01831 YY_BREAK 01832 case 46: 01833 YY_RULE_SETUP 01834 #line 143 "holidayscannerplan.lpp" 01835 { yylval->ival = 2; return token::NUMBER; } 01836 YY_BREAK 01837 case 47: 01838 YY_RULE_SETUP 01839 #line 144 "holidayscannerplan.lpp" 01840 { yylval->ival = 3; return token::NUMBER; } 01841 YY_BREAK 01842 case 48: 01843 YY_RULE_SETUP 01844 #line 145 "holidayscannerplan.lpp" 01845 { yylval->ival = 4; return token::NUMBER; } 01846 YY_BREAK 01847 case 49: 01848 YY_RULE_SETUP 01849 #line 146 "holidayscannerplan.lpp" 01850 { yylval->ival = 5; return token::NUMBER; } 01851 YY_BREAK 01852 case 50: 01853 YY_RULE_SETUP 01854 #line 147 "holidayscannerplan.lpp" 01855 { yylval->ival = 99999; return token::NUMBER; } 01856 YY_BREAK 01857 case 51: 01858 YY_RULE_SETUP 01859 #line 148 "holidayscannerplan.lpp" 01860 { yylval->ival = -99999; return token::NUMBER; } 01861 YY_BREAK 01862 case 52: 01863 YY_RULE_SETUP 01864 #line 149 "holidayscannerplan.lpp" 01865 { yylval->ival = 0; return token::NUMBER; } 01866 YY_BREAK 01867 case 53: 01868 YY_RULE_SETUP 01869 #line 151 "holidayscannerplan.lpp" 01870 { yylval->ival = -1; return token::NUMBER; } 01871 YY_BREAK 01872 case 54: 01873 YY_RULE_SETUP 01874 #line 152 "holidayscannerplan.lpp" 01875 { yylval->ival = 1; return token::NUMBER; } 01876 YY_BREAK 01877 case 55: 01878 YY_RULE_SETUP 01879 #line 154 "holidayscannerplan.lpp" 01880 { yylval->sval = "gregorian"; return token::CALENDAR; } 01881 YY_BREAK 01882 case 56: 01883 YY_RULE_SETUP 01884 #line 155 "holidayscannerplan.lpp" 01885 { yylval->sval = "julian"; return token::CALENDAR; } 01886 YY_BREAK 01887 case 57: 01888 YY_RULE_SETUP 01889 #line 157 "holidayscannerplan.lpp" 01890 { yylval->ival = 1; return token::MONTH; } 01891 YY_BREAK 01892 case 58: 01893 YY_RULE_SETUP 01894 #line 158 "holidayscannerplan.lpp" 01895 { yylval->ival = 2; return token::MONTH; } 01896 YY_BREAK 01897 case 59: 01898 YY_RULE_SETUP 01899 #line 159 "holidayscannerplan.lpp" 01900 { yylval->ival = 3; return token::MONTH; } 01901 YY_BREAK 01902 case 60: 01903 YY_RULE_SETUP 01904 #line 160 "holidayscannerplan.lpp" 01905 { yylval->ival = 4; return token::MONTH; } 01906 YY_BREAK 01907 case 61: 01908 YY_RULE_SETUP 01909 #line 161 "holidayscannerplan.lpp" 01910 { yylval->ival = 5; return token::MONTH; } 01911 YY_BREAK 01912 case 62: 01913 YY_RULE_SETUP 01914 #line 162 "holidayscannerplan.lpp" 01915 { yylval->ival = 6; return token::MONTH; } 01916 YY_BREAK 01917 case 63: 01918 YY_RULE_SETUP 01919 #line 163 "holidayscannerplan.lpp" 01920 { yylval->ival = 7; return token::MONTH; } 01921 YY_BREAK 01922 case 64: 01923 YY_RULE_SETUP 01924 #line 164 "holidayscannerplan.lpp" 01925 { yylval->ival = 8; return token::MONTH; } 01926 YY_BREAK 01927 case 65: 01928 YY_RULE_SETUP 01929 #line 165 "holidayscannerplan.lpp" 01930 { yylval->ival = 9; return token::MONTH; } 01931 YY_BREAK 01932 case 66: 01933 YY_RULE_SETUP 01934 #line 166 "holidayscannerplan.lpp" 01935 { yylval->ival = 10; return token::MONTH; } 01936 YY_BREAK 01937 case 67: 01938 YY_RULE_SETUP 01939 #line 167 "holidayscannerplan.lpp" 01940 { yylval->ival = 11; return token::MONTH; } 01941 YY_BREAK 01942 case 68: 01943 YY_RULE_SETUP 01944 #line 168 "holidayscannerplan.lpp" 01945 { yylval->ival = 12; return token::MONTH; } 01946 YY_BREAK 01947 case 69: 01948 YY_RULE_SETUP 01949 #line 170 "holidayscannerplan.lpp" 01950 { yylval->ival = 1; return token::WDAY; } 01951 YY_BREAK 01952 case 70: 01953 YY_RULE_SETUP 01954 #line 171 "holidayscannerplan.lpp" 01955 { yylval->ival = 2; return token::WDAY; } 01956 YY_BREAK 01957 case 71: 01958 YY_RULE_SETUP 01959 #line 172 "holidayscannerplan.lpp" 01960 { yylval->ival = 3; return token::WDAY; } 01961 YY_BREAK 01962 case 72: 01963 YY_RULE_SETUP 01964 #line 173 "holidayscannerplan.lpp" 01965 { yylval->ival = 4; return token::WDAY; } 01966 YY_BREAK 01967 case 73: 01968 YY_RULE_SETUP 01969 #line 174 "holidayscannerplan.lpp" 01970 { yylval->ival = 5; return token::WDAY; } 01971 YY_BREAK 01972 case 74: 01973 YY_RULE_SETUP 01974 #line 175 "holidayscannerplan.lpp" 01975 { yylval->ival = 6; return token::WDAY; } 01976 YY_BREAK 01977 case 75: 01978 YY_RULE_SETUP 01979 #line 176 "holidayscannerplan.lpp" 01980 { yylval->ival = 7; return token::WDAY; } 01981 YY_BREAK 01982 case 76: 01983 YY_RULE_SETUP 01984 #line 178 "holidayscannerplan.lpp" 01985 { yylval->sval = "coptic"; return token::CALENDAR; } 01986 YY_BREAK 01987 case 77: 01988 YY_RULE_SETUP 01989 #line 180 "holidayscannerplan.lpp" 01990 { yylval->ival = 1; return token::MONTH; } 01991 YY_BREAK 01992 case 78: 01993 YY_RULE_SETUP 01994 #line 181 "holidayscannerplan.lpp" 01995 { yylval->ival = 2; return token::MONTH; } 01996 YY_BREAK 01997 case 79: 01998 YY_RULE_SETUP 01999 #line 182 "holidayscannerplan.lpp" 02000 { yylval->ival = 3; return token::MONTH; } 02001 YY_BREAK 02002 case 80: 02003 YY_RULE_SETUP 02004 #line 183 "holidayscannerplan.lpp" 02005 { yylval->ival = 4; return token::MONTH; } 02006 YY_BREAK 02007 case 81: 02008 YY_RULE_SETUP 02009 #line 184 "holidayscannerplan.lpp" 02010 { yylval->ival = 5; return token::MONTH; } 02011 YY_BREAK 02012 case 82: 02013 YY_RULE_SETUP 02014 #line 185 "holidayscannerplan.lpp" 02015 { yylval->ival = 6; return token::MONTH; } 02016 YY_BREAK 02017 case 83: 02018 YY_RULE_SETUP 02019 #line 186 "holidayscannerplan.lpp" 02020 { yylval->ival = 7; return token::MONTH; } 02021 YY_BREAK 02022 case 84: 02023 YY_RULE_SETUP 02024 #line 187 "holidayscannerplan.lpp" 02025 { yylval->ival = 8; return token::MONTH; } 02026 YY_BREAK 02027 case 85: 02028 YY_RULE_SETUP 02029 #line 188 "holidayscannerplan.lpp" 02030 { yylval->ival = 9; return token::MONTH; } 02031 YY_BREAK 02032 case 86: 02033 YY_RULE_SETUP 02034 #line 189 "holidayscannerplan.lpp" 02035 { yylval->ival = 10; return token::MONTH; } 02036 YY_BREAK 02037 case 87: 02038 YY_RULE_SETUP 02039 #line 190 "holidayscannerplan.lpp" 02040 { yylval->ival = 11; return token::MONTH; } 02041 YY_BREAK 02042 case 88: 02043 YY_RULE_SETUP 02044 #line 191 "holidayscannerplan.lpp" 02045 { yylval->ival = 12; return token::MONTH; } 02046 YY_BREAK 02047 case 89: 02048 YY_RULE_SETUP 02049 #line 192 "holidayscannerplan.lpp" 02050 { yylval->ival = 13; return token::MONTH; } 02051 YY_BREAK 02052 case 90: 02053 YY_RULE_SETUP 02054 #line 194 "holidayscannerplan.lpp" 02055 { yylval->ival = 1; return token::WDAY; } 02056 YY_BREAK 02057 case 91: 02058 YY_RULE_SETUP 02059 #line 195 "holidayscannerplan.lpp" 02060 { yylval->ival = 2; return token::WDAY; } 02061 YY_BREAK 02062 case 92: 02063 YY_RULE_SETUP 02064 #line 196 "holidayscannerplan.lpp" 02065 { yylval->ival = 3; return token::WDAY; } 02066 YY_BREAK 02067 case 93: 02068 YY_RULE_SETUP 02069 #line 197 "holidayscannerplan.lpp" 02070 { yylval->ival = 4; return token::WDAY; } 02071 YY_BREAK 02072 case 94: 02073 YY_RULE_SETUP 02074 #line 198 "holidayscannerplan.lpp" 02075 { yylval->ival = 5; return token::WDAY; } 02076 YY_BREAK 02077 case 95: 02078 YY_RULE_SETUP 02079 #line 199 "holidayscannerplan.lpp" 02080 { yylval->ival = 6; return token::WDAY; } 02081 YY_BREAK 02082 case 96: 02083 YY_RULE_SETUP 02084 #line 200 "holidayscannerplan.lpp" 02085 { yylval->ival = 7; return token::WDAY; } 02086 YY_BREAK 02087 case 97: 02088 YY_RULE_SETUP 02089 #line 202 "holidayscannerplan.lpp" 02090 { yylval->sval = "ethiopian"; return token::CALENDAR; } 02091 YY_BREAK 02092 case 98: 02093 YY_RULE_SETUP 02094 #line 204 "holidayscannerplan.lpp" 02095 { yylval->ival = 1; return token::MONTH; } 02096 YY_BREAK 02097 case 99: 02098 YY_RULE_SETUP 02099 #line 205 "holidayscannerplan.lpp" 02100 { yylval->ival = 2; return token::MONTH; } 02101 YY_BREAK 02102 case 100: 02103 YY_RULE_SETUP 02104 #line 206 "holidayscannerplan.lpp" 02105 { yylval->ival = 3; return token::MONTH; } 02106 YY_BREAK 02107 case 101: 02108 YY_RULE_SETUP 02109 #line 207 "holidayscannerplan.lpp" 02110 { yylval->ival = 4; return token::MONTH; } 02111 YY_BREAK 02112 case 102: 02113 YY_RULE_SETUP 02114 #line 208 "holidayscannerplan.lpp" 02115 { yylval->ival = 5; return token::MONTH; } 02116 YY_BREAK 02117 case 103: 02118 YY_RULE_SETUP 02119 #line 209 "holidayscannerplan.lpp" 02120 { yylval->ival = 6; return token::MONTH; } 02121 YY_BREAK 02122 case 104: 02123 YY_RULE_SETUP 02124 #line 210 "holidayscannerplan.lpp" 02125 { yylval->ival = 7; return token::MONTH; } 02126 YY_BREAK 02127 case 105: 02128 YY_RULE_SETUP 02129 #line 211 "holidayscannerplan.lpp" 02130 { yylval->ival = 8; return token::MONTH; } 02131 YY_BREAK 02132 case 106: 02133 YY_RULE_SETUP 02134 #line 212 "holidayscannerplan.lpp" 02135 { yylval->ival = 9; return token::MONTH; } 02136 YY_BREAK 02137 case 107: 02138 YY_RULE_SETUP 02139 #line 213 "holidayscannerplan.lpp" 02140 { yylval->ival = 10; return token::MONTH; } 02141 YY_BREAK 02142 case 108: 02143 YY_RULE_SETUP 02144 #line 214 "holidayscannerplan.lpp" 02145 { yylval->ival = 11; return token::MONTH; } 02146 YY_BREAK 02147 case 109: 02148 YY_RULE_SETUP 02149 #line 215 "holidayscannerplan.lpp" 02150 { yylval->ival = 12; return token::MONTH; } 02151 YY_BREAK 02152 case 110: 02153 YY_RULE_SETUP 02154 #line 216 "holidayscannerplan.lpp" 02155 { yylval->ival = 13; return token::MONTH; } 02156 YY_BREAK 02157 case 111: 02158 YY_RULE_SETUP 02159 #line 218 "holidayscannerplan.lpp" 02160 { yylval->ival = 1; return token::WDAY; } 02161 YY_BREAK 02162 case 112: 02163 YY_RULE_SETUP 02164 #line 219 "holidayscannerplan.lpp" 02165 { yylval->ival = 2; return token::WDAY; } 02166 YY_BREAK 02167 case 113: 02168 YY_RULE_SETUP 02169 #line 220 "holidayscannerplan.lpp" 02170 { yylval->ival = 3; return token::WDAY; } 02171 YY_BREAK 02172 case 114: 02173 YY_RULE_SETUP 02174 #line 221 "holidayscannerplan.lpp" 02175 { yylval->ival = 4; return token::WDAY; } 02176 YY_BREAK 02177 case 115: 02178 YY_RULE_SETUP 02179 #line 222 "holidayscannerplan.lpp" 02180 { yylval->ival = 5; return token::WDAY; } 02181 YY_BREAK 02182 case 116: 02183 YY_RULE_SETUP 02184 #line 223 "holidayscannerplan.lpp" 02185 { yylval->ival = 6; return token::WDAY; } 02186 YY_BREAK 02187 case 117: 02188 YY_RULE_SETUP 02189 #line 224 "holidayscannerplan.lpp" 02190 { yylval->ival = 7; return token::WDAY; } 02191 YY_BREAK 02192 case 118: 02193 YY_RULE_SETUP 02194 #line 226 "holidayscannerplan.lpp" 02195 { yylval->sval = "hebrew"; return token::CALENDAR; } 02196 YY_BREAK 02197 case 119: 02198 YY_RULE_SETUP 02199 #line 228 "holidayscannerplan.lpp" 02200 { yylval->ival = 1; return token::MONTH; } 02201 YY_BREAK 02202 case 120: 02203 YY_RULE_SETUP 02204 #line 229 "holidayscannerplan.lpp" 02205 { yylval->ival = 2; return token::MONTH; } 02206 YY_BREAK 02207 case 121: 02208 YY_RULE_SETUP 02209 #line 230 "holidayscannerplan.lpp" 02210 { yylval->ival = 3; return token::MONTH; } 02211 YY_BREAK 02212 case 122: 02213 YY_RULE_SETUP 02214 #line 231 "holidayscannerplan.lpp" 02215 { yylval->ival = 4; return token::MONTH; } 02216 YY_BREAK 02217 case 123: 02218 YY_RULE_SETUP 02219 #line 232 "holidayscannerplan.lpp" 02220 { yylval->ival = 5; return token::MONTH; } 02221 YY_BREAK 02222 case 124: 02223 YY_RULE_SETUP 02224 #line 233 "holidayscannerplan.lpp" 02225 { yylval->ival = 6; return token::MONTH; } 02226 YY_BREAK 02227 case 125: 02228 YY_RULE_SETUP 02229 #line 234 "holidayscannerplan.lpp" 02230 { yylval->ival = 7; return token::MONTH; } 02231 YY_BREAK 02232 case 126: 02233 YY_RULE_SETUP 02234 #line 235 "holidayscannerplan.lpp" 02235 { yylval->ival = 8; return token::MONTH; } 02236 YY_BREAK 02237 case 127: 02238 YY_RULE_SETUP 02239 #line 236 "holidayscannerplan.lpp" 02240 { yylval->ival = 9; return token::MONTH; } 02241 YY_BREAK 02242 case 128: 02243 YY_RULE_SETUP 02244 #line 237 "holidayscannerplan.lpp" 02245 { yylval->ival = 10; return token::MONTH; } 02246 YY_BREAK 02247 case 129: 02248 YY_RULE_SETUP 02249 #line 238 "holidayscannerplan.lpp" 02250 { yylval->ival = 11; return token::MONTH; } 02251 YY_BREAK 02252 case 130: 02253 YY_RULE_SETUP 02254 #line 239 "holidayscannerplan.lpp" 02255 { yylval->ival = 12; return token::MONTH; } 02256 YY_BREAK 02257 case 131: 02258 YY_RULE_SETUP 02259 #line 240 "holidayscannerplan.lpp" 02260 { yylval->ival = 13; return token::MONTH; } 02261 YY_BREAK 02262 case 132: 02263 YY_RULE_SETUP 02264 #line 241 "holidayscannerplan.lpp" 02265 { yylval->ival = 14; return token::MONTH; } 02266 YY_BREAK 02267 case 133: 02268 YY_RULE_SETUP 02269 #line 243 "holidayscannerplan.lpp" 02270 { yylval->ival = 1; return token::WDAY; } 02271 YY_BREAK 02272 case 134: 02273 YY_RULE_SETUP 02274 #line 244 "holidayscannerplan.lpp" 02275 { yylval->ival = 2; return token::WDAY; } 02276 YY_BREAK 02277 case 135: 02278 YY_RULE_SETUP 02279 #line 245 "holidayscannerplan.lpp" 02280 { yylval->ival = 3; return token::WDAY; } 02281 YY_BREAK 02282 case 136: 02283 YY_RULE_SETUP 02284 #line 246 "holidayscannerplan.lpp" 02285 { yylval->ival = 4; return token::WDAY; } 02286 YY_BREAK 02287 case 137: 02288 YY_RULE_SETUP 02289 #line 247 "holidayscannerplan.lpp" 02290 { yylval->ival = 5; return token::WDAY; } 02291 YY_BREAK 02292 case 138: 02293 YY_RULE_SETUP 02294 #line 248 "holidayscannerplan.lpp" 02295 { yylval->ival = 6; return token::WDAY; } 02296 YY_BREAK 02297 case 139: 02298 YY_RULE_SETUP 02299 #line 249 "holidayscannerplan.lpp" 02300 { yylval->ival = 7; return token::WDAY; } 02301 YY_BREAK 02302 case 140: 02303 YY_RULE_SETUP 02304 #line 251 "holidayscannerplan.lpp" 02305 { yylval->sval = "hijri"; return token::CALENDAR; } 02306 YY_BREAK 02307 case 141: 02308 YY_RULE_SETUP 02309 #line 253 "holidayscannerplan.lpp" 02310 { yylval->ival = 1; return token::MONTH; } 02311 YY_BREAK 02312 case 142: 02313 YY_RULE_SETUP 02314 #line 254 "holidayscannerplan.lpp" 02315 { yylval->ival = 2; return token::MONTH; } 02316 YY_BREAK 02317 case 143: 02318 YY_RULE_SETUP 02319 #line 255 "holidayscannerplan.lpp" 02320 { yylval->ival = 3; return token::MONTH; } 02321 YY_BREAK 02322 case 144: 02323 YY_RULE_SETUP 02324 #line 256 "holidayscannerplan.lpp" 02325 { yylval->ival = 4; return token::MONTH; } 02326 YY_BREAK 02327 case 145: 02328 YY_RULE_SETUP 02329 #line 257 "holidayscannerplan.lpp" 02330 { yylval->ival = 5; return token::MONTH; } 02331 YY_BREAK 02332 case 146: 02333 YY_RULE_SETUP 02334 #line 258 "holidayscannerplan.lpp" 02335 { yylval->ival = 6; return token::MONTH; } 02336 YY_BREAK 02337 case 147: 02338 YY_RULE_SETUP 02339 #line 259 "holidayscannerplan.lpp" 02340 { yylval->ival = 7; return token::MONTH; } 02341 YY_BREAK 02342 case 148: 02343 YY_RULE_SETUP 02344 #line 260 "holidayscannerplan.lpp" 02345 { yylval->ival = 8; return token::MONTH; } 02346 YY_BREAK 02347 case 149: 02348 YY_RULE_SETUP 02349 #line 261 "holidayscannerplan.lpp" 02350 { yylval->ival = 9; return token::MONTH; } 02351 YY_BREAK 02352 case 150: 02353 YY_RULE_SETUP 02354 #line 262 "holidayscannerplan.lpp" 02355 { yylval->ival = 10; return token::MONTH; } 02356 YY_BREAK 02357 case 151: 02358 YY_RULE_SETUP 02359 #line 263 "holidayscannerplan.lpp" 02360 { yylval->ival = 11; return token::MONTH; } 02361 YY_BREAK 02362 case 152: 02363 YY_RULE_SETUP 02364 #line 264 "holidayscannerplan.lpp" 02365 { yylval->ival = 12; return token::MONTH; } 02366 YY_BREAK 02367 case 153: 02368 YY_RULE_SETUP 02369 #line 266 "holidayscannerplan.lpp" 02370 { yylval->ival = 1; return token::WDAY; } 02371 YY_BREAK 02372 case 154: 02373 YY_RULE_SETUP 02374 #line 267 "holidayscannerplan.lpp" 02375 { yylval->ival = 2; return token::WDAY; } 02376 YY_BREAK 02377 case 155: 02378 YY_RULE_SETUP 02379 #line 268 "holidayscannerplan.lpp" 02380 { yylval->ival = 3; return token::WDAY; } 02381 YY_BREAK 02382 case 156: 02383 YY_RULE_SETUP 02384 #line 269 "holidayscannerplan.lpp" 02385 { yylval->ival = 4; return token::WDAY; } 02386 YY_BREAK 02387 case 157: 02388 YY_RULE_SETUP 02389 #line 270 "holidayscannerplan.lpp" 02390 { yylval->ival = 5; return token::WDAY; } 02391 YY_BREAK 02392 case 158: 02393 YY_RULE_SETUP 02394 #line 271 "holidayscannerplan.lpp" 02395 { yylval->ival = 6; return token::WDAY; } 02396 YY_BREAK 02397 case 159: 02398 YY_RULE_SETUP 02399 #line 272 "holidayscannerplan.lpp" 02400 { yylval->ival = 7; return token::WDAY; } 02401 YY_BREAK 02402 case 160: 02403 YY_RULE_SETUP 02404 #line 274 "holidayscannerplan.lpp" 02405 { yylval->sval = "indian-national"; return token::CALENDAR; } 02406 YY_BREAK 02407 case 161: 02408 YY_RULE_SETUP 02409 #line 276 "holidayscannerplan.lpp" 02410 { yylval->ival = 1; return token::MONTH; } 02411 YY_BREAK 02412 case 162: 02413 YY_RULE_SETUP 02414 #line 277 "holidayscannerplan.lpp" 02415 { yylval->ival = 2; return token::MONTH; } 02416 YY_BREAK 02417 case 163: 02418 YY_RULE_SETUP 02419 #line 278 "holidayscannerplan.lpp" 02420 { yylval->ival = 3; return token::MONTH; } 02421 YY_BREAK 02422 case 164: 02423 YY_RULE_SETUP 02424 #line 279 "holidayscannerplan.lpp" 02425 { yylval->ival = 4; return token::MONTH; } 02426 YY_BREAK 02427 case 165: 02428 YY_RULE_SETUP 02429 #line 280 "holidayscannerplan.lpp" 02430 { yylval->ival = 5; return token::MONTH; } 02431 YY_BREAK 02432 case 166: 02433 YY_RULE_SETUP 02434 #line 281 "holidayscannerplan.lpp" 02435 { yylval->ival = 6; return token::MONTH; } 02436 YY_BREAK 02437 case 167: 02438 YY_RULE_SETUP 02439 #line 282 "holidayscannerplan.lpp" 02440 { yylval->ival = 7; return token::MONTH; } 02441 YY_BREAK 02442 case 168: 02443 YY_RULE_SETUP 02444 #line 283 "holidayscannerplan.lpp" 02445 { yylval->ival = 8; return token::MONTH; } 02446 YY_BREAK 02447 case 169: 02448 YY_RULE_SETUP 02449 #line 284 "holidayscannerplan.lpp" 02450 { yylval->ival = 9; return token::MONTH; } 02451 YY_BREAK 02452 case 170: 02453 YY_RULE_SETUP 02454 #line 285 "holidayscannerplan.lpp" 02455 { yylval->ival = 10; return token::MONTH; } 02456 YY_BREAK 02457 case 171: 02458 YY_RULE_SETUP 02459 #line 286 "holidayscannerplan.lpp" 02460 { yylval->ival = 11; return token::MONTH; } 02461 YY_BREAK 02462 case 172: 02463 YY_RULE_SETUP 02464 #line 287 "holidayscannerplan.lpp" 02465 { yylval->ival = 12; return token::MONTH; } 02466 YY_BREAK 02467 case 173: 02468 YY_RULE_SETUP 02469 #line 289 "holidayscannerplan.lpp" 02470 { yylval->ival = 1; return token::WDAY; } 02471 YY_BREAK 02472 case 174: 02473 YY_RULE_SETUP 02474 #line 290 "holidayscannerplan.lpp" 02475 { yylval->ival = 2; return token::WDAY; } 02476 YY_BREAK 02477 case 175: 02478 YY_RULE_SETUP 02479 #line 291 "holidayscannerplan.lpp" 02480 { yylval->ival = 3; return token::WDAY; } 02481 YY_BREAK 02482 case 176: 02483 YY_RULE_SETUP 02484 #line 292 "holidayscannerplan.lpp" 02485 { yylval->ival = 4; return token::WDAY; } 02486 YY_BREAK 02487 case 177: 02488 YY_RULE_SETUP 02489 #line 293 "holidayscannerplan.lpp" 02490 { yylval->ival = 5; return token::WDAY; } 02491 YY_BREAK 02492 case 178: 02493 YY_RULE_SETUP 02494 #line 294 "holidayscannerplan.lpp" 02495 { yylval->ival = 6; return token::WDAY; } 02496 YY_BREAK 02497 case 179: 02498 YY_RULE_SETUP 02499 #line 295 "holidayscannerplan.lpp" 02500 { yylval->ival = 7; return token::WDAY; } 02501 YY_BREAK 02502 case 180: 02503 YY_RULE_SETUP 02504 #line 297 "holidayscannerplan.lpp" 02505 { yylval->sval = "jalali"; return token::CALENDAR; } 02506 YY_BREAK 02507 case 181: 02508 YY_RULE_SETUP 02509 #line 299 "holidayscannerplan.lpp" 02510 { yylval->ival = 1; return token::MONTH; } 02511 YY_BREAK 02512 case 182: 02513 YY_RULE_SETUP 02514 #line 300 "holidayscannerplan.lpp" 02515 { yylval->ival = 2; return token::MONTH; } 02516 YY_BREAK 02517 case 183: 02518 YY_RULE_SETUP 02519 #line 301 "holidayscannerplan.lpp" 02520 { yylval->ival = 3; return token::MONTH; } 02521 YY_BREAK 02522 case 184: 02523 YY_RULE_SETUP 02524 #line 302 "holidayscannerplan.lpp" 02525 { yylval->ival = 4; return token::MONTH; } 02526 YY_BREAK 02527 case 185: 02528 YY_RULE_SETUP 02529 #line 303 "holidayscannerplan.lpp" 02530 { yylval->ival = 5; return token::MONTH; } 02531 YY_BREAK 02532 case 186: 02533 YY_RULE_SETUP 02534 #line 304 "holidayscannerplan.lpp" 02535 { yylval->ival = 6; return token::MONTH; } 02536 YY_BREAK 02537 case 187: 02538 YY_RULE_SETUP 02539 #line 305 "holidayscannerplan.lpp" 02540 { yylval->ival = 7; return token::MONTH; } 02541 YY_BREAK 02542 case 188: 02543 YY_RULE_SETUP 02544 #line 306 "holidayscannerplan.lpp" 02545 { yylval->ival = 8; return token::MONTH; } 02546 YY_BREAK 02547 case 189: 02548 YY_RULE_SETUP 02549 #line 307 "holidayscannerplan.lpp" 02550 { yylval->ival = 9; return token::MONTH; } 02551 YY_BREAK 02552 case 190: 02553 YY_RULE_SETUP 02554 #line 308 "holidayscannerplan.lpp" 02555 { yylval->ival = 10; return token::MONTH; } 02556 YY_BREAK 02557 case 191: 02558 YY_RULE_SETUP 02559 #line 309 "holidayscannerplan.lpp" 02560 { yylval->ival = 11; return token::MONTH; } 02561 YY_BREAK 02562 case 192: 02563 YY_RULE_SETUP 02564 #line 310 "holidayscannerplan.lpp" 02565 { yylval->ival = 12; return token::MONTH; } 02566 YY_BREAK 02567 case 193: 02568 YY_RULE_SETUP 02569 #line 312 "holidayscannerplan.lpp" 02570 { yylval->ival = 1; return token::WDAY; } 02571 YY_BREAK 02572 case 194: 02573 YY_RULE_SETUP 02574 #line 313 "holidayscannerplan.lpp" 02575 { yylval->ival = 2; return token::WDAY; } 02576 YY_BREAK 02577 case 195: 02578 YY_RULE_SETUP 02579 #line 314 "holidayscannerplan.lpp" 02580 { yylval->ival = 3; return token::WDAY; } 02581 YY_BREAK 02582 case 196: 02583 YY_RULE_SETUP 02584 #line 315 "holidayscannerplan.lpp" 02585 { yylval->ival = 4; return token::WDAY; } 02586 YY_BREAK 02587 case 197: 02588 YY_RULE_SETUP 02589 #line 316 "holidayscannerplan.lpp" 02590 { yylval->ival = 5; return token::WDAY; } 02591 YY_BREAK 02592 case 198: 02593 YY_RULE_SETUP 02594 #line 317 "holidayscannerplan.lpp" 02595 { yylval->ival = 6; return token::WDAY; } 02596 YY_BREAK 02597 case 199: 02598 YY_RULE_SETUP 02599 #line 318 "holidayscannerplan.lpp" 02600 { yylval->ival = 7; return token::WDAY; } 02601 YY_BREAK 02602 case 200: 02603 YY_RULE_SETUP 02604 #line 320 "holidayscannerplan.lpp" 02605 { LexerError( yytext ); } 02606 YY_BREAK 02607 case 201: 02608 YY_RULE_SETUP 02609 #line 322 "holidayscannerplan.lpp" 02610 ECHO; 02611 YY_BREAK 02612 #line 2613 "holidayscannerplan.cpp" 02613 case YY_STATE_EOF(INITIAL): 02614 yyterminate(); 02615 02616 case YY_END_OF_BUFFER: 02617 { 02618 /* Amount of text matched not including the EOB char. */ 02619 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 02620 02621 /* Undo the effects of YY_DO_BEFORE_ACTION. */ 02622 *yy_cp = (yy_hold_char); 02623 YY_RESTORE_YY_MORE_OFFSET 02624 02625 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 02626 { 02627 /* We're scanning a new file or input source. It's 02628 * possible that this happened because the user 02629 * just pointed yyin at a new source and called 02630 * yylex(). If so, then we have to assure 02631 * consistency between YY_CURRENT_BUFFER and our 02632 * globals. Here is the right place to do so, because 02633 * this is the first action (other than possibly a 02634 * back-up) that will match for the new input source. 02635 */ 02636 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 02637 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 02638 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 02639 } 02640 02641 /* Note that here we test for yy_c_buf_p "<=" to the position 02642 * of the first EOB in the buffer, since yy_c_buf_p will 02643 * already have been incremented past the NUL character 02644 * (since all states make transitions on EOB to the 02645 * end-of-buffer state). Contrast this with the test 02646 * in input(). 02647 */ 02648 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 02649 { /* This was really a NUL. */ 02650 yy_state_type yy_next_state; 02651 02652 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 02653 02654 yy_current_state = yy_get_previous_state( ); 02655 02656 /* Okay, we're now positioned to make the NUL 02657 * transition. We couldn't have 02658 * yy_get_previous_state() go ahead and do it 02659 * for us because it doesn't know how to deal 02660 * with the possibility of jamming (and we don't 02661 * want to build jamming into it because then it 02662 * will run more slowly). 02663 */ 02664 02665 yy_next_state = yy_try_NUL_trans( yy_current_state ); 02666 02667 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 02668 02669 if ( yy_next_state ) 02670 { 02671 /* Consume the NUL. */ 02672 yy_cp = ++(yy_c_buf_p); 02673 yy_current_state = yy_next_state; 02674 goto yy_match; 02675 } 02676 02677 else 02678 { 02679 /* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */ 02680 yy_cp = (yy_last_accepting_cpos); 02681 yy_current_state = (yy_last_accepting_state); 02682 goto yy_find_action; 02683 } 02684 } 02685 02686 else switch ( yy_get_next_buffer( ) ) 02687 { 02688 case EOB_ACT_END_OF_FILE: 02689 { 02690 (yy_did_buffer_switch_on_eof) = 0; 02691 02692 if ( yywrap( ) ) 02693 { 02694 /* Note: because we've taken care in 02695 * yy_get_next_buffer() to have set up 02696 * yytext, we can now set up 02697 * yy_c_buf_p so that if some total 02698 * hoser (like flex itself) wants to 02699 * call the scanner after we return the 02700 * YY_NULL, it'll still work - another 02701 * YY_NULL will get returned. 02702 */ 02703 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 02704 02705 yy_act = YY_STATE_EOF(YY_START); 02706 goto do_action; 02707 } 02708 02709 else 02710 { 02711 if ( ! (yy_did_buffer_switch_on_eof) ) 02712 YY_NEW_FILE; 02713 } 02714 break; 02715 } 02716 02717 case EOB_ACT_CONTINUE_SCAN: 02718 (yy_c_buf_p) = 02719 (yytext_ptr) + yy_amount_of_matched_text; 02720 02721 yy_current_state = yy_get_previous_state( ); 02722 02723 yy_cp = (yy_c_buf_p); 02724 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 02725 goto yy_match; 02726 02727 case EOB_ACT_LAST_MATCH: 02728 (yy_c_buf_p) = 02729 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 02730 02731 yy_current_state = yy_get_previous_state( ); 02732 02733 yy_cp = (yy_c_buf_p); 02734 yy_bp = (yytext_ptr) + YY_MORE_ADJ; 02735 goto yy_find_action; 02736 } 02737 break; 02738 } 02739 02740 default: 02741 YY_FATAL_ERROR( 02742 "fatal flex scanner internal error--no action found" ); 02743 } /* end of action switch */ 02744 } /* end of scanning one token */ 02745 } /* end of yylex */ 02746 /* %ok-for-header */ 02747 02748 /* %if-c++-only */ 02749 /* %not-for-header */ 02750 02751 /* The contents of this function are C++ specific, so the () macro is not used. 02752 */ 02753 yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ) 02754 { 02755 yyin = arg_yyin; 02756 yyout = arg_yyout; 02757 yy_c_buf_p = 0; 02758 yy_init = 0; 02759 yy_start = 0; 02760 yy_flex_debug = 0; 02761 yylineno = 1; // this will only get updated if %option yylineno 02762 02763 yy_did_buffer_switch_on_eof = 0; 02764 02765 yy_looking_for_trail_begin = 0; 02766 yy_more_flag = 0; 02767 yy_more_len = 0; 02768 yy_more_offset = yy_prev_more_offset = 0; 02769 02770 yy_start_stack_ptr = yy_start_stack_depth = 0; 02771 yy_start_stack = NULL; 02772 02773 yy_buffer_stack = 0; 02774 yy_buffer_stack_top = 0; 02775 yy_buffer_stack_max = 0; 02776 02777 yy_state_buf = 0; 02778 02779 } 02780 02781 /* The contents of this function are C++ specific, so the () macro is not used. 02782 */ 02783 yyFlexLexer::~yyFlexLexer() 02784 { 02785 delete [] yy_state_buf; 02786 HolidayScannerfree(yy_start_stack ); 02787 yy_delete_buffer( YY_CURRENT_BUFFER ); 02788 HolidayScannerfree(yy_buffer_stack ); 02789 } 02790 02791 /* The contents of this function are C++ specific, so the () macro is not used. 02792 */ 02793 void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out ) 02794 { 02795 if ( new_in ) 02796 { 02797 yy_delete_buffer( YY_CURRENT_BUFFER ); 02798 yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) ); 02799 } 02800 02801 if ( new_out ) 02802 yyout = new_out; 02803 } 02804 02805 #ifdef YY_INTERACTIVE 02806 int yyFlexLexer::LexerInput( char* buf, int /* max_size */ ) 02807 #else 02808 int yyFlexLexer::LexerInput( char* buf, int max_size ) 02809 #endif 02810 { 02811 if ( yyin->eof() || yyin->fail() ) 02812 return 0; 02813 02814 #ifdef YY_INTERACTIVE 02815 yyin->get( buf[0] ); 02816 02817 if ( yyin->eof() ) 02818 return 0; 02819 02820 if ( yyin->bad() ) 02821 return -1; 02822 02823 return 1; 02824 02825 #else 02826 (void) yyin->read( buf, max_size ); 02827 02828 if ( yyin->bad() ) 02829 return -1; 02830 else 02831 return yyin->gcount(); 02832 #endif 02833 } 02834 02835 void yyFlexLexer::LexerOutput( const char* buf, int size ) 02836 { 02837 (void) yyout->write( buf, size ); 02838 } 02839 /* %ok-for-header */ 02840 02841 /* %endif */ 02842 02843 /* yy_get_next_buffer - try to read in a new buffer 02844 * 02845 * Returns a code representing an action: 02846 * EOB_ACT_LAST_MATCH - 02847 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 02848 * EOB_ACT_END_OF_FILE - end of file 02849 */ 02850 /* %if-c-only */ 02851 /* %endif */ 02852 /* %if-c++-only */ 02853 int yyFlexLexer::yy_get_next_buffer() 02854 /* %endif */ 02855 { 02856 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 02857 register char *source = (yytext_ptr); 02858 register int number_to_move, i; 02859 int ret_val; 02860 02861 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 02862 YY_FATAL_ERROR( 02863 "fatal flex scanner internal error--end of buffer missed" ); 02864 02865 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 02866 { /* Don't try to fill the buffer, so this is an EOF. */ 02867 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 02868 { 02869 /* We matched a single character, the EOB, so 02870 * treat this as a final EOF. 02871 */ 02872 return EOB_ACT_END_OF_FILE; 02873 } 02874 02875 else 02876 { 02877 /* We matched some text prior to the EOB, first 02878 * process it. 02879 */ 02880 return EOB_ACT_LAST_MATCH; 02881 } 02882 } 02883 02884 /* Try to read more data. */ 02885 02886 /* First move last chars to start of buffer. */ 02887 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 02888 02889 for ( i = 0; i < number_to_move; ++i ) 02890 *(dest++) = *(source++); 02891 02892 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 02893 /* don't do the read, it's not guaranteed to return an EOF, 02894 * just force an EOF 02895 */ 02896 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 02897 02898 else 02899 { 02900 int num_to_read = 02901 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 02902 02903 while ( num_to_read <= 0 ) 02904 { /* Not enough room in the buffer - grow it. */ 02905 02906 /* just a shorter name for the current buffer */ 02907 YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 02908 02909 int yy_c_buf_p_offset = 02910 (int) ((yy_c_buf_p) - b->yy_ch_buf); 02911 02912 if ( b->yy_is_our_buffer ) 02913 { 02914 int new_size = b->yy_buf_size * 2; 02915 02916 if ( new_size <= 0 ) 02917 b->yy_buf_size += b->yy_buf_size / 8; 02918 else 02919 b->yy_buf_size *= 2; 02920 02921 b->yy_ch_buf = (char *) 02922 /* Include room in for 2 EOB chars. */ 02923 HolidayScannerrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 02924 } 02925 else 02926 /* Can't grow it, we don't own it. */ 02927 b->yy_ch_buf = 0; 02928 02929 if ( ! b->yy_ch_buf ) 02930 YY_FATAL_ERROR( 02931 "fatal error - scanner input buffer overflow" ); 02932 02933 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 02934 02935 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 02936 number_to_move - 1; 02937 02938 } 02939 02940 if ( num_to_read > YY_READ_BUF_SIZE ) 02941 num_to_read = YY_READ_BUF_SIZE; 02942 02943 /* Read in more data. */ 02944 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 02945 (yy_n_chars), (size_t) num_to_read ); 02946 02947 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 02948 } 02949 02950 if ( (yy_n_chars) == 0 ) 02951 { 02952 if ( number_to_move == YY_MORE_ADJ ) 02953 { 02954 ret_val = EOB_ACT_END_OF_FILE; 02955 yyrestart( yyin ); 02956 } 02957 02958 else 02959 { 02960 ret_val = EOB_ACT_LAST_MATCH; 02961 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 02962 YY_BUFFER_EOF_PENDING; 02963 } 02964 } 02965 02966 else 02967 ret_val = EOB_ACT_CONTINUE_SCAN; 02968 02969 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 02970 /* Extend the array by 50%, plus the number we really need. */ 02971 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 02972 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) HolidayScannerrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 02973 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 02974 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 02975 } 02976 02977 (yy_n_chars) += number_to_move; 02978 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 02979 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 02980 02981 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 02982 02983 return ret_val; 02984 } 02985 02986 /* yy_get_previous_state - get the state just before the EOB char was reached */ 02987 02988 /* %if-c-only */ 02989 /* %not-for-header */ 02990 02991 /* %endif */ 02992 /* %if-c++-only */ 02993 yy_state_type yyFlexLexer::yy_get_previous_state() 02994 /* %endif */ 02995 { 02996 register yy_state_type yy_current_state; 02997 register char *yy_cp; 02998 02999 /* %% [15.0] code to get the start state into yy_current_state goes here */ 03000 yy_current_state = (yy_start); 03001 yy_current_state += YY_AT_BOL(); 03002 03003 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 03004 { 03005 /* %% [16.0] code to find the next state goes here */ 03006 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 03007 if ( yy_accept[yy_current_state] ) 03008 { 03009 (yy_last_accepting_state) = yy_current_state; 03010 (yy_last_accepting_cpos) = yy_cp; 03011 } 03012 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 03013 { 03014 yy_current_state = (int) yy_def[yy_current_state]; 03015 if ( yy_current_state >= 943 ) 03016 yy_c = yy_meta[(unsigned int) yy_c]; 03017 } 03018 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 03019 } 03020 03021 return yy_current_state; 03022 } 03023 03024 /* yy_try_NUL_trans - try to make a transition on the NUL character 03025 * 03026 * synopsis 03027 * next_state = yy_try_NUL_trans( current_state ); 03028 */ 03029 /* %if-c-only */ 03030 /* %endif */ 03031 /* %if-c++-only */ 03032 yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state ) 03033 /* %endif */ 03034 { 03035 register int yy_is_jam; 03036 /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */ 03037 register char *yy_cp = (yy_c_buf_p); 03038 03039 register YY_CHAR yy_c = 1; 03040 if ( yy_accept[yy_current_state] ) 03041 { 03042 (yy_last_accepting_state) = yy_current_state; 03043 (yy_last_accepting_cpos) = yy_cp; 03044 } 03045 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 03046 { 03047 yy_current_state = (int) yy_def[yy_current_state]; 03048 if ( yy_current_state >= 943 ) 03049 yy_c = yy_meta[(unsigned int) yy_c]; 03050 } 03051 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 03052 yy_is_jam = (yy_current_state == 942); 03053 03054 return yy_is_jam ? 0 : yy_current_state; 03055 } 03056 03057 /* %if-c-only */ 03058 /* %endif */ 03059 /* %if-c++-only */ 03060 void yyFlexLexer::yyunput( int c, register char* yy_bp) 03061 /* %endif */ 03062 { 03063 register char *yy_cp; 03064 03065 yy_cp = (yy_c_buf_p); 03066 03067 /* undo effects of setting up yytext */ 03068 *yy_cp = (yy_hold_char); 03069 03070 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 03071 { /* need to shift things up to make room */ 03072 /* +2 for EOB chars. */ 03073 register int number_to_move = (yy_n_chars) + 2; 03074 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 03075 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 03076 register char *source = 03077 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; 03078 03079 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 03080 *--dest = *--source; 03081 03082 yy_cp += (int) (dest - source); 03083 yy_bp += (int) (dest - source); 03084 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = 03085 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; 03086 03087 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 03088 YY_FATAL_ERROR( "flex scanner push-back overflow" ); 03089 } 03090 03091 *--yy_cp = (char) c; 03092 03093 /* %% [18.0] update yylineno here */ 03094 03095 (yytext_ptr) = yy_bp; 03096 (yy_hold_char) = *yy_cp; 03097 (yy_c_buf_p) = yy_cp; 03098 } 03099 /* %if-c-only */ 03100 /* %endif */ 03101 03102 /* %if-c-only */ 03103 /* %endif */ 03104 /* %if-c++-only */ 03105 int yyFlexLexer::yyinput() 03106 /* %endif */ 03107 { 03108 int c; 03109 03110 *(yy_c_buf_p) = (yy_hold_char); 03111 03112 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 03113 { 03114 /* yy_c_buf_p now points to the character we want to return. 03115 * If this occurs *before* the EOB characters, then it's a 03116 * valid NUL; if not, then we've hit the end of the buffer. 03117 */ 03118 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 03119 /* This was really a NUL. */ 03120 *(yy_c_buf_p) = '\0'; 03121 03122 else 03123 { /* need more input */ 03124 int offset = (yy_c_buf_p) - (yytext_ptr); 03125 ++(yy_c_buf_p); 03126 03127 switch ( yy_get_next_buffer( ) ) 03128 { 03129 case EOB_ACT_LAST_MATCH: 03130 /* This happens because yy_g_n_b() 03131 * sees that we've accumulated a 03132 * token and flags that we need to 03133 * try matching the token before 03134 * proceeding. But for input(), 03135 * there's no matching to consider. 03136 * So convert the EOB_ACT_LAST_MATCH 03137 * to EOB_ACT_END_OF_FILE. 03138 */ 03139 03140 /* Reset buffer status. */ 03141 yyrestart( yyin ); 03142 03143 /*FALLTHROUGH*/ 03144 03145 case EOB_ACT_END_OF_FILE: 03146 { 03147 if ( yywrap( ) ) 03148 return EOF; 03149 03150 if ( ! (yy_did_buffer_switch_on_eof) ) 03151 YY_NEW_FILE; 03152 #ifdef __cplusplus 03153 return yyinput(); 03154 #else 03155 return input(); 03156 #endif 03157 } 03158 03159 case EOB_ACT_CONTINUE_SCAN: 03160 (yy_c_buf_p) = (yytext_ptr) + offset; 03161 break; 03162 } 03163 } 03164 } 03165 03166 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 03167 *(yy_c_buf_p) = '\0'; /* preserve yytext */ 03168 (yy_hold_char) = *++(yy_c_buf_p); 03169 03170 /* %% [19.0] update BOL and yylineno */ 03171 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); 03172 03173 return c; 03174 } 03175 /* %if-c-only */ 03176 /* %endif */ 03177 03183 /* %if-c-only */ 03184 /* %endif */ 03185 /* %if-c++-only */ 03186 void yyFlexLexer::yyrestart( std::istream* input_file ) 03187 /* %endif */ 03188 { 03189 03190 if ( ! YY_CURRENT_BUFFER ){ 03191 yyensure_buffer_stack (); 03192 YY_CURRENT_BUFFER_LVALUE = 03193 yy_create_buffer( yyin, YY_BUF_SIZE ); 03194 } 03195 03196 yy_init_buffer( YY_CURRENT_BUFFER, input_file ); 03197 yy_load_buffer_state( ); 03198 } 03199 03204 /* %if-c-only */ 03205 /* %endif */ 03206 /* %if-c++-only */ 03207 void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) 03208 /* %endif */ 03209 { 03210 03211 /* TODO. We should be able to replace this entire function body 03212 * with 03213 * yypop_buffer_state(); 03214 * yypush_buffer_state(new_buffer); 03215 */ 03216 yyensure_buffer_stack (); 03217 if ( YY_CURRENT_BUFFER == new_buffer ) 03218 return; 03219 03220 if ( YY_CURRENT_BUFFER ) 03221 { 03222 /* Flush out information for old buffer. */ 03223 *(yy_c_buf_p) = (yy_hold_char); 03224 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 03225 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 03226 } 03227 03228 YY_CURRENT_BUFFER_LVALUE = new_buffer; 03229 yy_load_buffer_state( ); 03230 03231 /* We don't actually know whether we did this switch during 03232 * EOF (yywrap()) processing, but the only time this flag 03233 * is looked at is after yywrap() is called, so it's safe 03234 * to go ahead and always set it. 03235 */ 03236 (yy_did_buffer_switch_on_eof) = 1; 03237 } 03238 03239 /* %if-c-only */ 03240 /* %endif */ 03241 /* %if-c++-only */ 03242 void yyFlexLexer::yy_load_buffer_state() 03243 /* %endif */ 03244 { 03245 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 03246 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 03247 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 03248 (yy_hold_char) = *(yy_c_buf_p); 03249 } 03250 03257 /* %if-c-only */ 03258 /* %endif */ 03259 /* %if-c++-only */ 03260 YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size ) 03261 /* %endif */ 03262 { 03263 YY_BUFFER_STATE b; 03264 03265 b = (YY_BUFFER_STATE) HolidayScanneralloc(sizeof( struct yy_buffer_state ) ); 03266 if ( ! b ) 03267 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 03268 03269 b->yy_buf_size = size; 03270 03271 /* yy_ch_buf has to be 2 characters longer than the size given because 03272 * we need to put in 2 end-of-buffer characters. 03273 */ 03274 b->yy_ch_buf = (char *) HolidayScanneralloc(b->yy_buf_size + 2 ); 03275 if ( ! b->yy_ch_buf ) 03276 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 03277 03278 b->yy_is_our_buffer = 1; 03279 03280 yy_init_buffer( b, file ); 03281 03282 return b; 03283 } 03284 03289 /* %if-c-only */ 03290 /* %endif */ 03291 /* %if-c++-only */ 03292 void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b ) 03293 /* %endif */ 03294 { 03295 03296 if ( ! b ) 03297 return; 03298 03299 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 03300 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 03301 03302 if ( b->yy_is_our_buffer ) 03303 HolidayScannerfree((void *) b->yy_ch_buf ); 03304 03305 HolidayScannerfree((void *) b ); 03306 } 03307 03308 /* %if-c-only */ 03309 /* %endif */ 03310 03311 /* %if-c++-only */ 03312 03313 extern "C" int isatty (int ); 03314 03315 /* %endif */ 03316 03317 /* Initializes or reinitializes a buffer. 03318 * This function is sometimes called more than once on the same buffer, 03319 * such as during a yyrestart() or at EOF. 03320 */ 03321 /* %if-c-only */ 03322 /* %endif */ 03323 /* %if-c++-only */ 03324 void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file ) 03325 /* %endif */ 03326 03327 { 03328 int oerrno = errno; 03329 03330 yy_flush_buffer( b ); 03331 03332 b->yy_input_file = file; 03333 b->yy_fill_buffer = 1; 03334 03335 /* If b is the current buffer, then yy_init_buffer was _probably_ 03336 * called from yyrestart() or through yy_get_next_buffer. 03337 * In that case, we don't want to reset the lineno or column. 03338 */ 03339 if (b != YY_CURRENT_BUFFER){ 03340 b->yy_bs_lineno = 1; 03341 b->yy_bs_column = 0; 03342 } 03343 03344 /* %if-c-only */ 03345 /* %endif */ 03346 /* %if-c++-only */ 03347 b->yy_is_interactive = 0; 03348 /* %endif */ 03349 errno = oerrno; 03350 } 03351 03356 /* %if-c-only */ 03357 /* %endif */ 03358 /* %if-c++-only */ 03359 void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b ) 03360 /* %endif */ 03361 { 03362 if ( ! b ) 03363 return; 03364 03365 b->yy_n_chars = 0; 03366 03367 /* We always need two end-of-buffer characters. The first causes 03368 * a transition to the end-of-buffer state. The second causes 03369 * a jam in that state. 03370 */ 03371 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 03372 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 03373 03374 b->yy_buf_pos = &b->yy_ch_buf[0]; 03375 03376 b->yy_at_bol = 1; 03377 b->yy_buffer_status = YY_BUFFER_NEW; 03378 03379 if ( b == YY_CURRENT_BUFFER ) 03380 yy_load_buffer_state( ); 03381 } 03382 03383 /* %if-c-or-c++ */ 03390 /* %if-c-only */ 03391 /* %endif */ 03392 /* %if-c++-only */ 03393 void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer) 03394 /* %endif */ 03395 { 03396 if (new_buffer == NULL) 03397 return; 03398 03399 yyensure_buffer_stack(); 03400 03401 /* This block is copied from yy_switch_to_buffer. */ 03402 if ( YY_CURRENT_BUFFER ) 03403 { 03404 /* Flush out information for old buffer. */ 03405 *(yy_c_buf_p) = (yy_hold_char); 03406 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 03407 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 03408 } 03409 03410 /* Only push if top exists. Otherwise, replace top. */ 03411 if (YY_CURRENT_BUFFER) 03412 (yy_buffer_stack_top)++; 03413 YY_CURRENT_BUFFER_LVALUE = new_buffer; 03414 03415 /* copied from yy_switch_to_buffer. */ 03416 yy_load_buffer_state( ); 03417 (yy_did_buffer_switch_on_eof) = 1; 03418 } 03419 /* %endif */ 03420 03421 /* %if-c-or-c++ */ 03426 /* %if-c-only */ 03427 /* %endif */ 03428 /* %if-c++-only */ 03429 void yyFlexLexer::yypop_buffer_state (void) 03430 /* %endif */ 03431 { 03432 if (!YY_CURRENT_BUFFER) 03433 return; 03434 03435 yy_delete_buffer(YY_CURRENT_BUFFER ); 03436 YY_CURRENT_BUFFER_LVALUE = NULL; 03437 if ((yy_buffer_stack_top) > 0) 03438 --(yy_buffer_stack_top); 03439 03440 if (YY_CURRENT_BUFFER) { 03441 yy_load_buffer_state( ); 03442 (yy_did_buffer_switch_on_eof) = 1; 03443 } 03444 } 03445 /* %endif */ 03446 03447 /* %if-c-or-c++ */ 03448 /* Allocates the stack if it does not exist. 03449 * Guarantees space for at least one push. 03450 */ 03451 /* %if-c-only */ 03452 /* %endif */ 03453 /* %if-c++-only */ 03454 void yyFlexLexer::yyensure_buffer_stack(void) 03455 /* %endif */ 03456 { 03457 int num_to_alloc; 03458 03459 if (!(yy_buffer_stack)) { 03460 03461 /* First allocation is just for 2 elements, since we don't know if this 03462 * scanner will even need a stack. We use 2 instead of 1 to avoid an 03463 * immediate realloc on the next call. 03464 */ 03465 num_to_alloc = 1; 03466 (yy_buffer_stack) = (struct yy_buffer_state**)HolidayScanneralloc 03467 (num_to_alloc * sizeof(struct yy_buffer_state*) 03468 ); 03469 if ( ! (yy_buffer_stack) ) 03470 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 03471 03472 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 03473 03474 (yy_buffer_stack_max) = num_to_alloc; 03475 (yy_buffer_stack_top) = 0; 03476 return; 03477 } 03478 03479 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 03480 03481 /* Increase the buffer to prepare for a possible push. */ 03482 int grow_size = 8 /* arbitrary grow size */; 03483 03484 num_to_alloc = (yy_buffer_stack_max) + grow_size; 03485 (yy_buffer_stack) = (struct yy_buffer_state**)HolidayScannerrealloc 03486 ((yy_buffer_stack), 03487 num_to_alloc * sizeof(struct yy_buffer_state*) 03488 ); 03489 if ( ! (yy_buffer_stack) ) 03490 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 03491 03492 /* zero only the new slots.*/ 03493 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 03494 (yy_buffer_stack_max) = num_to_alloc; 03495 } 03496 } 03497 /* %endif */ 03498 03499 /* %if-c-only */ 03500 /* %endif */ 03501 03502 /* %if-c-only */ 03503 /* %endif */ 03504 03505 /* %if-c-only */ 03506 /* %endif */ 03507 03508 /* %if-c-only */ 03509 /* %endif */ 03510 /* %if-c++-only */ 03511 void yyFlexLexer::yy_push_state( int new_state ) 03512 /* %endif */ 03513 { 03514 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) 03515 { 03516 yy_size_t new_size; 03517 03518 (yy_start_stack_depth) += YY_START_STACK_INCR; 03519 new_size = (yy_start_stack_depth) * sizeof( int ); 03520 03521 if ( ! (yy_start_stack) ) 03522 (yy_start_stack) = (int *) HolidayScanneralloc(new_size ); 03523 03524 else 03525 (yy_start_stack) = (int *) HolidayScannerrealloc((void *) (yy_start_stack),new_size ); 03526 03527 if ( ! (yy_start_stack) ) 03528 YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); 03529 } 03530 03531 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; 03532 03533 BEGIN(new_state); 03534 } 03535 03536 /* %if-c-only */ 03537 /* %endif */ 03538 /* %if-c++-only */ 03539 void yyFlexLexer::yy_pop_state() 03540 /* %endif */ 03541 { 03542 if ( --(yy_start_stack_ptr) < 0 ) 03543 YY_FATAL_ERROR( "start-condition stack underflow" ); 03544 03545 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); 03546 } 03547 03548 /* %if-c-only */ 03549 /* %endif */ 03550 /* %if-c++-only */ 03551 int yyFlexLexer::yy_top_state() 03552 /* %endif */ 03553 { 03554 return (yy_start_stack)[(yy_start_stack_ptr) - 1]; 03555 } 03556 03557 #ifndef YY_EXIT_FAILURE 03558 #define YY_EXIT_FAILURE 2 03559 #endif 03560 03561 /* %if-c-only */ 03562 /* %endif */ 03563 /* %if-c++-only */ 03564 void yyFlexLexer::LexerError( yyconst char msg[] ) 03565 { 03566 std::cerr << msg << std::endl; 03567 exit( YY_EXIT_FAILURE ); 03568 } 03569 /* %endif */ 03570 03571 /* Redefine yyless() so it works in section 3 code. */ 03572 03573 #undef yyless 03574 #define yyless(n) \ 03575 do \ 03576 { \ 03577 /* Undo effects of setting up yytext. */ \ 03578 int yyless_macro_arg = (n); \ 03579 YY_LESS_LINENO(yyless_macro_arg);\ 03580 yytext[yyleng] = (yy_hold_char); \ 03581 (yy_c_buf_p) = yytext + yyless_macro_arg; \ 03582 (yy_hold_char) = *(yy_c_buf_p); \ 03583 *(yy_c_buf_p) = '\0'; \ 03584 yyleng = yyless_macro_arg; \ 03585 } \ 03586 while ( 0 ) 03587 03588 /* Accessor methods (get/set functions) to struct members. */ 03589 03590 /* %if-c-only */ 03591 /* %if-reentrant */ 03592 /* %endif */ 03593 /* %if-reentrant */ 03594 /* %endif */ 03595 /* %endif */ 03596 03597 /* %if-reentrant */ 03598 /* %if-bison-bridge */ 03599 /* %endif */ 03600 /* %endif if-c-only */ 03601 03602 /* %if-c-only */ 03603 /* %endif */ 03604 03605 /* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */ 03606 /* %if-reentrant */ 03607 /* %endif */ 03608 /* %endif */ 03609 03610 /* 03611 * Internal utility routines. 03612 */ 03613 03614 #ifndef yytext_ptr 03615 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 03616 { 03617 register int i; 03618 for ( i = 0; i < n; ++i ) 03619 s1[i] = s2[i]; 03620 } 03621 #endif 03622 03623 #ifdef YY_NEED_STRLEN 03624 static int yy_flex_strlen (yyconst char * s ) 03625 { 03626 register int n; 03627 for ( n = 0; s[n]; ++n ) 03628 ; 03629 03630 return n; 03631 } 03632 #endif 03633 03634 void *HolidayScanneralloc (yy_size_t size ) 03635 { 03636 return (void *) malloc( size ); 03637 } 03638 03639 void *HolidayScannerrealloc (void * ptr, yy_size_t size ) 03640 { 03641 /* The cast to (char *) in the following accommodates both 03642 * implementations that use char* generic pointers, and those 03643 * that use void* generic pointers. It works with the latter 03644 * because both ANSI C and C++ allow castless assignment from 03645 * any pointer type to void*, and deal with argument conversions 03646 * as though doing an assignment. 03647 */ 03648 return (void *) realloc( (char *) ptr, size ); 03649 } 03650 03651 void HolidayScannerfree (void * ptr ) 03652 { 03653 free( (char *) ptr ); /* see HolidayScannerrealloc() for (char *) cast */ 03654 } 03655 03656 /* %if-tables-serialization definitions */ 03657 /* %define-yytables The name for this specific scanner's tables. */ 03658 #define YYTABLES_NAME "yytables" 03659 /* %endif */ 03660 03661 /* %ok-for-header */ 03662 03663 #line 322 "holidayscannerplan.lpp" 03664 03665 03666 03667 namespace KHolidays { 03668 03669 HolidayScannerPlan::HolidayScannerPlan(std::istream* in, std::ostream* out) 03670 : HolidayScannerFlexLexer(in, out) 03671 { 03672 } 03673 03674 HolidayScannerPlan::~HolidayScannerPlan() 03675 { 03676 } 03677 03678 void HolidayScannerPlan::set_debug(bool b) 03679 { 03680 yy_flex_debug = b; 03681 } 03682 03683 } // namespace KHolidays 03684 03685 /* This implementation of HolidayScannerFlexLexer::yylex() is required to fill the 03686 * vtable of the class HolidayScannerFlexLexer. We define the scanner's main yylex 03687 * function via YY_DECL to reside in the HolidayScannerPlan class instead. */ 03688 03689 #ifdef yylex 03690 #undef yylex 03691 #endif 03692 03693 int HolidayScannerFlexLexer::yylex() 03694 { 03695 kDebug() << "in HolidayScannerFlexLexer::yylex() !"; 03696 return 0; 03697 } 03698 03699 /* When the scanner receives an end-of-file indication from YY_INPUT, it then 03700 * checks the yywrap() function. If yywrap() returns false (zero), then it is 03701 * assumed that the function has gone ahead and set up `yyin' to point to 03702 * another input file, and scanning continues. If it returns true (non-zero), 03703 * then the scanner terminates, returning 0 to its caller. */ 03704 03705 int HolidayScannerFlexLexer::yywrap() 03706 { 03707 return 1; 03708 } 03709
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon Aug 27 2012 22:08:09 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon Aug 27 2012 22:08:09 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.