• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.8.3 API Reference
  • KDE Home
  • Contact Us
 

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 Apr 30 2012 21:48:30 by doxygen 1.8.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KHolidays Library

Skip menu "KHolidays Library"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Related Pages

kdepimlibs-4.8.3 API Reference

Skip menu "kdepimlibs-4.8.3 API Reference"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal