5 #define YY_INT_ALIGNED short int
7 /* A lexical scanner generated by flex */
10 #define YY_FLEX_MAJOR_VERSION 2
11 #define YY_FLEX_MINOR_VERSION 5
12 #define YY_FLEX_SUBMINOR_VERSION 35
13 #if YY_FLEX_SUBMINOR_VERSION > 0
17 /* First, we deal with platform-specific or compiler-specific issues. */
19 /* begin standard C headers. */
25 /* end standard C headers. */
27 /* flex integer type definitions */
32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
34 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
36 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37 * if you want the limit (max/min) macros for int types.
39 #ifndef __STDC_LIMIT_MACROS
40 #define __STDC_LIMIT_MACROS 1
44 typedef int8_t flex_int8_t;
45 typedef uint8_t flex_uint8_t;
46 typedef int16_t flex_int16_t;
47 typedef uint16_t flex_uint16_t;
48 typedef int32_t flex_int32_t;
49 typedef uint32_t flex_uint32_t;
51 typedef signed char flex_int8_t;
52 typedef short int flex_int16_t;
53 typedef int flex_int32_t;
54 typedef unsigned char flex_uint8_t;
55 typedef unsigned short int flex_uint16_t;
56 typedef unsigned int flex_uint32_t;
59 /* Limits of integral types. */
61 #define INT8_MIN (-128)
64 #define INT16_MIN (-32767-1)
67 #define INT32_MIN (-2147483647-1)
70 #define INT8_MAX (127)
73 #define INT16_MAX (32767)
76 #define INT32_MAX (2147483647)
79 #define UINT8_MAX (255U)
82 #define UINT16_MAX (65535U)
85 #define UINT32_MAX (4294967295U)
88 #endif /* ! FLEXINT_H */
92 /* The "const" storage-class-modifier is valid. */
95 #else /* ! __cplusplus */
97 /* C99 requires __STDC__ to be defined as 1. */
98 #if defined (__STDC__)
102 #endif /* defined (__STDC__) */
103 #endif /* ! __cplusplus */
106 #define yyconst const
111 /* Returned upon end-of-file. */
114 /* Promotes a possibly negative, possibly signed char to an unsigned
115 * integer for use as an array index. If the signed char is negative,
116 * we want to instead treat it as an 8-bit unsigned char, hence the
119 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
121 /* Enter a start condition. This macro really ought to take a parameter,
122 * but we do it the disgusting crufty way forced on us by the ()-less
123 * definition of BEGIN.
125 #define BEGIN (yy_start) = 1 + 2 *
127 /* Translate the current start state into a value that can be later handed
128 * to BEGIN to return to the state. The YYSTATE alias is for lex
131 #define YY_START (((yy_start) - 1) / 2)
132 #define YYSTATE YY_START
134 /* Action number for EOF rule of a given start state. */
135 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
137 /* Special action meaning "start processing a new file". */
138 #define YY_NEW_FILE yyrestart(yyin )
140 #define YY_END_OF_BUFFER_CHAR 0
142 /* Size of default input buffer. */
144 #define YY_BUF_SIZE 16384
147 /* The state buf must be large enough to hold one state per character in the main buffer.
149 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
151 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
152 #define YY_TYPEDEF_YY_BUFFER_STATE
153 typedef struct yy_buffer_state *YY_BUFFER_STATE;
156 #ifndef YY_TYPEDEF_YY_SIZE_T
157 #define YY_TYPEDEF_YY_SIZE_T
158 typedef size_t yy_size_t;
161 extern yy_size_t yyleng;
163 extern FILE *yyin, *yyout;
165 #define EOB_ACT_CONTINUE_SCAN 0
166 #define EOB_ACT_END_OF_FILE 1
167 #define EOB_ACT_LAST_MATCH 2
169 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
170 * access to the local variable yy_act. Since yyless() is a macro, it would break
171 * existing scanners that call yyless() from OUTSIDE yylex.
172 * One obvious solution it to make yy_act a global. I tried that, and saw
173 * a 5% performance hit in a non-yylineno scanner, because yy_act is
174 * normally declared as a register variable-- so it is not worth it.
176 #define YY_LESS_LINENO(n) \
179 for ( yyl = n; yyl < yyleng; ++yyl )\
180 if ( yytext[yyl] == '\n' )\
184 /* Return all but the first "n" matched characters back to the input stream. */
188 /* Undo effects of setting up yytext. */ \
189 int yyless_macro_arg = (n); \
190 YY_LESS_LINENO(yyless_macro_arg);\
191 *yy_cp = (yy_hold_char); \
192 YY_RESTORE_YY_MORE_OFFSET \
193 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
194 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
198 #define unput(c) yyunput( c, (yytext_ptr) )
200 #ifndef YY_STRUCT_YY_BUFFER_STATE
201 #define YY_STRUCT_YY_BUFFER_STATE
202 struct yy_buffer_state
206 char *yy_ch_buf; /* input buffer */
207 char *yy_buf_pos; /* current position in input buffer */
209 /* Size of input buffer in bytes, not including room for EOB
212 yy_size_t yy_buf_size;
214 /* Number of characters read into yy_ch_buf, not including EOB
217 yy_size_t yy_n_chars;
219 /* Whether we "own" the buffer - i.e., we know we created it,
220 * and can realloc() it to grow it, and should free() it to
223 int yy_is_our_buffer;
225 /* Whether this is an "interactive" input source; if so, and
226 * if we're using stdio for input, then we want to use getc()
227 * instead of fread(), to make sure we stop fetching input after
230 int yy_is_interactive;
232 /* Whether we're considered to be at the beginning of a line.
233 * If so, '^' rules will be active on the next match, otherwise
238 int yy_bs_lineno; /**< The line count. */
239 int yy_bs_column; /**< The column count. */
241 /* Whether to try to fill the input buffer when we reach the
246 int yy_buffer_status;
248 #define YY_BUFFER_NEW 0
249 #define YY_BUFFER_NORMAL 1
250 /* When an EOF's been seen but there's still some text to process
251 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
252 * shouldn't try reading from the input source any more. We might
253 * still have a bunch of tokens to match, though, because of
254 * possible backing-up.
256 * When we actually see the EOF, we change the status to "new"
257 * (via yyrestart()), so that the user can continue scanning by
258 * just pointing yyin at a new input file.
260 #define YY_BUFFER_EOF_PENDING 2
263 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
265 /* Stack of input buffers. */
266 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
267 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
268 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
270 /* We provide macros for accessing buffer states in case in the
271 * future we want to put the buffer states in a more general
274 * Returns the top of the stack, or NULL.
276 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
277 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
280 /* Same as previous macro, but useful when we know that the buffer stack is not
281 * NULL or when we need an lvalue. For internal use only.
283 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
285 /* yy_hold_char holds the character lost when yytext is formed. */
286 static char yy_hold_char;
287 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
290 /* Points to current character in buffer. */
291 static char *yy_c_buf_p = (char *) 0;
292 static int yy_init = 0; /* whether we need to initialize */
293 static int yy_start = 0; /* start state number */
295 /* Flag which is used to allow yywrap()'s to do buffer switches
296 * instead of setting up a fresh yyin. A bit of a hack ...
298 static int yy_did_buffer_switch_on_eof;
300 void yyrestart (FILE *input_file );
301 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
302 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
303 void yy_delete_buffer (YY_BUFFER_STATE b );
304 void yy_flush_buffer (YY_BUFFER_STATE b );
305 void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
306 void yypop_buffer_state (void );
308 static void yyensure_buffer_stack (void );
309 static void yy_load_buffer_state (void );
310 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
312 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
314 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
315 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
316 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
318 void *yyalloc (yy_size_t );
319 void *yyrealloc (void *,yy_size_t );
320 void yyfree (void * );
322 #define yy_new_buffer yy_create_buffer
324 #define yy_set_interactive(is_interactive) \
326 if ( ! YY_CURRENT_BUFFER ){ \
327 yyensure_buffer_stack (); \
328 YY_CURRENT_BUFFER_LVALUE = \
329 yy_create_buffer(yyin,YY_BUF_SIZE ); \
331 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
334 #define yy_set_bol(at_bol) \
336 if ( ! YY_CURRENT_BUFFER ){\
337 yyensure_buffer_stack (); \
338 YY_CURRENT_BUFFER_LVALUE = \
339 yy_create_buffer(yyin,YY_BUF_SIZE ); \
341 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
344 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
346 /* Begin user sect3 */
348 typedef unsigned char YY_CHAR;
350 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
352 typedef int yy_state_type;
359 #define yytext_ptr yytext
361 static yy_state_type yy_get_previous_state (void );
362 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
363 static int yy_get_next_buffer (void );
364 static void yy_fatal_error (yyconst char msg[] );
366 /* Done after the current pattern has been matched and before the
367 * corresponding action - sets up yytext.
369 #define YY_DO_BEFORE_ACTION \
370 (yytext_ptr) = yy_bp; \
371 yyleng = (size_t) (yy_cp - yy_bp); \
372 (yy_hold_char) = *yy_cp; \
374 (yy_c_buf_p) = yy_cp;
376 #define YY_NUM_RULES 173
377 #define YY_END_OF_BUFFER 174
378 /* This struct is not used in this scanner,
379 but its presence is necessary. */
382 flex_int32_t yy_verify;
385 static yyconst flex_int16_t yy_accept[1116] =
387 0, 0, 174, 172, 142, 143, 143, 171, 172, 171,
388 171, 172, 171, 171, 171, 171, 171, 171, 171, 140,
389 139, 171, 171, 171, 171, 133, 133, 133, 133, 133,
390 133, 169, 172, 170, 171, 133, 133, 133, 133, 133,
391 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
392 133, 133, 133, 133, 171, 142, 11, 11, 14, 171,
393 172, 142, 164, 0, 15, 0, 157, 161, 158, 0,
394 0, 0, 116, 117, 0, 0, 0, 0, 155, 151,
395 153, 152, 154, 149, 147, 0, 134, 1, 13, 156,
396 135, 138, 0, 0, 139, 139, 139, 168, 146, 165,
398 163, 166, 150, 133, 133, 133, 133, 133, 133, 133,
399 133, 141, 0, 160, 133, 133, 133, 133, 133, 133,
400 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
401 133, 133, 133, 133, 133, 133, 133, 70, 133, 133,
402 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
403 133, 133, 133, 133, 133, 159, 162, 142, 11, 14,
404 0, 0, 14, 14, 12, 0, 15, 16, 16, 0,
405 0, 0, 0, 0, 148, 167, 134, 134, 13, 135,
406 135, 138, 138, 0, 136, 137, 144, 145, 133, 133,
407 133, 133, 0, 133, 133, 133, 133, 133, 133, 133,
409 133, 133, 68, 133, 133, 133, 133, 133, 133, 133,
410 133, 133, 133, 133, 133, 133, 133, 133, 133, 25,
411 133, 133, 133, 133, 58, 72, 133, 133, 133, 133,
412 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
413 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
414 133, 74, 12, 14, 12, 12, 12, 12, 0, 0,
415 0, 0, 0, 0, 0, 134, 0, 135, 136, 137,
416 133, 133, 133, 133, 0, 133, 133, 133, 133, 133,
417 133, 133, 133, 133, 133, 133, 66, 133, 133, 29,
418 24, 133, 133, 133, 133, 133, 133, 42, 133, 133,
420 133, 133, 133, 133, 23, 133, 133, 133, 133, 133,
421 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
422 133, 0, 133, 133, 133, 133, 133, 133, 133, 133,
423 133, 28, 133, 133, 133, 133, 133, 133, 133, 133,
424 133, 133, 133, 133, 133, 133, 12, 12, 12, 12,
425 12, 12, 12, 12, 0, 0, 0, 0, 0, 133,
426 133, 133, 133, 128, 133, 133, 133, 133, 133, 133,
427 133, 133, 133, 133, 133, 133, 133, 133, 77, 37,
428 78, 45, 133, 133, 133, 133, 133, 20, 133, 133,
429 133, 133, 133, 133, 133, 71, 133, 133, 133, 133,
431 133, 133, 22, 133, 133, 133, 133, 133, 0, 133,
432 133, 133, 61, 133, 133, 43, 133, 57, 133, 133,
433 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
434 133, 133, 133, 133, 12, 12, 12, 12, 12, 12,
435 12, 2, 3, 0, 0, 0, 0, 0, 133, 133,
436 133, 133, 128, 133, 133, 133, 121, 133, 133, 133,
437 133, 133, 133, 133, 133, 69, 76, 133, 59, 19,
438 133, 133, 52, 49, 50, 133, 133, 133, 73, 133,
439 133, 133, 133, 39, 133, 133, 133, 27, 30, 133,
440 51, 0, 0, 0, 133, 38, 133, 133, 133, 133,
442 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
443 133, 133, 133, 133, 133, 75, 12, 12, 12, 2,
444 3, 12, 12, 12, 2, 3, 0, 0, 0, 0,
445 0, 133, 133, 133, 133, 133, 133, 133, 120, 133,
446 131, 133, 133, 133, 21, 133, 133, 133, 133, 133,
447 133, 47, 133, 133, 133, 40, 133, 0, 133, 133,
448 133, 31, 133, 0, 0, 0, 124, 124, 133, 55,
449 133, 133, 44, 133, 133, 133, 133, 133, 133, 133,
450 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
451 133, 133, 133, 0, 12, 12, 12, 2, 3, 12,
453 12, 12, 0, 0, 0, 0, 0, 118, 119, 121,
454 17, 121, 32, 133, 133, 133, 133, 133, 133, 133,
455 133, 133, 133, 133, 60, 123, 123, 133, 48, 122,
456 122, 0, 133, 0, 67, 133, 0, 36, 133, 0,
457 0, 0, 53, 54, 26, 46, 133, 133, 133, 133,
458 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
459 133, 133, 133, 133, 133, 133, 133, 133, 133, 12,
460 12, 12, 5, 12, 12, 0, 0, 0, 0, 133,
461 133, 133, 133, 133, 133, 133, 133, 133, 56, 0,
462 41, 0, 133, 133, 0, 0, 0, 133, 133, 133,
464 133, 133, 133, 133, 79, 133, 133, 133, 133, 133,
465 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
466 5, 12, 12, 5, 12, 12, 0, 0, 133, 132,
467 133, 133, 130, 64, 133, 0, 0, 0, 133, 133,
468 0, 0, 0, 133, 133, 133, 133, 133, 133, 133,
469 18, 133, 133, 133, 133, 133, 133, 133, 133, 133,
470 133, 133, 133, 133, 133, 5, 12, 12, 12, 12,
471 0, 4, 133, 133, 133, 133, 0, 0, 0, 133,
472 62, 0, 0, 0, 133, 133, 133, 81, 133, 133,
473 133, 133, 80, 133, 133, 133, 133, 133, 133, 133,
475 133, 106, 133, 133, 133, 133, 133, 133, 12, 12,
476 12, 12, 0, 133, 133, 133, 63, 0, 0, 0,
477 133, 0, 0, 133, 127, 133, 133, 133, 133, 133,
478 133, 133, 133, 125, 133, 108, 110, 112, 102, 133,
479 133, 133, 133, 107, 133, 133, 133, 12, 12, 12,
480 12, 0, 133, 133, 129, 0, 0, 0, 33, 133,
481 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
482 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
483 109, 111, 113, 133, 133, 133, 12, 12, 12, 12,
484 12, 12, 12, 0, 133, 133, 0, 34, 0, 133,
486 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
487 133, 133, 133, 133, 133, 133, 133, 114, 115, 133,
488 133, 133, 133, 12, 12, 12, 12, 12, 12, 12,
489 12, 12, 12, 0, 133, 104, 0, 133, 87, 133,
490 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
491 133, 133, 133, 133, 133, 133, 133, 133, 133, 12,
492 12, 12, 12, 12, 12, 12, 12, 12, 6, 133,
493 0, 35, 65, 133, 133, 133, 133, 133, 133, 133,
494 133, 133, 84, 133, 133, 133, 133, 133, 133, 133,
495 133, 126, 133, 133, 12, 12, 12, 12, 6, 12,
497 12, 12, 12, 6, 133, 133, 133, 86, 83, 133,
498 133, 133, 133, 97, 85, 82, 133, 133, 133, 133,
499 96, 133, 133, 133, 12, 12, 12, 12, 6, 12,
500 12, 12, 12, 105, 133, 133, 92, 93, 94, 95,
501 88, 89, 90, 91, 133, 133, 133, 12, 12, 12,
502 12, 12, 12, 12, 12, 133, 133, 133, 133, 133,
503 12, 12, 12, 12, 10, 12, 12, 12, 100, 133,
504 103, 133, 133, 10, 12, 12, 12, 10, 12, 8,
505 9, 133, 133, 133, 10, 12, 8, 9, 12, 8,
506 9, 133, 133, 133, 12, 8, 9, 12, 133, 133,
508 99, 12, 7, 133, 133, 7, 7, 133, 133, 7,
512 static yyconst flex_int32_t yy_ec[256] =
514 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
515 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
517 1, 6, 7, 8, 9, 1, 10, 11, 12, 13,
518 14, 15, 16, 14, 17, 18, 19, 20, 21, 22,
519 23, 24, 25, 26, 25, 27, 25, 28, 14, 29,
520 30, 31, 1, 32, 33, 34, 35, 36, 37, 38,
521 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
522 49, 50, 51, 52, 53, 54, 55, 56, 57, 40,
523 58, 59, 60, 61, 62, 1, 63, 64, 65, 66,
525 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
526 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
527 87, 88, 14, 89, 14, 14, 1, 1, 1, 1,
528 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
529 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
530 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
531 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
532 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
533 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
534 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
536 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
537 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
538 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
539 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
540 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
544 static yyconst flex_int32_t yy_meta[90] =
546 1, 2, 3, 1, 2, 2, 1, 1, 1, 1,
547 2, 4, 1, 1, 2, 1, 1, 5, 1, 6,
548 6, 6, 6, 6, 6, 6, 6, 7, 1, 1,
549 1, 1, 8, 8, 8, 8, 8, 8, 9, 9,
550 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
551 9, 9, 9, 9, 9, 9, 9, 1, 1, 1,
552 1, 9, 8, 8, 8, 8, 8, 8, 9, 9,
553 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
554 9, 9, 9, 9, 9, 9, 9, 9, 1
557 static yyconst flex_int16_t yy_base[1153] =
559 0, 88, 2594, 2595, 90, 2595, 2595, 2563, 87, 2562,
560 87, 2532, 97, 2595, 2560, 85, 88, 113, 91, 133,
561 151, 2561, 84, 2558, 92, 63, 2525, 83, 42, 128,
562 85, 2595, 124, 2595, 2556, 2523, 103, 120, 122, 136,
563 119, 87, 125, 86, 79, 145, 147, 131, 148, 159,
564 164, 162, 171, 106, 113, 252, 2595, 2595, 2525, 217,
565 2512, 214, 2595, 158, 2595, 186, 2595, 2595, 2595, 223,
566 227, 257, 2595, 2595, 116, 2554, 216, 209, 2595, 2595,
567 2595, 2595, 2595, 2566, 2595, 2562, 254, 2595, 0, 2595,
568 273, 293, 311, 0, 321, 341, 353, 2595, 2549, 2595,
570 2595, 2595, 2548, 2515, 205, 227, 208, 335, 241, 142,
571 239, 2595, 2573, 2595, 344, 221, 226, 240, 247, 203,
572 242, 323, 321, 267, 324, 322, 339, 325, 332, 334,
573 244, 328, 329, 352, 351, 356, 287, 2513, 357, 358,
574 261, 361, 360, 362, 371, 378, 372, 366, 381, 383,
575 386, 387, 389, 393, 390, 2595, 2595, 466, 2595, 2515,
576 2554, 2501, 2512, 471, 447, 276, 248, 2595, 444, 2542,
577 2541, 437, 433, 434, 2595, 2595, 466, 484, 0, 492,
578 511, 521, 533, 541, 549, 557, 2595, 2595, 458, 417,
579 478, 462, 2540, 2505, 461, 420, 523, 459, 293, 421,
581 524, 80, 2504, 525, 536, 526, 534, 545, 539, 546,
582 542, 541, 330, 553, 556, 549, 569, 567, 548, 2503,
583 571, 573, 574, 576, 2502, 2501, 577, 603, 579, 582,
584 585, 584, 583, 586, 588, 587, 593, 437, 590, 625,
585 602, 599, 594, 607, 613, 617, 616, 614, 291, 618,
586 661, 2500, 683, 679, 0, 665, 2509, 2508, 2481, 2476,
587 716, 656, 666, 658, 723, 731, 739, 747, 755, 763,
588 662, 663, 670, 664, 0, 758, 743, 647, 666, 731,
589 672, 741, 732, 637, 668, 770, 2495, 742, 744, 2494,
590 2493, 753, 747, 754, 757, 761, 750, 2492, 746, 771,
592 776, 778, 779, 673, 2491, 780, 781, 808, 784, 786,
593 674, 787, 790, 797, 791, 794, 798, 804, 2490, 802,
594 811, 2523, 801, 816, 812, 467, 817, 822, 823, 825,
595 826, 2488, 828, 827, 833, 829, 835, 837, 839, 838,
596 844, 845, 846, 849, 850, 876, 0, 900, 2497, 2496,
597 868, 2480, 2490, 2489, 2470, 2476, 894, 895, 896, 873,
598 880, 895, 893, 0, 877, 896, 887, 900, 883, 885,
599 886, 890, 884, 927, 894, 892, 898, 899, 2480, 2479,
600 2478, 2477, 905, 907, 908, 906, 914, 2476, 916, 913,
601 921, 919, 923, 924, 925, 2475, 929, 926, 932, 933,
603 934, 937, 2474, 938, 940, 968, 2473, 948, 938, 949,
604 952, 958, 2472, 955, 961, 2471, 963, 2470, 964, 966,
605 967, 969, 970, 971, 983, 974, 976, 980, 979, 978,
606 985, 981, 993, 992, 1014, 2464, 2474, 2473, 2495, 2490,
607 2445, 0, 0, 2458, 2444, 1034, 1035, 1036, 1016, 1017,
608 1034, 1035, 0, 1020, 1036, 1040, 1026, 1014, 1018, 1021,
609 1019, 1025, 1065, 1031, 1039, 2461, 2460, 1054, 2459, 2458,
610 1041, 1037, 2457, 2456, 2455, 1043, 1045, 1047, 2454, 1049,
611 1053, 1055, 1051, 1118, 1063, 1052, 1067, 2453, 2452, 1094,
612 2451, 2431, 2430, 2428, 1180, 2447, 1072, 1073, 1074, 1075,
614 1076, 1077, 1078, 1081, 1083, 1108, 1084, 1104, 1181, 1096,
615 1101, 1099, 1151, 1103, 1186, 2446, 2474, 2469, 2424, 0,
616 0, 2459, 2468, 2437, 0, 0, 2426, 2432, 1187, 1139,
617 1216, 1116, 1117, 1184, 1168, 1187, 1190, 1185, 2437, 1189,
618 2436, 1155, 1172, 1192, 2435, 1183, 1196, 1198, 2434, 1194,
619 1276, 2433, 1110, 1247, 1365, 1260, 1205, 1268, 1248, 1251,
620 1336, 2432, 1278, 2411, 2410, 2411, 2595, 2428, 1249, 2427,
621 1250, 1252, 2426, 1257, 1258, 1288, 1264, 1268, 1283, 1270,
622 1284, 1337, 1338, 1286, 1291, 1293, 1339, 1294, 1340, 1367,
623 1341, 1349, 1296, 2459, 2441, 2450, 2419, 0, 0, 2446,
625 2430, 2401, 2413, 2416, 1376, 1385, 1429, 2595, 2450, 1368,
626 2415, 1388, 2414, 2413, 1375, 2412, 1376, 1377, 1347, 1378,
627 1379, 1381, 1380, 1408, 2411, 2595, 2410, 1395, 2409, 2595,
628 2408, 1461, 1297, 2395, 2406, 1385, 1466, 2595, 1344, 2387,
629 2386, 2394, 2402, 2401, 2400, 2399, 1386, 1394, 1396, 1414,
630 1261, 1413, 1415, 1419, 1420, 1421, 1423, 1427, 1428, 1430,
631 1429, 1436, 1384, 1434, 1438, 1460, 1440, 1441, 1469, 2423,
632 2407, 2378, 0, 2416, 2385, 2379, 2389, 1509, 1523, 1470,
633 1473, 1479, 1451, 1455, 1465, 1472, 1461, 1482, 2391, 2378,
634 1547, 2374, 1492, 1474, 2383, 2382, 2372, 1485, 1478, 1498,
636 1486, 1500, 1501, 1494, 2385, 1502, 1507, 1508, 1511, 1512,
637 1513, 1515, 1517, 1518, 1519, 1523, 1525, 1529, 1528, 1527,
638 0, 2405, 2374, 0, 2397, 2365, 2360, 2374, 1213, 2378,
639 1536, 1535, 2377, 2376, 1531, 2360, 1608, 2354, 1537, 1541,
640 2372, 2371, 2364, 1560, 1553, 1555, 1556, 1562, 1544, 1563,
641 2370, 1564, 1566, 1567, 1568, 1569, 1572, 1573, 1624, 1575,
642 1587, 1577, 1590, 1591, 1592, 0, 2384, 2352, 2383, 2346,
643 2364, 2595, 1605, 1608, 2364, 1595, 2343, 2350, 2342, 2360,
644 2359, 2345, 2344, 0, 1599, 1601, 1612, 2356, 1603, 1606,
645 1604, 1631, 2355, 1609, 1610, 1616, 1618, 1619, 1656, 1661,
647 1666, 2354, 1630, 1632, 1676, 1633, 1663, 1642, 2369, 2332,
648 2407, 2341, 2329, 1652, 1668, 1669, 2348, 2328, 2331, 1706,
649 1679, 0, 0, 1655, 2345, 1648, 1674, 1681, 1723, 1670,
650 1692, 1694, 1729, 2344, 1698, 2343, 2342, 2341, 2340, 1686,
651 1701, 1707, 1716, 2339, 1696, 1688, 1700, 2394, 2328, 1735,
652 2321, 2326, 2334, 1711, 1705, 1777, 2313, 1787, 2595, 1725,
653 1697, 1719, 1732, 1736, 1739, 1751, 1755, 1757, 1741, 1710,
654 1744, 1746, 1765, 1766, 1767, 1769, 1758, 1796, 1798, 1761,
655 2332, 2331, 2330, 1762, 1763, 1764, 1801, 2314, 2327, 2322,
656 2321, 2320, 2310, 2308, 1805, 1784, 1842, 2595, 2303, 1770,
658 1772, 1788, 1791, 1792, 1799, 1801, 1803, 1806, 1809, 1797,
659 1810, 1811, 1816, 1818, 1821, 1823, 1825, 2321, 2320, 1826,
660 1827, 1829, 1830, 2318, 2313, 2312, 2311, 2301, 2292, 2294,
661 2307, 2306, 2344, 2295, 1856, 2308, 1892, 1834, 2307, 1855,
662 1839, 1842, 1845, 1846, 1850, 1859, 1851, 1837, 1861, 1863,
663 1864, 1865, 1870, 1871, 1866, 1889, 1875, 1777, 1876, 2284,
664 2286, 2299, 2298, 2336, 2296, 2297, 2355, 2354, 0, 1905,
665 1947, 2595, 2297, 1885, 1892, 1880, 1883, 1893, 1894, 1896,
666 1899, 1900, 2296, 1901, 1903, 1902, 1904, 1906, 1907, 1908,
667 1909, 2295, 1919, 1921, 2289, 2290, 2348, 2341, 0, 2275,
669 2249, 2287, 2248, 0, 1944, 1927, 1929, 2240, 2231, 1931,
670 1932, 1933, 1934, 2222, 2213, 2204, 1935, 1937, 1938, 1939,
671 2174, 1940, 1942, 1955, 2164, 2138, 2176, 2137, 0, 2109,
672 2115, 2102, 2097, 2105, 1945, 1957, 2097, 2093, 2089, 2084,
673 2076, 2071, 2059, 2054, 1958, 1961, 1981, 2030, 2036, 2032,
674 2031, 2023, 2018, 2000, 1999, 1959, 1965, 1967, 1968, 1969,
675 1998, 2000, 1996, 1995, 0, 1992, 1995, 1994, 2007, 1971,
676 2005, 1972, 1975, 0, 1916, 1687, 1442, 0, 1154, 0,
677 0, 1979, 1990, 1983, 0, 1024, 0, 0, 784, 0,
678 0, 1985, 1986, 1989, 733, 0, 0, 629, 2008, 1992,
680 550, 313, 0, 1996, 1993, 0, 0, 2000, 1998, 0,
681 2002, 211, 2006, 47, 2595, 2083, 2092, 2100, 2105, 2109,
682 2118, 2122, 2126, 2135, 2139, 2144, 2148, 2156, 2160, 2164,
683 2173, 2175, 2179, 2188, 2197, 2206, 2215, 2224, 2233, 2242,
684 2249, 2256, 2263, 2272, 2281, 2290, 2299, 2308, 2317, 2326,
688 static yyconst flex_int16_t yy_def[1153] =
690 1115, 1, 1115, 1115, 1115, 1115, 1115, 1115, 1116, 1115,
691 1115, 1117, 1118, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
692 1119, 1115, 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120,
693 1120, 1115, 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120,
694 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
695 1120, 1120, 1120, 1120, 1115, 1115, 1115, 1115, 1121, 1115,
696 1115, 1115, 1115, 1116, 1115, 1116, 1115, 1115, 1115, 1117,
697 1117, 1118, 1115, 1115, 1122, 1122, 1122, 1122, 1115, 1115,
698 1115, 1115, 1115, 1115, 1115, 1115, 1123, 1115, 1124, 1115,
699 1125, 1126, 1115, 1127, 1119, 1119, 1119, 1115, 1115, 1115,
701 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
702 1120, 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120,
703 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
704 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
705 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
706 1120, 1120, 1120, 1120, 1120, 1115, 1115, 1115, 1115, 1121,
707 1115, 1115, 1121, 1121, 1128, 1115, 1116, 1115, 1117, 1122,
708 1115, 1122, 1122, 1122, 1115, 1115, 1123, 1123, 1124, 1125,
709 1125, 1126, 1126, 1115, 1129, 1130, 1115, 1115, 1120, 1120,
710 1120, 1120, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
712 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
713 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
714 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
715 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
716 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
717 1120, 1120, 1131, 1121, 1128, 1128, 1128, 1128, 1115, 1115,
718 1118, 1122, 1122, 1122, 1115, 1123, 1115, 1125, 1129, 1130,
719 1120, 1120, 1120, 1120, 1132, 1120, 1120, 1120, 1120, 1120,
720 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
721 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
723 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
724 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
725 1120, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
726 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
727 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1131,
728 1128, 1128, 1128, 1128, 1115, 1115, 1122, 1122, 1122, 1120,
729 1120, 1120, 1120, 1133, 1120, 1120, 1120, 1120, 1120, 1120,
730 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
731 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
732 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
734 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1115, 1120,
735 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
736 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
737 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1131, 1128, 1128,
738 1128, 1134, 1135, 1115, 1115, 1122, 1122, 1122, 1120, 1120,
739 1120, 1120, 1133, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
740 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
741 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
742 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
743 1120, 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120,
745 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
746 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1136,
747 1137, 1128, 1128, 1128, 1134, 1135, 1115, 1115, 1122, 1122,
748 1122, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
749 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
750 495, 1120, 1120, 1120, 495, 1120, 1120, 1115, 1120, 1120,
751 1120, 1120, 1120, 1115, 1115, 1115, 1115, 1120, 1120, 1120,
752 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
753 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
754 1120, 1120, 1120, 1115, 1131, 1131, 1131, 1136, 1137, 1128,
756 1128, 1128, 1115, 1115, 1122, 1122, 1115, 1115, 1122, 1120,
757 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
758 1120, 1120, 1120, 1120, 1120, 1115, 1120, 1120, 1120, 1115,
759 1120, 1115, 1120, 1115, 1120, 1120, 1115, 1115, 1120, 1115,
760 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
761 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
762 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131,
763 1131, 1131, 1138, 1128, 1128, 1115, 1115, 1122, 1122, 1120,
764 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1115,
765 1120, 1115, 1120, 1120, 1115, 1115, 1115, 1120, 1120, 1120,
767 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
768 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
769 1139, 1131, 1131, 1138, 1128, 1128, 1115, 1115, 1120, 1120,
770 1120, 1120, 1120, 1120, 1120, 1115, 1115, 1115, 1120, 1120,
771 1115, 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
772 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
773 1120, 1120, 1120, 1120, 1120, 1139, 1131, 1131, 1128, 1128,
774 1115, 1115, 1120, 1120, 1120, 1120, 1115, 1115, 1115, 1120,
775 1120, 1115, 1115, 1140, 1120, 1120, 1120, 1120, 1120, 1120,
776 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
778 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131,
779 1128, 1128, 1115, 1120, 1120, 1120, 1120, 1115, 1115, 1115,
780 1120, 1141, 1142, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
781 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
782 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1128,
783 1128, 1115, 1120, 1120, 1120, 1115, 1115, 1115, 1115, 1120,
784 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
785 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
786 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1128, 1128,
787 1128, 1128, 1128, 1115, 1120, 1120, 1115, 1115, 1115, 1120,
789 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
790 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
791 1120, 1120, 1120, 1131, 1131, 1131, 1131, 1131, 1128, 1128,
792 1128, 1128, 1128, 1115, 1120, 1120, 1115, 1120, 1120, 1120,
793 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
794 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131,
795 1131, 1131, 1131, 1131, 1128, 1128, 1128, 1128, 1143, 1120,
796 1115, 1115, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
797 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
798 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1131, 1144, 1128,
800 1128, 1128, 1128, 1143, 1120, 1120, 1120, 1120, 1120, 1120,
801 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
802 1120, 1120, 1120, 1120, 1131, 1131, 1131, 1131, 1144, 1128,
803 1128, 1128, 1128, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
804 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1131, 1131, 1131,
805 1131, 1128, 1128, 1128, 1128, 1120, 1120, 1120, 1120, 1120,
806 1131, 1131, 1131, 1131, 1145, 1128, 1128, 1128, 1120, 1120,
807 1120, 1120, 1120, 1146, 1131, 1131, 1131, 1145, 1128, 1147,
808 1148, 1120, 1120, 1120, 1146, 1131, 1149, 1150, 1128, 1147,
809 1148, 1120, 1120, 1120, 1131, 1149, 1150, 1128, 1120, 1120,
811 1120, 1131, 1151, 1120, 1120, 1152, 1151, 1120, 1120, 1152,
812 1120, 1120, 1120, 1120, 0, 1115, 1115, 1115, 1115, 1115,
813 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
814 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
815 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
819 static yyconst flex_int16_t yy_nxt[2685] =
821 4, 5, 6, 7, 7, 5, 8, 9, 4, 10,
822 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
823 21, 21, 21, 21, 21, 21, 21, 22, 23, 24,
824 25, 4, 26, 27, 28, 27, 27, 27, 27, 27,
825 27, 27, 27, 27, 27, 27, 27, 27, 29, 27,
826 27, 27, 27, 30, 31, 27, 27, 32, 33, 34,
827 35, 36, 37, 38, 39, 40, 41, 42, 27, 27,
828 43, 27, 27, 44, 45, 46, 47, 48, 27, 49,
829 50, 51, 52, 53, 27, 54, 27, 27, 55, 56,
830 57, 62, 58, 56, 65, 62, 59, 68, 72, 72,
832 80, 72, 72, 108, 82, 88, 60, 73, 106, 89,
833 105, 74, 99, 100, 81, 107, 69, 83, 84, 61,
834 90, 102, 103, 109, 106, 111, 112, 85, 113, 75,
835 86, 77, 87, 87, 87, 87, 87, 87, 87, 87,
836 106, 106, 156, 171, 106, 66, 106, 106, 106, 285,
837 91, 78, 92, 92, 92, 92, 92, 92, 92, 92,
838 128, 133, 132, 172, 106, 65, 129, 106, 91, 93,
839 95, 95, 95, 95, 95, 95, 95, 95, 116, 110,
840 106, 106, 155, 106, 194, 117, 106, 97, 94, 106,
841 118, 120, 106, 167, 126, 121, 119, 106, 122, 93,
843 130, 157, 123, 106, 127, 131, 106, 134, 106, 106,
844 140, 135, 124, 141, 142, 62, 66, 97, 94, 62,
845 106, 136, 125, 106, 137, 106, 138, 139, 143, 144,
846 147, 88, 106, 148, 168, 165, 171, 150, 169, 145,
847 146, 152, 151, 171, 66, 189, 90, 153, 173, 174,
848 149, 191, 154, 158, 159, 65, 159, 158, 72, 72,
849 160, 72, 72, 190, 106, 207, 106, 73, 193, 106,
850 161, 74, 106, 87, 87, 87, 87, 87, 87, 87,
851 87, 71, 106, 162, 195, 71, 203, 106, 106, 75,
852 178, 77, 87, 87, 87, 87, 87, 87, 87, 87,
854 106, 106, 106, 106, 208, 106, 66, 204, 106, 181,
855 91, 78, 92, 92, 92, 92, 92, 92, 92, 92,
856 178, 205, 106, 206, 232, 221, 184, 184, 106, 183,
857 185, 185, 185, 185, 185, 185, 185, 185, 91, 181,
858 95, 95, 95, 95, 95, 95, 95, 95, 106, 212,
859 259, 260, 106, 227, 106, 282, 332, 97, 1115, 183,
860 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 184, 184,
861 1115, 190, 185, 185, 185, 185, 185, 185, 185, 185,
862 190, 192, 106, 106, 106, 106, 106, 97, 1106, 106,
863 106, 106, 297, 106, 211, 106, 106, 209, 210, 213,
865 106, 217, 218, 222, 214, 106, 196, 219, 197, 198,
866 223, 199, 106, 106, 200, 220, 215, 106, 106, 106,
867 216, 106, 106, 106, 201, 202, 224, 106, 230, 233,
868 236, 234, 106, 106, 231, 225, 235, 226, 229, 106,
869 239, 238, 106, 240, 106, 243, 242, 106, 106, 237,
870 106, 106, 256, 245, 106, 168, 247, 241, 244, 249,
871 171, 171, 250, 246, 171, 251, 248, 158, 159, 252,
872 159, 158, 272, 163, 160, 254, 263, 262, 106, 264,
873 257, 106, 106, 258, 161, 1115, 1115, 1115, 1115, 1115,
874 1115, 1115, 1115, 277, 271, 274, 283, 162, 106, 265,
876 265, 278, 71, 266, 266, 266, 266, 266, 266, 266,
877 266, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 106,
878 106, 273, 106, 106, 320, 281, 267, 267, 106, 164,
879 268, 268, 268, 268, 268, 268, 268, 268, 1115, 106,
880 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 184, 184,
881 1115, 413, 185, 185, 185, 185, 185, 185, 185, 185,
882 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
883 185, 185, 185, 185, 185, 185, 186, 186, 186, 186,
884 186, 186, 186, 186, 106, 106, 106, 106, 279, 186,
885 186, 186, 186, 186, 186, 106, 280, 106, 288, 290,
887 106, 287, 106, 106, 296, 284, 106, 106, 295, 106,
888 106, 106, 289, 291, 106, 300, 293, 106, 303, 186,
889 186, 186, 186, 186, 186, 292, 294, 298, 106, 299,
890 106, 301, 106, 302, 106, 106, 306, 106, 106, 190,
891 106, 305, 307, 106, 106, 106, 106, 106, 106, 106,
892 304, 106, 322, 315, 106, 106, 309, 314, 311, 319,
893 106, 316, 318, 106, 106, 312, 313, 317, 106, 310,
894 326, 321, 323, 327, 106, 106, 325, 106, 106, 106,
895 333, 163, 351, 171, 324, 171, 106, 329, 348, 328,
896 359, 330, 357, 171, 334, 331, 335, 336, 106, 337,
898 352, 338, 375, 362, 1103, 363, 339, 360, 106, 358,
899 361, 340, 341, 342, 343, 344, 349, 1115, 1115, 350,
900 1115, 1115, 106, 106, 106, 106, 73, 106, 369, 106,
901 74, 106, 370, 106, 106, 106, 372, 164, 376, 391,
902 397, 345, 266, 266, 266, 266, 266, 266, 266, 266,
903 266, 266, 266, 266, 266, 266, 266, 266, 268, 268,
904 268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
905 268, 268, 268, 268, 1115, 1115, 1115, 1115, 1115, 1115,
906 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
907 368, 365, 106, 106, 190, 1115, 1115, 1115, 1115, 1115,
909 1115, 366, 106, 106, 106, 106, 190, 106, 106, 1102,
910 371, 106, 367, 374, 106, 106, 386, 378, 106, 106,
911 381, 373, 106, 379, 385, 1115, 1115, 1115, 1115, 1115,
912 1115, 106, 106, 380, 384, 382, 377, 106, 383, 106,
913 106, 106, 106, 392, 190, 106, 395, 106, 106, 398,
914 387, 106, 106, 389, 390, 106, 399, 388, 106, 106,
915 1098, 393, 106, 106, 396, 106, 404, 400, 407, 106,
916 405, 401, 106, 106, 394, 402, 410, 106, 106, 403,
917 411, 408, 414, 106, 106, 412, 106, 106, 106, 106,
918 106, 417, 415, 418, 106, 422, 106, 416, 106, 106,
920 106, 424, 425, 421, 427, 106, 106, 106, 419, 420,
921 106, 106, 190, 439, 423, 426, 431, 435, 440, 428,
922 430, 171, 171, 171, 449, 432, 450, 451, 447, 452,
923 429, 433, 455, 454, 106, 436, 456, 106, 106, 446,
924 457, 106, 434, 448, 106, 106, 106, 106, 106, 459,
925 460, 106, 463, 106, 106, 106, 106, 106, 464, 106,
926 106, 106, 458, 461, 467, 462, 106, 106, 106, 106,
927 472, 469, 465, 470, 106, 106, 466, 106, 471, 475,
928 106, 474, 106, 476, 106, 106, 106, 106, 106, 473,
929 106, 481, 477, 106, 106, 106, 483, 484, 106, 106,
931 478, 106, 479, 486, 190, 488, 480, 482, 492, 106,
932 106, 487, 491, 106, 493, 485, 106, 495, 494, 106,
933 497, 498, 106, 499, 106, 106, 501, 106, 106, 106,
934 106, 106, 106, 496, 507, 106, 502, 106, 500, 106,
935 106, 106, 106, 503, 106, 510, 106, 505, 512, 489,
936 504, 513, 506, 106, 106, 508, 511, 509, 515, 517,
937 514, 171, 171, 171, 518, 532, 533, 530, 534, 535,
938 516, 536, 538, 539, 537, 106, 531, 106, 106, 106,
939 106, 106, 106, 542, 540, 529, 106, 106, 545, 544,
940 190, 541, 106, 546, 1095, 106, 106, 106, 106, 543,
942 106, 106, 106, 547, 106, 549, 106, 550, 106, 553,
943 106, 552, 106, 106, 106, 106, 106, 551, 548, 558,
944 558, 556, 558, 558, 106, 554, 106, 555, 106, 559,
945 190, 560, 557, 106, 106, 106, 106, 106, 106, 106,
946 570, 572, 106, 576, 106, 106, 589, 561, 571, 573,
947 574, 575, 578, 569, 579, 106, 583, 106, 580, 577,
948 106, 581, 106, 591, 106, 106, 171, 590, 611, 106,
949 582, 106, 610, 606, 628, 562, 593, 106, 106, 106,
950 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
951 567, 567, 567, 567, 567, 567, 567, 567, 567, 568,
953 568, 568, 568, 568, 568, 568, 568, 567, 567, 567,
954 567, 567, 106, 594, 171, 584, 106, 607, 607, 613,
955 607, 607, 615, 614, 1089, 585, 612, 586, 618, 106,
956 608, 587, 616, 106, 588, 592, 605, 567, 567, 567,
957 567, 106, 106, 171, 106, 106, 106, 106, 106, 619,
958 106, 106, 617, 106, 620, 106, 621, 106, 622, 106,
959 623, 632, 632, 609, 632, 632, 106, 773, 567, 558,
960 558, 633, 558, 558, 106, 625, 626, 626, 626, 626,
961 626, 626, 626, 626, 626, 626, 626, 626, 626, 626,
962 626, 626, 626, 626, 626, 627, 627, 627, 627, 627,
964 627, 627, 627, 626, 626, 626, 626, 626, 106, 106,
965 106, 106, 106, 106, 190, 643, 644, 645, 106, 106,
966 648, 106, 106, 646, 647, 106, 629, 635, 636, 106,
967 650, 106, 702, 626, 626, 626, 626, 637, 637, 106,
968 637, 637, 639, 649, 106, 106, 651, 106, 634, 106,
969 653, 652, 106, 657, 106, 106, 658, 106, 106, 656,
970 660, 669, 691, 638, 626, 630, 630, 630, 630, 630,
971 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
972 630, 630, 630, 630, 631, 631, 631, 631, 631, 631,
973 631, 631, 630, 630, 630, 630, 630, 106, 106, 106,
975 106, 106, 106, 171, 662, 106, 694, 663, 106, 681,
976 106, 664, 171, 684, 654, 539, 665, 667, 655, 666,
977 659, 661, 630, 630, 630, 630, 668, 679, 106, 106,
978 607, 607, 678, 607, 607, 539, 106, 106, 106, 106,
979 106, 106, 106, 608, 190, 106, 106, 106, 698, 106,
980 541, 685, 541, 630, 686, 106, 106, 106, 683, 714,
981 687, 689, 632, 632, 693, 632, 632, 637, 637, 106,
982 637, 637, 688, 699, 106, 106, 106, 700, 701, 704,
983 106, 106, 106, 707, 106, 705, 706, 708, 106, 106,
984 106, 106, 703, 638, 711, 106, 715, 106, 709, 106,
986 717, 106, 106, 720, 716, 718, 190, 710, 712, 713,
987 607, 607, 106, 607, 607, 731, 106, 719, 1088, 733,
988 729, 106, 106, 608, 607, 607, 106, 607, 607, 730,
989 106, 106, 732, 106, 106, 106, 171, 608, 541, 106,
990 106, 690, 734, 106, 735, 541, 106, 106, 737, 737,
991 171, 737, 737, 106, 740, 106, 609, 745, 739, 106,
992 744, 106, 106, 106, 746, 747, 748, 751, 106, 106,
993 609, 749, 106, 106, 106, 750, 106, 754, 106, 106,
994 106, 752, 755, 760, 106, 757, 106, 753, 106, 106,
995 106, 774, 106, 758, 756, 763, 106, 106, 106, 759,
997 762, 775, 106, 765, 785, 106, 761, 764, 106, 737,
998 737, 776, 737, 737, 106, 786, 106, 106, 780, 790,
999 787, 106, 781, 106, 106, 106, 789, 106, 106, 106,
1000 106, 794, 788, 106, 106, 798, 106, 814, 106, 791,
1001 806, 792, 793, 795, 799, 796, 800, 797, 106, 801,
1002 802, 106, 106, 106, 803, 361, 106, 804, 805, 815,
1003 106, 824, 106, 826, 106, 106, 106, 106, 808, 106,
1004 106, 106, 807, 106, 828, 830, 817, 106, 832, 106,
1005 106, 836, 837, 829, 827, 106, 834, 825, 778, 838,
1006 831, 106, 106, 106, 106, 833, 841, 846, 842, 853,
1008 835, 843, 844, 106, 854, 190, 839, 858, 858, 106,
1009 858, 858, 840, 106, 845, 190, 106, 106, 863, 861,
1010 878, 847, 106, 879, 106, 864, 881, 106, 882, 106,
1011 855, 106, 870, 859, 862, 106, 871, 106, 872, 883,
1012 106, 190, 106, 860, 865, 866, 867, 106, 868, 106,
1013 873, 874, 875, 106, 876, 106, 880, 106, 106, 106,
1014 896, 106, 106, 1087, 885, 886, 106, 869, 106, 889,
1015 890, 106, 106, 877, 910, 884, 901, 106, 897, 897,
1016 106, 897, 897, 905, 106, 891, 106, 900, 858, 858,
1017 106, 858, 858, 106, 903, 906, 902, 106, 904, 907,
1019 106, 908, 106, 909, 898, 106, 911, 106, 912, 913,
1020 914, 915, 106, 916, 859, 892, 106, 918, 106, 106,
1021 917, 919, 106, 106, 106, 106, 106, 106, 106, 936,
1022 106, 106, 921, 106, 923, 924, 925, 920, 106, 922,
1023 935, 190, 993, 897, 897, 106, 897, 897, 939, 106,
1024 938, 926, 106, 106, 940, 941, 942, 106, 106, 106,
1025 106, 943, 106, 944, 106, 945, 106, 106, 946, 898,
1026 106, 106, 106, 947, 949, 950, 948, 106, 951, 106,
1027 952, 927, 106, 953, 106, 954, 106, 106, 106, 955,
1028 106, 106, 970, 971, 971, 106, 971, 971, 106, 974,
1030 106, 956, 957, 106, 975, 959, 106, 106, 958, 978,
1031 979, 106, 106, 983, 980, 973, 106, 106, 976, 972,
1032 106, 977, 106, 981, 106, 106, 106, 106, 986, 987,
1033 982, 106, 106, 991, 988, 989, 106, 106, 994, 1005,
1034 984, 106, 985, 992, 106, 990, 106, 1006, 971, 971,
1035 106, 971, 971, 106, 106, 106, 1008, 106, 1007, 1009,
1036 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
1037 106, 1022, 1010, 1011, 972, 1012, 1014, 1015, 1013, 1016,
1038 106, 1017, 106, 1018, 1021, 1019, 1020, 1034, 106, 1023,
1039 106, 1035, 106, 106, 106, 106, 106, 1086, 106, 106,
1041 106, 106, 1024, 106, 1045, 106, 106, 1037, 1038, 1039,
1042 1040, 1041, 1036, 1042, 1043, 1044, 106, 1046, 106, 106,
1043 106, 1047, 106, 1059, 1056, 1060, 106, 1057, 106, 106,
1044 106, 1073, 106, 106, 1093, 1069, 106, 1058, 1083, 1084,
1045 106, 1082, 106, 1071, 106, 1070, 106, 106, 1100, 1072,
1046 106, 106, 1104, 106, 106, 1092, 1105, 106, 1108, 106,
1047 1099, 106, 1094, 106, 1111, 1101, 106, 106, 106, 106,
1048 1081, 1080, 1109, 1079, 1112, 1077, 1076, 1075, 1074, 1068,
1049 1067, 1113, 1114, 64, 64, 64, 64, 64, 64, 64,
1050 64, 64, 70, 70, 70, 1066, 70, 70, 70, 70,
1052 70, 76, 76, 1065, 1064, 1063, 1062, 76, 76, 96,
1053 96, 1061, 96, 96, 104, 106, 104, 104, 163, 163,
1054 106, 163, 163, 163, 163, 163, 163, 170, 170, 170,
1055 170, 177, 106, 177, 177, 179, 179, 106, 179, 179,
1056 179, 179, 179, 179, 180, 106, 180, 180, 182, 182,
1057 106, 182, 182, 186, 106, 186, 255, 255, 106, 255,
1058 255, 255, 255, 255, 255, 269, 106, 269, 269, 270,
1059 1055, 270, 270, 347, 347, 1054, 347, 347, 347, 347,
1060 347, 347, 364, 364, 453, 1053, 453, 453, 525, 525,
1061 1052, 525, 525, 525, 525, 525, 525, 526, 526, 1051,
1063 526, 526, 526, 526, 526, 526, 598, 598, 1050, 598,
1064 598, 598, 598, 598, 598, 599, 599, 1049, 599, 599,
1065 599, 599, 599, 599, 724, 724, 1048, 724, 724, 724,
1066 724, 724, 724, 766, 766, 106, 766, 766, 766, 766,
1067 766, 766, 567, 567, 567, 567, 567, 567, 567, 626,
1068 626, 626, 626, 626, 626, 626, 630, 630, 630, 630,
1069 630, 630, 630, 1004, 1004, 106, 1004, 1004, 1004, 1004,
1070 1004, 1004, 1029, 1029, 106, 1029, 1029, 1029, 1029, 1029,
1071 1029, 1078, 1078, 106, 1078, 1078, 1078, 1078, 1078, 1078,
1072 1085, 1085, 106, 1085, 1085, 1085, 1085, 1085, 1085, 1090,
1074 1090, 106, 1090, 1090, 1090, 1090, 1090, 1090, 1091, 1091,
1075 1033, 1091, 1091, 1091, 1091, 1091, 1091, 1096, 1096, 1032,
1076 1096, 1096, 1096, 1096, 1096, 1096, 1097, 1097, 1031, 1097,
1077 1097, 1097, 1097, 1097, 1097, 1107, 1107, 1030, 1107, 1107,
1078 1107, 1107, 1107, 1107, 1110, 1110, 1028, 1110, 1110, 1110,
1079 1110, 1110, 1110, 1027, 1026, 1025, 106, 106, 106, 1003,
1080 1002, 1001, 1000, 999, 998, 997, 996, 995, 106, 106,
1081 772, 969, 968, 967, 966, 965, 964, 963, 962, 961,
1082 960, 106, 106, 937, 934, 933, 932, 931, 930, 929,
1083 928, 106, 106, 106, 899, 895, 894, 893, 888, 887,
1085 106, 106, 106, 106, 106, 106, 106, 857, 856, 106,
1086 852, 851, 850, 849, 848, 106, 106, 106, 823, 822,
1087 106, 821, 820, 819, 818, 816, 813, 812, 811, 810,
1088 809, 106, 784, 783, 782, 779, 777, 106, 106, 106,
1089 772, 771, 770, 769, 768, 767, 106, 743, 742, 741,
1090 738, 736, 106, 728, 727, 726, 725, 723, 722, 721,
1091 106, 106, 106, 106, 697, 696, 695, 106, 692, 106,
1092 106, 106, 106, 682, 680, 106, 106, 171, 677, 676,
1093 675, 674, 673, 672, 671, 670, 409, 106, 106, 106,
1094 642, 641, 640, 106, 106, 624, 106, 106, 106, 604,
1096 603, 602, 601, 600, 597, 596, 595, 106, 106, 566,
1097 565, 564, 563, 106, 106, 106, 106, 106, 106, 106,
1098 106, 106, 106, 528, 527, 524, 523, 522, 521, 520,
1099 519, 106, 106, 106, 490, 106, 106, 106, 468, 106,
1100 106, 106, 445, 444, 443, 442, 441, 438, 437, 106,
1101 409, 406, 106, 106, 106, 106, 106, 356, 355, 354,
1102 353, 346, 308, 106, 106, 286, 276, 275, 261, 171,
1103 164, 166, 253, 164, 228, 112, 106, 188, 187, 176,
1104 175, 171, 166, 164, 115, 114, 106, 101, 98, 79,
1105 71, 67, 63, 1115, 3, 1115, 1115, 1115, 1115, 1115,
1107 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1108 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1109 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1110 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1111 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1112 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1113 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1114 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1115 1115, 1115, 1115, 1115
1118 static yyconst flex_int16_t yy_chk[2685] =
1120 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1121 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1122 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1123 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1124 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1125 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1126 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1127 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1128 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
1129 2, 5, 2, 2, 9, 5, 2, 11, 13, 13,
1131 16, 13, 13, 29, 17, 19, 2, 13, 1114, 19,
1132 26, 13, 23, 23, 16, 28, 11, 17, 17, 2,
1133 19, 25, 25, 29, 26, 31, 33, 18, 33, 13,
1134 18, 13, 18, 18, 18, 18, 18, 18, 18, 18,
1135 45, 202, 55, 75, 28, 9, 31, 44, 42, 202,
1136 20, 13, 20, 20, 20, 20, 20, 20, 20, 20,
1137 42, 45, 44, 75, 37, 64, 42, 54, 21, 20,
1138 21, 21, 21, 21, 21, 21, 21, 21, 37, 30,
1139 41, 38, 54, 39, 110, 37, 43, 21, 20, 30,
1140 38, 39, 48, 66, 41, 39, 38, 40, 39, 20,
1142 43, 55, 40, 110, 41, 43, 46, 46, 47, 49,
1143 48, 46, 40, 48, 49, 62, 64, 21, 20, 62,
1144 50, 46, 40, 52, 47, 51, 47, 47, 50, 50,
1145 51, 60, 53, 51, 70, 60, 78, 52, 71, 50,
1146 50, 53, 52, 77, 66, 105, 60, 53, 77, 78,
1147 51, 107, 53, 56, 56, 167, 56, 56, 72, 72,
1148 56, 72, 72, 106, 120, 120, 105, 72, 109, 107,
1149 56, 72, 1112, 87, 87, 87, 87, 87, 87, 87,
1150 87, 70, 116, 56, 111, 71, 116, 117, 106, 72,
1151 87, 72, 91, 91, 91, 91, 91, 91, 91, 91,
1153 111, 118, 109, 121, 121, 131, 167, 117, 119, 91,
1154 92, 72, 92, 92, 92, 92, 92, 92, 92, 92,
1155 87, 118, 141, 119, 141, 131, 93, 93, 124, 92,
1156 93, 93, 93, 93, 93, 93, 93, 93, 95, 91,
1157 95, 95, 95, 95, 95, 95, 95, 95, 137, 124,
1158 166, 166, 249, 137, 199, 199, 249, 95, 96, 92,
1159 96, 96, 96, 96, 96, 96, 96, 96, 97, 97,
1160 97, 108, 97, 97, 97, 97, 97, 97, 97, 97,
1161 115, 108, 123, 126, 122, 125, 128, 95, 1102, 132,
1162 133, 213, 213, 129, 123, 130, 108, 122, 122, 125,
1164 127, 128, 129, 132, 126, 115, 115, 130, 115, 115,
1165 133, 115, 135, 134, 115, 130, 127, 136, 139, 140,
1166 127, 143, 142, 144, 115, 115, 134, 148, 140, 142,
1167 144, 142, 145, 147, 140, 135, 143, 136, 139, 146,
1168 146, 145, 149, 146, 150, 148, 147, 151, 152, 144,
1169 153, 155, 165, 150, 154, 169, 151, 146, 149, 153,
1170 173, 174, 153, 150, 172, 154, 152, 158, 158, 155,
1171 158, 158, 190, 164, 158, 164, 173, 172, 190, 174,
1172 165, 196, 200, 165, 158, 177, 177, 177, 177, 177,
1173 177, 177, 177, 195, 189, 192, 200, 158, 238, 178,
1175 178, 196, 169, 178, 178, 178, 178, 178, 178, 178,
1176 178, 180, 180, 180, 180, 180, 180, 180, 180, 189,
1177 198, 191, 195, 192, 238, 198, 181, 181, 326, 164,
1178 181, 181, 181, 181, 181, 181, 181, 181, 182, 191,
1179 182, 182, 182, 182, 182, 182, 182, 182, 183, 183,
1180 183, 326, 183, 183, 183, 183, 183, 183, 183, 183,
1181 184, 184, 184, 184, 184, 184, 184, 184, 185, 185,
1182 185, 185, 185, 185, 185, 185, 186, 186, 186, 186,
1183 186, 186, 186, 186, 197, 201, 204, 206, 197, 186,
1184 186, 186, 186, 186, 186, 207, 197, 205, 205, 206,
1186 209, 204, 212, 211, 212, 201, 208, 210, 211, 219,
1187 216, 1101, 205, 207, 214, 216, 209, 215, 219, 186,
1188 186, 186, 186, 186, 186, 208, 210, 214, 218, 215,
1189 217, 217, 221, 218, 222, 223, 223, 224, 227, 228,
1190 229, 222, 224, 230, 233, 232, 231, 234, 236, 235,
1191 221, 239, 240, 233, 237, 243, 227, 232, 229, 237,
1192 242, 234, 236, 241, 228, 230, 231, 235, 244, 228,
1193 243, 239, 241, 244, 245, 248, 242, 247, 246, 250,
1194 250, 254, 256, 262, 241, 264, 240, 246, 253, 245,
1195 264, 247, 262, 263, 251, 248, 251, 251, 284, 251,
1197 256, 251, 284, 273, 1098, 274, 251, 271, 278, 263,
1198 272, 251, 251, 251, 251, 251, 253, 261, 261, 253,
1199 261, 261, 251, 271, 272, 274, 261, 279, 278, 285,
1200 261, 273, 279, 281, 304, 311, 281, 254, 285, 304,
1201 311, 251, 265, 265, 265, 265, 265, 265, 265, 265,
1202 266, 266, 266, 266, 266, 266, 266, 266, 267, 267,
1203 267, 267, 267, 267, 267, 267, 268, 268, 268, 268,
1204 268, 268, 268, 268, 269, 269, 269, 269, 269, 269,
1205 269, 269, 270, 270, 270, 270, 270, 270, 270, 270,
1206 277, 276, 280, 283, 276, 270, 270, 270, 270, 270,
1208 270, 276, 282, 288, 277, 289, 286, 299, 293, 1095,
1209 280, 297, 276, 283, 292, 294, 299, 288, 295, 276,
1210 293, 282, 296, 289, 297, 270, 270, 270, 270, 270,
1211 270, 286, 300, 292, 296, 294, 286, 301, 295, 302,
1212 303, 306, 307, 306, 308, 309, 309, 310, 312, 312,
1213 300, 313, 315, 302, 303, 316, 313, 301, 314, 317,
1214 1089, 307, 323, 320, 310, 318, 318, 314, 320, 308,
1215 318, 315, 321, 325, 308, 316, 323, 324, 327, 317,
1216 324, 321, 327, 328, 329, 325, 330, 331, 334, 333,
1217 336, 329, 327, 330, 335, 335, 337, 328, 338, 340,
1219 339, 337, 338, 334, 340, 341, 342, 343, 331, 333,
1220 344, 345, 346, 351, 336, 339, 343, 348, 351, 340,
1221 342, 357, 358, 359, 360, 344, 361, 362, 358, 363,
1222 341, 345, 366, 365, 360, 348, 367, 346, 365, 357,
1223 368, 361, 346, 359, 369, 373, 370, 371, 367, 370,
1224 371, 372, 374, 376, 363, 375, 362, 366, 375, 377,
1225 378, 368, 369, 372, 378, 373, 383, 386, 384, 385,
1226 386, 383, 376, 384, 390, 387, 377, 389, 385, 390,
1227 392, 389, 391, 391, 393, 394, 395, 398, 374, 387,
1228 397, 397, 392, 399, 400, 401, 399, 400, 402, 404,
1230 393, 405, 394, 402, 406, 405, 395, 398, 409, 408,
1231 410, 404, 408, 411, 409, 401, 414, 410, 409, 412,
1232 412, 414, 415, 415, 417, 419, 419, 420, 421, 406,
1233 422, 423, 424, 411, 425, 426, 420, 427, 417, 430,
1234 429, 428, 432, 421, 425, 428, 431, 423, 430, 406,
1235 422, 431, 424, 434, 433, 426, 429, 427, 433, 435,
1236 432, 446, 447, 448, 435, 449, 450, 447, 451, 452,
1237 434, 454, 456, 457, 455, 458, 448, 449, 450, 459,
1238 461, 454, 460, 460, 458, 446, 462, 457, 463, 462,
1239 468, 459, 464, 464, 1086, 451, 452, 455, 472, 461,
1241 465, 456, 471, 465, 476, 471, 477, 472, 478, 478,
1242 480, 477, 483, 486, 481, 468, 482, 476, 468, 484,
1243 484, 482, 484, 484, 485, 480, 463, 481, 487, 485,
1244 490, 486, 483, 497, 498, 499, 500, 501, 502, 503,
1245 498, 500, 504, 504, 505, 507, 510, 487, 499, 501,
1246 502, 503, 506, 497, 506, 490, 508, 510, 506, 505,
1247 512, 506, 511, 512, 514, 508, 530, 511, 533, 506,
1248 507, 553, 532, 530, 553, 490, 514, 532, 533, 484,
1249 495, 495, 495, 495, 495, 495, 495, 495, 495, 495,
1250 495, 495, 495, 495, 495, 495, 495, 495, 495, 495,
1252 495, 495, 495, 495, 495, 495, 495, 495, 495, 495,
1253 495, 495, 513, 515, 529, 509, 542, 531, 531, 535,
1254 531, 531, 537, 536, 1079, 509, 534, 509, 542, 535,
1255 531, 509, 538, 543, 509, 513, 529, 495, 495, 495,
1256 495, 495, 509, 531, 546, 534, 538, 515, 536, 543,
1257 540, 537, 540, 544, 544, 550, 546, 547, 547, 548,
1258 548, 556, 556, 531, 556, 556, 557, 729, 495, 558,
1259 558, 557, 558, 558, 729, 550, 551, 551, 551, 551,
1260 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
1261 551, 551, 551, 551, 551, 551, 551, 551, 551, 551,
1263 551, 551, 551, 551, 551, 551, 551, 551, 554, 559,
1264 569, 571, 560, 572, 563, 569, 571, 572, 574, 575,
1265 576, 556, 651, 574, 575, 577, 554, 559, 560, 578,
1266 578, 580, 651, 551, 551, 551, 551, 561, 561, 563,
1267 561, 561, 563, 577, 579, 581, 579, 584, 558, 576,
1268 581, 580, 585, 585, 586, 588, 586, 593, 633, 584,
1269 588, 593, 633, 561, 551, 555, 555, 555, 555, 555,
1270 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
1271 555, 555, 555, 555, 555, 555, 555, 555, 555, 555,
1272 555, 555, 555, 555, 555, 555, 555, 561, 582, 583,
1274 587, 589, 591, 605, 590, 639, 639, 590, 619, 615,
1275 592, 590, 606, 619, 582, 610, 590, 591, 583, 590,
1276 587, 589, 555, 555, 555, 555, 592, 606, 590, 610,
1277 607, 607, 605, 607, 607, 612, 615, 617, 618, 620,
1278 621, 623, 622, 607, 624, 663, 636, 647, 647, 612,
1279 618, 620, 621, 555, 622, 648, 628, 649, 617, 663,
1280 623, 628, 632, 632, 636, 632, 632, 637, 637, 624,
1281 637, 637, 624, 648, 652, 650, 653, 649, 650, 653,
1282 654, 655, 656, 656, 657, 654, 655, 657, 658, 659,
1283 661, 660, 652, 637, 660, 664, 664, 662, 658, 665,
1285 666, 667, 668, 669, 665, 667, 680, 659, 661, 662,
1286 678, 678, 683, 678, 678, 682, 684, 668, 1077, 684,
1287 680, 666, 687, 678, 679, 679, 685, 679, 679, 681,
1288 669, 680, 683, 686, 681, 694, 678, 679, 685, 699,
1289 682, 632, 687, 688, 688, 686, 698, 701, 691, 691,
1290 679, 691, 691, 693, 694, 704, 678, 699, 693, 700,
1291 698, 702, 703, 706, 700, 701, 702, 706, 707, 708,
1292 679, 703, 709, 710, 711, 704, 712, 709, 713, 714,
1293 715, 707, 710, 715, 716, 712, 717, 708, 720, 719,
1294 718, 731, 735, 713, 711, 718, 732, 731, 739, 714,
1296 717, 732, 740, 720, 744, 749, 716, 719, 691, 737,
1297 737, 735, 737, 737, 745, 745, 746, 747, 739, 749,
1298 746, 744, 740, 748, 750, 752, 748, 753, 754, 755,
1299 756, 754, 747, 757, 758, 758, 760, 773, 762, 750,
1300 763, 752, 753, 755, 759, 756, 759, 757, 761, 759,
1301 759, 763, 764, 765, 760, 774, 776, 761, 762, 774,
1302 785, 785, 786, 787, 789, 791, 773, 790, 765, 774,
1303 794, 795, 764, 787, 790, 792, 776, 796, 795, 797,
1304 798, 799, 800, 791, 789, 759, 797, 786, 737, 801,
1305 794, 803, 792, 804, 806, 796, 805, 807, 805, 814,
1307 798, 805, 805, 808, 815, 816, 803, 820, 820, 826,
1308 820, 820, 804, 814, 806, 821, 824, 799, 827, 824,
1309 835, 808, 800, 835, 807, 828, 841, 801, 842, 815,
1310 816, 830, 830, 820, 826, 827, 831, 805, 832, 843,
1311 821, 855, 828, 821, 829, 829, 829, 840, 829, 846,
1312 833, 833, 833, 831, 833, 832, 840, 845, 861, 835,
1313 854, 847, 841, 1076, 846, 847, 855, 829, 842, 850,
1314 850, 870, 854, 833, 870, 845, 861, 843, 856, 856,
1315 862, 856, 856, 865, 829, 850, 860, 860, 858, 858,
1316 833, 858, 858, 863, 863, 866, 862, 864, 864, 867,
1318 865, 868, 869, 869, 856, 871, 871, 872, 872, 873,
1319 874, 875, 866, 876, 858, 850, 867, 878, 868, 877,
1320 877, 879, 880, 884, 885, 886, 873, 874, 875, 896,
1321 876, 900, 884, 901, 886, 887, 887, 880, 958, 885,
1322 895, 895, 958, 897, 897, 896, 897, 897, 901, 902,
1323 900, 887, 903, 904, 902, 903, 904, 878, 910, 879,
1324 905, 905, 906, 906, 907, 907, 895, 908, 908, 897,
1325 909, 911, 912, 909, 911, 912, 910, 913, 913, 914,
1326 914, 887, 915, 915, 916, 916, 917, 920, 921, 917,
1327 922, 923, 935, 937, 937, 938, 937, 937, 948, 940,
1329 941, 920, 921, 942, 940, 923, 943, 944, 922, 943,
1330 944, 945, 947, 948, 945, 938, 940, 935, 941, 937,
1331 946, 942, 949, 946, 950, 951, 952, 955, 951, 952,
1332 947, 953, 954, 956, 953, 954, 957, 959, 959, 970,
1333 949, 976, 950, 957, 977, 955, 974, 974, 971, 971,
1334 956, 971, 971, 975, 978, 979, 976, 980, 975, 977,
1335 981, 982, 984, 986, 985, 987, 970, 988, 989, 990,
1336 991, 991, 978, 979, 971, 980, 982, 984, 981, 985,
1337 993, 986, 994, 987, 990, 988, 989, 1005, 1006, 993,
1338 1007, 1006, 1010, 1011, 1012, 1013, 1017, 1075, 1018, 1019,
1340 1020, 1022, 994, 1023, 1022, 1005, 1035, 1010, 1011, 1012,
1341 1013, 1017, 1007, 1018, 1019, 1020, 1024, 1023, 1036, 1045,
1342 1056, 1024, 1046, 1046, 1035, 1047, 1057, 1036, 1058, 1059,
1343 1060, 1060, 1070, 1072, 1083, 1056, 1073, 1045, 1072, 1073,
1344 1082, 1070, 1047, 1058, 1084, 1057, 1092, 1093, 1093, 1059,
1345 1094, 1083, 1099, 1100, 1105, 1082, 1100, 1104, 1104, 1109,
1346 1092, 1108, 1084, 1111, 1108, 1094, 1071, 1113, 1069, 1099,
1347 1068, 1067, 1105, 1066, 1109, 1064, 1063, 1062, 1061, 1055,
1348 1054, 1111, 1113, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1349 1116, 1116, 1117, 1117, 1117, 1053, 1117, 1117, 1117, 1117,
1351 1117, 1118, 1118, 1052, 1051, 1050, 1049, 1118, 1118, 1119,
1352 1119, 1048, 1119, 1119, 1120, 1044, 1120, 1120, 1121, 1121,
1353 1043, 1121, 1121, 1121, 1121, 1121, 1121, 1122, 1122, 1122,
1354 1122, 1123, 1042, 1123, 1123, 1124, 1124, 1041, 1124, 1124,
1355 1124, 1124, 1124, 1124, 1125, 1040, 1125, 1125, 1126, 1126,
1356 1039, 1126, 1126, 1127, 1038, 1127, 1128, 1128, 1037, 1128,
1357 1128, 1128, 1128, 1128, 1128, 1129, 1034, 1129, 1129, 1130,
1358 1033, 1130, 1130, 1131, 1131, 1032, 1131, 1131, 1131, 1131,
1359 1131, 1131, 1132, 1132, 1133, 1031, 1133, 1133, 1134, 1134,
1360 1030, 1134, 1134, 1134, 1134, 1134, 1134, 1135, 1135, 1028,
1362 1135, 1135, 1135, 1135, 1135, 1135, 1136, 1136, 1027, 1136,
1363 1136, 1136, 1136, 1136, 1136, 1137, 1137, 1026, 1137, 1137,
1364 1137, 1137, 1137, 1137, 1138, 1138, 1025, 1138, 1138, 1138,
1365 1138, 1138, 1138, 1139, 1139, 1021, 1139, 1139, 1139, 1139,
1366 1139, 1139, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1141,
1367 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142, 1142, 1142,
1368 1142, 1142, 1142, 1143, 1143, 1016, 1143, 1143, 1143, 1143,
1369 1143, 1143, 1144, 1144, 1015, 1144, 1144, 1144, 1144, 1144,
1370 1144, 1145, 1145, 1014, 1145, 1145, 1145, 1145, 1145, 1145,
1371 1146, 1146, 1009, 1146, 1146, 1146, 1146, 1146, 1146, 1147,
1373 1147, 1008, 1147, 1147, 1147, 1147, 1147, 1147, 1148, 1148,
1374 1003, 1148, 1148, 1148, 1148, 1148, 1148, 1149, 1149, 1002,
1375 1149, 1149, 1149, 1149, 1149, 1149, 1150, 1150, 1001, 1150,
1376 1150, 1150, 1150, 1150, 1150, 1151, 1151, 1000, 1151, 1151,
1377 1151, 1151, 1151, 1151, 1152, 1152, 998, 1152, 1152, 1152,
1378 1152, 1152, 1152, 997, 996, 995, 992, 983, 973, 968,
1379 967, 966, 965, 964, 963, 962, 961, 960, 939, 936,
1380 934, 933, 932, 931, 930, 929, 928, 927, 926, 925,
1381 924, 919, 918, 899, 894, 893, 892, 891, 890, 889,
1382 888, 883, 882, 881, 857, 853, 852, 851, 849, 848,
1384 844, 839, 838, 837, 836, 834, 825, 819, 818, 817,
1385 813, 812, 811, 810, 809, 802, 793, 788, 783, 782,
1386 781, 780, 779, 778, 777, 775, 771, 770, 769, 768,
1387 767, 751, 743, 742, 741, 738, 736, 734, 733, 730,
1388 728, 727, 726, 725, 723, 722, 705, 697, 696, 695,
1389 692, 690, 689, 677, 676, 675, 674, 672, 671, 670,
1390 646, 645, 644, 643, 642, 641, 640, 635, 634, 631,
1391 629, 627, 625, 616, 614, 613, 611, 609, 604, 603,
1392 602, 601, 600, 597, 596, 595, 594, 573, 570, 568,
1393 566, 565, 564, 562, 552, 549, 545, 541, 539, 528,
1395 527, 524, 523, 522, 519, 518, 517, 516, 496, 494,
1396 493, 492, 491, 489, 488, 479, 475, 474, 473, 470,
1397 469, 467, 466, 445, 444, 441, 440, 439, 438, 437,
1398 436, 418, 416, 413, 407, 403, 396, 388, 382, 381,
1399 380, 379, 356, 355, 354, 353, 352, 350, 349, 332,
1400 322, 319, 305, 298, 291, 290, 287, 260, 259, 258,
1401 257, 252, 226, 225, 220, 203, 194, 193, 171, 170,
1402 163, 162, 161, 160, 138, 113, 104, 103, 99, 86,
1403 84, 76, 61, 59, 36, 35, 27, 24, 22, 15,
1404 12, 10, 8, 3, 1115, 1115, 1115, 1115, 1115, 1115,
1406 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1407 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1408 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1409 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1410 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1411 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1412 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1413 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1414 1115, 1115, 1115, 1115
1417 /* Table of booleans, true if rule could match eol. */
1418 static yyconst flex_int32_t yy_rule_can_match_eol[174] =
1420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0,
1421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0,
1422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
1426 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1427 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1428 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, };
1430 static yy_state_type yy_last_accepting_state;
1431 static char *yy_last_accepting_cpos;
1433 extern int yy_flex_debug;
1434 int yy_flex_debug = 0;
1436 /* The intent behind this definition is that it'll catch
1437 * any uses of REJECT which flex missed.
1439 #define REJECT reject_used_but_not_detected
1440 #define yymore() yymore_used_but_not_detected
1441 #define YY_MORE_ADJ 0
1442 #define YY_RESTORE_YY_MORE_OFFSET
1444 #line 1 "vtkParse.l"
1445 #line 3 "vtkParse.l"
1449 This file must be translated to C and modified to build everywhere.
1453 flex --nodefault -olex.yy.c vtkParse.l
1456 - convert tabs to spaces (8 spaces per tab)
1457 - remove extra space from end of lines
1458 - remove blank lines from end of file
1459 - replace "int yyl" with "yy_size_t yyl"
1460 - compile with gcc and "-Wsign-compare", there should be no warnings
1464 /* We do not care of interactive mode */
1465 #define YY_NEVER_INTERACTIVE 1
1467 /* Do not include unistd.h in generated source. */
1468 #define YY_NO_UNISTD_H
1470 /* Skip declaring this function. It is a macro. */
1471 #define YY_SKIP_YYWRAP
1474 #pragma warning ( disable : 4018 )
1475 #pragma warning ( disable : 4127 )
1476 #pragma warning ( disable : 4131 )
1477 #pragma warning ( disable : 4244 )
1478 #pragma warning ( disable : 4251 )
1479 #pragma warning ( disable : 4267 )
1480 #pragma warning ( disable : 4305 )
1481 #pragma warning ( disable : 4309 )
1482 #pragma warning ( disable : 4706 )
1483 #pragma warning ( disable : 4786 )
1486 #define SKIP_MATCH_MAXLEN 15
1489 * Skip ahead until one of the strings is found,
1490 * then skip to the end of the line.
1491 * Return 0 if no match found.
1493 static int skip_comment();
1494 static int skip_trailing_comment(const char *text, size_t l);
1495 static int skip_ahead_multi(const char *strings[]);
1496 static int skip_ahead_until(const char *text);
1497 static int skip_to_next_directive();
1498 static int skip_conditional_block();
1500 static void preprocessor_directive(const char *text, size_t l);
1501 static void print_preprocessor_error(int result, const char *cp, size_t n);
1502 static const char *get_macro_arguments();
1504 static void push_buffer();
1505 static int pop_buffer();
1507 static void push_include(const char *filename);
1508 static void pop_include();
1510 static void push_macro(MacroInfo *macro);
1511 static void pop_macro();
1512 static int in_macro();
1514 #line 1515 "lex.yy.c"
1518 #ifndef YY_NO_UNISTD_H
1519 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1520 * down here because we want the user's section 1 to have been scanned first.
1521 * The user has a chance to override it with an option.
1526 #ifndef YY_EXTRA_TYPE
1527 #define YY_EXTRA_TYPE void *
1530 static int yy_init_globals (void );
1532 /* Accessor methods to globals.
1533 These are made visible to non-reentrant scanners for convenience. */
1535 int yylex_destroy (void );
1537 int yyget_debug (void );
1539 void yyset_debug (int debug_flag );
1541 YY_EXTRA_TYPE yyget_extra (void );
1543 void yyset_extra (YY_EXTRA_TYPE user_defined );
1545 FILE *yyget_in (void );
1547 void yyset_in (FILE * in_str );
1549 FILE *yyget_out (void );
1551 void yyset_out (FILE * out_str );
1553 yy_size_t yyget_leng (void );
1555 char *yyget_text (void );
1557 int yyget_lineno (void );
1559 void yyset_lineno (int line_number );
1561 /* Macros after this point can all be overridden by user definitions in
1565 #ifndef YY_SKIP_YYWRAP
1567 extern "C" int yywrap (void );
1569 extern int yywrap (void );
1573 static void yyunput (int c,char *buf_ptr );
1576 static void yy_flex_strncpy (char *,yyconst char *,int );
1579 #ifdef YY_NEED_STRLEN
1580 static int yy_flex_strlen (yyconst char * );
1586 static int yyinput (void );
1588 static int input (void );
1593 /* Amount of stuff to slurp up with each read. */
1594 #ifndef YY_READ_BUF_SIZE
1595 #define YY_READ_BUF_SIZE 8192
1598 /* Copy whatever the last rule matched to the standard output. */
1600 /* This used to be an fputs(), but since the string might contain NUL's,
1601 * we now use fwrite().
1603 #define ECHO fwrite( yytext, yyleng, 1, yyout )
1606 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1607 * is returned in "result".
1610 #define YY_INPUT(buf,result,max_size) \
1611 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1615 for ( n = 0; n < max_size && \
1616 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1617 buf[n] = (char) c; \
1619 buf[n++] = (char) c; \
1620 if ( c == EOF && ferror( yyin ) ) \
1621 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1627 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1629 if( errno != EINTR) \
1631 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1642 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1643 * we don't want an extra ';' after the "return" because that will cause
1644 * some compilers to complain about unreachable statements.
1647 #define yyterminate() return YY_NULL
1650 /* Number of entries by which start-condition stack grows. */
1651 #ifndef YY_START_STACK_INCR
1652 #define YY_START_STACK_INCR 25
1655 /* Report a fatal error. */
1656 #ifndef YY_FATAL_ERROR
1657 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1660 /* end tables serialization structures and prototypes */
1662 /* Default declaration of generated scanner - a define so the user can
1663 * easily add parameters.
1666 #define YY_DECL_IS_OURS 1
1668 extern int yylex (void);
1670 #define YY_DECL int yylex (void)
1671 #endif /* !YY_DECL */
1673 /* Code executed at the beginning of each rule, after yytext and yyleng
1676 #ifndef YY_USER_ACTION
1677 #define YY_USER_ACTION
1680 /* Code executed at the end of each rule. */
1682 #define YY_BREAK break;
1685 #define YY_RULE_SETUP \
1687 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1688 (yytext[yyleng - 1] == '\n'); \
1691 /** The main scanner function which does all the work.
1695 register yy_state_type yy_current_state;
1696 register char *yy_cp, *yy_bp;
1697 register int yy_act;
1699 #line 77 "vtkParse.l"
1702 #line 1703 "lex.yy.c"
1713 (yy_start) = 1; /* first start state */
1721 if ( ! YY_CURRENT_BUFFER ) {
1722 yyensure_buffer_stack ();
1723 YY_CURRENT_BUFFER_LVALUE =
1724 yy_create_buffer(yyin,YY_BUF_SIZE );
1727 yy_load_buffer_state( );
1730 while ( 1 ) /* loops until end-of-file is reached */
1732 yy_cp = (yy_c_buf_p);
1734 /* Support of yytext. */
1735 *yy_cp = (yy_hold_char);
1737 /* yy_bp points to the position in yy_ch_buf of the start of
1742 yy_current_state = (yy_start);
1743 yy_current_state += YY_AT_BOL();
1747 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1748 if ( yy_accept[yy_current_state] )
1750 (yy_last_accepting_state) = yy_current_state;
1751 (yy_last_accepting_cpos) = yy_cp;
1753 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1755 yy_current_state = (int) yy_def[yy_current_state];
1756 if ( yy_current_state >= 1116 )
1757 yy_c = yy_meta[(unsigned int) yy_c];
1759 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1762 while ( yy_base[yy_current_state] != 2595 );
1765 yy_act = yy_accept[yy_current_state];
1767 { /* have to back up */
1768 yy_cp = (yy_last_accepting_cpos);
1769 yy_current_state = (yy_last_accepting_state);
1770 yy_act = yy_accept[yy_current_state];
1773 YY_DO_BEFORE_ACTION;
1775 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1778 for ( yyl = 0; yyl < yyleng; ++yyl )
1779 if ( yytext[yyl] == '\n' )
1785 do_action: /* This label is used only to access EOF actions. */
1788 { /* beginning of action switch */
1789 case 0: /* must back up */
1790 /* undo the effects of YY_DO_BEFORE_ACTION */
1791 *yy_cp = (yy_hold_char);
1792 yy_cp = (yy_last_accepting_cpos);
1793 yy_current_state = (yy_last_accepting_state);
1794 goto yy_find_action;
1798 #line 79 "vtkParse.l"
1803 #line 81 "vtkParse.l"
1806 skip_ahead_until("//ETX");
1812 #line 87 "vtkParse.l"
1813 /* eat mismatched ETX */
1817 #line 89 "vtkParse.l"
1819 skip_ahead_until("@end");
1824 #line 93 "vtkParse.l"
1827 while (yytext[pos-1] != 'M' || yytext[pos] != 'E')
1831 data->NameComment = vtkstrndup(&yytext[pos + 1], yyleng - pos - 1);
1836 #line 102 "vtkParse.l"
1837 { setCommentState(1); }
1841 #line 103 "vtkParse.l"
1842 { setCommentState(2); }
1846 #line 104 "vtkParse.l"
1847 { setCommentState(3); }
1851 #line 105 "vtkParse.l"
1852 { setCommentState(3); }
1856 #line 106 "vtkParse.l"
1857 { setCommentState(4); }
1860 /* rule 11 can match eol */
1862 #line 107 "vtkParse.l"
1863 { closeOrClearComment(); }
1867 #line 108 "vtkParse.l"
1870 while (yytext[pos-2] != '/' || yytext[pos-1] != '/') pos++;
1871 addCommentLine(&yytext[pos], yyleng - pos);
1876 #line 114 "vtkParse.l"
1877 /* eat C++ comments */
1880 /* rule 14 can match eol */
1882 #line 116 "vtkParse.l"
1884 skip_trailing_comment(yytext, yyleng);
1885 preprocessor_directive(yytext, yyleng);
1889 /* rule 15 can match eol */
1891 #line 121 "vtkParse.l"
1893 yylval.str = vtkstrndup(yytext, yyleng);
1894 return(STRING_LITERAL);
1898 /* rule 16 can match eol */
1900 #line 126 "vtkParse.l"
1902 yylval.str = vtkstrndup(yytext, yyleng);
1903 return(CHAR_LITERAL);
1908 #line 131 "vtkParse.l"
1909 /* ignore EXPORT macros */
1913 #line 133 "vtkParse.l"
1914 { /* let the wrappers see the parameter */
1915 const char *args = NULL;
1918 args = get_macro_arguments();
1922 if (*cp == '(') { cp++; }
1923 while (*cp == ' ' || *cp == '\t') { cp++; }
1927 yylval.str = vtkstrndup(cp, l);
1937 #line 154 "vtkParse.l"
1942 #line 155 "vtkParse.l"
1947 #line 156 "vtkParse.l"
1952 #line 157 "vtkParse.l"
1957 #line 158 "vtkParse.l"
1962 #line 159 "vtkParse.l"
1967 #line 160 "vtkParse.l"
1972 #line 162 "vtkParse.l"
1977 #line 163 "vtkParse.l"
1982 #line 165 "vtkParse.l"
1987 #line 166 "vtkParse.l"
1992 #line 168 "vtkParse.l"
1997 #line 169 "vtkParse.l"
2002 #line 171 "vtkParse.l"
2003 /* ignore the Q_OBJECT macro from Qt */
2006 /* rule 33 can match eol */
2007 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2008 (yy_c_buf_p) = yy_cp -= 1;
2009 YY_DO_BEFORE_ACTION; /* set up yytext again */
2011 #line 172 "vtkParse.l"
2015 /* rule 34 can match eol */
2016 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2017 (yy_c_buf_p) = yy_cp -= 1;
2018 YY_DO_BEFORE_ACTION; /* set up yytext again */
2020 #line 173 "vtkParse.l"
2024 /* rule 35 can match eol */
2025 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2026 (yy_c_buf_p) = yy_cp -= 1;
2027 YY_DO_BEFORE_ACTION; /* set up yytext again */
2029 #line 174 "vtkParse.l"
2033 /* rule 36 can match eol */
2034 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2035 (yy_c_buf_p) = yy_cp -= 1;
2036 YY_DO_BEFORE_ACTION; /* set up yytext again */
2038 #line 175 "vtkParse.l"
2043 #line 177 "vtkParse.l"
2048 #line 178 "vtkParse.l"
2053 #line 179 "vtkParse.l"
2058 #line 180 "vtkParse.l"
2063 #line 181 "vtkParse.l"
2068 #line 182 "vtkParse.l"
2073 #line 183 "vtkParse.l"
2078 #line 184 "vtkParse.l"
2083 #line 185 "vtkParse.l"
2088 #line 186 "vtkParse.l"
2093 #line 187 "vtkParse.l"
2098 #line 188 "vtkParse.l"
2103 #line 189 "vtkParse.l"
2108 #line 190 "vtkParse.l"
2113 #line 191 "vtkParse.l"
2118 #line 192 "vtkParse.l"
2123 #line 193 "vtkParse.l"
2128 #line 194 "vtkParse.l"
2133 #line 195 "vtkParse.l"
2138 #line 196 "vtkParse.l"
2143 #line 197 "vtkParse.l"
2148 #line 198 "vtkParse.l"
2153 #line 199 "vtkParse.l"
2158 #line 200 "vtkParse.l"
2163 #line 201 "vtkParse.l"
2168 #line 203 "vtkParse.l"
2169 return(STATIC_CAST);
2173 #line 204 "vtkParse.l"
2174 return(DYNAMIC_CAST);
2178 #line 205 "vtkParse.l"
2183 #line 206 "vtkParse.l"
2184 return(REINTERPRET_CAST);
2188 #line 208 "vtkParse.l"
2189 /* irrelevant to wrappers */
2193 #line 209 "vtkParse.l"
2194 /* irrelevant to wrappers */
2198 #line 211 "vtkParse.l"
2199 return(OP_LOGIC_AND);
2203 #line 212 "vtkParse.l"
2208 #line 213 "vtkParse.l"
2209 return(OP_LOGIC_OR);
2213 #line 214 "vtkParse.l"
2218 #line 215 "vtkParse.l"
2223 #line 216 "vtkParse.l"
2224 return(OP_LOGIC_NEQ);
2228 #line 217 "vtkParse.l"
2233 #line 218 "vtkParse.l"
2238 #line 219 "vtkParse.l"
2243 #line 220 "vtkParse.l"
2248 #line 221 "vtkParse.l"
2253 #line 223 "vtkParse.l"
2258 #line 224 "vtkParse.l"
2263 #line 225 "vtkParse.l"
2268 #line 226 "vtkParse.l"
2269 return(SetStringMacro);
2273 #line 227 "vtkParse.l"
2274 return(GetStringMacro);
2278 #line 228 "vtkParse.l"
2279 return(SetClampMacro);
2283 #line 229 "vtkParse.l"
2284 return(SetObjectMacro);
2288 #line 230 "vtkParse.l"
2289 return(GetObjectMacro);
2293 #line 231 "vtkParse.l"
2294 return(BooleanMacro);
2298 #line 232 "vtkParse.l"
2299 return(SetVector2Macro);
2303 #line 233 "vtkParse.l"
2304 return(SetVector3Macro);
2308 #line 234 "vtkParse.l"
2309 return(SetVector4Macro);
2313 #line 235 "vtkParse.l"
2314 return(SetVector6Macro);
2318 #line 236 "vtkParse.l"
2319 return(GetVector2Macro);
2323 #line 237 "vtkParse.l"
2324 return(GetVector3Macro);
2328 #line 238 "vtkParse.l"
2329 return(GetVector4Macro);
2333 #line 239 "vtkParse.l"
2334 return(GetVector6Macro);
2338 #line 240 "vtkParse.l"
2339 return(SetVectorMacro);
2343 #line 241 "vtkParse.l"
2344 return(GetVectorMacro);
2348 #line 242 "vtkParse.l"
2349 return(ViewportCoordinateMacro);
2353 #line 243 "vtkParse.l"
2354 return(WorldCoordinateMacro);
2358 #line 244 "vtkParse.l"
2363 #line 245 "vtkParse.l"
2368 #line 246 "vtkParse.l"
2373 #line 247 "vtkParse.l"
2378 #line 248 "vtkParse.l"
2383 #line 249 "vtkParse.l"
2384 return(VTK_BYTE_SWAP_DECL);
2388 #line 250 "vtkParse.l"
2393 #line 251 "vtkParse.l"
2398 #line 252 "vtkParse.l"
2403 #line 253 "vtkParse.l"
2408 #line 254 "vtkParse.l"
2413 #line 255 "vtkParse.l"
2418 #line 256 "vtkParse.l"
2423 #line 257 "vtkParse.l"
2428 #line 258 "vtkParse.l"
2429 return(TypeFloat32);
2433 #line 259 "vtkParse.l"
2434 return(TypeFloat64);
2437 /* rule 116 can match eol */
2439 #line 261 "vtkParse.l"
2443 while (yytext[i]==' ' || yytext[i]=='\t' ||
2444 yytext[i]=='\r' || yytext[i]=='\n') { i++; }
2446 while (yytext[j]!='&') { j++; }
2447 yylval.str = vtkstrndup(&yytext[i], j-i);
2452 /* rule 117 can match eol */
2454 #line 272 "vtkParse.l"
2458 while (yytext[i]==' ' || yytext[i]=='\t' ||
2459 yytext[i]=='\r' || yytext[i]=='\n') { i++; }
2461 while (yytext[j]!='*') { j++; }
2462 yylval.str = vtkstrndup(&yytext[i], j-i);
2467 /* rule 118 can match eol */
2469 #line 283 "vtkParse.l"
2476 /* rule 119 can match eol */
2478 #line 288 "vtkParse.l"
2486 #line 293 "vtkParse.l"
2491 #line 295 "vtkParse.l"
2492 /* misc unused win32 macros */
2495 /* rule 122 can match eol */
2496 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2497 (yy_c_buf_p) = yy_cp -= 1;
2498 YY_DO_BEFORE_ACTION; /* set up yytext again */
2500 #line 297 "vtkParse.l"
2502 yylval.str = vtkstrndup(yytext, yyleng);
2507 /* rule 123 can match eol */
2508 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2509 (yy_c_buf_p) = yy_cp -= 1;
2510 YY_DO_BEFORE_ACTION; /* set up yytext again */
2512 #line 302 "vtkParse.l"
2514 yylval.str = vtkstrndup(yytext, yyleng);
2519 /* rule 124 can match eol */
2520 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2521 (yy_c_buf_p) = yy_cp -= 1;
2522 YY_DO_BEFORE_ACTION; /* set up yytext again */
2524 #line 307 "vtkParse.l"
2526 yylval.str = vtkstrndup(yytext, yyleng);
2532 #line 312 "vtkParse.l"
2534 yylval.str = vtkstrndup(yytext, yyleng);
2540 #line 317 "vtkParse.l"
2542 yylval.str = vtkstrndup(yytext, yyleng);
2543 return(UnicodeString);
2548 #line 322 "vtkParse.l"
2550 yylval.str = vtkstrndup(yytext, yyleng);
2556 #line 327 "vtkParse.l"
2558 yylval.str = vtkstrndup(yytext, yyleng);
2564 #line 332 "vtkParse.l"
2565 get_macro_arguments(); /* gcc attributes */
2569 #line 334 "vtkParse.l"
2570 get_macro_arguments(); /* Windows linkage */
2574 #line 336 "vtkParse.l"
2579 #line 338 "vtkParse.l"
2581 const char *args = get_macro_arguments();
2582 if (args && args[0] != '\0' && args[1] != '\0')
2584 size_t l = strlen(args);
2587 macroName = "VTK_LEGACY";
2590 yy_switch_to_buffer(yy_scan_bytes(&args[1],l-2));
2597 #line 353 "vtkParse.l"
2599 const char *name = vtkstrndup(yytext, yyleng);
2600 MacroInfo *macro = vtkParsePreprocess_GetMacro(preprocessor, name);
2604 const char *args = NULL;
2605 const char *emacro = NULL;
2607 /* make sure that vtkNotUsed is never expanded */
2609 ex = vtkParsePreprocess_GetMacro(preprocessor, "vtkNotUsed");
2615 if (macro->IsFunction)
2617 args = get_macro_arguments();
2620 emacro = vtkParsePreprocess_ExpandMacro(preprocessor, macro, args);
2623 print_preprocessor_error(VTK_PARSE_MACRO_NUMARGS, NULL, 0);
2628 else if (macro->Definition && macro->Definition[0])
2630 /* first see if macro evaluates to a constant value */
2634 macro->IsExcluded = 1;
2635 r = vtkParsePreprocess_EvaluateExpression(
2636 preprocessor, macro->Definition, &val, &is_unsigned);
2637 macro->IsExcluded = 0;
2638 /* if it isn't a constant expression, then expand it */
2639 if (r >= VTK_PARSE_MACRO_UNDEFINED)
2641 emacro = vtkParsePreprocess_ExpandMacro(preprocessor, macro, NULL);
2644 print_preprocessor_error(r, NULL, 0);
2650 /* macros with no definition expand to nothing */
2655 /* invoke the parser on any expanded macros */
2658 yy_switch_to_buffer(yy_scan_string(emacro));
2659 vtkParsePreprocess_FreeMacroExpansion(preprocessor, macro, emacro);
2665 /* if no macro expansion occurred, return the ID */
2667 if (yyleng > 3 && name[0] == 'v' && name[1] == 't' && name[2] == 'k')
2671 else if (name[0] == 'Q')
2684 #line 437 "vtkParse.l"
2686 yylval.str = vtkstrndup(yytext, yyleng);
2687 return(FLOAT_LITERAL);
2692 #line 442 "vtkParse.l"
2694 yylval.str = vtkstrndup(yytext, yyleng);
2695 return(FLOAT_LITERAL);
2700 #line 447 "vtkParse.l"
2702 yylval.str = vtkstrndup(yytext, yyleng);
2703 return(FLOAT_LITERAL);
2708 #line 452 "vtkParse.l"
2710 yylval.str = vtkstrndup(yytext, yyleng);
2711 return(HEX_LITERAL);
2716 #line 457 "vtkParse.l"
2718 yylval.str = vtkstrndup(yytext, yyleng);
2719 return(OCT_LITERAL);
2724 #line 462 "vtkParse.l"
2726 yylval.str = vtkstrndup(yytext, yyleng);
2727 return(INT_LITERAL);
2732 #line 467 "vtkParse.l"
2734 yylval.str = vtkstrndup(yytext, yyleng);
2739 /* rule 141 can match eol */
2741 #line 472 "vtkParse.l"
2742 /* escaped newlines */
2746 #line 473 "vtkParse.l"
2750 /* rule 143 can match eol */
2752 #line 474 "vtkParse.l"
2757 #line 476 "vtkParse.l"
2758 return(OP_LSHIFT_EQ);
2762 #line 477 "vtkParse.l"
2763 return(OP_RSHIFT_EQ);
2767 #line 478 "vtkParse.l"
2772 #line 479 "vtkParse.l"
2773 return(OP_DOT_POINTER);
2777 #line 480 "vtkParse.l"
2778 return(OP_ARROW_POINTER);
2782 #line 481 "vtkParse.l"
2787 #line 482 "vtkParse.l"
2792 #line 483 "vtkParse.l"
2797 #line 484 "vtkParse.l"
2802 #line 485 "vtkParse.l"
2807 #line 486 "vtkParse.l"
2808 return(OP_MINUS_EQ);
2812 #line 487 "vtkParse.l"
2813 return(OP_TIMES_EQ);
2817 #line 488 "vtkParse.l"
2818 return(OP_DIVIDE_EQ);
2822 #line 489 "vtkParse.l"
2823 return(OP_REMAINDER_EQ);
2827 #line 490 "vtkParse.l"
2832 #line 491 "vtkParse.l"
2837 #line 492 "vtkParse.l"
2842 #line 493 "vtkParse.l"
2843 return(OP_LOGIC_AND);
2847 #line 494 "vtkParse.l"
2848 return(OP_LOGIC_OR);
2852 #line 495 "vtkParse.l"
2853 return(OP_LOGIC_EQ);
2857 #line 496 "vtkParse.l"
2858 return(OP_LOGIC_NEQ);
2862 #line 497 "vtkParse.l"
2863 return(OP_LOGIC_LEQ);
2867 #line 498 "vtkParse.l"
2868 return(OP_LOGIC_GEQ);
2872 #line 499 "vtkParse.l"
2877 #line 500 "vtkParse.l"
2878 return(DOUBLE_COLON);
2882 #line 502 "vtkParse.l"
2887 #line 503 "vtkParse.l"
2892 #line 505 "vtkParse.l"
2895 case YY_STATE_EOF(INITIAL):
2896 #line 507 "vtkParse.l"
2897 { if (!pop_buffer()) { yyterminate(); } }
2901 #line 509 "vtkParse.l"
2906 #line 511 "vtkParse.l"
2907 YY_FATAL_ERROR( "flex scanner jammed" );
2909 #line 2910 "lex.yy.c"
2911 case YY_END_OF_BUFFER:
2913 /* Amount of text matched not including the EOB char. */
2914 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2916 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2917 *yy_cp = (yy_hold_char);
2918 YY_RESTORE_YY_MORE_OFFSET
2920 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2922 /* We're scanning a new file or input source. It's
2923 * possible that this happened because the user
2924 * just pointed yyin at a new source and called
2925 * yylex(). If so, then we have to assure
2926 * consistency between YY_CURRENT_BUFFER and our
2927 * globals. Here is the right place to do so, because
2928 * this is the first action (other than possibly a
2929 * back-up) that will match for the new input source.
2931 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2932 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2933 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2936 /* Note that here we test for yy_c_buf_p "<=" to the position
2937 * of the first EOB in the buffer, since yy_c_buf_p will
2938 * already have been incremented past the NUL character
2939 * (since all states make transitions on EOB to the
2940 * end-of-buffer state). Contrast this with the test
2943 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2944 { /* This was really a NUL. */
2945 yy_state_type yy_next_state;
2947 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2949 yy_current_state = yy_get_previous_state( );
2951 /* Okay, we're now positioned to make the NUL
2952 * transition. We couldn't have
2953 * yy_get_previous_state() go ahead and do it
2954 * for us because it doesn't know how to deal
2955 * with the possibility of jamming (and we don't
2956 * want to build jamming into it because then it
2957 * will run more slowly).
2960 yy_next_state = yy_try_NUL_trans( yy_current_state );
2962 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2964 if ( yy_next_state )
2966 /* Consume the NUL. */
2967 yy_cp = ++(yy_c_buf_p);
2968 yy_current_state = yy_next_state;
2974 yy_cp = (yy_c_buf_p);
2975 goto yy_find_action;
2979 else switch ( yy_get_next_buffer( ) )
2981 case EOB_ACT_END_OF_FILE:
2983 (yy_did_buffer_switch_on_eof) = 0;
2987 /* Note: because we've taken care in
2988 * yy_get_next_buffer() to have set up
2989 * yytext, we can now set up
2990 * yy_c_buf_p so that if some total
2991 * hoser (like flex itself) wants to
2992 * call the scanner after we return the
2993 * YY_NULL, it'll still work - another
2994 * YY_NULL will get returned.
2996 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2998 yy_act = YY_STATE_EOF(YY_START);
3004 if ( ! (yy_did_buffer_switch_on_eof) )
3010 case EOB_ACT_CONTINUE_SCAN:
3012 (yytext_ptr) + yy_amount_of_matched_text;
3014 yy_current_state = yy_get_previous_state( );
3016 yy_cp = (yy_c_buf_p);
3017 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3020 case EOB_ACT_LAST_MATCH:
3022 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3024 yy_current_state = yy_get_previous_state( );
3026 yy_cp = (yy_c_buf_p);
3027 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3028 goto yy_find_action;
3035 "fatal flex scanner internal error--no action found" );
3036 } /* end of action switch */
3037 } /* end of scanning one token */
3038 } /* end of yylex */
3040 /* yy_get_next_buffer - try to read in a new buffer
3042 * Returns a code representing an action:
3043 * EOB_ACT_LAST_MATCH -
3044 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3045 * EOB_ACT_END_OF_FILE - end of file
3047 static int yy_get_next_buffer (void)
3049 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3050 register char *source = (yytext_ptr);
3051 register int number_to_move, i;
3054 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3056 "fatal flex scanner internal error--end of buffer missed" );
3058 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3059 { /* Don't try to fill the buffer, so this is an EOF. */
3060 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3062 /* We matched a single character, the EOB, so
3063 * treat this as a final EOF.
3065 return EOB_ACT_END_OF_FILE;
3070 /* We matched some text prior to the EOB, first
3073 return EOB_ACT_LAST_MATCH;
3077 /* Try to read more data. */
3079 /* First move last chars to start of buffer. */
3080 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3082 for ( i = 0; i < number_to_move; ++i )
3083 *(dest++) = *(source++);
3085 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3086 /* don't do the read, it's not guaranteed to return an EOF,
3089 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3093 yy_size_t num_to_read =
3094 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3096 while ( num_to_read <= 0 )
3097 { /* Not enough room in the buffer - grow it. */
3099 /* just a shorter name for the current buffer */
3100 YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
3102 int yy_c_buf_p_offset =
3103 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3105 if ( b->yy_is_our_buffer )
3107 yy_size_t new_size = b->yy_buf_size * 2;
3109 if ( new_size <= 0 )
3110 b->yy_buf_size += b->yy_buf_size / 8;
3112 b->yy_buf_size *= 2;
3114 b->yy_ch_buf = (char *)
3115 /* Include room in for 2 EOB chars. */
3116 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3119 /* Can't grow it, we don't own it. */
3122 if ( ! b->yy_ch_buf )
3124 "fatal error - scanner input buffer overflow" );
3126 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3128 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3133 if ( num_to_read > YY_READ_BUF_SIZE )
3134 num_to_read = YY_READ_BUF_SIZE;
3136 /* Read in more data. */
3137 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3138 (yy_n_chars), num_to_read );
3140 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3143 if ( (yy_n_chars) == 0 )
3145 if ( number_to_move == YY_MORE_ADJ )
3147 ret_val = EOB_ACT_END_OF_FILE;
3153 ret_val = EOB_ACT_LAST_MATCH;
3154 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3155 YY_BUFFER_EOF_PENDING;
3160 ret_val = EOB_ACT_CONTINUE_SCAN;
3162 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3163 /* Extend the array by 50%, plus the number we really need. */
3164 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3165 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3166 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3167 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3170 (yy_n_chars) += number_to_move;
3171 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3172 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3174 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3179 /* yy_get_previous_state - get the state just before the EOB char was reached */
3181 static yy_state_type yy_get_previous_state (void)
3183 register yy_state_type yy_current_state;
3184 register char *yy_cp;
3186 yy_current_state = (yy_start);
3187 yy_current_state += YY_AT_BOL();
3189 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3191 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3192 if ( yy_accept[yy_current_state] )
3194 (yy_last_accepting_state) = yy_current_state;
3195 (yy_last_accepting_cpos) = yy_cp;
3197 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3199 yy_current_state = (int) yy_def[yy_current_state];
3200 if ( yy_current_state >= 1116 )
3201 yy_c = yy_meta[(unsigned int) yy_c];
3203 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3206 return yy_current_state;
3209 /* yy_try_NUL_trans - try to make a transition on the NUL character
3212 * next_state = yy_try_NUL_trans( current_state );
3214 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3216 register int yy_is_jam;
3217 register char *yy_cp = (yy_c_buf_p);
3219 register YY_CHAR yy_c = 1;
3220 if ( yy_accept[yy_current_state] )
3222 (yy_last_accepting_state) = yy_current_state;
3223 (yy_last_accepting_cpos) = yy_cp;
3225 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3227 yy_current_state = (int) yy_def[yy_current_state];
3228 if ( yy_current_state >= 1116 )
3229 yy_c = yy_meta[(unsigned int) yy_c];
3231 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3232 yy_is_jam = (yy_current_state == 1115);
3234 return yy_is_jam ? 0 : yy_current_state;
3237 static void yyunput (int c, register char * yy_bp )
3239 register char *yy_cp;
3241 yy_cp = (yy_c_buf_p);
3243 /* undo effects of setting up yytext */
3244 *yy_cp = (yy_hold_char);
3246 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3247 { /* need to shift things up to make room */
3248 /* +2 for EOB chars. */
3249 register yy_size_t number_to_move = (yy_n_chars) + 2;
3250 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3251 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3252 register char *source =
3253 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3255 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3256 *--dest = *--source;
3258 yy_cp += (int) (dest - source);
3259 yy_bp += (int) (dest - source);
3260 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3261 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3263 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3264 YY_FATAL_ERROR( "flex scanner push-back overflow" );
3267 *--yy_cp = (char) c;
3273 (yytext_ptr) = yy_bp;
3274 (yy_hold_char) = *yy_cp;
3275 (yy_c_buf_p) = yy_cp;
3280 static int yyinput (void)
3282 static int input (void)
3288 *(yy_c_buf_p) = (yy_hold_char);
3290 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3292 /* yy_c_buf_p now points to the character we want to return.
3293 * If this occurs *before* the EOB characters, then it's a
3294 * valid NUL; if not, then we've hit the end of the buffer.
3296 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3297 /* This was really a NUL. */
3298 *(yy_c_buf_p) = '\0';
3301 { /* need more input */
3302 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
3305 switch ( yy_get_next_buffer( ) )
3307 case EOB_ACT_LAST_MATCH:
3308 /* This happens because yy_g_n_b()
3309 * sees that we've accumulated a
3310 * token and flags that we need to
3311 * try matching the token before
3312 * proceeding. But for input(),
3313 * there's no matching to consider.
3314 * So convert the EOB_ACT_LAST_MATCH
3315 * to EOB_ACT_END_OF_FILE.
3318 /* Reset buffer status. */
3323 case EOB_ACT_END_OF_FILE:
3328 if ( ! (yy_did_buffer_switch_on_eof) )
3337 case EOB_ACT_CONTINUE_SCAN:
3338 (yy_c_buf_p) = (yytext_ptr) + offset;
3344 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3345 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3346 (yy_hold_char) = *++(yy_c_buf_p);
3348 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3349 if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
3356 #endif /* ifndef YY_NO_INPUT */
3358 /** Immediately switch to a different input stream.
3359 * @param input_file A readable stream.
3361 * @note This function does not reset the start condition to @c INITIAL .
3363 void yyrestart (FILE * input_file )
3366 if ( ! YY_CURRENT_BUFFER ){
3367 yyensure_buffer_stack ();
3368 YY_CURRENT_BUFFER_LVALUE =
3369 yy_create_buffer(yyin,YY_BUF_SIZE );
3372 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
3373 yy_load_buffer_state( );
3376 /** Switch to a different input buffer.
3377 * @param new_buffer The new input buffer.
3380 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3383 /* TODO. We should be able to replace this entire function body
3385 * yypop_buffer_state();
3386 * yypush_buffer_state(new_buffer);
3388 yyensure_buffer_stack ();
3389 if ( YY_CURRENT_BUFFER == new_buffer )
3392 if ( YY_CURRENT_BUFFER )
3394 /* Flush out information for old buffer. */
3395 *(yy_c_buf_p) = (yy_hold_char);
3396 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3397 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3400 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3401 yy_load_buffer_state( );
3403 /* We don't actually know whether we did this switch during
3404 * EOF (yywrap()) processing, but the only time this flag
3405 * is looked at is after yywrap() is called, so it's safe
3406 * to go ahead and always set it.
3408 (yy_did_buffer_switch_on_eof) = 1;
3411 static void yy_load_buffer_state (void)
3413 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3414 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3415 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3416 (yy_hold_char) = *(yy_c_buf_p);
3419 /** Allocate and initialize an input buffer state.
3420 * @param file A readable stream.
3421 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3423 * @return the allocated buffer state.
3425 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3429 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3431 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3433 b->yy_buf_size = size;
3435 /* yy_ch_buf has to be 2 characters longer than the size given because
3436 * we need to put in 2 end-of-buffer characters.
3438 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
3439 if ( ! b->yy_ch_buf )
3440 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3442 b->yy_is_our_buffer = 1;
3444 yy_init_buffer(b,file );
3449 /** Destroy the buffer.
3450 * @param b a buffer created with yy_create_buffer()
3453 void yy_delete_buffer (YY_BUFFER_STATE b )
3459 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3460 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3462 if ( b->yy_is_our_buffer )
3463 yyfree((void *) b->yy_ch_buf );
3465 yyfree((void *) b );
3469 extern int isatty (int );
3470 #endif /* __cplusplus */
3472 /* Initializes or reinitializes a buffer.
3473 * This function is sometimes called more than once on the same buffer,
3474 * such as during a yyrestart() or at EOF.
3476 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3481 yy_flush_buffer(b );
3483 b->yy_input_file = file;
3484 b->yy_fill_buffer = 1;
3486 /* If b is the current buffer, then yy_init_buffer was _probably_
3487 * called from yyrestart() or through yy_get_next_buffer.
3488 * In that case, we don't want to reset the lineno or column.
3490 if (b != YY_CURRENT_BUFFER){
3491 b->yy_bs_lineno = 1;
3492 b->yy_bs_column = 0;
3495 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
3500 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3501 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3504 void yy_flush_buffer (YY_BUFFER_STATE b )
3511 /* We always need two end-of-buffer characters. The first causes
3512 * a transition to the end-of-buffer state. The second causes
3513 * a jam in that state.
3515 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3516 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3518 b->yy_buf_pos = &b->yy_ch_buf[0];
3521 b->yy_buffer_status = YY_BUFFER_NEW;
3523 if ( b == YY_CURRENT_BUFFER )
3524 yy_load_buffer_state( );
3527 /** Pushes the new state onto the stack. The new state becomes
3528 * the current state. This function will allocate the stack
3530 * @param new_buffer The new state.
3533 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3535 if (new_buffer == NULL)
3538 yyensure_buffer_stack();
3540 /* This block is copied from yy_switch_to_buffer. */
3541 if ( YY_CURRENT_BUFFER )
3543 /* Flush out information for old buffer. */
3544 *(yy_c_buf_p) = (yy_hold_char);
3545 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3546 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3549 /* Only push if top exists. Otherwise, replace top. */
3550 if (YY_CURRENT_BUFFER)
3551 (yy_buffer_stack_top)++;
3552 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3554 /* copied from yy_switch_to_buffer. */
3555 yy_load_buffer_state( );
3556 (yy_did_buffer_switch_on_eof) = 1;
3559 /** Removes and deletes the top of the stack, if present.
3560 * The next element becomes the new top.
3563 void yypop_buffer_state (void)
3565 if (!YY_CURRENT_BUFFER)
3568 yy_delete_buffer(YY_CURRENT_BUFFER );
3569 YY_CURRENT_BUFFER_LVALUE = NULL;
3570 if ((yy_buffer_stack_top) > 0)
3571 --(yy_buffer_stack_top);
3573 if (YY_CURRENT_BUFFER) {
3574 yy_load_buffer_state( );
3575 (yy_did_buffer_switch_on_eof) = 1;
3579 /* Allocates the stack if it does not exist.
3580 * Guarantees space for at least one push.
3582 static void yyensure_buffer_stack (void)
3584 yy_size_t num_to_alloc;
3586 if (!(yy_buffer_stack)) {
3588 /* First allocation is just for 2 elements, since we don't know if this
3589 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3590 * immediate realloc on the next call.
3593 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3594 (num_to_alloc * sizeof(struct yy_buffer_state*)
3596 if ( ! (yy_buffer_stack) )
3597 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3599 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3601 (yy_buffer_stack_max) = num_to_alloc;
3602 (yy_buffer_stack_top) = 0;
3606 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3608 /* Increase the buffer to prepare for a possible push. */
3609 int grow_size = 8 /* arbitrary grow size */;
3611 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3612 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3614 num_to_alloc * sizeof(struct yy_buffer_state*)
3616 if ( ! (yy_buffer_stack) )
3617 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3619 /* zero only the new slots.*/
3620 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3621 (yy_buffer_stack_max) = num_to_alloc;
3625 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3626 * @param base the character buffer
3627 * @param size the size in bytes of the character buffer
3629 * @return the newly allocated buffer state object.
3631 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3636 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3637 base[size-1] != YY_END_OF_BUFFER_CHAR )
3638 /* They forgot to leave room for the EOB's. */
3641 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3643 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3645 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3646 b->yy_buf_pos = b->yy_ch_buf = base;
3647 b->yy_is_our_buffer = 0;
3648 b->yy_input_file = 0;
3649 b->yy_n_chars = b->yy_buf_size;
3650 b->yy_is_interactive = 0;
3652 b->yy_fill_buffer = 0;
3653 b->yy_buffer_status = YY_BUFFER_NEW;
3655 yy_switch_to_buffer(b );
3660 /** Setup the input buffer state to scan a string. The next call to yylex() will
3661 * scan from a @e copy of @a str.
3662 * @param yystr a NUL-terminated string to scan
3664 * @return the newly allocated buffer state object.
3665 * @note If you want to scan bytes that may contain NUL values, then use
3666 * yy_scan_bytes() instead.
3668 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
3671 return yy_scan_bytes(yystr,strlen(yystr) );
3674 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3675 * scan from a @e copy of @a bytes.
3676 * @param bytes the byte buffer to scan
3677 * @param len the number of bytes in the buffer pointed to by @a bytes.
3679 * @return the newly allocated buffer state object.
3681 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
3687 /* Get memory for full buffer, including space for trailing EOB's. */
3688 n = _yybytes_len + 2;
3689 buf = (char *) yyalloc(n );
3691 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3693 for ( i = 0; i < _yybytes_len; ++i )
3694 buf[i] = yybytes[i];
3696 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3698 b = yy_scan_buffer(buf,n );
3700 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3702 /* It's okay to grow etc. this buffer, and we should throw it
3703 * away when we're done.
3705 b->yy_is_our_buffer = 1;
3710 #ifndef YY_EXIT_FAILURE
3711 #define YY_EXIT_FAILURE 2
3714 static void yy_fatal_error (yyconst char* msg )
3716 (void) fprintf( stderr, "%s\n", msg );
3717 exit( YY_EXIT_FAILURE );
3720 /* Redefine yyless() so it works in section 3 code. */
3726 /* Undo effects of setting up yytext. */ \
3727 int yyless_macro_arg = (n); \
3728 YY_LESS_LINENO(yyless_macro_arg);\
3729 yytext[yyleng] = (yy_hold_char); \
3730 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3731 (yy_hold_char) = *(yy_c_buf_p); \
3732 *(yy_c_buf_p) = '\0'; \
3733 yyleng = yyless_macro_arg; \
3737 /* Accessor methods (get/set functions) to struct members. */
3739 /** Get the current line number.
3742 int yyget_lineno (void)
3748 /** Get the input stream.
3751 FILE *yyget_in (void)
3756 /** Get the output stream.
3759 FILE *yyget_out (void)
3764 /** Get the length of the current token.
3767 yy_size_t yyget_leng (void)
3772 /** Get the current token.
3776 char *yyget_text (void)
3781 /** Set the current line number.
3782 * @param line_number
3785 void yyset_lineno (int line_number )
3788 yylineno = line_number;
3791 /** Set the input stream. This does not discard the current
3793 * @param in_str A readable stream.
3795 * @see yy_switch_to_buffer
3797 void yyset_in (FILE * in_str )
3802 void yyset_out (FILE * out_str )
3807 int yyget_debug (void)
3809 return yy_flex_debug;
3812 void yyset_debug (int bdebug )
3814 yy_flex_debug = bdebug ;
3817 static int yy_init_globals (void)
3819 /* Initialization is the same as for the non-reentrant scanner.
3820 * This function is called from yylex_destroy(), so don't allocate here.
3823 /* We do not touch yylineno unless the option is enabled. */
3826 (yy_buffer_stack) = 0;
3827 (yy_buffer_stack_top) = 0;
3828 (yy_buffer_stack_max) = 0;
3829 (yy_c_buf_p) = (char *) 0;
3833 /* Defined in main.c */
3842 /* For future reference: Set errno on error, since we are called by
3848 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
3849 int yylex_destroy (void)
3852 /* Pop the buffer stack, destroying each element. */
3853 while(YY_CURRENT_BUFFER){
3854 yy_delete_buffer(YY_CURRENT_BUFFER );
3855 YY_CURRENT_BUFFER_LVALUE = NULL;
3856 yypop_buffer_state();
3859 /* Destroy the stack itself. */
3860 yyfree((yy_buffer_stack) );
3861 (yy_buffer_stack) = NULL;
3863 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3864 * yylex() is called, initialization will occur. */
3871 * Internal utility routines.
3875 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3878 for ( i = 0; i < n; ++i )
3883 #ifdef YY_NEED_STRLEN
3884 static int yy_flex_strlen (yyconst char * s )
3887 for ( n = 0; s[n]; ++n )
3894 void *yyalloc (yy_size_t size )
3896 return (void *) malloc( size );
3899 void *yyrealloc (void * ptr, yy_size_t size )
3901 /* The cast to (char *) in the following accommodates both
3902 * implementations that use char* generic pointers, and those
3903 * that use void* generic pointers. It works with the latter
3904 * because both ANSI C and C++ allow castless assignment from
3905 * any pointer type to void*, and deal with argument conversions
3906 * as though doing an assignment.
3908 return (void *) realloc( (char *) ptr, size );
3911 void yyfree (void * ptr )
3913 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3916 #define YYTABLES_NAME "yytables"
3918 #line 511 "vtkParse.l"
3923 * Return a parenthetical macro arg list as a new string.
3925 const char *get_macro_arguments()
3936 if (pop_buffer() == 0)
3942 while (c1 == ' ' || c1 == '\t' || c1 == '\r' || c1 == '\n')
3947 cp = (char *)malloc(4);
3963 /* skip all whitespace */
3964 while (c1 == ' ' || c1 == '\t' || c1 == '\r' || c1 == '\n')
3974 /* skip a C style comment */
3976 if (skip_comment() == 0)
3984 /* skip a C++ style comment */
3986 do { c1 = input(); }
3987 while (c1 != '\n' && c1 != '\0');
4001 /* add a single space to replace any whitespace */
4003 if (i >= 4 && (i & (i-1)) == 0)
4005 cp = (char *)realloc(cp, 2*i);
4010 /* add a single space to replace any whitespace */
4012 if (i >= 4 && (i & (i-1)) == 0)
4014 cp = (char *)realloc(cp, 2*i);
4017 if (c1 == '\"' || c1 == '\'')
4037 if (escaped == 0 && c1 == '\\')
4042 if (i >= 4 && (i & (i-1)) == 0)
4044 cp = (char *)realloc(cp, 2*i);
4047 while (c1 != c2 || escaped);
4049 else if (c1 != '\0')
4052 if (i >= 4 && (i & (i-1)) == 0)
4054 cp = (char *)realloc(cp, 2*i);
4080 * Skip a C-style comment, return 0 if unterminated.
4084 int c1 = 0, c2 = input();
4089 print_preprocessor_error(VTK_PARSE_SYNTAX_ERROR,
4090 "Cannot find end of comment.", 27);
4093 if (c1 == '*' && c2 == '/') break;
4094 c1 = c2; c2 = input();
4100 * If token contains a comment, make sure whole comment is skipped.
4102 int skip_trailing_comment(const char *text, size_t l)
4104 const char *cp = text;
4105 const char *ep = text + l;
4110 while (cp < ep && *cp != '/' && *cp != '\"') { cp++; };
4115 else if (cp[0] == '/' && cp[1] == '*')
4119 while (cp < ep && *cp != '*') { cp++; };
4120 if (cp[0] == '*' && cp[1] == '/')
4130 else if (cp[0] == '\"')
4135 while (cp < ep && *cp != '\\' && *cp != '\"') { cp++; };
4140 else if (*cp == '\"')
4145 else /* if (*cp == '\\') */
4159 return skip_comment();
4166 * Skip ahead until the next preprocessor directive.
4167 * This will eat the '#' that starts the directive.
4168 * Return 0 if none found.
4170 int skip_to_next_directive()
4172 /* state == 0 at the start of a line */
4181 if (c == ' ' || c == '\t')
4185 /* newline renews the start-of-line state */
4195 if ( (c = input()) == '*')
4197 if (skip_comment() == 0)
4204 /* skip escaped characters */
4208 if ( (c = input()) == '\r')
4210 if ( (c = input()) == '\n')
4220 /* any other chars except '#' at start of line */
4221 else if (c != '#' || state != 0)
4236 * Skip to the next #else or #elif or #endif
4238 int skip_conditional_block()
4240 static char *linebuf = NULL;
4241 static size_t linemaxlen = 80;
4248 linebuf = (char *)malloc(linemaxlen);
4253 if (skip_to_next_directive() == 0)
4258 while (c == ' ' || c == '\t')
4267 /* eat the whole line */
4270 while (c != 0 && c != '\n')
4272 if (i >= linemaxlen-5)
4275 linebuf = (char *)realloc(linebuf, linemaxlen);
4278 /* be sure to skip escaped newlines */
4293 result = vtkParsePreprocess_HandleDirective(preprocessor, linebuf);
4294 if (result != VTK_PARSE_SKIP && result != VTK_PARSE_OK)
4296 print_preprocessor_error(result, linebuf, i);
4298 else if (result != VTK_PARSE_SKIP)
4308 * Skip ahead until one of the strings is found,
4309 * then skip to the end of the line.
4311 int skip_ahead_multi(const char *strings[])
4313 char textbuf[SKIP_MATCH_MAXLEN+1];
4317 for (i = 0; i < (SKIP_MATCH_MAXLEN+1); i++)
4324 for (i = 0; i < SKIP_MATCH_MAXLEN; i++)
4326 textbuf[i] = textbuf[i+1];
4329 if ((c = (char)input()) == '\0')
4331 print_preprocessor_error(VTK_PARSE_SYNTAX_ERROR, NULL, 0);
4335 textbuf[SKIP_MATCH_MAXLEN-1] = c;
4337 for (i = 0; strings[i]; i++)
4339 if (strcmp(&textbuf[SKIP_MATCH_MAXLEN-strlen(strings[i])],
4351 while (c != '\0' && c != '\n')
4360 * Skip ahead until the string is found.
4362 int skip_ahead_until(const char *text)
4364 const char *strings[2];
4368 return skip_ahead_multi(strings);
4372 * buffer stack, used for macro expansion and include files
4374 static size_t buffer_stack_size = 0;
4375 static YY_BUFFER_STATE *buffer_stack = NULL;
4378 * push the current buffer onto the buffer stack.
4382 size_t n = buffer_stack_size;
4383 if (buffer_stack == NULL)
4385 buffer_stack = (YY_BUFFER_STATE *)malloc(4*sizeof(YY_BUFFER_STATE));
4387 /* grow the stack whenever size reaches a power of two */
4388 else if (n >= 4 && (n & (n-1)) == 0)
4390 buffer_stack = (YY_BUFFER_STATE *)realloc(
4391 buffer_stack, 2*n*sizeof(YY_BUFFER_STATE));
4393 buffer_stack[buffer_stack_size++] = YY_CURRENT_BUFFER;
4397 * pop the buffer stack and restore the previous buffer
4409 if (buffer_stack_size == 0)
4413 yy_delete_buffer(YY_CURRENT_BUFFER);
4414 yy_switch_to_buffer(buffer_stack[--buffer_stack_size]);
4419 * include stack, to tell what include is being evaluated
4421 static size_t include_stack_size = 0;
4422 static FileInfo **include_stack = NULL;
4423 static int *lineno_stack = NULL;
4426 * push the current include onto the include stack.
4428 void push_include(const char *filename)
4430 FileInfo *file_info = NULL;
4432 size_t n = include_stack_size;
4434 if (include_stack == NULL)
4436 include_stack = (FileInfo **)malloc(4*sizeof(FileInfo *));
4437 lineno_stack = (int *)malloc(4*sizeof(int));
4440 /* grow the stack whenever size reaches a power of two */
4441 else if (n >= 4 && (n & (n-1)) == 0)
4443 include_stack = (FileInfo **)realloc(
4444 include_stack, 2*n*sizeof(FileInfo *));
4445 lineno_stack = (int *)realloc(
4446 lineno_stack, 2*n*sizeof(int));
4449 lineno_stack[include_stack_size] = yyget_lineno();
4451 include_stack[include_stack_size++] = data;
4453 /* if the file is including itself */
4454 if (filename == data->FileName ||
4455 (filename != 0 && data->FileName != 0 &&
4456 strcmp(filename, data->FileName) == 0))
4461 /* make a new fileinfo, but only if we are in the base namespace
4462 * and only if the only items added so far are constants */
4463 if (!same_file && currentNamespace == data->Contents &&
4464 data->Contents->NumberOfItems == data->Contents->NumberOfConstants)
4466 file_info = (FileInfo *)malloc(sizeof(FileInfo));
4467 vtkParse_InitFile(file_info);
4468 file_info->FileName = vtkstrdup(filename);
4469 file_info->Contents = (NamespaceInfo *)malloc(sizeof(NamespaceInfo));
4470 vtkParse_InitNamespace(file_info->Contents);
4471 vtkParse_AddIncludeToFile(data, file_info);
4472 file_info->Strings = data->Strings;
4474 currentNamespace = file_info->Contents;
4479 * pop the include stack
4483 if (include_stack_size > 0)
4485 --include_stack_size;
4487 yyset_lineno(lineno_stack[include_stack_size]);
4488 if (data != include_stack[include_stack_size])
4490 data = include_stack[include_stack_size];
4491 currentNamespace = data->Contents;
4498 * macro stack, to tell what macro is being evaluated
4500 static size_t macro_stack_size = 0;
4501 static MacroInfo **macro_stack = NULL;
4504 * push the current macro onto the macro stack.
4506 void push_macro(MacroInfo *macro)
4508 size_t n = macro_stack_size;
4509 if (macro_stack == NULL)
4511 macro_stack = (MacroInfo **)malloc(4*sizeof(MacroInfo *));
4513 /* grow the stack whenever size reaches a power of two */
4514 else if (n >= 4 && (n & (n-1)) == 0)
4516 macro_stack = (MacroInfo **)realloc(
4517 macro_stack, 2*n*sizeof(MacroInfo *));
4519 macro_stack[macro_stack_size++] = macro;
4522 macro->IsExcluded = 1;
4523 if (macro_stack_size == 1)
4525 macroName = macro->Name;
4533 * pop the macro stack
4539 if (macro_stack_size > 0)
4541 macro = macro_stack[--macro_stack_size];
4544 macro->IsExcluded = 0;
4551 * are we currently processing a macro?
4555 return (macro_stack_size > 0);
4559 * print a preprocessor error code with filename and line number.
4561 void print_preprocessor_error(int result, const char *cp, size_t n)
4563 const char *text = "";
4568 case VTK_PARSE_SKIP:
4570 case VTK_PARSE_PREPROC_DOUBLE:
4571 text = "double in preprocessor conditional";
4573 case VTK_PARSE_PREPROC_FLOAT:
4574 text = "float in preprocessor conditional";
4576 case VTK_PARSE_PREPROC_STRING:
4577 text = "string in preprocessor conditional";
4579 case VTK_PARSE_MACRO_UNDEFINED:
4580 text = "undefined macro";
4582 case VTK_PARSE_MACRO_REDEFINED:
4583 text = "redefined macro";
4585 case VTK_PARSE_FILE_NOT_FOUND:
4586 text = "file not found";
4588 case VTK_PARSE_FILE_OPEN_ERROR:
4589 text = "can\'t open file";
4591 case VTK_PARSE_FILE_READ_ERROR:
4592 text = "input/output error";
4594 case VTK_PARSE_MACRO_NUMARGS:
4595 text = "wrong number of macro args";
4597 case VTK_PARSE_SYNTAX_ERROR:
4598 text = "syntax error";
4602 /* be silent about missing include files */
4603 if (result == VTK_PARSE_FILE_NOT_FOUND)
4608 print_parser_error(text, cp, n);
4612 * print an error with filename and line number.
4614 void print_parser_error(const char *text, const char *cp, size_t n)
4617 const char *fn = "(none)";
4621 fn = data->FileName;
4623 fprintf(yyout, "In %s:", fn);
4624 for (j = 0; j < include_stack_size; j++)
4626 fprintf(yyout, "%i:\nIn %s:",
4627 lineno_stack[j], include_stack[j]->FileName);
4629 fprintf(yyout, "%i:\n", yylineno);
4633 fprintf(yyout, "%s: %*.*s\n", text, (int)n, (int)n, cp);
4637 fprintf(yyout, "%s.\n", text);
4642 * Execute a preprocessor directive.
4644 void preprocessor_directive(const char *text, size_t l)
4648 const char *cp = text;
4649 const char *ep = text + l;
4650 const char *directive = NULL;
4652 /* find the directive, store its length in "n" */
4653 while (*cp == ' ' || *cp == '\t') { cp++; }
4654 if (*cp == '#') { cp++; }
4655 while ((*cp == ' ' || *cp == '\t') && cp < ep) { cp++; }
4657 while (*cp >= 'a' && *cp <= 'z' && cp < ep) { cp++; }
4659 while ((*cp == ' ' || *cp == '\t') && cp < ep) { cp++; }
4661 if (n == 7 && strncmp(directive, "include", n) == 0)
4664 int already_loaded = 0;
4665 if (*cp == '<' || *cp == '\"')
4667 /* if asked to recurse into header files */
4668 if (Recursive && ep - cp > 3)
4671 dp = vtkParsePreprocess_FindIncludeFile(preprocessor,
4672 &cp[1], (*cp != '\"'), &already_loaded);
4675 yyin = fopen(dp, "r");
4680 yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE));
4688 /* let the preprocessor handle the directive */
4689 result = vtkParsePreprocess_HandleDirective(preprocessor, text);
4691 if (result == VTK_PARSE_SKIP)
4693 skip_conditional_block();
4695 else if (result != VTK_PARSE_OK)
4697 print_preprocessor_error(result, text, l);
4699 else if (n == 6 && strncmp(directive, "define", n) == 0 &&
4700 ep - cp > 4 && strncmp(cp, "VTK", 3) == 0)
4702 /* macros that start with "VTK" */
4705 macro = vtkParsePreprocess_GetMacro(preprocessor, cp);
4706 if (macro && macro->Definition && !macro->IsFunction)
4708 /* if macro evaluates to a constant, add it as a constant */
4709 macro->IsExcluded = 1;
4710 if (guess_constant_type(macro->Definition) == 0)
4712 result = VTK_PARSE_MACRO_UNDEFINED;
4714 macro->IsExcluded = 0;
4715 if (result < VTK_PARSE_MACRO_UNDEFINED)
4718 vtkstrdup(macro->Name), vtkstrdup(macro->Definition), 0, NULL, 1);