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

KHolidays Library

  • sources
  • kde-4.12
  • kdepimlibs
  • kholidays
  • parsers
  • plan2
holidayscannerplan.cpp
1 #line 2 "holidayscannerplan.cpp"
2 
3 #line 4 "holidayscannerplan.cpp"
4 
5 #define YY_INT_ALIGNED short int
6 
7 /* A lexical scanner generated by flex */
8 
9 /* %not-for-header */
10 
11 /* %if-c-only */
12 /* %if-not-reentrant */
13 /* %endif */
14 /* %endif */
15 /* %ok-for-header */
16 
17 #define FLEX_SCANNER
18 #define YY_FLEX_MAJOR_VERSION 2
19 #define YY_FLEX_MINOR_VERSION 5
20 #define YY_FLEX_SUBMINOR_VERSION 35
21 #if YY_FLEX_SUBMINOR_VERSION > 0
22 #define FLEX_BETA
23 #endif
24 
25 /* %if-c++-only */
26  /* The c++ scanner is a mess. The FlexLexer.h header file relies on the
27  * following macro. This is required in order to pass the c++-multiple-scanners
28  * test in the regression suite. We get reports that it breaks inheritance.
29  * We will address this in a future release of flex, or omit the C++ scanner
30  * altogether.
31  */
32  #define yyFlexLexer HolidayScannerFlexLexer
33 /* %endif */
34 
35 /* %if-c-only */
36 /* %endif */
37 
38 /* %if-c-only */
39 /* %endif */
40 
41 /* First, we deal with platform-specific or compiler-specific issues. */
42 
43 /* begin standard C headers. */
44 /* %if-c-only */
45 /* %endif */
46 
47 /* %if-tables-serialization */
48 /* %endif */
49 /* end standard C headers. */
50 
51 /* %if-c-or-c++ */
52 /* flex integer type definitions */
53 
54 #ifndef FLEXINT_H
55 #define FLEXINT_H
56 
57 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
58 
59 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
60 
61 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
62  * if you want the limit (max/min) macros for int types.
63  */
64 #ifndef __STDC_LIMIT_MACROS
65 #define __STDC_LIMIT_MACROS 1
66 #endif
67 
68 #include <inttypes.h>
69 typedef int8_t flex_int8_t;
70 typedef uint8_t flex_uint8_t;
71 typedef int16_t flex_int16_t;
72 typedef uint16_t flex_uint16_t;
73 typedef int32_t flex_int32_t;
74 typedef uint32_t flex_uint32_t;
75 #else
76 typedef signed char flex_int8_t;
77 typedef short int flex_int16_t;
78 typedef int flex_int32_t;
79 typedef unsigned char flex_uint8_t;
80 typedef unsigned short int flex_uint16_t;
81 typedef unsigned int flex_uint32_t;
82 #endif /* ! C99 */
83 
84 /* Limits of integral types. */
85 #ifndef INT8_MIN
86 #define INT8_MIN (-128)
87 #endif
88 #ifndef INT16_MIN
89 #define INT16_MIN (-32767-1)
90 #endif
91 #ifndef INT32_MIN
92 #define INT32_MIN (-2147483647-1)
93 #endif
94 #ifndef INT8_MAX
95 #define INT8_MAX (127)
96 #endif
97 #ifndef INT16_MAX
98 #define INT16_MAX (32767)
99 #endif
100 #ifndef INT32_MAX
101 #define INT32_MAX (2147483647)
102 #endif
103 #ifndef UINT8_MAX
104 #define UINT8_MAX (255U)
105 #endif
106 #ifndef UINT16_MAX
107 #define UINT16_MAX (65535U)
108 #endif
109 #ifndef UINT32_MAX
110 #define UINT32_MAX (4294967295U)
111 #endif
112 
113 #endif /* ! FLEXINT_H */
114 
115 /* %endif */
116 
117 /* %if-c++-only */
118 /* begin standard C++ headers. */
119 #include <iostream>
120 #include <errno.h>
121 #include <cstdlib>
122 #include <cstring>
123 #include <cstdio>
124 /* end standard C++ headers. */
125 /* %endif */
126 
127 #ifdef __cplusplus
128 
129 /* The "const" storage-class-modifier is valid. */
130 #define YY_USE_CONST
131 
132 #else /* ! __cplusplus */
133 
134 /* C99 requires __STDC__ to be defined as 1. */
135 #if defined (__STDC__)
136 
137 #define YY_USE_CONST
138 
139 #endif /* defined (__STDC__) */
140 #endif /* ! __cplusplus */
141 
142 #ifdef YY_USE_CONST
143 #define yyconst const
144 #else
145 #define yyconst
146 #endif
147 
148 /* %not-for-header */
149 
150 /* Returned upon end-of-file. */
151 #define YY_NULL 0
152 /* %ok-for-header */
153 
154 /* %not-for-header */
155 
156 /* Promotes a possibly negative, possibly signed char to an unsigned
157  * integer for use as an array index. If the signed char is negative,
158  * we want to instead treat it as an 8-bit unsigned char, hence the
159  * double cast.
160  */
161 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
162 /* %ok-for-header */
163 
164 /* %if-reentrant */
165 /* %endif */
166 
167 /* %if-not-reentrant */
168 
169 /* %endif */
170 
171 /* Enter a start condition. This macro really ought to take a parameter,
172  * but we do it the disgusting crufty way forced on us by the ()-less
173  * definition of BEGIN.
174  */
175 #define BEGIN (yy_start) = 1 + 2 *
176 
177 /* Translate the current start state into a value that can be later handed
178  * to BEGIN to return to the state. The YYSTATE alias is for lex
179  * compatibility.
180  */
181 #define YY_START (((yy_start) - 1) / 2)
182 #define YYSTATE YY_START
183 
184 /* Action number for EOF rule of a given start state. */
185 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
186 
187 /* Special action meaning "start processing a new file". */
188 #define YY_NEW_FILE yyrestart( yyin )
189 
190 #define YY_END_OF_BUFFER_CHAR 0
191 
192 /* Size of default input buffer. */
193 #ifndef YY_BUF_SIZE
194 #define YY_BUF_SIZE 16384
195 #endif
196 
197 /* The state buf must be large enough to hold one state per character in the main buffer.
198  */
199 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
200 
201 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
202 #define YY_TYPEDEF_YY_BUFFER_STATE
203 typedef struct yy_buffer_state *YY_BUFFER_STATE;
204 #endif
205 
206 /* %if-not-reentrant */
207 extern int yyleng;
208 /* %endif */
209 
210 /* %if-c-only */
211 /* %if-not-reentrant */
212 /* %endif */
213 /* %endif */
214 
215 #define EOB_ACT_CONTINUE_SCAN 0
216 #define EOB_ACT_END_OF_FILE 1
217 #define EOB_ACT_LAST_MATCH 2
218 
219  #define YY_LESS_LINENO(n)
220 
221 /* Return all but the first "n" matched characters back to the input stream. */
222 #define yyless(n) \
223  do \
224  { \
225  /* Undo effects of setting up yytext. */ \
226  int yyless_macro_arg = (n); \
227  YY_LESS_LINENO(yyless_macro_arg);\
228  *yy_cp = (yy_hold_char); \
229  YY_RESTORE_YY_MORE_OFFSET \
230  (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
231  YY_DO_BEFORE_ACTION; /* set up yytext again */ \
232  } \
233  while ( 0 )
234 
235 #define unput(c) yyunput( c, (yytext_ptr) )
236 
237 #ifndef YY_TYPEDEF_YY_SIZE_T
238 #define YY_TYPEDEF_YY_SIZE_T
239 typedef size_t yy_size_t;
240 #endif
241 
242 #ifndef YY_STRUCT_YY_BUFFER_STATE
243 #define YY_STRUCT_YY_BUFFER_STATE
244 struct yy_buffer_state
245  {
246 /* %if-c-only */
247 /* %endif */
248 
249 /* %if-c++-only */
250  std::istream* yy_input_file;
251 /* %endif */
252 
253  char *yy_ch_buf; /* input buffer */
254  char *yy_buf_pos; /* current position in input buffer */
255 
256  /* Size of input buffer in bytes, not including room for EOB
257  * characters.
258  */
259  yy_size_t yy_buf_size;
260 
261  /* Number of characters read into yy_ch_buf, not including EOB
262  * characters.
263  */
264  int yy_n_chars;
265 
266  /* Whether we "own" the buffer - i.e., we know we created it,
267  * and can realloc() it to grow it, and should free() it to
268  * delete it.
269  */
270  int yy_is_our_buffer;
271 
272  /* Whether this is an "interactive" input source; if so, and
273  * if we're using stdio for input, then we want to use getc()
274  * instead of fread(), to make sure we stop fetching input after
275  * each newline.
276  */
277  int yy_is_interactive;
278 
279  /* Whether we're considered to be at the beginning of a line.
280  * If so, '^' rules will be active on the next match, otherwise
281  * not.
282  */
283  int yy_at_bol;
284 
285  int yy_bs_lineno;
286  int yy_bs_column;
288  /* Whether to try to fill the input buffer when we reach the
289  * end of it.
290  */
291  int yy_fill_buffer;
292 
293  int yy_buffer_status;
294 
295 #define YY_BUFFER_NEW 0
296 #define YY_BUFFER_NORMAL 1
297  /* When an EOF's been seen but there's still some text to process
298  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
299  * shouldn't try reading from the input source any more. We might
300  * still have a bunch of tokens to match, though, because of
301  * possible backing-up.
302  *
303  * When we actually see the EOF, we change the status to "new"
304  * (via yyrestart()), so that the user can continue scanning by
305  * just pointing yyin at a new input file.
306  */
307 #define YY_BUFFER_EOF_PENDING 2
308 
309  };
310 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
311 
312 /* %if-c-only Standard (non-C++) definition */
313 /* %not-for-header */
314 
315 /* %if-not-reentrant */
316 /* %endif */
317 /* %ok-for-header */
318 
319 /* %endif */
320 
321 /* We provide macros for accessing buffer states in case in the
322  * future we want to put the buffer states in a more general
323  * "scanner state".
324  *
325  * Returns the top of the stack, or NULL.
326  */
327 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
328  ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
329  : NULL)
330 
331 /* Same as previous macro, but useful when we know that the buffer stack is not
332  * NULL or when we need an lvalue. For internal use only.
333  */
334 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
335 
336 /* %if-c-only Standard (non-C++) definition */
337 /* %if-not-reentrant */
338 /* %not-for-header */
339 
340 /* %ok-for-header */
341 
342 /* %endif */
343 /* %endif */
344 
345 void *HolidayScanneralloc (yy_size_t );
346 void *HolidayScannerrealloc (void *,yy_size_t );
347 void HolidayScannerfree (void * );
348 
349 #define yy_new_buffer yy_create_buffer
350 
351 #define yy_set_interactive(is_interactive) \
352  { \
353  if ( ! YY_CURRENT_BUFFER ){ \
354  yyensure_buffer_stack (); \
355  YY_CURRENT_BUFFER_LVALUE = \
356  yy_create_buffer( yyin, YY_BUF_SIZE ); \
357  } \
358  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
359  }
360 
361 #define yy_set_bol(at_bol) \
362  { \
363  if ( ! YY_CURRENT_BUFFER ){\
364  yyensure_buffer_stack (); \
365  YY_CURRENT_BUFFER_LVALUE = \
366  yy_create_buffer( yyin, YY_BUF_SIZE ); \
367  } \
368  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
369  }
370 
371 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
372 
373 /* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
374 /* Begin user sect3 */
375 
376 #define FLEX_DEBUG
377 
378 typedef unsigned char YY_CHAR;
379 
380 #define yytext_ptr yytext
381 
382 #include <FlexLexer.h>
383 
384 /* %if-c-only Standard (non-C++) definition */
385 /* %endif */
386 
387 /* Done after the current pattern has been matched and before the
388  * corresponding action - sets up yytext.
389  */
390 #define YY_DO_BEFORE_ACTION \
391  (yytext_ptr) = yy_bp; \
392 /* %% [2.0] code to fiddle yytext and yyleng for yymore() goes here \ */\
393  yyleng = (size_t) (yy_cp - yy_bp); \
394  (yy_hold_char) = *yy_cp; \
395  *yy_cp = '\0'; \
396 /* %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ */\
397  (yy_c_buf_p) = yy_cp;
398 
399 /* %% [4.0] data tables for the DFA and the user's section 1 definitions go here */
400 #define YY_NUM_RULES 201
401 #define YY_END_OF_BUFFER 202
402 /* This struct is not used in this scanner,
403  but its presence is necessary. */
404 struct yy_trans_info
405  {
406  flex_int32_t yy_verify;
407  flex_int32_t yy_nxt;
408  };
409 static yyconst flex_int16_t yy_accept[943] =
410  { 0,
411  0, 0, 202, 200, 3, 4, 5, 200, 200, 5,
412  200, 10, 10, 10, 10, 10, 10, 41, 200, 42,
413  200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
414  200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
415  200, 200, 200, 200, 5, 3, 4, 38, 0, 11,
416  0, 1, 43, 10, 0, 0, 0, 0, 0, 39,
417  37, 40, 0, 0, 0, 0, 0, 0, 0, 0,
418  0, 129, 0, 0, 0, 0, 0, 0, 0, 0,
419  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421 
422  0, 0, 18, 17, 0, 0, 0, 0, 0, 0,
423  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424  0, 0, 0, 0, 15, 0, 0, 0, 0, 0,
425  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426  0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
427  0, 0, 0, 0, 0, 0, 44, 0, 2, 45,
428  46, 47, 48, 49, 0, 0, 0, 0, 51, 0,
429  115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430  0, 0, 0, 0, 13, 0, 190, 0, 0, 0,
431  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
432 
433  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
434  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
435  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436  0, 0, 61, 0, 0, 0, 0, 0, 0, 0,
437  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439  0, 0, 0, 0, 0, 0, 29, 113, 0, 0,
440  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441  0, 0, 0, 0, 0, 0, 0, 0, 102, 0,
442  0, 0, 0, 184, 0, 0, 0, 0, 0, 0,
443 
444  0, 0, 0, 0, 0, 0, 0, 0, 188, 124,
445  0, 0, 0, 0, 0, 0, 189, 0, 0, 0,
446  0, 32, 0, 0, 0, 0, 0, 34, 14, 0,
447  0, 0, 0, 117, 130, 87, 0, 0, 0, 0,
448  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
449  0, 0, 0, 0, 0, 0, 0, 126, 0, 0,
450  0, 63, 0, 0, 62, 0, 0, 0, 0, 0,
451  0, 0, 50, 0, 0, 0, 0, 171, 0, 0,
452  0, 187, 0, 0, 0, 0, 0, 0, 0, 0,
453  8, 0, 0, 52, 0, 0, 0, 0, 0, 0,
454 
455  0, 0, 0, 0, 0, 0, 0, 0, 0, 19,
456  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
457  0, 0, 0, 0, 107, 0, 0, 0, 0, 0,
458  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
459  0, 0, 0, 0, 0, 0, 0, 0, 0, 81,
460  0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
461  0, 0, 0, 0, 131, 54, 0, 60, 0, 0,
462  0, 0, 0, 0, 28, 0, 0, 0, 0, 0,
463  0, 0, 0, 0, 0, 0, 12, 0, 0, 49,
464  45, 0, 0, 0, 30, 0, 0, 108, 114, 0,
465 
466  0, 100, 0, 140, 0, 0, 0, 0, 0, 197,
467  0, 0, 0, 80, 0, 0, 0, 0, 0, 0,
468  0, 0, 0, 59, 0, 0, 0, 20, 0, 0,
469  0, 0, 0, 125, 0, 0, 0, 0, 0, 86,
470  78, 0, 0, 0, 0, 170, 0, 0, 0, 0,
471  0, 94, 93, 0, 0, 147, 0, 0, 142, 0,
472  0, 0, 111, 0, 0, 0, 0, 0, 0, 0,
473  27, 0, 123, 127, 21, 0, 0, 0, 0, 128,
474  0, 122, 47, 0, 0, 0, 0, 0, 0, 0,
475  0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
476 
477  0, 0, 132, 0, 0, 167, 64, 191, 53, 0,
478  0, 0, 0, 76, 0, 0, 0, 0, 24, 192,
479  0, 0, 0, 48, 73, 106, 0, 0, 79, 118,
480  0, 0, 180, 0, 56, 0, 0, 168, 0, 121,
481  0, 0, 0, 26, 0, 0, 0, 0, 82, 0,
482  88, 0, 69, 185, 0, 109, 0, 0, 0, 0,
483  0, 0, 0, 25, 0, 0, 90, 0, 0, 0,
484  116, 0, 0, 0, 0, 0, 46, 0, 0, 148,
485  0, 0, 198, 0, 0, 0, 0, 75, 101, 0,
486  77, 0, 0, 0, 0, 0, 0, 0, 0, 0,
487 
488  0, 0, 0, 0, 31, 0, 0, 0, 0, 0,
489  0, 0, 164, 0, 0, 0, 161, 6, 0, 0,
490  0, 0, 0, 0, 0, 0, 120, 0, 57, 0,
491  0, 183, 0, 0, 0, 104, 33, 0, 0, 0,
492  105, 0, 0, 66, 0, 110, 0, 0, 0, 85,
493  92, 172, 0, 0, 0, 0, 149, 179, 0, 0,
494  0, 0, 138, 0, 150, 0, 0, 0, 99, 0,
495  0, 0, 119, 0, 70, 0, 0, 36, 103, 0,
496  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
497  0, 0, 0, 0, 0, 0, 68, 0, 193, 0,
498 
499  0, 58, 0, 176, 0, 0, 0, 0, 7, 23,
500  112, 174, 98, 141, 67, 0, 0, 0, 84, 0,
501  91, 0, 0, 178, 74, 0, 194, 0, 165, 173,
502  0, 0, 0, 72, 96, 162, 0, 0, 0, 0,
503  0, 0, 0, 0, 0, 0, 135, 0, 133, 0,
504  0, 0, 166, 175, 0, 0, 97, 181, 55, 0,
505  0, 163, 0, 0, 0, 0, 95, 0, 0, 65,
506  186, 177, 0, 0, 71, 0, 0, 0, 0, 0,
507  0, 0, 199, 0, 139, 137, 0, 169, 0, 0,
508  0, 0, 0, 89, 0, 196, 83, 143, 0, 0,
509 
510  151, 0, 159, 0, 0, 0, 0, 158, 0, 134,
511  0, 9, 0, 0, 0, 182, 0, 152, 0, 155,
512  0, 157, 0, 136, 195, 0, 0, 0, 144, 0,
513  0, 0, 0, 145, 0, 154, 153, 156, 160, 0,
514  146, 0
515  } ;
516 
517 static yyconst flex_int32_t yy_ec[256] =
518  { 0,
519  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
520  1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
521  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522  1, 2, 4, 5, 6, 1, 7, 8, 1, 7,
523  7, 7, 7, 1, 7, 7, 7, 9, 10, 11,
524  12, 13, 14, 9, 9, 9, 9, 15, 1, 16,
525  17, 18, 7, 1, 19, 20, 21, 22, 23, 24,
526  25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
527  35, 36, 37, 38, 39, 40, 41, 1, 42, 43,
528  7, 1, 7, 1, 1, 1, 44, 45, 46, 47,
529 
530  48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
531  58, 59, 60, 61, 62, 63, 64, 65, 66, 1,
532  67, 68, 1, 69, 1, 1, 1, 1, 1, 1,
533  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
534  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
535  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
536  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
537  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
538  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
539  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
540 
541  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
542  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
543  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
544  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
545  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
546  1, 1, 1, 1, 1
547  } ;
548 
549 static yyconst flex_int32_t yy_meta[70] =
550  { 0,
551  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
552  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
553  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
554  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
555  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
556  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
557  1, 1, 1, 1, 1, 1, 1, 1, 1
558  } ;
559 
560 static yyconst flex_int16_t yy_base[946] =
561  { 0,
562  0, 298, 287, 1944, 281, 277, 261, 259, 241, 1944,
563  226, 61, 67, 73, 79, 85, 97, 215, 210, 168,
564  141, 94, 86, 99, 191, 197, 128, 160, 169, 155,
565  233, 102, 224, 242, 95, 282, 78, 248, 327, 373,
566  95, 247, 270, 103, 166, 166, 159, 1944, 150, 1944,
567  151, 1944, 1944, 329, 96, 148, 149, 156, 187, 1944,
568  1944, 1944, 195, 196, 185, 201, 232, 243, 277, 276,
569  282, 1944, 290, 284, 287, 304, 312, 302, 328, 318,
570  336, 317, 367, 324, 325, 325, 326, 345, 346, 347,
571  374, 365, 383, 384, 366, 380, 377, 387, 375, 385,
572 
573  418, 386, 1944, 396, 423, 414, 419, 428, 416, 420,
574  442, 417, 425, 441, 459, 457, 457, 460, 442, 459,
575  471, 463, 470, 464, 1944, 483, 511, 505, 487, 468,
576  519, 485, 511, 531, 517, 520, 517, 557, 566, 516,
577  560, 552, 563, 574, 586, 596, 575, 546, 570, 576,
578  582, 610, 601, 610, 626, 607, 1944, 133, 1944, 1944,
579  1944, 1944, 1944, 1944, 608, 605, 619, 624, 1944, 617,
580  1944, 631, 613, 623, 630, 629, 649, 652, 653, 652,
581  656, 641, 653, 656, 652, 667, 1944, 670, 666, 655,
582  672, 665, 665, 681, 675, 669, 666, 673, 673, 675,
583 
584  685, 700, 703, 703, 690, 702, 707, 699, 719, 713,
585  704, 715, 707, 725, 706, 729, 736, 726, 723, 714,
586  725, 736, 742, 745, 751, 740, 745, 757, 766, 746,
587  763, 769, 1944, 755, 773, 754, 775, 773, 778, 786,
588  786, 792, 793, 787, 799, 790, 799, 789, 801, 801,
589  809, 817, 802, 803, 810, 814, 808, 829, 817, 819,
590  822, 837, 832, 842, 843, 844, 1944, 1944, 853, 846,
591  837, 845, 847, 859, 845, 859, 868, 865, 871, 872,
592  873, 863, 876, 863, 880, 868, 867, 872, 1944, 889,
593  885, 889, 904, 1944, 900, 892, 906, 895, 896, 903,
594 
595  909, 901, 922, 924, 906, 907, 915, 935, 1944, 922,
596  914, 926, 929, 939, 935, 936, 1944, 957, 942, 943,
597  953, 1944, 964, 966, 950, 962, 952, 1944, 1944, 960,
598  956, 974, 971, 1944, 1944, 1944, 963, 966, 958, 983,
599  966, 980, 971, 973, 993, 988, 990, 990, 986, 1005,
600  992, 999, 1010, 999, 998, 1012, 1021, 1944, 1011, 1023,
601  1024, 1944, 1025, 1022, 1944, 1012, 1023, 1030, 1026, 1033,
602  1032, 1022, 1944, 1020, 1033, 1052, 1041, 1944, 1053, 1059,
603  1053, 1944, 1055, 1060, 1049, 1051, 1046, 1071, 1072, 1056,
604  1944, 1056, 1062, 1944, 1064, 1079, 1080, 1071, 1068, 1083,
605 
606  1086, 1080, 1079, 1095, 1089, 1097, 1093, 1109, 1104, 1944,
607  1112, 1102, 1096, 1099, 1108, 1121, 1121, 1120, 1124, 1108,
608  1105, 1113, 1118, 1119, 1944, 1132, 1137, 1142, 1123, 1151,
609  1131, 1135, 1136, 1140, 1147, 1152, 1143, 1166, 1169, 1170,
610  1147, 1168, 1154, 1171, 1155, 1165, 1162, 1164, 1175, 1944,
611  1183, 1180, 1186, 1188, 1189, 1183, 1192, 1204, 1944, 1200,
612  1195, 1203, 1212, 1206, 1206, 1944, 1219, 1944, 1214, 1209,
613  1204, 1211, 1221, 1226, 1944, 1209, 1214, 1216, 1234, 1220,
614  1239, 1234, 1230, 1235, 1250, 1239, 1944, 1240, 1259, 1944,
615  1944, 1253, 1240, 1245, 1944, 1249, 1269, 1944, 1944, 1253,
616 
617  1249, 1944, 1272, 1944, 1260, 1266, 1258, 1263, 1277, 1944,
618  1274, 1273, 1286, 1944, 1266, 1277, 1292, 1289, 1295, 1295,
619  1285, 1301, 1298, 1944, 1293, 1296, 1310, 1944, 1293, 1296,
620  1317, 1304, 1318, 1944, 1322, 1320, 1321, 1322, 1323, 1944,
621  1944, 1324, 1313, 1336, 1324, 1944, 1326, 1322, 1323, 1352,
622  1349, 1944, 1944, 1350, 1346, 1944, 1359, 1343, 1944, 1363,
623  1361, 1363, 1944, 1357, 1357, 1358, 1372, 1365, 1370, 1375,
624  1944, 1376, 1944, 1944, 1944, 1380, 1360, 1360, 1368, 1944,
625  1375, 1944, 1944, 1371, 1386, 1389, 1399, 1404, 1407, 1409,
626  1392, 1400, 1944, 1406, 1397, 1408, 1420, 1399, 1422, 1402,
627 
628  1406, 1422, 1944, 1402, 1431, 1944, 1944, 1944, 1944, 1421,
629  1437, 1422, 1442, 1944, 1420, 1448, 1438, 1453, 1944, 1944,
630  1449, 1456, 1443, 1944, 1944, 1944, 1455, 1447, 1944, 1944,
631  1453, 1456, 1944, 1447, 1944, 1471, 1453, 1944, 1470, 1944,
632  1474, 1469, 1476, 1944, 1461, 1481, 1470, 1465, 1944, 1483,
633  1944, 1490, 1944, 1944, 1492, 1944, 1489, 1485, 1496, 1491,
634  1507, 1495, 1491, 1944, 1495, 1494, 1944, 1503, 1500, 1507,
635  1944, 1521, 1509, 1523, 1507, 1525, 1944, 1525, 1529, 1944,
636  1512, 1512, 1944, 1525, 1524, 1525, 1543, 1944, 1944, 1533,
637  1944, 1545, 1546, 1557, 1536, 1550, 1540, 1554, 1563, 1566,
638 
639  1551, 1564, 1590, 1559, 1944, 1564, 1572, 1574, 1573, 1569,
640  1584, 1593, 1944, 1602, 1586, 1597, 1944, 1944, 1590, 1590,
641  1606, 1613, 1606, 1593, 1619, 1620, 1944, 1621, 1944, 1622,
642  1619, 1944, 1629, 1627, 1619, 1944, 1944, 1623, 1640, 1630,
643  1944, 1631, 1631, 1944, 1645, 1944, 1637, 1633, 1649, 1944,
644  1944, 1944, 1640, 1638, 1636, 1652, 1944, 1944, 1660, 1640,
645  1660, 1662, 1944, 1669, 1944, 1670, 1671, 1655, 1944, 1667,
646  1677, 1658, 1944, 1682, 1944, 1680, 1690, 1944, 1944, 1672,
647  1686, 1679, 1679, 1693, 1702, 1703, 1699, 1700, 1695, 1702,
648  1706, 1696, 1703, 1716, 1720, 1721, 1944, 1714, 1944, 1713,
649 
650  1717, 1944, 1718, 1944, 1717, 1726, 1740, 1728, 1944, 1944,
651  1944, 1944, 1944, 1944, 1944, 1725, 1747, 1745, 1944, 1737,
652  1944, 1752, 1753, 1944, 1944, 1737, 1944, 1740, 1944, 1944,
653  1758, 1750, 1760, 1944, 1944, 1944, 1740, 1753, 1766, 1768,
654  1763, 1759, 1772, 1775, 1776, 1763, 1944, 1773, 1944, 1779,
655  1783, 1792, 1944, 1944, 1780, 1784, 1944, 1944, 1944, 1791,
656  1800, 1944, 1783, 1796, 1800, 1792, 1944, 1797, 1809, 1944,
657  1944, 1944, 1810, 1806, 1944, 1814, 1813, 1812, 1808, 1810,
658  1814, 1811, 1944, 1824, 1944, 1944, 1828, 1944, 1836, 1827,
659  1828, 1821, 1841, 1944, 1830, 1944, 1944, 1944, 1837, 1845,
660 
661  1944, 1834, 1944, 1854, 1857, 1858, 1855, 1944, 1852, 1944,
662  1859, 1944, 1851, 1866, 1869, 1944, 1862, 1944, 1864, 1944,
663  1864, 1944, 1872, 1944, 1944, 1880, 1870, 1886, 1944, 1887,
664  1877, 1874, 1882, 1944, 1885, 1944, 1944, 1944, 1944, 1891,
665  1944, 1944, 102, 101, 99
666  } ;
667 
668 static yyconst flex_int16_t yy_def[946] =
669  { 0,
670  942, 1, 942, 942, 942, 942, 942, 943, 944, 942,
671  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
672  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
673  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
674  942, 942, 942, 942, 945, 942, 942, 942, 943, 942,
675  944, 942, 942, 942, 942, 942, 942, 942, 942, 942,
676  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
677  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
678  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
679  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
680 
681  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
682  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
683  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
684  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
685  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
686  942, 942, 942, 942, 942, 942, 942, 945, 942, 942,
687  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
688  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
689  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
690  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
691 
692  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
693  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
694  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
695  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
696  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
697  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
698  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
699  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
700  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
701  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
702 
703  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
704  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
705  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
706  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
707  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
708  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
709  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
710  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
711  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
712  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
713 
714  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
715  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
716  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
717  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
718  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
719  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
720  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
721  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
722  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
723  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
724 
725  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
726  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
727  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
728  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
729  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
730  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
731  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
732  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
733  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
734  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
735 
736  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
737  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
738  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
739  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
740  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
741  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
742  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
743  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
744  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
745  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
746 
747  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
748  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
749  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
750  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
751  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
752  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
753  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
754  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
755  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
756  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
757 
758  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
759  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
760  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
761  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
762  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
763  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
764  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
765  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
766  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
767  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
768 
769  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
770  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
771  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
772  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
773  942, 0, 942, 942, 942
774  } ;
775 
776 static yyconst flex_int16_t yy_nxt[2014] =
777  { 0,
778  4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
779  14, 15, 16, 17, 10, 18, 19, 20, 21, 22,
780  23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
781  33, 34, 35, 36, 37, 38, 39, 40, 4, 41,
782  42, 43, 4, 21, 22, 23, 24, 25, 26, 27,
783  28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
784  38, 39, 40, 4, 41, 42, 43, 4, 44, 54,
785  54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
786  54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
787  54, 54, 54, 54, 54, 54, 54, 54, 54, 158,
788 
789  133, 51, 49, 55, 56, 54, 54, 54, 54, 54,
790  54, 79, 74, 151, 57, 124, 75, 82, 80, 76,
791  113, 83, 58, 77, 114, 133, 125, 81, 55, 56,
792  126, 84, 78, 160, 59, 159, 79, 74, 151, 57,
793  124, 75, 82, 80, 76, 113, 83, 58, 77, 114,
794  97, 125, 81, 52, 50, 126, 84, 78, 160, 59,
795  63, 47, 64, 98, 65, 66, 99, 46, 159, 161,
796  162, 157, 67, 106, 68, 97, 69, 70, 100, 71,
797  72, 163, 101, 73, 62, 63, 102, 64, 98, 65,
798  66, 99, 103, 107, 161, 162, 108, 67, 106, 68,
799 
800  104, 69, 70, 100, 71, 72, 163, 101, 73, 85,
801  105, 102, 164, 165, 166, 92, 86, 103, 107, 93,
802  87, 108, 167, 94, 88, 104, 61, 89, 90, 95,
803  91, 60, 96, 53, 85, 105, 168, 164, 165, 166,
804  92, 86, 115, 52, 93, 87, 116, 167, 94, 88,
805  117, 109, 89, 90, 95, 91, 118, 96, 110, 111,
806  120, 168, 119, 50, 121, 112, 134, 115, 122, 152,
807  135, 116, 153, 169, 123, 117, 109, 48, 170, 47,
808  136, 118, 46, 110, 111, 120, 942, 119, 154, 121,
809  112, 134, 155, 122, 152, 135, 171, 153, 169, 123,
810 
811  127, 172, 156, 170, 128, 136, 173, 129, 174, 175,
812  176, 130, 45, 154, 942, 942, 942, 155, 131, 132,
813  942, 171, 177, 180, 942, 127, 172, 156, 942, 128,
814  178, 173, 129, 174, 175, 176, 130, 54, 54, 54,
815  54, 54, 54, 131, 132, 137, 181, 177, 180, 138,
816  179, 182, 139, 140, 184, 178, 183, 141, 185, 142,
817  189, 190, 942, 191, 192, 143, 942, 193, 942, 194,
818  137, 181, 195, 942, 138, 179, 182, 139, 140, 184,
819  942, 183, 141, 185, 142, 189, 190, 186, 191, 192,
820  143, 144, 193, 187, 194, 145, 196, 195, 146, 147,
821 
822  197, 148, 198, 188, 201, 149, 202, 199, 203, 204,
823  205, 150, 186, 211, 942, 206, 144, 212, 187, 200,
824  145, 196, 207, 146, 147, 197, 148, 198, 188, 201,
825  149, 202, 199, 203, 204, 205, 150, 208, 211, 209,
826  206, 213, 212, 214, 200, 215, 219, 207, 216, 217,
827  218, 220, 221, 942, 210, 224, 225, 942, 942, 227,
828  222, 226, 208, 942, 209, 942, 213, 240, 214, 942,
829  215, 219, 228, 216, 217, 218, 220, 221, 223, 210,
830  224, 225, 234, 229, 227, 222, 226, 230, 236, 241,
831  231, 238, 240, 235, 232, 239, 242, 228, 237, 243,
832 
833  233, 246, 244, 223, 247, 256, 257, 234, 229, 245,
834  942, 261, 230, 236, 241, 231, 238, 942, 235, 232,
835  239, 242, 942, 237, 243, 233, 246, 244, 254, 247,
836  256, 257, 262, 942, 245, 248, 261, 258, 267, 268,
837  269, 255, 249, 250, 259, 942, 251, 252, 270, 253,
838  263, 260, 942, 254, 271, 281, 942, 262, 264, 942,
839  248, 265, 258, 267, 268, 269, 255, 249, 250, 259,
840  266, 251, 252, 270, 253, 263, 260, 272, 282, 271,
841  281, 273, 283, 264, 277, 942, 265, 296, 274, 297,
842  275, 284, 278, 276, 285, 266, 942, 942, 298, 286,
843 
844  942, 279, 272, 282, 287, 280, 273, 283, 299, 277,
845  294, 295, 296, 274, 297, 275, 284, 278, 276, 285,
846  288, 289, 291, 298, 286, 290, 279, 302, 292, 287,
847  280, 300, 301, 299, 293, 294, 295, 308, 303, 309,
848  310, 311, 312, 313, 305, 288, 289, 291, 304, 314,
849  290, 316, 302, 292, 306, 307, 300, 301, 317, 293,
850  318, 319, 308, 303, 309, 310, 311, 312, 313, 305,
851  320, 315, 321, 304, 314, 322, 316, 323, 326, 306,
852  307, 324, 325, 317, 327, 318, 319, 328, 329, 330,
853  331, 332, 333, 334, 335, 320, 315, 321, 336, 337,
854 
855  322, 338, 323, 326, 339, 340, 324, 325, 341, 327,
856  342, 343, 328, 329, 330, 331, 332, 333, 334, 335,
857  344, 345, 346, 336, 337, 347, 338, 348, 349, 339,
858  340, 350, 352, 341, 353, 342, 343, 354, 355, 356,
859  351, 357, 358, 359, 360, 344, 345, 346, 365, 366,
860  347, 367, 348, 349, 363, 361, 350, 352, 364, 353,
861  368, 369, 354, 355, 356, 351, 357, 358, 359, 360,
862  362, 370, 371, 365, 366, 372, 367, 373, 374, 363,
863  361, 375, 379, 364, 376, 368, 369, 380, 377, 381,
864  382, 378, 386, 387, 388, 362, 370, 371, 383, 389,
865 
866  372, 384, 373, 374, 390, 385, 375, 379, 391, 376,
867  392, 393, 380, 377, 381, 382, 378, 386, 387, 388,
868  394, 395, 396, 383, 389, 397, 384, 398, 399, 390,
869  385, 402, 400, 391, 401, 392, 393, 404, 406, 403,
870  407, 408, 405, 409, 410, 394, 395, 396, 411, 412,
871  397, 413, 398, 399, 414, 415, 402, 400, 416, 401,
872  417, 418, 404, 406, 403, 407, 408, 405, 409, 410,
873  419, 420, 421, 411, 412, 422, 413, 423, 424, 414,
874  415, 425, 426, 416, 427, 417, 418, 428, 432, 433,
875  434, 435, 436, 429, 437, 419, 420, 421, 438, 430,
876 
877  422, 439, 423, 424, 440, 441, 425, 426, 431, 427,
878  442, 443, 428, 432, 433, 434, 435, 436, 429, 437,
879  444, 445, 446, 438, 430, 448, 439, 449, 450, 440,
880  441, 451, 452, 431, 453, 442, 443, 454, 455, 447,
881  456, 459, 457, 460, 461, 444, 445, 446, 465, 466,
882  448, 467, 449, 450, 458, 462, 451, 452, 468, 453,
883  469, 470, 454, 455, 447, 456, 459, 457, 460, 461,
884  463, 464, 471, 465, 466, 472, 467, 473, 474, 458,
885  462, 475, 476, 468, 477, 469, 470, 478, 479, 480,
886  481, 482, 483, 484, 485, 463, 464, 471, 486, 487,
887 
888  472, 488, 473, 474, 489, 490, 475, 476, 491, 477,
889  492, 493, 478, 479, 480, 481, 482, 483, 484, 485,
890  494, 495, 496, 486, 487, 497, 488, 498, 499, 489,
891  490, 500, 501, 491, 502, 492, 493, 503, 504, 505,
892  506, 507, 508, 509, 510, 494, 495, 496, 511, 512,
893  497, 513, 498, 499, 514, 515, 500, 501, 516, 502,
894  517, 518, 503, 504, 505, 506, 507, 508, 509, 510,
895  519, 520, 521, 511, 512, 522, 513, 523, 524, 514,
896  515, 525, 526, 516, 527, 517, 518, 528, 529, 530,
897  531, 532, 533, 534, 535, 519, 520, 521, 536, 537,
898 
899  522, 538, 523, 524, 539, 540, 525, 526, 541, 527,
900  542, 543, 528, 529, 530, 531, 532, 533, 534, 535,
901  544, 545, 546, 536, 537, 547, 538, 548, 549, 539,
902  540, 550, 551, 541, 552, 542, 543, 553, 554, 555,
903  556, 557, 558, 559, 560, 544, 545, 546, 561, 562,
904  547, 563, 548, 549, 564, 565, 550, 551, 568, 552,
905  566, 567, 553, 554, 555, 556, 557, 558, 559, 560,
906  569, 570, 571, 561, 562, 572, 563, 573, 574, 564,
907  565, 575, 576, 568, 577, 566, 567, 578, 579, 580,
908  581, 582, 583, 584, 585, 569, 570, 571, 586, 587,
909 
910  572, 588, 573, 574, 589, 590, 575, 576, 591, 577,
911  592, 593, 578, 579, 580, 581, 582, 583, 584, 585,
912  594, 595, 596, 586, 587, 597, 588, 598, 599, 589,
913  590, 602, 603, 591, 600, 592, 593, 604, 601, 605,
914  606, 607, 608, 609, 610, 594, 595, 596, 611, 612,
915  597, 613, 598, 599, 614, 615, 602, 603, 616, 600,
916  617, 618, 604, 601, 605, 606, 607, 608, 609, 610,
917  619, 620, 621, 611, 612, 622, 613, 623, 624, 614,
918  615, 625, 626, 616, 627, 617, 618, 628, 629, 630,
919  631, 632, 633, 634, 635, 619, 620, 621, 636, 637,
920 
921  622, 638, 623, 624, 639, 640, 625, 626, 641, 627,
922  642, 643, 628, 629, 630, 631, 632, 633, 634, 635,
923  644, 645, 646, 636, 637, 647, 638, 648, 649, 639,
924  640, 650, 651, 641, 652, 642, 643, 653, 654, 655,
925  656, 657, 658, 659, 660, 644, 645, 646, 661, 662,
926  647, 663, 648, 649, 664, 665, 650, 651, 666, 652,
927  667, 668, 653, 654, 655, 656, 657, 658, 659, 660,
928  669, 670, 671, 661, 662, 672, 663, 673, 674, 664,
929  665, 675, 676, 666, 677, 667, 668, 678, 679, 680,
930  681, 682, 683, 684, 685, 669, 670, 671, 686, 687,
931 
932  672, 688, 673, 674, 689, 690, 675, 676, 691, 677,
933  694, 692, 678, 679, 680, 681, 682, 683, 684, 685,
934  693, 695, 696, 686, 687, 697, 688, 698, 699, 689,
935  690, 700, 701, 691, 702, 694, 692, 703, 704, 705,
936  706, 707, 708, 712, 709, 693, 695, 696, 710, 713,
937  697, 711, 698, 699, 714, 715, 700, 701, 716, 702,
938  717, 718, 703, 704, 705, 706, 707, 708, 712, 709,
939  719, 720, 721, 710, 713, 722, 711, 723, 724, 714,
940  715, 725, 726, 716, 727, 717, 718, 728, 729, 730,
941  731, 732, 733, 734, 735, 719, 720, 721, 736, 737,
942 
943  722, 738, 723, 724, 739, 740, 725, 726, 741, 727,
944  742, 743, 728, 729, 730, 731, 732, 733, 734, 735,
945  744, 745, 746, 736, 737, 747, 738, 748, 749, 739,
946  740, 750, 751, 741, 752, 742, 743, 753, 754, 755,
947  757, 758, 759, 760, 761, 744, 745, 746, 762, 763,
948  747, 764, 748, 749, 765, 766, 750, 751, 756, 752,
949  767, 768, 753, 754, 755, 757, 758, 759, 760, 761,
950  769, 770, 771, 762, 763, 772, 764, 773, 774, 765,
951  766, 775, 776, 756, 777, 767, 768, 778, 779, 780,
952  786, 942, 942, 942, 787, 769, 770, 771, 788, 789,
953 
954  772, 942, 773, 774, 790, 791, 775, 776, 781, 777,
955  792, 793, 778, 779, 780, 786, 782, 783, 784, 787,
956  794, 795, 796, 788, 789, 797, 785, 798, 799, 790,
957  791, 800, 801, 781, 802, 792, 793, 803, 804, 805,
958  806, 782, 783, 784, 807, 794, 795, 796, 808, 809,
959  797, 785, 798, 799, 810, 811, 800, 801, 812, 802,
960  813, 814, 803, 804, 805, 806, 815, 816, 817, 807,
961  818, 819, 820, 808, 809, 821, 822, 823, 824, 810,
962  811, 825, 826, 812, 827, 813, 814, 828, 829, 830,
963  831, 815, 816, 817, 832, 818, 819, 820, 833, 834,
964 
965  821, 822, 823, 824, 835, 836, 825, 826, 837, 827,
966  838, 839, 828, 829, 830, 831, 841, 842, 843, 832,
967  844, 840, 845, 833, 834, 846, 847, 848, 849, 835,
968  836, 850, 851, 837, 852, 838, 839, 853, 854, 855,
969  856, 841, 842, 843, 857, 844, 840, 845, 858, 859,
970  846, 847, 848, 849, 860, 861, 850, 851, 862, 852,
971  863, 864, 853, 854, 855, 856, 865, 866, 867, 857,
972  868, 869, 870, 858, 859, 871, 872, 873, 874, 860,
973  861, 875, 876, 862, 877, 863, 864, 878, 879, 880,
974  881, 865, 866, 867, 882, 868, 869, 870, 883, 884,
975 
976  871, 872, 873, 874, 885, 886, 875, 876, 887, 877,
977  888, 889, 878, 879, 880, 881, 890, 891, 892, 882,
978  894, 895, 896, 883, 884, 897, 898, 899, 900, 885,
979  886, 901, 902, 887, 903, 888, 889, 893, 904, 905,
980  906, 890, 891, 892, 907, 894, 895, 896, 908, 909,
981  897, 898, 899, 900, 910, 911, 901, 902, 912, 903,
982  913, 914, 893, 904, 905, 906, 915, 916, 917, 907,
983  918, 919, 920, 908, 909, 921, 922, 923, 924, 910,
984  911, 925, 926, 912, 927, 913, 914, 928, 929, 930,
985  931, 915, 916, 917, 932, 918, 919, 920, 933, 934,
986 
987  921, 922, 923, 924, 935, 936, 925, 926, 937, 927,
988  938, 939, 928, 929, 930, 931, 940, 941, 942, 932,
989  942, 942, 942, 933, 934, 942, 942, 942, 942, 935,
990  936, 942, 942, 937, 942, 938, 939, 942, 942, 942,
991  942, 940, 941, 3, 942, 942, 942, 942, 942, 942,
992  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
993  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
994  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
995  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
996  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
997 
998  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
999  942, 942, 942
1000  } ;
1001 
1002 static yyconst flex_int16_t yy_chk[2014] =
1003  { 0,
1004  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1005  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1006  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1007  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1008  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1009  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1010  1, 1, 1, 1, 1, 1, 1, 1, 1, 12,
1011  12, 12, 12, 12, 12, 13, 13, 13, 13, 13,
1012  13, 14, 14, 14, 14, 14, 14, 15, 15, 15,
1013  15, 15, 15, 16, 16, 16, 16, 16, 16, 945,
1014 
1015  37, 944, 943, 13, 14, 17, 17, 17, 17, 17,
1016  17, 23, 22, 41, 15, 35, 22, 24, 23, 22,
1017  32, 24, 16, 22, 32, 37, 35, 23, 13, 14,
1018  35, 24, 22, 55, 17, 158, 23, 22, 41, 15,
1019  35, 22, 24, 23, 22, 32, 24, 16, 22, 32,
1020  27, 35, 23, 51, 49, 35, 24, 22, 55, 17,
1021  21, 47, 21, 27, 21, 21, 27, 46, 45, 56,
1022  57, 44, 21, 30, 21, 27, 21, 21, 28, 21,
1023  21, 58, 28, 21, 20, 21, 28, 21, 27, 21,
1024  21, 27, 29, 30, 56, 57, 30, 21, 30, 21,
1025 
1026  29, 21, 21, 28, 21, 21, 58, 28, 21, 25,
1027  29, 28, 59, 63, 64, 26, 25, 29, 30, 26,
1028  25, 30, 65, 26, 25, 29, 19, 25, 25, 26,
1029  25, 18, 26, 11, 25, 29, 66, 59, 63, 64,
1030  26, 25, 33, 9, 26, 25, 33, 65, 26, 25,
1031  33, 31, 25, 25, 26, 25, 33, 26, 31, 31,
1032  34, 66, 33, 8, 34, 31, 38, 33, 34, 42,
1033  38, 33, 42, 67, 34, 33, 31, 7, 68, 6,
1034  38, 33, 5, 31, 31, 34, 3, 33, 43, 34,
1035  31, 38, 43, 34, 42, 38, 69, 42, 67, 34,
1036 
1037  36, 70, 43, 68, 36, 38, 71, 36, 73, 74,
1038  75, 36, 2, 43, 0, 0, 0, 43, 36, 36,
1039  0, 69, 76, 78, 0, 36, 70, 43, 0, 36,
1040  77, 71, 36, 73, 74, 75, 36, 54, 54, 54,
1041  54, 54, 54, 36, 36, 39, 79, 76, 78, 39,
1042  77, 80, 39, 39, 81, 77, 80, 39, 82, 39,
1043  84, 85, 0, 86, 87, 39, 0, 88, 0, 89,
1044  39, 79, 90, 0, 39, 77, 80, 39, 39, 81,
1045  0, 80, 39, 82, 39, 84, 85, 83, 86, 87,
1046  39, 40, 88, 83, 89, 40, 91, 90, 40, 40,
1047 
1048  92, 40, 93, 83, 95, 40, 96, 94, 97, 98,
1049  99, 40, 83, 102, 0, 100, 40, 104, 83, 94,
1050  40, 91, 100, 40, 40, 92, 40, 93, 83, 95,
1051  40, 96, 94, 97, 98, 99, 40, 101, 102, 101,
1052  100, 105, 104, 106, 94, 106, 108, 100, 107, 107,
1053  107, 109, 110, 0, 101, 112, 113, 0, 0, 114,
1054  111, 113, 101, 0, 101, 0, 105, 119, 106, 0,
1055  106, 108, 114, 107, 107, 107, 109, 110, 111, 101,
1056  112, 113, 116, 115, 114, 111, 113, 115, 117, 120,
1057  115, 118, 119, 116, 115, 118, 121, 114, 117, 122,
1058 
1059  115, 124, 123, 111, 126, 129, 130, 116, 115, 123,
1060  0, 132, 115, 117, 120, 115, 118, 0, 116, 115,
1061  118, 121, 0, 117, 122, 115, 124, 123, 128, 126,
1062  129, 130, 133, 0, 123, 127, 132, 131, 135, 136,
1063  137, 128, 127, 127, 131, 0, 127, 127, 137, 127,
1064  134, 131, 0, 128, 137, 140, 0, 133, 134, 0,
1065  127, 134, 131, 135, 136, 137, 128, 127, 127, 131,
1066  134, 127, 127, 137, 127, 134, 131, 138, 141, 137,
1067  140, 138, 142, 134, 139, 0, 134, 148, 138, 149,
1068  138, 143, 139, 138, 143, 134, 0, 0, 150, 144,
1069 
1070  0, 139, 138, 141, 144, 139, 138, 142, 151, 139,
1071  147, 147, 148, 138, 149, 138, 143, 139, 138, 143,
1072  145, 145, 146, 150, 144, 145, 139, 153, 146, 144,
1073  139, 152, 152, 151, 146, 147, 147, 156, 154, 165,
1074  166, 167, 168, 170, 155, 145, 145, 146, 154, 172,
1075  145, 173, 153, 146, 155, 155, 152, 152, 174, 146,
1076  175, 176, 156, 154, 165, 166, 167, 168, 170, 155,
1077  177, 172, 178, 154, 172, 179, 173, 180, 182, 155,
1078  155, 181, 181, 174, 183, 175, 176, 184, 185, 186,
1079  188, 189, 190, 191, 192, 177, 172, 178, 193, 194,
1080 
1081  179, 195, 180, 182, 196, 197, 181, 181, 198, 183,
1082  199, 200, 184, 185, 186, 188, 189, 190, 191, 192,
1083  201, 202, 203, 193, 194, 204, 195, 204, 205, 196,
1084  197, 206, 207, 198, 208, 199, 200, 209, 210, 211,
1085  206, 212, 213, 214, 215, 201, 202, 203, 218, 219,
1086  204, 220, 204, 205, 217, 216, 206, 207, 217, 208,
1087  221, 222, 209, 210, 211, 206, 212, 213, 214, 215,
1088  216, 223, 224, 218, 219, 225, 220, 226, 227, 217,
1089  216, 228, 230, 217, 229, 221, 222, 231, 229, 232,
1090  234, 229, 236, 237, 238, 216, 223, 224, 235, 239,
1091 
1092  225, 235, 226, 227, 240, 235, 228, 230, 241, 229,
1093  242, 243, 231, 229, 232, 234, 229, 236, 237, 238,
1094  244, 245, 246, 235, 239, 247, 235, 248, 249, 240,
1095  235, 251, 250, 241, 250, 242, 243, 252, 253, 251,
1096  254, 255, 252, 256, 257, 244, 245, 246, 258, 259,
1097  247, 260, 248, 249, 261, 262, 251, 250, 263, 250,
1098  264, 265, 252, 253, 251, 254, 255, 252, 256, 257,
1099  266, 269, 270, 258, 259, 271, 260, 272, 273, 261,
1100  262, 274, 275, 263, 276, 264, 265, 277, 278, 279,
1101  280, 281, 282, 277, 283, 266, 269, 270, 284, 277,
1102 
1103  271, 285, 272, 273, 286, 287, 274, 275, 277, 276,
1104  288, 290, 277, 278, 279, 280, 281, 282, 277, 283,
1105  291, 292, 293, 284, 277, 295, 285, 296, 297, 286,
1106  287, 298, 299, 277, 300, 288, 290, 301, 302, 293,
1107  303, 305, 304, 306, 307, 291, 292, 293, 310, 311,
1108  295, 312, 296, 297, 304, 308, 298, 299, 313, 300,
1109  314, 315, 301, 302, 293, 303, 305, 304, 306, 307,
1110  308, 308, 316, 310, 311, 318, 312, 319, 320, 304,
1111  308, 321, 323, 313, 324, 314, 315, 325, 326, 327,
1112  330, 331, 332, 333, 337, 308, 308, 316, 338, 339,
1113 
1114  318, 340, 319, 320, 341, 342, 321, 323, 343, 324,
1115  344, 345, 325, 326, 327, 330, 331, 332, 333, 337,
1116  346, 347, 348, 338, 339, 349, 340, 350, 351, 341,
1117  342, 352, 353, 343, 354, 344, 345, 355, 356, 357,
1118  359, 360, 361, 363, 364, 346, 347, 348, 366, 367,
1119  349, 368, 350, 351, 369, 370, 352, 353, 371, 354,
1120  372, 374, 355, 356, 357, 359, 360, 361, 363, 364,
1121  375, 376, 377, 366, 367, 379, 368, 380, 381, 369,
1122  370, 383, 384, 371, 385, 372, 374, 386, 387, 388,
1123  389, 390, 392, 393, 395, 375, 376, 377, 396, 397,
1124 
1125  379, 398, 380, 381, 399, 400, 383, 384, 401, 385,
1126  402, 403, 386, 387, 388, 389, 390, 392, 393, 395,
1127  404, 405, 406, 396, 397, 407, 398, 408, 409, 399,
1128  400, 411, 412, 401, 413, 402, 403, 414, 415, 416,
1129  417, 418, 419, 420, 421, 404, 405, 406, 422, 423,
1130  407, 424, 408, 409, 426, 427, 411, 412, 429, 413,
1131  428, 428, 414, 415, 416, 417, 418, 419, 420, 421,
1132  430, 431, 432, 422, 423, 433, 424, 434, 435, 426,
1133  427, 436, 437, 429, 438, 428, 428, 439, 440, 441,
1134  442, 443, 444, 445, 446, 430, 431, 432, 447, 448,
1135 
1136  433, 449, 434, 435, 451, 452, 436, 437, 453, 438,
1137  454, 455, 439, 440, 441, 442, 443, 444, 445, 446,
1138  456, 457, 458, 447, 448, 460, 449, 461, 462, 451,
1139  452, 464, 465, 453, 463, 454, 455, 467, 463, 469,
1140  470, 471, 472, 473, 474, 456, 457, 458, 476, 477,
1141  460, 478, 461, 462, 479, 480, 464, 465, 481, 463,
1142  482, 483, 467, 463, 469, 470, 471, 472, 473, 474,
1143  484, 485, 486, 476, 477, 488, 478, 489, 492, 479,
1144  480, 493, 494, 481, 496, 482, 483, 497, 500, 501,
1145  503, 505, 506, 507, 508, 484, 485, 486, 509, 511,
1146 
1147  488, 512, 489, 492, 513, 515, 493, 494, 516, 496,
1148  517, 518, 497, 500, 501, 503, 505, 506, 507, 508,
1149  519, 520, 521, 509, 511, 522, 512, 523, 525, 513,
1150  515, 526, 527, 516, 529, 517, 518, 530, 531, 532,
1151  533, 535, 536, 537, 538, 519, 520, 521, 539, 542,
1152  522, 543, 523, 525, 544, 545, 526, 527, 547, 529,
1153  548, 549, 530, 531, 532, 533, 535, 536, 537, 538,
1154  550, 551, 554, 539, 542, 555, 543, 557, 558, 544,
1155  545, 560, 561, 547, 562, 548, 549, 564, 565, 566,
1156  567, 568, 569, 570, 572, 550, 551, 554, 576, 577,
1157 
1158  555, 578, 557, 558, 579, 581, 560, 561, 584, 562,
1159  586, 585, 564, 565, 566, 567, 568, 569, 570, 572,
1160  585, 587, 588, 576, 577, 589, 578, 590, 591, 579,
1161  581, 592, 594, 584, 595, 586, 585, 596, 597, 598,
1162  599, 600, 601, 604, 602, 585, 587, 588, 602, 605,
1163  589, 602, 590, 591, 610, 611, 592, 594, 612, 595,
1164  613, 615, 596, 597, 598, 599, 600, 601, 604, 602,
1165  616, 617, 618, 602, 605, 621, 602, 622, 623, 610,
1166  611, 627, 628, 612, 631, 613, 615, 632, 634, 636,
1167  637, 639, 641, 642, 643, 616, 617, 618, 645, 646,
1168 
1169  621, 647, 622, 623, 648, 650, 627, 628, 652, 631,
1170  655, 657, 632, 634, 636, 637, 639, 641, 642, 643,
1171  658, 659, 660, 645, 646, 661, 647, 662, 663, 648,
1172  650, 665, 666, 652, 668, 655, 657, 669, 670, 672,
1173  673, 674, 675, 676, 678, 658, 659, 660, 679, 681,
1174  661, 682, 662, 663, 684, 685, 665, 666, 672, 668,
1175  686, 687, 669, 670, 672, 673, 674, 675, 676, 678,
1176  690, 692, 693, 679, 681, 694, 682, 695, 696, 684,
1177  685, 697, 698, 672, 699, 686, 687, 700, 701, 702,
1178  704, 0, 0, 0, 706, 690, 692, 693, 707, 708,
1179 
1180  694, 0, 695, 696, 709, 710, 697, 698, 703, 699,
1181  711, 712, 700, 701, 702, 704, 703, 703, 703, 706,
1182  714, 715, 716, 707, 708, 719, 703, 720, 721, 709,
1183  710, 722, 723, 703, 724, 711, 712, 725, 726, 728,
1184  730, 703, 703, 703, 731, 714, 715, 716, 733, 734,
1185  719, 703, 720, 721, 735, 738, 722, 723, 739, 724,
1186  740, 742, 725, 726, 728, 730, 743, 745, 747, 731,
1187  748, 749, 753, 733, 734, 754, 755, 756, 759, 735,
1188  738, 760, 761, 739, 762, 740, 742, 764, 766, 767,
1189  768, 743, 745, 747, 770, 748, 749, 753, 771, 772,
1190 
1191  754, 755, 756, 759, 774, 776, 760, 761, 777, 762,
1192  780, 781, 764, 766, 767, 768, 782, 783, 784, 770,
1193  785, 781, 786, 771, 772, 787, 788, 789, 790, 774,
1194  776, 791, 792, 777, 793, 780, 781, 794, 795, 796,
1195  798, 782, 783, 784, 800, 785, 781, 786, 801, 803,
1196  787, 788, 789, 790, 805, 806, 791, 792, 807, 793,
1197  808, 816, 794, 795, 796, 798, 817, 818, 820, 800,
1198  822, 823, 826, 801, 803, 828, 831, 832, 833, 805,
1199  806, 837, 838, 807, 839, 808, 816, 840, 841, 842,
1200  843, 817, 818, 820, 844, 822, 823, 826, 845, 846,
1201 
1202  828, 831, 832, 833, 848, 850, 837, 838, 851, 839,
1203  852, 855, 840, 841, 842, 843, 856, 860, 861, 844,
1204  863, 864, 865, 845, 846, 866, 868, 869, 873, 848,
1205  850, 874, 876, 851, 877, 852, 855, 861, 878, 879,
1206  880, 856, 860, 861, 881, 863, 864, 865, 882, 884,
1207  866, 868, 869, 873, 887, 889, 874, 876, 890, 877,
1208  891, 892, 861, 878, 879, 880, 893, 895, 899, 881,
1209  900, 902, 904, 882, 884, 905, 906, 907, 909, 887,
1210  889, 911, 913, 890, 914, 891, 892, 915, 917, 919,
1211  921, 893, 895, 899, 923, 900, 902, 904, 926, 927,
1212 
1213  905, 906, 907, 909, 928, 930, 911, 913, 931, 914,
1214  932, 933, 915, 917, 919, 921, 935, 940, 0, 923,
1215  0, 0, 0, 926, 927, 0, 0, 0, 0, 928,
1216  930, 0, 0, 931, 0, 932, 933, 0, 0, 0,
1217  0, 935, 940, 942, 942, 942, 942, 942, 942, 942,
1218  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
1219  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
1220  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
1221  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
1222  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
1223 
1224  942, 942, 942, 942, 942, 942, 942, 942, 942, 942,
1225  942, 942, 942
1226  } ;
1227 
1228 static yyconst flex_int16_t yy_rule_linenum[201] =
1229  { 0,
1230  89, 90, 91, 92, 93, 95, 96, 97, 98, 100,
1231  102, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1232  115, 116, 117, 118, 119, 120, 121, 123, 124, 125,
1233  126, 127, 128, 129, 130, 131, 133, 134, 135, 136,
1234  137, 138, 139, 140, 142, 143, 144, 145, 146, 147,
1235  148, 149, 151, 152, 154, 155, 157, 158, 159, 160,
1236  161, 162, 163, 164, 165, 166, 167, 168, 170, 171,
1237  172, 173, 174, 175, 176, 178, 180, 181, 182, 183,
1238  184, 185, 186, 187, 188, 189, 190, 191, 192, 194,
1239  195, 196, 197, 198, 199, 200, 202, 204, 205, 206,
1240 
1241  207, 208, 209, 210, 211, 212, 213, 214, 215, 216,
1242  218, 219, 220, 221, 222, 223, 224, 226, 228, 229,
1243  230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
1244  240, 241, 243, 244, 245, 246, 247, 248, 249, 251,
1245  253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1246  263, 264, 266, 267, 268, 269, 270, 271, 272, 274,
1247  276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
1248  286, 287, 289, 290, 291, 292, 293, 294, 295, 297,
1249  299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
1250  309, 310, 312, 313, 314, 315, 316, 317, 318, 320
1251 
1252  } ;
1253 
1254 /* The intent behind this definition is that it'll catch
1255  * any uses of REJECT which flex missed.
1256  */
1257 #define REJECT reject_used_but_not_detected
1258 #define yymore() yymore_used_but_not_detected
1259 #define YY_MORE_ADJ 0
1260 #define YY_RESTORE_YY_MORE_OFFSET
1261 #line 1 "holidayscannerplan.lpp"
1262 /*
1263  Original version from plan by Thomas Driemeyer <thomas@bitrot.de>
1264 
1265  Adapted for use in KOrganizer by
1266  Preston Brown <pbrown@kde.org> and
1267  Reinhold Kainhofer <reinhold@kainhofer.com>
1268 
1269  Major rewrite using Bison C++ skeleton:
1270  Copyright 2010 John Layt <john@layt.net>
1271 
1272  This library is free software; you can redistribute it and/or
1273  modify it under the terms of the GNU Library General Public
1274  License as published by the Free Software Foundation; either
1275  version 2 of the License, or (at your option) any later version.
1276 
1277  This library is distributed in the hope that it will be useful,
1278  but WITHOUT ANY WARRANTY; without even the implied warranty of
1279  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1280  GNU Library General Public License for more details.
1281 
1282  You should have received a copy of the GNU Library General Public License
1283  along with this library; see the file COPYING.LIB. If not, write to the
1284  Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
1285  Boston, MA 02110-1301, USA.
1286 */
1287 #line 28 "holidayscannerplan.lpp"
1288 # include <cstdlib>
1289 # include <errno.h>
1290 # include <limits.h>
1291 # include <string>
1292 
1293 # include <kdebug.h>
1294 
1295 # include "holidayscannerplan_p.h"
1296 # include "holidayparserdriverplan_p.h"
1297 # include "holidayparserplan.hpp"
1298 
1299 /* import the parser's token type into a local typedef */
1300 typedef KHolidays::HolidayParserPlan::token token;
1301 typedef KHolidays::HolidayParserPlan::token_type token_type;
1302 
1303 /* By default yylex returns int, we use token_type. Unfortunately yyterminate
1304  * by default returns 0, which is not of token_type. */
1305 # define yyterminate() return token::END
1306 
1307 /* This disables inclusion of unistd.h, which is not available under Visual C++
1308  * on Win32. The C++ scanner uses STL streams instead. */
1309 # define YY_NO_UNISTD_H
1310 /*** Flex Declarations and Options ***/
1311 /* enable c++ scanner class generation */
1312 /* change the name of the scanner class. results in "HolidayScannerFlexLexer" */
1313 /* the manual says "somewhat more optimized" */
1314 /* enable scanner to generate debug output. disable this for release
1315  * versions. */
1316 /* no support for include files is planned */
1317 /* enables the use of start condition stacks */
1318 /* The following paragraph suffices to track locations accurately. Each time
1319  * yylex is invoked, the begin position is moved onto the end position. */
1320 #line 78 "holidayscannerplan.lpp"
1321 # define YY_USER_ACTION yylloc->columns( yyleng );
1322 #line 1323 "holidayscannerplan.cpp"
1323 
1324 #define INITIAL 0
1325 
1326 #ifndef YY_NO_UNISTD_H
1327 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1328  * down here because we want the user's section 1 to have been scanned first.
1329  * The user has a chance to override it with an option.
1330  */
1331 /* %if-c-only */
1332 /* %endif */
1333 /* %if-c++-only */
1334 #include <unistd.h>
1335 /* %endif */
1336 #endif
1337 
1338 #ifndef YY_EXTRA_TYPE
1339 #define YY_EXTRA_TYPE void *
1340 #endif
1341 
1342 /* %if-c-only Reentrant structure and macros (non-C++). */
1343 /* %if-reentrant */
1344 /* %if-c-only */
1345 /* %endif */
1346 /* %if-reentrant */
1347 /* %endif */
1348 /* %endif End reentrant structures and macros. */
1349 /* %if-bison-bridge */
1350 /* %endif */
1351 /* %not-for-header */
1352 
1353 /* %ok-for-header */
1354 
1355 /* %endif */
1356 
1357 #ifndef yytext_ptr
1358 static void yy_flex_strncpy (char *,yyconst char *,int );
1359 #endif
1360 
1361 #ifdef YY_NEED_STRLEN
1362 static int yy_flex_strlen (yyconst char * );
1363 #endif
1364 
1365 #ifndef YY_NO_INPUT
1366 /* %if-c-only Standard (non-C++) definition */
1367 /* %not-for-header */
1368 
1369 /* %ok-for-header */
1370 
1371 /* %endif */
1372 #endif
1373 
1374 /* %if-c-only */
1375 /* %endif */
1376 
1377 /* Amount of stuff to slurp up with each read. */
1378 #ifndef YY_READ_BUF_SIZE
1379 #define YY_READ_BUF_SIZE 8192
1380 #endif
1381 
1382 /* Copy whatever the last rule matched to the standard output. */
1383 #ifndef ECHO
1384 /* %if-c-only Standard (non-C++) definition */
1385 /* %endif */
1386 /* %if-c++-only C++ definition */
1387 #define ECHO LexerOutput( yytext, yyleng )
1388 /* %endif */
1389 #endif
1390 
1391 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1392  * is returned in "result".
1393  */
1394 #ifndef YY_INPUT
1395 #define YY_INPUT(buf,result,max_size) \
1396 /* %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ */\
1397 \
1398 /* %if-c++-only C++ definition \ */\
1399  if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
1400  YY_FATAL_ERROR( "input in flex scanner failed" );
1401 /* %endif */
1402 
1403 #endif
1404 
1405 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1406  * we don't want an extra ';' after the "return" because that will cause
1407  * some compilers to complain about unreachable statements.
1408  */
1409 #ifndef yyterminate
1410 #define yyterminate() return YY_NULL
1411 #endif
1412 
1413 /* Number of entries by which start-condition stack grows. */
1414 #ifndef YY_START_STACK_INCR
1415 #define YY_START_STACK_INCR 25
1416 #endif
1417 
1418 /* Report a fatal error. */
1419 #ifndef YY_FATAL_ERROR
1420 /* %if-c-only */
1421 /* %endif */
1422 /* %if-c++-only */
1423 #define YY_FATAL_ERROR(msg) LexerError( msg )
1424 /* %endif */
1425 #endif
1426 
1427 /* %if-tables-serialization structures and prototypes */
1428 /* %not-for-header */
1429 
1430 /* %ok-for-header */
1431 
1432 /* %not-for-header */
1433 
1434 /* %tables-yydmap generated elements */
1435 /* %endif */
1436 /* end tables serialization structures and prototypes */
1437 
1438 /* %ok-for-header */
1439 
1440 /* Default declaration of generated scanner - a define so the user can
1441  * easily add parameters.
1442  */
1443 #ifndef YY_DECL
1444 #define YY_DECL_IS_OURS 1
1445 /* %if-c-only Standard (non-C++) definition */
1446 /* %endif */
1447 /* %if-c++-only C++ definition */
1448 #define YY_DECL int yyFlexLexer::yylex()
1449 /* %endif */
1450 #endif /* !YY_DECL */
1451 
1452 /* Code executed at the beginning of each rule, after yytext and yyleng
1453  * have been set up.
1454  */
1455 #ifndef YY_USER_ACTION
1456 #define YY_USER_ACTION
1457 #endif
1458 
1459 /* Code executed at the end of each rule. */
1460 #ifndef YY_BREAK
1461 #define YY_BREAK break;
1462 #endif
1463 
1464 /* %% [6.0] YY_RULE_SETUP definition goes here */
1465 #define YY_RULE_SETUP \
1466  if ( yyleng > 0 ) \
1467  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1468  (yytext[yyleng - 1] == '\n'); \
1469  YY_USER_ACTION
1470 
1471 /* %not-for-header */
1472 
1475 YY_DECL
1476 {
1477  register yy_state_type yy_current_state;
1478  register char *yy_cp, *yy_bp;
1479  register int yy_act;
1480 
1481 /* %% [7.0] user's declarations go here */
1482 #line 81 "holidayscannerplan.lpp"
1483 
1484 
1485 
1486  /* code to place at the beginning of yylex() */
1487  // reset location
1488  yylloc->step();
1489 
1490 
1491 #line 1492 "holidayscannerplan.cpp"
1492 
1493  if ( !(yy_init) )
1494  {
1495  (yy_init) = 1;
1496 
1497 #ifdef YY_USER_INIT
1498  YY_USER_INIT;
1499 #endif
1500 
1501  if ( ! (yy_start) )
1502  (yy_start) = 1; /* first start state */
1503 
1504  if ( ! yyin )
1505 /* %if-c-only */
1506 /* %endif */
1507 /* %if-c++-only */
1508  yyin = & std::cin;
1509 /* %endif */
1510 
1511  if ( ! yyout )
1512 /* %if-c-only */
1513 /* %endif */
1514 /* %if-c++-only */
1515  yyout = & std::cout;
1516 /* %endif */
1517 
1518  if ( ! YY_CURRENT_BUFFER ) {
1519  yyensure_buffer_stack ();
1520  YY_CURRENT_BUFFER_LVALUE =
1521  yy_create_buffer( yyin, YY_BUF_SIZE );
1522  }
1523 
1524  yy_load_buffer_state( );
1525  }
1526 
1527  while ( 1 ) /* loops until end-of-file is reached */
1528  {
1529 /* %% [8.0] yymore()-related code goes here */
1530  yy_cp = (yy_c_buf_p);
1531 
1532  /* Support of yytext. */
1533  *yy_cp = (yy_hold_char);
1534 
1535  /* yy_bp points to the position in yy_ch_buf of the start of
1536  * the current run.
1537  */
1538  yy_bp = yy_cp;
1539 
1540 /* %% [9.0] code to set up and find next match goes here */
1541  yy_current_state = (yy_start);
1542  yy_current_state += YY_AT_BOL();
1543 yy_match:
1544  do
1545  {
1546  register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1547  if ( yy_accept[yy_current_state] )
1548  {
1549  (yy_last_accepting_state) = yy_current_state;
1550  (yy_last_accepting_cpos) = yy_cp;
1551  }
1552  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1553  {
1554  yy_current_state = (int) yy_def[yy_current_state];
1555  if ( yy_current_state >= 943 )
1556  yy_c = yy_meta[(unsigned int) yy_c];
1557  }
1558  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1559  ++yy_cp;
1560  }
1561  while ( yy_current_state != 942 );
1562  yy_cp = (yy_last_accepting_cpos);
1563  yy_current_state = (yy_last_accepting_state);
1564 
1565 yy_find_action:
1566 /* %% [10.0] code to find the action number goes here */
1567  yy_act = yy_accept[yy_current_state];
1568 
1569  YY_DO_BEFORE_ACTION;
1570 
1571 /* %% [11.0] code for yylineno update goes here */
1572 
1573 do_action: /* This label is used only to access EOF actions. */
1574 
1575 /* %% [12.0] debug code goes here */
1576  if ( yy_flex_debug )
1577  {
1578  if ( yy_act == 0 )
1579  std::cerr << "--scanner backing up\n";
1580  else if ( yy_act < 201 )
1581  std::cerr << "--accepting rule at line " << yy_rule_linenum[yy_act] <<
1582  "(\"" << yytext << "\")\n";
1583  else if ( yy_act == 201 )
1584  std::cerr << "--accepting default rule (\"" << yytext << "\")\n";
1585  else if ( yy_act == 202 )
1586  std::cerr << "--(end of buffer or a NUL)\n";
1587  else
1588  std::cerr << "--EOF (start condition " << YY_START << ")\n";
1589  }
1590 
1591  switch ( yy_act )
1592  { /* beginning of action switch */
1593 /* %% [13.0] actions go here */
1594  case 0: /* must back up */
1595  /* undo the effects of YY_DO_BEFORE_ACTION */
1596  *yy_cp = (yy_hold_char);
1597  yy_cp = (yy_last_accepting_cpos);
1598  yy_current_state = (yy_last_accepting_state);
1599  goto yy_find_action;
1600 
1601 case 1:
1602 /* rule 1 can match eol */
1603 YY_RULE_SETUP
1604 #line 89 "holidayscannerplan.lpp"
1605 { yylloc->lines( yyleng ); yylloc->step(); }
1606  YY_BREAK
1607 case 2:
1608 /* rule 2 can match eol */
1609 YY_RULE_SETUP
1610 #line 90 "holidayscannerplan.lpp"
1611 { yylloc->lines( yyleng ); yylloc->step(); }
1612  YY_BREAK
1613 case 3:
1614 YY_RULE_SETUP
1615 #line 91 "holidayscannerplan.lpp"
1616 { yylloc->step(); }
1617  YY_BREAK
1618 case 4:
1619 /* rule 4 can match eol */
1620 YY_RULE_SETUP
1621 #line 92 "holidayscannerplan.lpp"
1622 { yylloc->lines( yyleng ); yylloc->step(); }
1623  YY_BREAK
1624 case 5:
1625 YY_RULE_SETUP
1626 #line 93 "holidayscannerplan.lpp"
1627 { return KHolidays::HolidayParserPlan::token_type( *yytext ); }
1628  YY_BREAK
1629 case 6:
1630 YY_RULE_SETUP
1631 #line 95 "holidayscannerplan.lpp"
1632 { return token::COUNTRY; }
1633  YY_BREAK
1634 case 7:
1635 YY_RULE_SETUP
1636 #line 96 "holidayscannerplan.lpp"
1637 { return token::LANGUAGE; }
1638  YY_BREAK
1639 case 8:
1640 YY_RULE_SETUP
1641 #line 97 "holidayscannerplan.lpp"
1642 { return token::NAME; }
1643  YY_BREAK
1644 case 9:
1645 YY_RULE_SETUP
1646 #line 98 "holidayscannerplan.lpp"
1647 { return token::DESCRIPTION; }
1648  YY_BREAK
1649 case 10:
1650 YY_RULE_SETUP
1651 #line 100 "holidayscannerplan.lpp"
1652 { yylval->ival = atoi( yytext ); return token::NUMBER; }
1653  YY_BREAK
1654 case 11:
1655 /* rule 11 can match eol */
1656 YY_RULE_SETUP
1657 #line 102 "holidayscannerplan.lpp"
1658 { yylval->sval = strdup( yytext + 1 );
1659  yylval->sval[ strlen( yylval->sval ) - 1 ] = 0;
1660  return token::STRING; }
1661  YY_BREAK
1662 case 12:
1663 YY_RULE_SETUP
1664 #line 106 "holidayscannerplan.lpp"
1665 ;
1666  YY_BREAK
1667 case 13:
1668 YY_RULE_SETUP
1669 #line 107 "holidayscannerplan.lpp"
1670 ;
1671  YY_BREAK
1672 case 14:
1673 YY_RULE_SETUP
1674 #line 108 "holidayscannerplan.lpp"
1675 ;
1676  YY_BREAK
1677 case 15:
1678 YY_RULE_SETUP
1679 #line 109 "holidayscannerplan.lpp"
1680 ;
1681  YY_BREAK
1682 case 16:
1683 YY_RULE_SETUP
1684 #line 110 "holidayscannerplan.lpp"
1685 ;
1686  YY_BREAK
1687 case 17:
1688 YY_RULE_SETUP
1689 #line 111 "holidayscannerplan.lpp"
1690 { return token::INOP; }
1691  YY_BREAK
1692 case 18:
1693 YY_RULE_SETUP
1694 #line 112 "holidayscannerplan.lpp"
1695 { return token::IF; }
1696  YY_BREAK
1697 case 19:
1698 YY_RULE_SETUP
1699 #line 113 "holidayscannerplan.lpp"
1700 { return token::PLUS; }
1701  YY_BREAK
1702 case 20:
1703 YY_RULE_SETUP
1704 #line 114 "holidayscannerplan.lpp"
1705 { return token::MINUS; }
1706  YY_BREAK
1707 case 21:
1708 YY_RULE_SETUP
1709 #line 115 "holidayscannerplan.lpp"
1710 { return token::SMALL; }
1711  YY_BREAK
1712 case 22:
1713 YY_RULE_SETUP
1714 #line 116 "holidayscannerplan.lpp"
1715 { return token::YEAR; }
1716  YY_BREAK
1717 case 23:
1718 YY_RULE_SETUP
1719 #line 117 "holidayscannerplan.lpp"
1720 { return token::LEAPYEAR; }
1721  YY_BREAK
1722 case 24:
1723 YY_RULE_SETUP
1724 #line 118 "holidayscannerplan.lpp"
1725 { return token::EASTER; }
1726  YY_BREAK
1727 case 25:
1728 YY_RULE_SETUP
1729 #line 119 "holidayscannerplan.lpp"
1730 { return token::PASCHA; }
1731  YY_BREAK
1732 case 26:
1733 YY_RULE_SETUP
1734 #line 120 "holidayscannerplan.lpp"
1735 { return token::LENGTH; }
1736  YY_BREAK
1737 case 27:
1738 YY_RULE_SETUP
1739 #line 121 "holidayscannerplan.lpp"
1740 { return token::SHIFT; }
1741  YY_BREAK
1742 case 28:
1743 YY_RULE_SETUP
1744 #line 123 "holidayscannerplan.lpp"
1745 { yylval->ival = 1; return token::COLOR; }
1746  YY_BREAK
1747 case 29:
1748 YY_RULE_SETUP
1749 #line 124 "holidayscannerplan.lpp"
1750 { yylval->ival = 2; return token::COLOR; }
1751  YY_BREAK
1752 case 30:
1753 YY_RULE_SETUP
1754 #line 125 "holidayscannerplan.lpp"
1755 { yylval->ival = 3; return token::COLOR; }
1756  YY_BREAK
1757 case 31:
1758 YY_RULE_SETUP
1759 #line 126 "holidayscannerplan.lpp"
1760 { yylval->ival = 4; return token::COLOR; }
1761  YY_BREAK
1762 case 32:
1763 YY_RULE_SETUP
1764 #line 127 "holidayscannerplan.lpp"
1765 { yylval->ival = 5; return token::COLOR; }
1766  YY_BREAK
1767 case 33:
1768 YY_RULE_SETUP
1769 #line 128 "holidayscannerplan.lpp"
1770 { yylval->ival = 6; return token::COLOR; }
1771  YY_BREAK
1772 case 34:
1773 YY_RULE_SETUP
1774 #line 129 "holidayscannerplan.lpp"
1775 { yylval->ival = 7; return token::COLOR; }
1776  YY_BREAK
1777 case 35:
1778 YY_RULE_SETUP
1779 #line 130 "holidayscannerplan.lpp"
1780 { yylval->ival = 8; return token::COLOR; }
1781  YY_BREAK
1782 case 36:
1783 YY_RULE_SETUP
1784 #line 131 "holidayscannerplan.lpp"
1785 { yylval->ival = 9; return token::COLOR; }
1786  YY_BREAK
1787 case 37:
1788 YY_RULE_SETUP
1789 #line 133 "holidayscannerplan.lpp"
1790 { return token::EQ; }
1791  YY_BREAK
1792 case 38:
1793 YY_RULE_SETUP
1794 #line 134 "holidayscannerplan.lpp"
1795 { return token::NE; }
1796  YY_BREAK
1797 case 39:
1798 YY_RULE_SETUP
1799 #line 135 "holidayscannerplan.lpp"
1800 { return token::LE; }
1801  YY_BREAK
1802 case 40:
1803 YY_RULE_SETUP
1804 #line 136 "holidayscannerplan.lpp"
1805 { return token::GE; }
1806  YY_BREAK
1807 case 41:
1808 YY_RULE_SETUP
1809 #line 137 "holidayscannerplan.lpp"
1810 { return token::LT; }
1811  YY_BREAK
1812 case 42:
1813 YY_RULE_SETUP
1814 #line 138 "holidayscannerplan.lpp"
1815 { return token::GT; }
1816  YY_BREAK
1817 case 43:
1818 YY_RULE_SETUP
1819 #line 139 "holidayscannerplan.lpp"
1820 { return token::AND;}
1821  YY_BREAK
1822 case 44:
1823 YY_RULE_SETUP
1824 #line 140 "holidayscannerplan.lpp"
1825 { return token::OR; }
1826  YY_BREAK
1827 case 45:
1828 YY_RULE_SETUP
1829 #line 142 "holidayscannerplan.lpp"
1830 { yylval->ival = 1; return token::NUMBER; }
1831  YY_BREAK
1832 case 46:
1833 YY_RULE_SETUP
1834 #line 143 "holidayscannerplan.lpp"
1835 { yylval->ival = 2; return token::NUMBER; }
1836  YY_BREAK
1837 case 47:
1838 YY_RULE_SETUP
1839 #line 144 "holidayscannerplan.lpp"
1840 { yylval->ival = 3; return token::NUMBER; }
1841  YY_BREAK
1842 case 48:
1843 YY_RULE_SETUP
1844 #line 145 "holidayscannerplan.lpp"
1845 { yylval->ival = 4; return token::NUMBER; }
1846  YY_BREAK
1847 case 49:
1848 YY_RULE_SETUP
1849 #line 146 "holidayscannerplan.lpp"
1850 { yylval->ival = 5; return token::NUMBER; }
1851  YY_BREAK
1852 case 50:
1853 YY_RULE_SETUP
1854 #line 147 "holidayscannerplan.lpp"
1855 { yylval->ival = 99999; return token::NUMBER; }
1856  YY_BREAK
1857 case 51:
1858 YY_RULE_SETUP
1859 #line 148 "holidayscannerplan.lpp"
1860 { yylval->ival = -99999; return token::NUMBER; }
1861  YY_BREAK
1862 case 52:
1863 YY_RULE_SETUP
1864 #line 149 "holidayscannerplan.lpp"
1865 { yylval->ival = 0; return token::NUMBER; }
1866  YY_BREAK
1867 case 53:
1868 YY_RULE_SETUP
1869 #line 151 "holidayscannerplan.lpp"
1870 { yylval->ival = -1; return token::NUMBER; }
1871  YY_BREAK
1872 case 54:
1873 YY_RULE_SETUP
1874 #line 152 "holidayscannerplan.lpp"
1875 { yylval->ival = 1; return token::NUMBER; }
1876  YY_BREAK
1877 case 55:
1878 YY_RULE_SETUP
1879 #line 154 "holidayscannerplan.lpp"
1880 { yylval->sval = "gregorian"; return token::CALENDAR; }
1881  YY_BREAK
1882 case 56:
1883 YY_RULE_SETUP
1884 #line 155 "holidayscannerplan.lpp"
1885 { yylval->sval = "julian"; return token::CALENDAR; }
1886  YY_BREAK
1887 case 57:
1888 YY_RULE_SETUP
1889 #line 157 "holidayscannerplan.lpp"
1890 { yylval->ival = 1; return token::MONTH; }
1891  YY_BREAK
1892 case 58:
1893 YY_RULE_SETUP
1894 #line 158 "holidayscannerplan.lpp"
1895 { yylval->ival = 2; return token::MONTH; }
1896  YY_BREAK
1897 case 59:
1898 YY_RULE_SETUP
1899 #line 159 "holidayscannerplan.lpp"
1900 { yylval->ival = 3; return token::MONTH; }
1901  YY_BREAK
1902 case 60:
1903 YY_RULE_SETUP
1904 #line 160 "holidayscannerplan.lpp"
1905 { yylval->ival = 4; return token::MONTH; }
1906  YY_BREAK
1907 case 61:
1908 YY_RULE_SETUP
1909 #line 161 "holidayscannerplan.lpp"
1910 { yylval->ival = 5; return token::MONTH; }
1911  YY_BREAK
1912 case 62:
1913 YY_RULE_SETUP
1914 #line 162 "holidayscannerplan.lpp"
1915 { yylval->ival = 6; return token::MONTH; }
1916  YY_BREAK
1917 case 63:
1918 YY_RULE_SETUP
1919 #line 163 "holidayscannerplan.lpp"
1920 { yylval->ival = 7; return token::MONTH; }
1921  YY_BREAK
1922 case 64:
1923 YY_RULE_SETUP
1924 #line 164 "holidayscannerplan.lpp"
1925 { yylval->ival = 8; return token::MONTH; }
1926  YY_BREAK
1927 case 65:
1928 YY_RULE_SETUP
1929 #line 165 "holidayscannerplan.lpp"
1930 { yylval->ival = 9; return token::MONTH; }
1931  YY_BREAK
1932 case 66:
1933 YY_RULE_SETUP
1934 #line 166 "holidayscannerplan.lpp"
1935 { yylval->ival = 10; return token::MONTH; }
1936  YY_BREAK
1937 case 67:
1938 YY_RULE_SETUP
1939 #line 167 "holidayscannerplan.lpp"
1940 { yylval->ival = 11; return token::MONTH; }
1941  YY_BREAK
1942 case 68:
1943 YY_RULE_SETUP
1944 #line 168 "holidayscannerplan.lpp"
1945 { yylval->ival = 12; return token::MONTH; }
1946  YY_BREAK
1947 case 69:
1948 YY_RULE_SETUP
1949 #line 170 "holidayscannerplan.lpp"
1950 { yylval->ival = 1; return token::WDAY; }
1951  YY_BREAK
1952 case 70:
1953 YY_RULE_SETUP
1954 #line 171 "holidayscannerplan.lpp"
1955 { yylval->ival = 2; return token::WDAY; }
1956  YY_BREAK
1957 case 71:
1958 YY_RULE_SETUP
1959 #line 172 "holidayscannerplan.lpp"
1960 { yylval->ival = 3; return token::WDAY; }
1961  YY_BREAK
1962 case 72:
1963 YY_RULE_SETUP
1964 #line 173 "holidayscannerplan.lpp"
1965 { yylval->ival = 4; return token::WDAY; }
1966  YY_BREAK
1967 case 73:
1968 YY_RULE_SETUP
1969 #line 174 "holidayscannerplan.lpp"
1970 { yylval->ival = 5; return token::WDAY; }
1971  YY_BREAK
1972 case 74:
1973 YY_RULE_SETUP
1974 #line 175 "holidayscannerplan.lpp"
1975 { yylval->ival = 6; return token::WDAY; }
1976  YY_BREAK
1977 case 75:
1978 YY_RULE_SETUP
1979 #line 176 "holidayscannerplan.lpp"
1980 { yylval->ival = 7; return token::WDAY; }
1981  YY_BREAK
1982 case 76:
1983 YY_RULE_SETUP
1984 #line 178 "holidayscannerplan.lpp"
1985 { yylval->sval = "coptic"; return token::CALENDAR; }
1986  YY_BREAK
1987 case 77:
1988 YY_RULE_SETUP
1989 #line 180 "holidayscannerplan.lpp"
1990 { yylval->ival = 1; return token::MONTH; }
1991  YY_BREAK
1992 case 78:
1993 YY_RULE_SETUP
1994 #line 181 "holidayscannerplan.lpp"
1995 { yylval->ival = 2; return token::MONTH; }
1996  YY_BREAK
1997 case 79:
1998 YY_RULE_SETUP
1999 #line 182 "holidayscannerplan.lpp"
2000 { yylval->ival = 3; return token::MONTH; }
2001  YY_BREAK
2002 case 80:
2003 YY_RULE_SETUP
2004 #line 183 "holidayscannerplan.lpp"
2005 { yylval->ival = 4; return token::MONTH; }
2006  YY_BREAK
2007 case 81:
2008 YY_RULE_SETUP
2009 #line 184 "holidayscannerplan.lpp"
2010 { yylval->ival = 5; return token::MONTH; }
2011  YY_BREAK
2012 case 82:
2013 YY_RULE_SETUP
2014 #line 185 "holidayscannerplan.lpp"
2015 { yylval->ival = 6; return token::MONTH; }
2016  YY_BREAK
2017 case 83:
2018 YY_RULE_SETUP
2019 #line 186 "holidayscannerplan.lpp"
2020 { yylval->ival = 7; return token::MONTH; }
2021  YY_BREAK
2022 case 84:
2023 YY_RULE_SETUP
2024 #line 187 "holidayscannerplan.lpp"
2025 { yylval->ival = 8; return token::MONTH; }
2026  YY_BREAK
2027 case 85:
2028 YY_RULE_SETUP
2029 #line 188 "holidayscannerplan.lpp"
2030 { yylval->ival = 9; return token::MONTH; }
2031  YY_BREAK
2032 case 86:
2033 YY_RULE_SETUP
2034 #line 189 "holidayscannerplan.lpp"
2035 { yylval->ival = 10; return token::MONTH; }
2036  YY_BREAK
2037 case 87:
2038 YY_RULE_SETUP
2039 #line 190 "holidayscannerplan.lpp"
2040 { yylval->ival = 11; return token::MONTH; }
2041  YY_BREAK
2042 case 88:
2043 YY_RULE_SETUP
2044 #line 191 "holidayscannerplan.lpp"
2045 { yylval->ival = 12; return token::MONTH; }
2046  YY_BREAK
2047 case 89:
2048 YY_RULE_SETUP
2049 #line 192 "holidayscannerplan.lpp"
2050 { yylval->ival = 13; return token::MONTH; }
2051  YY_BREAK
2052 case 90:
2053 YY_RULE_SETUP
2054 #line 194 "holidayscannerplan.lpp"
2055 { yylval->ival = 1; return token::WDAY; }
2056  YY_BREAK
2057 case 91:
2058 YY_RULE_SETUP
2059 #line 195 "holidayscannerplan.lpp"
2060 { yylval->ival = 2; return token::WDAY; }
2061  YY_BREAK
2062 case 92:
2063 YY_RULE_SETUP
2064 #line 196 "holidayscannerplan.lpp"
2065 { yylval->ival = 3; return token::WDAY; }
2066  YY_BREAK
2067 case 93:
2068 YY_RULE_SETUP
2069 #line 197 "holidayscannerplan.lpp"
2070 { yylval->ival = 4; return token::WDAY; }
2071  YY_BREAK
2072 case 94:
2073 YY_RULE_SETUP
2074 #line 198 "holidayscannerplan.lpp"
2075 { yylval->ival = 5; return token::WDAY; }
2076  YY_BREAK
2077 case 95:
2078 YY_RULE_SETUP
2079 #line 199 "holidayscannerplan.lpp"
2080 { yylval->ival = 6; return token::WDAY; }
2081  YY_BREAK
2082 case 96:
2083 YY_RULE_SETUP
2084 #line 200 "holidayscannerplan.lpp"
2085 { yylval->ival = 7; return token::WDAY; }
2086  YY_BREAK
2087 case 97:
2088 YY_RULE_SETUP
2089 #line 202 "holidayscannerplan.lpp"
2090 { yylval->sval = "ethiopian"; return token::CALENDAR; }
2091  YY_BREAK
2092 case 98:
2093 YY_RULE_SETUP
2094 #line 204 "holidayscannerplan.lpp"
2095 { yylval->ival = 1; return token::MONTH; }
2096  YY_BREAK
2097 case 99:
2098 YY_RULE_SETUP
2099 #line 205 "holidayscannerplan.lpp"
2100 { yylval->ival = 2; return token::MONTH; }
2101  YY_BREAK
2102 case 100:
2103 YY_RULE_SETUP
2104 #line 206 "holidayscannerplan.lpp"
2105 { yylval->ival = 3; return token::MONTH; }
2106  YY_BREAK
2107 case 101:
2108 YY_RULE_SETUP
2109 #line 207 "holidayscannerplan.lpp"
2110 { yylval->ival = 4; return token::MONTH; }
2111  YY_BREAK
2112 case 102:
2113 YY_RULE_SETUP
2114 #line 208 "holidayscannerplan.lpp"
2115 { yylval->ival = 5; return token::MONTH; }
2116  YY_BREAK
2117 case 103:
2118 YY_RULE_SETUP
2119 #line 209 "holidayscannerplan.lpp"
2120 { yylval->ival = 6; return token::MONTH; }
2121  YY_BREAK
2122 case 104:
2123 YY_RULE_SETUP
2124 #line 210 "holidayscannerplan.lpp"
2125 { yylval->ival = 7; return token::MONTH; }
2126  YY_BREAK
2127 case 105:
2128 YY_RULE_SETUP
2129 #line 211 "holidayscannerplan.lpp"
2130 { yylval->ival = 8; return token::MONTH; }
2131  YY_BREAK
2132 case 106:
2133 YY_RULE_SETUP
2134 #line 212 "holidayscannerplan.lpp"
2135 { yylval->ival = 9; return token::MONTH; }
2136  YY_BREAK
2137 case 107:
2138 YY_RULE_SETUP
2139 #line 213 "holidayscannerplan.lpp"
2140 { yylval->ival = 10; return token::MONTH; }
2141  YY_BREAK
2142 case 108:
2143 YY_RULE_SETUP
2144 #line 214 "holidayscannerplan.lpp"
2145 { yylval->ival = 11; return token::MONTH; }
2146  YY_BREAK
2147 case 109:
2148 YY_RULE_SETUP
2149 #line 215 "holidayscannerplan.lpp"
2150 { yylval->ival = 12; return token::MONTH; }
2151  YY_BREAK
2152 case 110:
2153 YY_RULE_SETUP
2154 #line 216 "holidayscannerplan.lpp"
2155 { yylval->ival = 13; return token::MONTH; }
2156  YY_BREAK
2157 case 111:
2158 YY_RULE_SETUP
2159 #line 218 "holidayscannerplan.lpp"
2160 { yylval->ival = 1; return token::WDAY; }
2161  YY_BREAK
2162 case 112:
2163 YY_RULE_SETUP
2164 #line 219 "holidayscannerplan.lpp"
2165 { yylval->ival = 2; return token::WDAY; }
2166  YY_BREAK
2167 case 113:
2168 YY_RULE_SETUP
2169 #line 220 "holidayscannerplan.lpp"
2170 { yylval->ival = 3; return token::WDAY; }
2171  YY_BREAK
2172 case 114:
2173 YY_RULE_SETUP
2174 #line 221 "holidayscannerplan.lpp"
2175 { yylval->ival = 4; return token::WDAY; }
2176  YY_BREAK
2177 case 115:
2178 YY_RULE_SETUP
2179 #line 222 "holidayscannerplan.lpp"
2180 { yylval->ival = 5; return token::WDAY; }
2181  YY_BREAK
2182 case 116:
2183 YY_RULE_SETUP
2184 #line 223 "holidayscannerplan.lpp"
2185 { yylval->ival = 6; return token::WDAY; }
2186  YY_BREAK
2187 case 117:
2188 YY_RULE_SETUP
2189 #line 224 "holidayscannerplan.lpp"
2190 { yylval->ival = 7; return token::WDAY; }
2191  YY_BREAK
2192 case 118:
2193 YY_RULE_SETUP
2194 #line 226 "holidayscannerplan.lpp"
2195 { yylval->sval = "hebrew"; return token::CALENDAR; }
2196  YY_BREAK
2197 case 119:
2198 YY_RULE_SETUP
2199 #line 228 "holidayscannerplan.lpp"
2200 { yylval->ival = 1; return token::MONTH; }
2201  YY_BREAK
2202 case 120:
2203 YY_RULE_SETUP
2204 #line 229 "holidayscannerplan.lpp"
2205 { yylval->ival = 2; return token::MONTH; }
2206  YY_BREAK
2207 case 121:
2208 YY_RULE_SETUP
2209 #line 230 "holidayscannerplan.lpp"
2210 { yylval->ival = 3; return token::MONTH; }
2211  YY_BREAK
2212 case 122:
2213 YY_RULE_SETUP
2214 #line 231 "holidayscannerplan.lpp"
2215 { yylval->ival = 4; return token::MONTH; }
2216  YY_BREAK
2217 case 123:
2218 YY_RULE_SETUP
2219 #line 232 "holidayscannerplan.lpp"
2220 { yylval->ival = 5; return token::MONTH; }
2221  YY_BREAK
2222 case 124:
2223 YY_RULE_SETUP
2224 #line 233 "holidayscannerplan.lpp"
2225 { yylval->ival = 6; return token::MONTH; }
2226  YY_BREAK
2227 case 125:
2228 YY_RULE_SETUP
2229 #line 234 "holidayscannerplan.lpp"
2230 { yylval->ival = 7; return token::MONTH; }
2231  YY_BREAK
2232 case 126:
2233 YY_RULE_SETUP
2234 #line 235 "holidayscannerplan.lpp"
2235 { yylval->ival = 8; return token::MONTH; }
2236  YY_BREAK
2237 case 127:
2238 YY_RULE_SETUP
2239 #line 236 "holidayscannerplan.lpp"
2240 { yylval->ival = 9; return token::MONTH; }
2241  YY_BREAK
2242 case 128:
2243 YY_RULE_SETUP
2244 #line 237 "holidayscannerplan.lpp"
2245 { yylval->ival = 10; return token::MONTH; }
2246  YY_BREAK
2247 case 129:
2248 YY_RULE_SETUP
2249 #line 238 "holidayscannerplan.lpp"
2250 { yylval->ival = 11; return token::MONTH; }
2251  YY_BREAK
2252 case 130:
2253 YY_RULE_SETUP
2254 #line 239 "holidayscannerplan.lpp"
2255 { yylval->ival = 12; return token::MONTH; }
2256  YY_BREAK
2257 case 131:
2258 YY_RULE_SETUP
2259 #line 240 "holidayscannerplan.lpp"
2260 { yylval->ival = 13; return token::MONTH; }
2261  YY_BREAK
2262 case 132:
2263 YY_RULE_SETUP
2264 #line 241 "holidayscannerplan.lpp"
2265 { yylval->ival = 14; return token::MONTH; }
2266  YY_BREAK
2267 case 133:
2268 YY_RULE_SETUP
2269 #line 243 "holidayscannerplan.lpp"
2270 { yylval->ival = 1; return token::WDAY; }
2271  YY_BREAK
2272 case 134:
2273 YY_RULE_SETUP
2274 #line 244 "holidayscannerplan.lpp"
2275 { yylval->ival = 2; return token::WDAY; }
2276  YY_BREAK
2277 case 135:
2278 YY_RULE_SETUP
2279 #line 245 "holidayscannerplan.lpp"
2280 { yylval->ival = 3; return token::WDAY; }
2281  YY_BREAK
2282 case 136:
2283 YY_RULE_SETUP
2284 #line 246 "holidayscannerplan.lpp"
2285 { yylval->ival = 4; return token::WDAY; }
2286  YY_BREAK
2287 case 137:
2288 YY_RULE_SETUP
2289 #line 247 "holidayscannerplan.lpp"
2290 { yylval->ival = 5; return token::WDAY; }
2291  YY_BREAK
2292 case 138:
2293 YY_RULE_SETUP
2294 #line 248 "holidayscannerplan.lpp"
2295 { yylval->ival = 6; return token::WDAY; }
2296  YY_BREAK
2297 case 139:
2298 YY_RULE_SETUP
2299 #line 249 "holidayscannerplan.lpp"
2300 { yylval->ival = 7; return token::WDAY; }
2301  YY_BREAK
2302 case 140:
2303 YY_RULE_SETUP
2304 #line 251 "holidayscannerplan.lpp"
2305 { yylval->sval = "hijri"; return token::CALENDAR; }
2306  YY_BREAK
2307 case 141:
2308 YY_RULE_SETUP
2309 #line 253 "holidayscannerplan.lpp"
2310 { yylval->ival = 1; return token::MONTH; }
2311  YY_BREAK
2312 case 142:
2313 YY_RULE_SETUP
2314 #line 254 "holidayscannerplan.lpp"
2315 { yylval->ival = 2; return token::MONTH; }
2316  YY_BREAK
2317 case 143:
2318 YY_RULE_SETUP
2319 #line 255 "holidayscannerplan.lpp"
2320 { yylval->ival = 3; return token::MONTH; }
2321  YY_BREAK
2322 case 144:
2323 YY_RULE_SETUP
2324 #line 256 "holidayscannerplan.lpp"
2325 { yylval->ival = 4; return token::MONTH; }
2326  YY_BREAK
2327 case 145:
2328 YY_RULE_SETUP
2329 #line 257 "holidayscannerplan.lpp"
2330 { yylval->ival = 5; return token::MONTH; }
2331  YY_BREAK
2332 case 146:
2333 YY_RULE_SETUP
2334 #line 258 "holidayscannerplan.lpp"
2335 { yylval->ival = 6; return token::MONTH; }
2336  YY_BREAK
2337 case 147:
2338 YY_RULE_SETUP
2339 #line 259 "holidayscannerplan.lpp"
2340 { yylval->ival = 7; return token::MONTH; }
2341  YY_BREAK
2342 case 148:
2343 YY_RULE_SETUP
2344 #line 260 "holidayscannerplan.lpp"
2345 { yylval->ival = 8; return token::MONTH; }
2346  YY_BREAK
2347 case 149:
2348 YY_RULE_SETUP
2349 #line 261 "holidayscannerplan.lpp"
2350 { yylval->ival = 9; return token::MONTH; }
2351  YY_BREAK
2352 case 150:
2353 YY_RULE_SETUP
2354 #line 262 "holidayscannerplan.lpp"
2355 { yylval->ival = 10; return token::MONTH; }
2356  YY_BREAK
2357 case 151:
2358 YY_RULE_SETUP
2359 #line 263 "holidayscannerplan.lpp"
2360 { yylval->ival = 11; return token::MONTH; }
2361  YY_BREAK
2362 case 152:
2363 YY_RULE_SETUP
2364 #line 264 "holidayscannerplan.lpp"
2365 { yylval->ival = 12; return token::MONTH; }
2366  YY_BREAK
2367 case 153:
2368 YY_RULE_SETUP
2369 #line 266 "holidayscannerplan.lpp"
2370 { yylval->ival = 1; return token::WDAY; }
2371  YY_BREAK
2372 case 154:
2373 YY_RULE_SETUP
2374 #line 267 "holidayscannerplan.lpp"
2375 { yylval->ival = 2; return token::WDAY; }
2376  YY_BREAK
2377 case 155:
2378 YY_RULE_SETUP
2379 #line 268 "holidayscannerplan.lpp"
2380 { yylval->ival = 3; return token::WDAY; }
2381  YY_BREAK
2382 case 156:
2383 YY_RULE_SETUP
2384 #line 269 "holidayscannerplan.lpp"
2385 { yylval->ival = 4; return token::WDAY; }
2386  YY_BREAK
2387 case 157:
2388 YY_RULE_SETUP
2389 #line 270 "holidayscannerplan.lpp"
2390 { yylval->ival = 5; return token::WDAY; }
2391  YY_BREAK
2392 case 158:
2393 YY_RULE_SETUP
2394 #line 271 "holidayscannerplan.lpp"
2395 { yylval->ival = 6; return token::WDAY; }
2396  YY_BREAK
2397 case 159:
2398 YY_RULE_SETUP
2399 #line 272 "holidayscannerplan.lpp"
2400 { yylval->ival = 7; return token::WDAY; }
2401  YY_BREAK
2402 case 160:
2403 YY_RULE_SETUP
2404 #line 274 "holidayscannerplan.lpp"
2405 { yylval->sval = "indian-national"; return token::CALENDAR; }
2406  YY_BREAK
2407 case 161:
2408 YY_RULE_SETUP
2409 #line 276 "holidayscannerplan.lpp"
2410 { yylval->ival = 1; return token::MONTH; }
2411  YY_BREAK
2412 case 162:
2413 YY_RULE_SETUP
2414 #line 277 "holidayscannerplan.lpp"
2415 { yylval->ival = 2; return token::MONTH; }
2416  YY_BREAK
2417 case 163:
2418 YY_RULE_SETUP
2419 #line 278 "holidayscannerplan.lpp"
2420 { yylval->ival = 3; return token::MONTH; }
2421  YY_BREAK
2422 case 164:
2423 YY_RULE_SETUP
2424 #line 279 "holidayscannerplan.lpp"
2425 { yylval->ival = 4; return token::MONTH; }
2426  YY_BREAK
2427 case 165:
2428 YY_RULE_SETUP
2429 #line 280 "holidayscannerplan.lpp"
2430 { yylval->ival = 5; return token::MONTH; }
2431  YY_BREAK
2432 case 166:
2433 YY_RULE_SETUP
2434 #line 281 "holidayscannerplan.lpp"
2435 { yylval->ival = 6; return token::MONTH; }
2436  YY_BREAK
2437 case 167:
2438 YY_RULE_SETUP
2439 #line 282 "holidayscannerplan.lpp"
2440 { yylval->ival = 7; return token::MONTH; }
2441  YY_BREAK
2442 case 168:
2443 YY_RULE_SETUP
2444 #line 283 "holidayscannerplan.lpp"
2445 { yylval->ival = 8; return token::MONTH; }
2446  YY_BREAK
2447 case 169:
2448 YY_RULE_SETUP
2449 #line 284 "holidayscannerplan.lpp"
2450 { yylval->ival = 9; return token::MONTH; }
2451  YY_BREAK
2452 case 170:
2453 YY_RULE_SETUP
2454 #line 285 "holidayscannerplan.lpp"
2455 { yylval->ival = 10; return token::MONTH; }
2456  YY_BREAK
2457 case 171:
2458 YY_RULE_SETUP
2459 #line 286 "holidayscannerplan.lpp"
2460 { yylval->ival = 11; return token::MONTH; }
2461  YY_BREAK
2462 case 172:
2463 YY_RULE_SETUP
2464 #line 287 "holidayscannerplan.lpp"
2465 { yylval->ival = 12; return token::MONTH; }
2466  YY_BREAK
2467 case 173:
2468 YY_RULE_SETUP
2469 #line 289 "holidayscannerplan.lpp"
2470 { yylval->ival = 1; return token::WDAY; }
2471  YY_BREAK
2472 case 174:
2473 YY_RULE_SETUP
2474 #line 290 "holidayscannerplan.lpp"
2475 { yylval->ival = 2; return token::WDAY; }
2476  YY_BREAK
2477 case 175:
2478 YY_RULE_SETUP
2479 #line 291 "holidayscannerplan.lpp"
2480 { yylval->ival = 3; return token::WDAY; }
2481  YY_BREAK
2482 case 176:
2483 YY_RULE_SETUP
2484 #line 292 "holidayscannerplan.lpp"
2485 { yylval->ival = 4; return token::WDAY; }
2486  YY_BREAK
2487 case 177:
2488 YY_RULE_SETUP
2489 #line 293 "holidayscannerplan.lpp"
2490 { yylval->ival = 5; return token::WDAY; }
2491  YY_BREAK
2492 case 178:
2493 YY_RULE_SETUP
2494 #line 294 "holidayscannerplan.lpp"
2495 { yylval->ival = 6; return token::WDAY; }
2496  YY_BREAK
2497 case 179:
2498 YY_RULE_SETUP
2499 #line 295 "holidayscannerplan.lpp"
2500 { yylval->ival = 7; return token::WDAY; }
2501  YY_BREAK
2502 case 180:
2503 YY_RULE_SETUP
2504 #line 297 "holidayscannerplan.lpp"
2505 { yylval->sval = "jalali"; return token::CALENDAR; }
2506  YY_BREAK
2507 case 181:
2508 YY_RULE_SETUP
2509 #line 299 "holidayscannerplan.lpp"
2510 { yylval->ival = 1; return token::MONTH; }
2511  YY_BREAK
2512 case 182:
2513 YY_RULE_SETUP
2514 #line 300 "holidayscannerplan.lpp"
2515 { yylval->ival = 2; return token::MONTH; }
2516  YY_BREAK
2517 case 183:
2518 YY_RULE_SETUP
2519 #line 301 "holidayscannerplan.lpp"
2520 { yylval->ival = 3; return token::MONTH; }
2521  YY_BREAK
2522 case 184:
2523 YY_RULE_SETUP
2524 #line 302 "holidayscannerplan.lpp"
2525 { yylval->ival = 4; return token::MONTH; }
2526  YY_BREAK
2527 case 185:
2528 YY_RULE_SETUP
2529 #line 303 "holidayscannerplan.lpp"
2530 { yylval->ival = 5; return token::MONTH; }
2531  YY_BREAK
2532 case 186:
2533 YY_RULE_SETUP
2534 #line 304 "holidayscannerplan.lpp"
2535 { yylval->ival = 6; return token::MONTH; }
2536  YY_BREAK
2537 case 187:
2538 YY_RULE_SETUP
2539 #line 305 "holidayscannerplan.lpp"
2540 { yylval->ival = 7; return token::MONTH; }
2541  YY_BREAK
2542 case 188:
2543 YY_RULE_SETUP
2544 #line 306 "holidayscannerplan.lpp"
2545 { yylval->ival = 8; return token::MONTH; }
2546  YY_BREAK
2547 case 189:
2548 YY_RULE_SETUP
2549 #line 307 "holidayscannerplan.lpp"
2550 { yylval->ival = 9; return token::MONTH; }
2551  YY_BREAK
2552 case 190:
2553 YY_RULE_SETUP
2554 #line 308 "holidayscannerplan.lpp"
2555 { yylval->ival = 10; return token::MONTH; }
2556  YY_BREAK
2557 case 191:
2558 YY_RULE_SETUP
2559 #line 309 "holidayscannerplan.lpp"
2560 { yylval->ival = 11; return token::MONTH; }
2561  YY_BREAK
2562 case 192:
2563 YY_RULE_SETUP
2564 #line 310 "holidayscannerplan.lpp"
2565 { yylval->ival = 12; return token::MONTH; }
2566  YY_BREAK
2567 case 193:
2568 YY_RULE_SETUP
2569 #line 312 "holidayscannerplan.lpp"
2570 { yylval->ival = 1; return token::WDAY; }
2571  YY_BREAK
2572 case 194:
2573 YY_RULE_SETUP
2574 #line 313 "holidayscannerplan.lpp"
2575 { yylval->ival = 2; return token::WDAY; }
2576  YY_BREAK
2577 case 195:
2578 YY_RULE_SETUP
2579 #line 314 "holidayscannerplan.lpp"
2580 { yylval->ival = 3; return token::WDAY; }
2581  YY_BREAK
2582 case 196:
2583 YY_RULE_SETUP
2584 #line 315 "holidayscannerplan.lpp"
2585 { yylval->ival = 4; return token::WDAY; }
2586  YY_BREAK
2587 case 197:
2588 YY_RULE_SETUP
2589 #line 316 "holidayscannerplan.lpp"
2590 { yylval->ival = 5; return token::WDAY; }
2591  YY_BREAK
2592 case 198:
2593 YY_RULE_SETUP
2594 #line 317 "holidayscannerplan.lpp"
2595 { yylval->ival = 6; return token::WDAY; }
2596  YY_BREAK
2597 case 199:
2598 YY_RULE_SETUP
2599 #line 318 "holidayscannerplan.lpp"
2600 { yylval->ival = 7; return token::WDAY; }
2601  YY_BREAK
2602 case 200:
2603 YY_RULE_SETUP
2604 #line 320 "holidayscannerplan.lpp"
2605 { LexerError( yytext ); }
2606  YY_BREAK
2607 case 201:
2608 YY_RULE_SETUP
2609 #line 322 "holidayscannerplan.lpp"
2610 ECHO;
2611  YY_BREAK
2612 #line 2613 "holidayscannerplan.cpp"
2613 case YY_STATE_EOF(INITIAL):
2614  yyterminate();
2615 
2616  case YY_END_OF_BUFFER:
2617  {
2618  /* Amount of text matched not including the EOB char. */
2619  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2620 
2621  /* Undo the effects of YY_DO_BEFORE_ACTION. */
2622  *yy_cp = (yy_hold_char);
2623  YY_RESTORE_YY_MORE_OFFSET
2624 
2625  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2626  {
2627  /* We're scanning a new file or input source. It's
2628  * possible that this happened because the user
2629  * just pointed yyin at a new source and called
2630  * yylex(). If so, then we have to assure
2631  * consistency between YY_CURRENT_BUFFER and our
2632  * globals. Here is the right place to do so, because
2633  * this is the first action (other than possibly a
2634  * back-up) that will match for the new input source.
2635  */
2636  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2637  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2638  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2639  }
2640 
2641  /* Note that here we test for yy_c_buf_p "<=" to the position
2642  * of the first EOB in the buffer, since yy_c_buf_p will
2643  * already have been incremented past the NUL character
2644  * (since all states make transitions on EOB to the
2645  * end-of-buffer state). Contrast this with the test
2646  * in input().
2647  */
2648  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2649  { /* This was really a NUL. */
2650  yy_state_type yy_next_state;
2651 
2652  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2653 
2654  yy_current_state = yy_get_previous_state( );
2655 
2656  /* Okay, we're now positioned to make the NUL
2657  * transition. We couldn't have
2658  * yy_get_previous_state() go ahead and do it
2659  * for us because it doesn't know how to deal
2660  * with the possibility of jamming (and we don't
2661  * want to build jamming into it because then it
2662  * will run more slowly).
2663  */
2664 
2665  yy_next_state = yy_try_NUL_trans( yy_current_state );
2666 
2667  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2668 
2669  if ( yy_next_state )
2670  {
2671  /* Consume the NUL. */
2672  yy_cp = ++(yy_c_buf_p);
2673  yy_current_state = yy_next_state;
2674  goto yy_match;
2675  }
2676 
2677  else
2678  {
2679 /* %% [14.0] code to do back-up for compressed tables and set up yy_cp goes here */
2680  yy_cp = (yy_last_accepting_cpos);
2681  yy_current_state = (yy_last_accepting_state);
2682  goto yy_find_action;
2683  }
2684  }
2685 
2686  else switch ( yy_get_next_buffer( ) )
2687  {
2688  case EOB_ACT_END_OF_FILE:
2689  {
2690  (yy_did_buffer_switch_on_eof) = 0;
2691 
2692  if ( yywrap( ) )
2693  {
2694  /* Note: because we've taken care in
2695  * yy_get_next_buffer() to have set up
2696  * yytext, we can now set up
2697  * yy_c_buf_p so that if some total
2698  * hoser (like flex itself) wants to
2699  * call the scanner after we return the
2700  * YY_NULL, it'll still work - another
2701  * YY_NULL will get returned.
2702  */
2703  (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2704 
2705  yy_act = YY_STATE_EOF(YY_START);
2706  goto do_action;
2707  }
2708 
2709  else
2710  {
2711  if ( ! (yy_did_buffer_switch_on_eof) )
2712  YY_NEW_FILE;
2713  }
2714  break;
2715  }
2716 
2717  case EOB_ACT_CONTINUE_SCAN:
2718  (yy_c_buf_p) =
2719  (yytext_ptr) + yy_amount_of_matched_text;
2720 
2721  yy_current_state = yy_get_previous_state( );
2722 
2723  yy_cp = (yy_c_buf_p);
2724  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2725  goto yy_match;
2726 
2727  case EOB_ACT_LAST_MATCH:
2728  (yy_c_buf_p) =
2729  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2730 
2731  yy_current_state = yy_get_previous_state( );
2732 
2733  yy_cp = (yy_c_buf_p);
2734  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2735  goto yy_find_action;
2736  }
2737  break;
2738  }
2739 
2740  default:
2741  YY_FATAL_ERROR(
2742  "fatal flex scanner internal error--no action found" );
2743  } /* end of action switch */
2744  } /* end of scanning one token */
2745 } /* end of yylex */
2746 /* %ok-for-header */
2747 
2748 /* %if-c++-only */
2749 /* %not-for-header */
2750 
2751 /* The contents of this function are C++ specific, so the () macro is not used.
2752  */
2753 yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )
2754 {
2755  yyin = arg_yyin;
2756  yyout = arg_yyout;
2757  yy_c_buf_p = 0;
2758  yy_init = 0;
2759  yy_start = 0;
2760  yy_flex_debug = 0;
2761  yylineno = 1; // this will only get updated if %option yylineno
2762 
2763  yy_did_buffer_switch_on_eof = 0;
2764 
2765  yy_looking_for_trail_begin = 0;
2766  yy_more_flag = 0;
2767  yy_more_len = 0;
2768  yy_more_offset = yy_prev_more_offset = 0;
2769 
2770  yy_start_stack_ptr = yy_start_stack_depth = 0;
2771  yy_start_stack = NULL;
2772 
2773  yy_buffer_stack = 0;
2774  yy_buffer_stack_top = 0;
2775  yy_buffer_stack_max = 0;
2776 
2777  yy_state_buf = 0;
2778 
2779 }
2780 
2781 /* The contents of this function are C++ specific, so the () macro is not used.
2782  */
2783 yyFlexLexer::~yyFlexLexer()
2784 {
2785  delete [] yy_state_buf;
2786  HolidayScannerfree(yy_start_stack );
2787  yy_delete_buffer( YY_CURRENT_BUFFER );
2788  HolidayScannerfree(yy_buffer_stack );
2789 }
2790 
2791 /* The contents of this function are C++ specific, so the () macro is not used.
2792  */
2793 void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out )
2794 {
2795  if ( new_in )
2796  {
2797  yy_delete_buffer( YY_CURRENT_BUFFER );
2798  yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE ) );
2799  }
2800 
2801  if ( new_out )
2802  yyout = new_out;
2803 }
2804 
2805 #ifdef YY_INTERACTIVE
2806 int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
2807 #else
2808 int yyFlexLexer::LexerInput( char* buf, int max_size )
2809 #endif
2810 {
2811  if ( yyin->eof() || yyin->fail() )
2812  return 0;
2813 
2814 #ifdef YY_INTERACTIVE
2815  yyin->get( buf[0] );
2816 
2817  if ( yyin->eof() )
2818  return 0;
2819 
2820  if ( yyin->bad() )
2821  return -1;
2822 
2823  return 1;
2824 
2825 #else
2826  (void) yyin->read( buf, max_size );
2827 
2828  if ( yyin->bad() )
2829  return -1;
2830  else
2831  return yyin->gcount();
2832 #endif
2833 }
2834 
2835 void yyFlexLexer::LexerOutput( const char* buf, int size )
2836 {
2837  (void) yyout->write( buf, size );
2838 }
2839 /* %ok-for-header */
2840 
2841 /* %endif */
2842 
2843 /* yy_get_next_buffer - try to read in a new buffer
2844  *
2845  * Returns a code representing an action:
2846  * EOB_ACT_LAST_MATCH -
2847  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2848  * EOB_ACT_END_OF_FILE - end of file
2849  */
2850 /* %if-c-only */
2851 /* %endif */
2852 /* %if-c++-only */
2853 int yyFlexLexer::yy_get_next_buffer()
2854 /* %endif */
2855 {
2856  register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2857  register char *source = (yytext_ptr);
2858  register int number_to_move, i;
2859  int ret_val;
2860 
2861  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2862  YY_FATAL_ERROR(
2863  "fatal flex scanner internal error--end of buffer missed" );
2864 
2865  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2866  { /* Don't try to fill the buffer, so this is an EOF. */
2867  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2868  {
2869  /* We matched a single character, the EOB, so
2870  * treat this as a final EOF.
2871  */
2872  return EOB_ACT_END_OF_FILE;
2873  }
2874 
2875  else
2876  {
2877  /* We matched some text prior to the EOB, first
2878  * process it.
2879  */
2880  return EOB_ACT_LAST_MATCH;
2881  }
2882  }
2883 
2884  /* Try to read more data. */
2885 
2886  /* First move last chars to start of buffer. */
2887  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2888 
2889  for ( i = 0; i < number_to_move; ++i )
2890  *(dest++) = *(source++);
2891 
2892  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2893  /* don't do the read, it's not guaranteed to return an EOF,
2894  * just force an EOF
2895  */
2896  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2897 
2898  else
2899  {
2900  int num_to_read =
2901  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2902 
2903  while ( num_to_read <= 0 )
2904  { /* Not enough room in the buffer - grow it. */
2905 
2906  /* just a shorter name for the current buffer */
2907  YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2908 
2909  int yy_c_buf_p_offset =
2910  (int) ((yy_c_buf_p) - b->yy_ch_buf);
2911 
2912  if ( b->yy_is_our_buffer )
2913  {
2914  int new_size = b->yy_buf_size * 2;
2915 
2916  if ( new_size <= 0 )
2917  b->yy_buf_size += b->yy_buf_size / 8;
2918  else
2919  b->yy_buf_size *= 2;
2920 
2921  b->yy_ch_buf = (char *)
2922  /* Include room in for 2 EOB chars. */
2923  HolidayScannerrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
2924  }
2925  else
2926  /* Can't grow it, we don't own it. */
2927  b->yy_ch_buf = 0;
2928 
2929  if ( ! b->yy_ch_buf )
2930  YY_FATAL_ERROR(
2931  "fatal error - scanner input buffer overflow" );
2932 
2933  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2934 
2935  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2936  number_to_move - 1;
2937 
2938  }
2939 
2940  if ( num_to_read > YY_READ_BUF_SIZE )
2941  num_to_read = YY_READ_BUF_SIZE;
2942 
2943  /* Read in more data. */
2944  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2945  (yy_n_chars), (size_t) num_to_read );
2946 
2947  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2948  }
2949 
2950  if ( (yy_n_chars) == 0 )
2951  {
2952  if ( number_to_move == YY_MORE_ADJ )
2953  {
2954  ret_val = EOB_ACT_END_OF_FILE;
2955  yyrestart( yyin );
2956  }
2957 
2958  else
2959  {
2960  ret_val = EOB_ACT_LAST_MATCH;
2961  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2962  YY_BUFFER_EOF_PENDING;
2963  }
2964  }
2965 
2966  else
2967  ret_val = EOB_ACT_CONTINUE_SCAN;
2968 
2969  if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2970  /* Extend the array by 50%, plus the number we really need. */
2971  yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2972  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) HolidayScannerrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
2973  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2974  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2975  }
2976 
2977  (yy_n_chars) += number_to_move;
2978  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2979  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2980 
2981  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2982 
2983  return ret_val;
2984 }
2985 
2986 /* yy_get_previous_state - get the state just before the EOB char was reached */
2987 
2988 /* %if-c-only */
2989 /* %not-for-header */
2990 
2991 /* %endif */
2992 /* %if-c++-only */
2993  yy_state_type yyFlexLexer::yy_get_previous_state()
2994 /* %endif */
2995 {
2996  register yy_state_type yy_current_state;
2997  register char *yy_cp;
2998 
2999 /* %% [15.0] code to get the start state into yy_current_state goes here */
3000  yy_current_state = (yy_start);
3001  yy_current_state += YY_AT_BOL();
3002 
3003  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3004  {
3005 /* %% [16.0] code to find the next state goes here */
3006  register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3007  if ( yy_accept[yy_current_state] )
3008  {
3009  (yy_last_accepting_state) = yy_current_state;
3010  (yy_last_accepting_cpos) = yy_cp;
3011  }
3012  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3013  {
3014  yy_current_state = (int) yy_def[yy_current_state];
3015  if ( yy_current_state >= 943 )
3016  yy_c = yy_meta[(unsigned int) yy_c];
3017  }
3018  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3019  }
3020 
3021  return yy_current_state;
3022 }
3023 
3024 /* yy_try_NUL_trans - try to make a transition on the NUL character
3025  *
3026  * synopsis
3027  * next_state = yy_try_NUL_trans( current_state );
3028  */
3029 /* %if-c-only */
3030 /* %endif */
3031 /* %if-c++-only */
3032  yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )
3033 /* %endif */
3034 {
3035  register int yy_is_jam;
3036  /* %% [17.0] code to find the next state, and perhaps do backing up, goes here */
3037  register char *yy_cp = (yy_c_buf_p);
3038 
3039  register YY_CHAR yy_c = 1;
3040  if ( yy_accept[yy_current_state] )
3041  {
3042  (yy_last_accepting_state) = yy_current_state;
3043  (yy_last_accepting_cpos) = yy_cp;
3044  }
3045  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3046  {
3047  yy_current_state = (int) yy_def[yy_current_state];
3048  if ( yy_current_state >= 943 )
3049  yy_c = yy_meta[(unsigned int) yy_c];
3050  }
3051  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3052  yy_is_jam = (yy_current_state == 942);
3053 
3054  return yy_is_jam ? 0 : yy_current_state;
3055 }
3056 
3057 /* %if-c-only */
3058 /* %endif */
3059 /* %if-c++-only */
3060  void yyFlexLexer::yyunput( int c, register char* yy_bp)
3061 /* %endif */
3062 {
3063  register char *yy_cp;
3064 
3065  yy_cp = (yy_c_buf_p);
3066 
3067  /* undo effects of setting up yytext */
3068  *yy_cp = (yy_hold_char);
3069 
3070  if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3071  { /* need to shift things up to make room */
3072  /* +2 for EOB chars. */
3073  register int number_to_move = (yy_n_chars) + 2;
3074  register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3075  YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3076  register char *source =
3077  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3078 
3079  while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3080  *--dest = *--source;
3081 
3082  yy_cp += (int) (dest - source);
3083  yy_bp += (int) (dest - source);
3084  YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3085  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3086 
3087  if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3088  YY_FATAL_ERROR( "flex scanner push-back overflow" );
3089  }
3090 
3091  *--yy_cp = (char) c;
3092 
3093 /* %% [18.0] update yylineno here */
3094 
3095  (yytext_ptr) = yy_bp;
3096  (yy_hold_char) = *yy_cp;
3097  (yy_c_buf_p) = yy_cp;
3098 }
3099 /* %if-c-only */
3100 /* %endif */
3101 
3102 /* %if-c-only */
3103 /* %endif */
3104 /* %if-c++-only */
3105  int yyFlexLexer::yyinput()
3106 /* %endif */
3107 {
3108  int c;
3109 
3110  *(yy_c_buf_p) = (yy_hold_char);
3111 
3112  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3113  {
3114  /* yy_c_buf_p now points to the character we want to return.
3115  * If this occurs *before* the EOB characters, then it's a
3116  * valid NUL; if not, then we've hit the end of the buffer.
3117  */
3118  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3119  /* This was really a NUL. */
3120  *(yy_c_buf_p) = '\0';
3121 
3122  else
3123  { /* need more input */
3124  int offset = (yy_c_buf_p) - (yytext_ptr);
3125  ++(yy_c_buf_p);
3126 
3127  switch ( yy_get_next_buffer( ) )
3128  {
3129  case EOB_ACT_LAST_MATCH:
3130  /* This happens because yy_g_n_b()
3131  * sees that we've accumulated a
3132  * token and flags that we need to
3133  * try matching the token before
3134  * proceeding. But for input(),
3135  * there's no matching to consider.
3136  * So convert the EOB_ACT_LAST_MATCH
3137  * to EOB_ACT_END_OF_FILE.
3138  */
3139 
3140  /* Reset buffer status. */
3141  yyrestart( yyin );
3142 
3143  /*FALLTHROUGH*/
3144 
3145  case EOB_ACT_END_OF_FILE:
3146  {
3147  if ( yywrap( ) )
3148  return EOF;
3149 
3150  if ( ! (yy_did_buffer_switch_on_eof) )
3151  YY_NEW_FILE;
3152 #ifdef __cplusplus
3153  return yyinput();
3154 #else
3155  return input();
3156 #endif
3157  }
3158 
3159  case EOB_ACT_CONTINUE_SCAN:
3160  (yy_c_buf_p) = (yytext_ptr) + offset;
3161  break;
3162  }
3163  }
3164  }
3165 
3166  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3167  *(yy_c_buf_p) = '\0'; /* preserve yytext */
3168  (yy_hold_char) = *++(yy_c_buf_p);
3169 
3170 /* %% [19.0] update BOL and yylineno */
3171  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3172 
3173  return c;
3174 }
3175 /* %if-c-only */
3176 /* %endif */
3177 
3183 /* %if-c-only */
3184 /* %endif */
3185 /* %if-c++-only */
3186  void yyFlexLexer::yyrestart( std::istream* input_file )
3187 /* %endif */
3188 {
3189 
3190  if ( ! YY_CURRENT_BUFFER ){
3191  yyensure_buffer_stack ();
3192  YY_CURRENT_BUFFER_LVALUE =
3193  yy_create_buffer( yyin, YY_BUF_SIZE );
3194  }
3195 
3196  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
3197  yy_load_buffer_state( );
3198 }
3199 
3204 /* %if-c-only */
3205 /* %endif */
3206 /* %if-c++-only */
3207  void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
3208 /* %endif */
3209 {
3210 
3211  /* TODO. We should be able to replace this entire function body
3212  * with
3213  * yypop_buffer_state();
3214  * yypush_buffer_state(new_buffer);
3215  */
3216  yyensure_buffer_stack ();
3217  if ( YY_CURRENT_BUFFER == new_buffer )
3218  return;
3219 
3220  if ( YY_CURRENT_BUFFER )
3221  {
3222  /* Flush out information for old buffer. */
3223  *(yy_c_buf_p) = (yy_hold_char);
3224  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3225  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3226  }
3227 
3228  YY_CURRENT_BUFFER_LVALUE = new_buffer;
3229  yy_load_buffer_state( );
3230 
3231  /* We don't actually know whether we did this switch during
3232  * EOF (yywrap()) processing, but the only time this flag
3233  * is looked at is after yywrap() is called, so it's safe
3234  * to go ahead and always set it.
3235  */
3236  (yy_did_buffer_switch_on_eof) = 1;
3237 }
3238 
3239 /* %if-c-only */
3240 /* %endif */
3241 /* %if-c++-only */
3242  void yyFlexLexer::yy_load_buffer_state()
3243 /* %endif */
3244 {
3245  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3246  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3247  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3248  (yy_hold_char) = *(yy_c_buf_p);
3249 }
3250 
3257 /* %if-c-only */
3258 /* %endif */
3259 /* %if-c++-only */
3260  YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size )
3261 /* %endif */
3262 {
3263  YY_BUFFER_STATE b;
3264 
3265  b = (YY_BUFFER_STATE) HolidayScanneralloc(sizeof( struct yy_buffer_state ) );
3266  if ( ! b )
3267  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3268 
3269  b->yy_buf_size = size;
3270 
3271  /* yy_ch_buf has to be 2 characters longer than the size given because
3272  * we need to put in 2 end-of-buffer characters.
3273  */
3274  b->yy_ch_buf = (char *) HolidayScanneralloc(b->yy_buf_size + 2 );
3275  if ( ! b->yy_ch_buf )
3276  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3277 
3278  b->yy_is_our_buffer = 1;
3279 
3280  yy_init_buffer( b, file );
3281 
3282  return b;
3283 }
3284 
3289 /* %if-c-only */
3290 /* %endif */
3291 /* %if-c++-only */
3292  void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )
3293 /* %endif */
3294 {
3295 
3296  if ( ! b )
3297  return;
3298 
3299  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3300  YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3301 
3302  if ( b->yy_is_our_buffer )
3303  HolidayScannerfree((void *) b->yy_ch_buf );
3304 
3305  HolidayScannerfree((void *) b );
3306 }
3307 
3308 /* %if-c-only */
3309 /* %endif */
3310 
3311 /* %if-c++-only */
3312 
3313 extern "C" int isatty (int );
3314 
3315 /* %endif */
3316 
3317 /* Initializes or reinitializes a buffer.
3318  * This function is sometimes called more than once on the same buffer,
3319  * such as during a yyrestart() or at EOF.
3320  */
3321 /* %if-c-only */
3322 /* %endif */
3323 /* %if-c++-only */
3324  void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file )
3325 /* %endif */
3326 
3327 {
3328  int oerrno = errno;
3329 
3330  yy_flush_buffer( b );
3331 
3332  b->yy_input_file = file;
3333  b->yy_fill_buffer = 1;
3334 
3335  /* If b is the current buffer, then yy_init_buffer was _probably_
3336  * called from yyrestart() or through yy_get_next_buffer.
3337  * In that case, we don't want to reset the lineno or column.
3338  */
3339  if (b != YY_CURRENT_BUFFER){
3340  b->yy_bs_lineno = 1;
3341  b->yy_bs_column = 0;
3342  }
3343 
3344 /* %if-c-only */
3345 /* %endif */
3346 /* %if-c++-only */
3347  b->yy_is_interactive = 0;
3348 /* %endif */
3349  errno = oerrno;
3350 }
3351 
3356 /* %if-c-only */
3357 /* %endif */
3358 /* %if-c++-only */
3359  void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b )
3360 /* %endif */
3361 {
3362  if ( ! b )
3363  return;
3364 
3365  b->yy_n_chars = 0;
3366 
3367  /* We always need two end-of-buffer characters. The first causes
3368  * a transition to the end-of-buffer state. The second causes
3369  * a jam in that state.
3370  */
3371  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3372  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3373 
3374  b->yy_buf_pos = &b->yy_ch_buf[0];
3375 
3376  b->yy_at_bol = 1;
3377  b->yy_buffer_status = YY_BUFFER_NEW;
3378 
3379  if ( b == YY_CURRENT_BUFFER )
3380  yy_load_buffer_state( );
3381 }
3382 
3383 /* %if-c-or-c++ */
3390 /* %if-c-only */
3391 /* %endif */
3392 /* %if-c++-only */
3393 void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer)
3394 /* %endif */
3395 {
3396  if (new_buffer == NULL)
3397  return;
3398 
3399  yyensure_buffer_stack();
3400 
3401  /* This block is copied from yy_switch_to_buffer. */
3402  if ( YY_CURRENT_BUFFER )
3403  {
3404  /* Flush out information for old buffer. */
3405  *(yy_c_buf_p) = (yy_hold_char);
3406  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3407  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3408  }
3409 
3410  /* Only push if top exists. Otherwise, replace top. */
3411  if (YY_CURRENT_BUFFER)
3412  (yy_buffer_stack_top)++;
3413  YY_CURRENT_BUFFER_LVALUE = new_buffer;
3414 
3415  /* copied from yy_switch_to_buffer. */
3416  yy_load_buffer_state( );
3417  (yy_did_buffer_switch_on_eof) = 1;
3418 }
3419 /* %endif */
3420 
3421 /* %if-c-or-c++ */
3426 /* %if-c-only */
3427 /* %endif */
3428 /* %if-c++-only */
3429 void yyFlexLexer::yypop_buffer_state (void)
3430 /* %endif */
3431 {
3432  if (!YY_CURRENT_BUFFER)
3433  return;
3434 
3435  yy_delete_buffer(YY_CURRENT_BUFFER );
3436  YY_CURRENT_BUFFER_LVALUE = NULL;
3437  if ((yy_buffer_stack_top) > 0)
3438  --(yy_buffer_stack_top);
3439 
3440  if (YY_CURRENT_BUFFER) {
3441  yy_load_buffer_state( );
3442  (yy_did_buffer_switch_on_eof) = 1;
3443  }
3444 }
3445 /* %endif */
3446 
3447 /* %if-c-or-c++ */
3448 /* Allocates the stack if it does not exist.
3449  * Guarantees space for at least one push.
3450  */
3451 /* %if-c-only */
3452 /* %endif */
3453 /* %if-c++-only */
3454 void yyFlexLexer::yyensure_buffer_stack(void)
3455 /* %endif */
3456 {
3457  int num_to_alloc;
3458 
3459  if (!(yy_buffer_stack)) {
3460 
3461  /* First allocation is just for 2 elements, since we don't know if this
3462  * scanner will even need a stack. We use 2 instead of 1 to avoid an
3463  * immediate realloc on the next call.
3464  */
3465  num_to_alloc = 1;
3466  (yy_buffer_stack) = (struct yy_buffer_state**)HolidayScanneralloc
3467  (num_to_alloc * sizeof(struct yy_buffer_state*)
3468  );
3469  if ( ! (yy_buffer_stack) )
3470  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3471 
3472  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3473 
3474  (yy_buffer_stack_max) = num_to_alloc;
3475  (yy_buffer_stack_top) = 0;
3476  return;
3477  }
3478 
3479  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3480 
3481  /* Increase the buffer to prepare for a possible push. */
3482  int grow_size = 8 /* arbitrary grow size */;
3483 
3484  num_to_alloc = (yy_buffer_stack_max) + grow_size;
3485  (yy_buffer_stack) = (struct yy_buffer_state**)HolidayScannerrealloc
3486  ((yy_buffer_stack),
3487  num_to_alloc * sizeof(struct yy_buffer_state*)
3488  );
3489  if ( ! (yy_buffer_stack) )
3490  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3491 
3492  /* zero only the new slots.*/
3493  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3494  (yy_buffer_stack_max) = num_to_alloc;
3495  }
3496 }
3497 /* %endif */
3498 
3499 /* %if-c-only */
3500 /* %endif */
3501 
3502 /* %if-c-only */
3503 /* %endif */
3504 
3505 /* %if-c-only */
3506 /* %endif */
3507 
3508 /* %if-c-only */
3509 /* %endif */
3510 /* %if-c++-only */
3511  void yyFlexLexer::yy_push_state( int new_state )
3512 /* %endif */
3513 {
3514  if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
3515  {
3516  yy_size_t new_size;
3517 
3518  (yy_start_stack_depth) += YY_START_STACK_INCR;
3519  new_size = (yy_start_stack_depth) * sizeof( int );
3520 
3521  if ( ! (yy_start_stack) )
3522  (yy_start_stack) = (int *) HolidayScanneralloc(new_size );
3523 
3524  else
3525  (yy_start_stack) = (int *) HolidayScannerrealloc((void *) (yy_start_stack),new_size );
3526 
3527  if ( ! (yy_start_stack) )
3528  YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
3529  }
3530 
3531  (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
3532 
3533  BEGIN(new_state);
3534 }
3535 
3536 /* %if-c-only */
3537 /* %endif */
3538 /* %if-c++-only */
3539  void yyFlexLexer::yy_pop_state()
3540 /* %endif */
3541 {
3542  if ( --(yy_start_stack_ptr) < 0 )
3543  YY_FATAL_ERROR( "start-condition stack underflow" );
3544 
3545  BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
3546 }
3547 
3548 /* %if-c-only */
3549 /* %endif */
3550 /* %if-c++-only */
3551  int yyFlexLexer::yy_top_state()
3552 /* %endif */
3553 {
3554  return (yy_start_stack)[(yy_start_stack_ptr) - 1];
3555 }
3556 
3557 #ifndef YY_EXIT_FAILURE
3558 #define YY_EXIT_FAILURE 2
3559 #endif
3560 
3561 /* %if-c-only */
3562 /* %endif */
3563 /* %if-c++-only */
3564 void yyFlexLexer::LexerError( yyconst char msg[] )
3565 {
3566  std::cerr << msg << std::endl;
3567  exit( YY_EXIT_FAILURE );
3568 }
3569 /* %endif */
3570 
3571 /* Redefine yyless() so it works in section 3 code. */
3572 
3573 #undef yyless
3574 #define yyless(n) \
3575  do \
3576  { \
3577  /* Undo effects of setting up yytext. */ \
3578  int yyless_macro_arg = (n); \
3579  YY_LESS_LINENO(yyless_macro_arg);\
3580  yytext[yyleng] = (yy_hold_char); \
3581  (yy_c_buf_p) = yytext + yyless_macro_arg; \
3582  (yy_hold_char) = *(yy_c_buf_p); \
3583  *(yy_c_buf_p) = '\0'; \
3584  yyleng = yyless_macro_arg; \
3585  } \
3586  while ( 0 )
3587 
3588 /* Accessor methods (get/set functions) to struct members. */
3589 
3590 /* %if-c-only */
3591 /* %if-reentrant */
3592 /* %endif */
3593 /* %if-reentrant */
3594 /* %endif */
3595 /* %endif */
3596 
3597 /* %if-reentrant */
3598 /* %if-bison-bridge */
3599 /* %endif */
3600 /* %endif if-c-only */
3601 
3602 /* %if-c-only */
3603 /* %endif */
3604 
3605 /* %if-c-only SNIP! this currently causes conflicts with the c++ scanner */
3606 /* %if-reentrant */
3607 /* %endif */
3608 /* %endif */
3609 
3610 /*
3611  * Internal utility routines.
3612  */
3613 
3614 #ifndef yytext_ptr
3615 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3616 {
3617  register int i;
3618  for ( i = 0; i < n; ++i )
3619  s1[i] = s2[i];
3620 }
3621 #endif
3622 
3623 #ifdef YY_NEED_STRLEN
3624 static int yy_flex_strlen (yyconst char * s )
3625 {
3626  register int n;
3627  for ( n = 0; s[n]; ++n )
3628  ;
3629 
3630  return n;
3631 }
3632 #endif
3633 
3634 void *HolidayScanneralloc (yy_size_t size )
3635 {
3636  return (void *) malloc( size );
3637 }
3638 
3639 void *HolidayScannerrealloc (void * ptr, yy_size_t size )
3640 {
3641  /* The cast to (char *) in the following accommodates both
3642  * implementations that use char* generic pointers, and those
3643  * that use void* generic pointers. It works with the latter
3644  * because both ANSI C and C++ allow castless assignment from
3645  * any pointer type to void*, and deal with argument conversions
3646  * as though doing an assignment.
3647  */
3648  return (void *) realloc( (char *) ptr, size );
3649 }
3650 
3651 void HolidayScannerfree (void * ptr )
3652 {
3653  free( (char *) ptr ); /* see HolidayScannerrealloc() for (char *) cast */
3654 }
3655 
3656 /* %if-tables-serialization definitions */
3657 /* %define-yytables The name for this specific scanner's tables. */
3658 #define YYTABLES_NAME "yytables"
3659 /* %endif */
3660 
3661 /* %ok-for-header */
3662 
3663 #line 322 "holidayscannerplan.lpp"
3664 
3665 
3666 
3667 namespace KHolidays {
3668 
3669 HolidayScannerPlan::HolidayScannerPlan(std::istream* in, std::ostream* out)
3670  : HolidayScannerFlexLexer(in, out)
3671 {
3672 }
3673 
3674 HolidayScannerPlan::~HolidayScannerPlan()
3675 {
3676 }
3677 
3678 void HolidayScannerPlan::set_debug(bool b)
3679 {
3680  yy_flex_debug = b;
3681 }
3682 
3683 } // namespace KHolidays
3684 
3685 /* This implementation of HolidayScannerFlexLexer::yylex() is required to fill the
3686  * vtable of the class HolidayScannerFlexLexer. We define the scanner's main yylex
3687  * function via YY_DECL to reside in the HolidayScannerPlan class instead. */
3688 
3689 #ifdef yylex
3690 #undef yylex
3691 #endif
3692 
3693 int HolidayScannerFlexLexer::yylex()
3694 {
3695  kDebug() << "in HolidayScannerFlexLexer::yylex() !";
3696  return 0;
3697 }
3698 
3699 /* When the scanner receives an end-of-file indication from YY_INPUT, it then
3700  * checks the yywrap() function. If yywrap() returns false (zero), then it is
3701  * assumed that the function has gone ahead and set up `yyin' to point to
3702  * another input file, and scanning continues. If it returns true (non-zero),
3703  * then the scanner terminates, returning 0 to its caller. */
3704 
3705 int HolidayScannerFlexLexer::yywrap()
3706 {
3707  return 1;
3708 }
3709 
KHolidays::HolidayParserPlan::token_type
token::yytokentype token_type
Token type.
Definition: holidayparserplan.hpp:170
KHolidays::HolidayParserPlan::token
Tokens.
Definition: holidayparserplan.hpp:131
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:00:06 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KHolidays Library

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

kdepimlibs API Reference

Skip menu "kdepimlibs API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kldap
  • kmbox
  • kmime
  • kpimidentities
  • kpimtextedit
  • kresources
  • ktnef
  • kxmlrpcclient
  • microblog

Search



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