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

KHolidays Library

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

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

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