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