]> SALOME platform Git repositories - modules/paravis.git/blob - src/VTKWrapping/ParaView/lex.yy.c
Salome HOME
Synchronize adm files
[modules/paravis.git] / src / VTKWrapping / ParaView / lex.yy.c
1 #line 2 "lex.yy.c"
2
3 #line 4 "lex.yy.c"
4
5 #define  YY_INT_ALIGNED short int
6
7 /* A lexical scanner generated by flex */
8
9 #define FLEX_SCANNER
10 #define YY_FLEX_MAJOR_VERSION 2
11 #define YY_FLEX_MINOR_VERSION 5
12 #define YY_FLEX_SUBMINOR_VERSION 37
13 #if YY_FLEX_SUBMINOR_VERSION > 0
14 #define FLEX_BETA
15 #endif
16
17 /* First, we deal with  platform-specific or compiler-specific issues. */
18
19 /* begin standard C headers. */
20 #include <stdio.h>
21 #include <string.h>
22 #include <errno.h>
23 #include <stdlib.h>
24
25 /* end standard C headers. */
26
27 #ifndef __cplusplus
28 extern int isatty(int);
29 #endif /* __cplusplus */
30
31 /* flex integer type definitions */
32
33 #ifndef FLEXINT_H
34 #define FLEXINT_H
35
36 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
37
38 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
39
40 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
41  * if you want the limit (max/min) macros for int types.
42  */
43 #ifndef __STDC_LIMIT_MACROS
44 #define __STDC_LIMIT_MACROS 1
45 #endif
46
47 #include <inttypes.h>
48 typedef int8_t flex_int8_t;
49 typedef uint8_t flex_uint8_t;
50 typedef int16_t flex_int16_t;
51 typedef uint16_t flex_uint16_t;
52 typedef int32_t flex_int32_t;
53 typedef uint32_t flex_uint32_t;
54 #else
55 typedef signed char flex_int8_t;
56 typedef short int flex_int16_t;
57 typedef int flex_int32_t;
58 typedef unsigned char flex_uint8_t;
59 typedef unsigned short int flex_uint16_t;
60 typedef unsigned int flex_uint32_t;
61
62 /* Limits of integral types. */
63 #ifndef INT8_MIN
64 #define INT8_MIN               (-128)
65 #endif
66 #ifndef INT16_MIN
67 #define INT16_MIN              (-32767-1)
68 #endif
69 #ifndef INT32_MIN
70 #define INT32_MIN              (-2147483647-1)
71 #endif
72 #ifndef INT8_MAX
73 #define INT8_MAX               (127)
74 #endif
75 #ifndef INT16_MAX
76 #define INT16_MAX              (32767)
77 #endif
78 #ifndef INT32_MAX
79 #define INT32_MAX              (2147483647)
80 #endif
81 #ifndef UINT8_MAX
82 #define UINT8_MAX              (255U)
83 #endif
84 #ifndef UINT16_MAX
85 #define UINT16_MAX             (65535U)
86 #endif
87 #ifndef UINT32_MAX
88 #define UINT32_MAX             (4294967295U)
89 #endif
90
91 #endif /* ! C99 */
92
93 #endif /* ! FLEXINT_H */
94
95 #ifdef __cplusplus
96
97 /* The "const" storage-class-modifier is valid. */
98 #define YY_USE_CONST
99
100 #else        /* ! __cplusplus */
101
102 /* C99 requires __STDC__ to be defined as 1. */
103 #if defined (__STDC__)
104
105 #define YY_USE_CONST
106
107 #endif        /* defined (__STDC__) */
108 #endif        /* ! __cplusplus */
109
110 #ifdef YY_USE_CONST
111 #define yyconst const
112 #else
113 #define yyconst
114 #endif
115
116 /* Returned upon end-of-file. */
117 #define YY_NULL 0
118
119 /* Promotes a possibly negative, possibly signed char to an unsigned
120  * integer for use as an array index.  If the signed char is negative,
121  * we want to instead treat it as an 8-bit unsigned char, hence the
122  * double cast.
123  */
124 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
125
126 /* Enter a start condition.  This macro really ought to take a parameter,
127  * but we do it the disgusting crufty way forced on us by the ()-less
128  * definition of BEGIN.
129  */
130 #define BEGIN (yy_start) = 1 + 2 *
131
132 /* Translate the current start state into a value that can be later handed
133  * to BEGIN to return to the state.  The YYSTATE alias is for lex
134  * compatibility.
135  */
136 #define YY_START (((yy_start) - 1) / 2)
137 #define YYSTATE YY_START
138
139 /* Action number for EOF rule of a given start state. */
140 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
141
142 /* Special action meaning "start processing a new file". */
143 #define YY_NEW_FILE yyrestart(yyin  )
144
145 #define YY_END_OF_BUFFER_CHAR 0
146
147 /* Size of default input buffer. */
148 #ifndef YY_BUF_SIZE
149 #define YY_BUF_SIZE 16384
150 #endif
151
152 /* The state buf must be large enough to hold one state per character in the main buffer.
153  */
154 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
155
156 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
157 #define YY_TYPEDEF_YY_BUFFER_STATE
158 typedef struct yy_buffer_state *YY_BUFFER_STATE;
159 #endif
160
161 #ifndef YY_TYPEDEF_YY_SIZE_T
162 #define YY_TYPEDEF_YY_SIZE_T
163 typedef size_t yy_size_t;
164 #endif
165
166 extern yy_size_t yyleng;
167
168 extern FILE *yyin, *yyout;
169
170 #define EOB_ACT_CONTINUE_SCAN 0
171 #define EOB_ACT_END_OF_FILE 1
172 #define EOB_ACT_LAST_MATCH 2
173
174     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
175      *       access to the local variable yy_act. Since yyless() is a macro, it would break
176      *       existing scanners that call yyless() from OUTSIDE yylex.
177      *       One obvious solution it to make yy_act a global. I tried that, and saw
178      *       a 5% performance hit in a non-yylineno scanner, because yy_act is
179      *       normally declared as a register variable-- so it is not worth it.
180      */
181     #define  YY_LESS_LINENO(n) \
182             do { \
183                 yy_size_t yyl;\
184                 for ( yyl = n; yyl < yyleng; ++yyl )\
185                     if ( yytext[yyl] == '\n' )\
186                         --yylineno;\
187             }while(0)
188
189 /* Return all but the first "n" matched characters back to the input stream. */
190 #define yyless(n) \
191         do \
192                 { \
193                 /* Undo effects of setting up yytext. */ \
194         int yyless_macro_arg = (n); \
195         YY_LESS_LINENO(yyless_macro_arg);\
196                 *yy_cp = (yy_hold_char); \
197                 YY_RESTORE_YY_MORE_OFFSET \
198                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
199                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
200                 } \
201         while ( 0 )
202
203 #define unput(c) yyunput( c, (yytext_ptr)  )
204
205 #ifndef YY_STRUCT_YY_BUFFER_STATE
206 #define YY_STRUCT_YY_BUFFER_STATE
207 struct yy_buffer_state
208         {
209         FILE *yy_input_file;
210
211         char *yy_ch_buf;                /* input buffer */
212         char *yy_buf_pos;                /* current position in input buffer */
213
214         /* Size of input buffer in bytes, not including room for EOB
215          * characters.
216          */
217         yy_size_t yy_buf_size;
218
219         /* Number of characters read into yy_ch_buf, not including EOB
220          * characters.
221          */
222         yy_size_t yy_n_chars;
223
224         /* Whether we "own" the buffer - i.e., we know we created it,
225          * and can realloc() it to grow it, and should free() it to
226          * delete it.
227          */
228         int yy_is_our_buffer;
229
230         /* Whether this is an "interactive" input source; if so, and
231          * if we're using stdio for input, then we want to use getc()
232          * instead of fread(), to make sure we stop fetching input after
233          * each newline.
234          */
235         int yy_is_interactive;
236
237         /* Whether we're considered to be at the beginning of a line.
238          * If so, '^' rules will be active on the next match, otherwise
239          * not.
240          */
241         int yy_at_bol;
242
243     int yy_bs_lineno; /**< The line count. */
244     int yy_bs_column; /**< The column count. */
245
246         /* Whether to try to fill the input buffer when we reach the
247          * end of it.
248          */
249         int yy_fill_buffer;
250
251         int yy_buffer_status;
252
253 #define YY_BUFFER_NEW 0
254 #define YY_BUFFER_NORMAL 1
255         /* When an EOF's been seen but there's still some text to process
256          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
257          * shouldn't try reading from the input source any more.  We might
258          * still have a bunch of tokens to match, though, because of
259          * possible backing-up.
260          *
261          * When we actually see the EOF, we change the status to "new"
262          * (via yyrestart()), so that the user can continue scanning by
263          * just pointing yyin at a new input file.
264          */
265 #define YY_BUFFER_EOF_PENDING 2
266
267         };
268 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
269
270 /* Stack of input buffers. */
271 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
272 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
273 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
274
275 /* We provide macros for accessing buffer states in case in the
276  * future we want to put the buffer states in a more general
277  * "scanner state".
278  *
279  * Returns the top of the stack, or NULL.
280  */
281 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
282                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
283                           : NULL)
284
285 /* Same as previous macro, but useful when we know that the buffer stack is not
286  * NULL or when we need an lvalue. For internal use only.
287  */
288 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
289
290 /* yy_hold_char holds the character lost when yytext is formed. */
291 static char yy_hold_char;
292 static yy_size_t yy_n_chars;                /* number of characters read into yy_ch_buf */
293 yy_size_t yyleng;
294
295 /* Points to current character in buffer. */
296 static char *yy_c_buf_p = (char *) 0;
297 static int yy_init = 0;                /* whether we need to initialize */
298 static int yy_start = 0;        /* start state number */
299
300 /* Flag which is used to allow yywrap()'s to do buffer switches
301  * instead of setting up a fresh yyin.  A bit of a hack ...
302  */
303 static int yy_did_buffer_switch_on_eof;
304
305 void yyrestart (FILE *input_file  );
306 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
307 YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
308 void yy_delete_buffer (YY_BUFFER_STATE b  );
309 void yy_flush_buffer (YY_BUFFER_STATE b  );
310 void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
311 void yypop_buffer_state (void );
312
313 static void yyensure_buffer_stack (void );
314 static void yy_load_buffer_state (void );
315 static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
316
317 #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
318
319 YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
320 YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
321 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
322
323 void *yyalloc (yy_size_t  );
324 void *yyrealloc (void *,yy_size_t  );
325 void yyfree (void *  );
326
327 #define yy_new_buffer yy_create_buffer
328
329 #define yy_set_interactive(is_interactive) \
330         { \
331         if ( ! YY_CURRENT_BUFFER ){ \
332         yyensure_buffer_stack (); \
333                 YY_CURRENT_BUFFER_LVALUE =    \
334             yy_create_buffer(yyin,YY_BUF_SIZE ); \
335         } \
336         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
337         }
338
339 #define yy_set_bol(at_bol) \
340         { \
341         if ( ! YY_CURRENT_BUFFER ){\
342         yyensure_buffer_stack (); \
343                 YY_CURRENT_BUFFER_LVALUE =    \
344             yy_create_buffer(yyin,YY_BUF_SIZE ); \
345         } \
346         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
347         }
348
349 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
350
351 /* Begin user sect3 */
352
353 typedef unsigned char YY_CHAR;
354
355 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
356
357 typedef int yy_state_type;
358
359 extern int yylineno;
360
361 int yylineno = 1;
362
363 extern char *yytext;
364 #define yytext_ptr yytext
365
366 static yy_state_type yy_get_previous_state (void );
367 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
368 static int yy_get_next_buffer (void );
369 static void yy_fatal_error (yyconst char msg[]  );
370
371 /* Done after the current pattern has been matched and before the
372  * corresponding action - sets up yytext.
373  */
374 #define YY_DO_BEFORE_ACTION \
375         (yytext_ptr) = yy_bp; \
376         yyleng = (size_t) (yy_cp - yy_bp); \
377         (yy_hold_char) = *yy_cp; \
378         *yy_cp = '\0'; \
379         (yy_c_buf_p) = yy_cp;
380
381 #define YY_NUM_RULES 199
382 #define YY_END_OF_BUFFER 200
383 /* This struct is not used in this scanner,
384    but its presence is necessary. */
385 struct yy_trans_info
386         {
387         flex_int32_t yy_verify;
388         flex_int32_t yy_nxt;
389         };
390 static yyconst flex_int16_t yy_accept[1339] =
391     {   0,
392         0,    0,  200,  198,  162,  163,  163,  197,  198,  197,
393       197,  198,  197,  197,  197,  197,  197,  197,  197,  160,
394       159,  197,  197,  197,  197,  153,  153,  153,  153,  153,
395       153,  153,  153,  153,  195,  198,  196,  197,  153,  153,
396       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
397       153,  153,  153,  153,  153,  153,  153,  153,  197,  162,
398        11,   11,   14,  197,  198,  162,  190,    0,    0,   15,
399        17,    0,  169,  183,  166,  187,  184,    0,    0,    0,
400       128,  129,    0,    0,    0,    0,    0,  181,  177,  179,
401       178,  180,  176,  174,    0,  154,    1,   13,  182,  155,
402
403       158,    0,    0,  159,  159,  159,  194,  168,  165,  167,
404       173,  191,  189,  192,  170,  153,  153,  153,  153,    0,
405         0,  153,  153,  153,    0,  153,  153,    0,  164,  161,
406         0,  186,  153,  153,  153,  153,  153,  153,  153,  153,
407       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
408       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
409       153,  153,   82,  153,  153,  153,  153,  153,  153,  153,
410       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
411       153,  153,  153,  185,  188,  162,   11,   14,    0,    0,
412        14,   14,   12,    0,   15,    0,    0,   17,    0,   15,
413
414        16,   16,    0,    0,    0,    0,    0,    0,  175,  193,
415       154,  154,   13,  155,  155,  158,  158,    0,  156,  157,
416       159,  156,  171,  172,  153,  153,  153,  153,    0,  153,
417       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
418       153,  153,  153,  153,   80,  153,  153,  153,  153,  153,
419       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
420       153,  153,  153,  153,   27,  153,  153,  153,  153,   66,
421       153,   84,  153,  153,  153,  153,  153,  153,  153,  153,
422       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
423        70,  153,  153,  153,  153,  153,  153,  153,  153,  153,
424
425        86,   12,   14,   12,   12,   12,   12,    0,    0,    0,
426        15,   15,    0,    0,    0,    0,    0,    0,    0,    0,
427         0,    0,    0,  154,    0,  154,  155,    0,  155,  158,
428       156,  156,  157,  157,  156,  153,  153,  153,  153,    0,
429       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
430       153,  153,  153,  153,  153,  153,  153,   20,  153,  153,
431        31,  153,   26,  153,  153,  153,  153,  153,  153,  153,
432       153,   48,  153,  153,  153,  153,  153,  153,   25,  153,
433       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
434       153,  153,  153,  153,  153,  153,  153,    0,  153,  153,
435
436       153,  153,  153,  153,  153,  153,  153,  153,   30,  153,
437       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
438       153,  153,  153,   12,   12,   12,   12,   12,   12,   12,
439        12,    0,    0,   15,    0,   15,   15,   16,   16,    0,
440         0,    0,    0,    0,    0,    0,    0,  154,  154,  155,
441       155,  156,  156,  157,  157,  157,  157,  156,  153,  153,
442       153,  153,  140,  153,  153,  153,  153,  153,  153,  153,
443       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
444       153,  153,  153,   89,   71,  153,  153,   43,   90,   51,
445       153,  153,  153,  153,  153,  153,  153,   22,  153,  153,
446
447       153,  153,  153,  153,  153,  153,  153,   83,  153,  153,
448       153,  153,  153,  153,   24,  153,  153,  153,  153,  153,
449         0,  153,  153,  153,  153,   69,  153,  153,   49,  153,
450        65,  153,  153,  153,  153,  153,  153,  153,  153,  153,
451       153,  153,  153,  153,  153,  153,  153,   12,   12,   12,
452        12,   12,   12,   12,    2,    3,    0,    0,   15,   15,
453        15,   16,   16,    0,    0,    0,    0,    0,    0,    0,
454         0,  156,  153,  153,  153,  153,  140,  153,  153,  153,
455       134,  153,  153,  153,  153,  153,  153,  153,  153,  153,
456       153,  153,  153,  153,  153,   81,   88,  153,  153,  153,
457
458       153,  153,  153,   67,   21,  153,  153,   60,   55,   56,
459       153,  153,  153,  153,   85,  153,  153,  153,  153,  153,
460        45,  153,  153,  153,   29,  153,  153,   58,    0,    0,
461         0,    0,  153,   44,  153,  153,  153,  153,  153,  153,
462       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
463       153,  153,  153,  153,   87,   12,   12,   12,    2,    3,
464        12,   12,   12,    2,    3,    0,    0,   15,    0,    0,
465         0,    0,    0,    0,    0,    0,  153,  153,  153,  153,
466       153,  153,  153,  133,  153,  146,  153,  153,  153,  153,
467       150,  153,  153,  153,   23,  153,  153,  142,  153,  153,
468
469       153,  153,  153,   74,  153,  153,  153,   53,  153,  153,
470       152,  153,  153,   46,  153,    0,  153,  153,  153,   35,
471        35,  153,  153,    0,    0,    0,    0,    0,    0,  137,
472       137,  153,  153,   63,  153,  153,   50,  153,  153,  153,
473       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
474       153,  153,  153,  153,  153,  153,    0,   34,   12,   12,
475        12,    2,    3,   12,   12,   12,    0,    0,    0,    0,
476         0,  131,  132,    0,    0,    0,    0,    0,  134,   18,
477       134,   38,  153,  153,  153,  143,  144,  153,  153,  153,
478       153,  153,  153,  153,  153,   32,   33,  153,  153,   73,
479
480       153,   68,  136,  136,  153,   72,  153,   54,  135,  135,
481         0,  153,    0,   79,  153,    0,   42,   36,   36,  153,
482       153,    0,    0,    0,    0,    0,    0,   61,  153,   62,
483        28,   52,  153,  153,  153,  153,  153,  153,  153,  153,
484       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
485       153,  153,  153,  153,    0,   12,   12,   12,    5,   12,
486        12,    0,    0,    0,    0,    0,  130,    0,    0,    0,
487         0,  153,  153,  153,  147,  153,  153,  153,  153,  153,
488       153,   57,  153,   64,  153,    0,   47,    0,  153,  153,
489       153,    0,    0,    0,    0,    0,    0,  153,  153,  153,
490
491       153,  153,  153,  153,   91,  153,  153,  153,  153,  153,
492       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
493         0,    5,   12,   12,    5,   12,   12,    0,    0,    0,
494         0,  153,  151,  153,  153,  153,  149,   77,  153,   37,
495        37,    0,    0,    0,  153,  153,  153,    0,    0,    0,
496         0,    0,    0,  153,  153,  153,  153,  153,  153,  153,
497        19,  153,  153,  153,  153,  153,  153,  153,  153,  153,
498       153,  153,  153,  153,  153,    5,   12,   12,   12,   12,
499         0,    4,  153,  153,  153,  153,  153,    0,    0,    0,
500       153,  153,   75,    0,    0,    0,    0,    0,    0,  153,
501
502       153,  153,   93,  153,  153,  153,  153,   92,  153,  153,
503       153,  153,  153,  153,  153,  153,  118,  153,  153,  153,
504       153,  153,  153,   12,   12,   12,   12,    0,  153,  153,
505       153,  153,   76,    0,    0,    0,  153,  153,    0,    0,
506         0,    0,   59,  153,  153,  153,  153,  153,  153,  153,
507       153,  153,  138,  153,  120,  122,  124,  114,  153,  153,
508       153,  153,  119,  153,  153,  153,   12,   12,   12,   12,
509         0,  153,  153,  145,  148,    0,    0,    0,   39,  153,
510       141,    0,  153,  153,  153,  153,  153,  153,  153,  153,
511       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
512
513       153,  153,  121,  123,  125,  153,  153,  153,   12,   12,
514        12,   12,   12,   12,   12,    0,  153,  153,    0,   40,
515         0,  153,    0,  153,  153,  153,  153,  153,  153,  153,
516       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
517       126,  127,  153,  153,  153,  153,   12,   12,   12,   12,
518        12,   12,   12,   12,   12,   12,    0,  153,  116,    0,
519       153,   99,  153,  153,  153,  153,  153,  153,  153,  153,
520       153,  153,  153,  153,  153,  153,  153,  153,  153,  153,
521       153,  153,   12,   12,   12,   12,   12,   12,   12,   12,
522        12,    6,  153,    0,   41,   78,  153,  153,  153,  153,
523
524       153,  153,  153,  153,  153,   96,  153,  153,  153,  153,
525       153,  153,  153,  153,  139,  153,  153,   12,   12,   12,
526        12,    6,   12,   12,   12,   12,    6,  153,  153,  153,
527        98,   95,  153,  153,  153,  153,  109,   97,   94,  153,
528       153,  153,  153,  108,  153,  153,  153,   12,   12,   12,
529        12,    6,   12,   12,   12,   12,  117,  153,  153,  104,
530       105,  106,  107,  100,  101,  102,  103,  153,  153,  153,
531        12,   12,   12,   12,   12,   12,   12,   12,  153,  153,
532       153,  153,  153,   12,   12,   12,   12,   10,   12,   12,
533        12,  112,  153,  115,  153,  153,   10,   12,   12,   12,
534
535        10,   12,    8,    9,  153,  153,  153,   10,   12,    8,
536         9,   12,    8,    9,  153,  153,  153,   12,    8,    9,
537        12,  153,  153,  111,   12,    7,  153,  153,    7,    7,
538       153,  153,    7,  153,  110,  153,  113,    0
539     } ;
540
541 static yyconst flex_int32_t yy_ec[256] =
542     {   0,
543         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
544         4,    4,    5,    1,    1,    1,    1,    1,    1,    1,
545         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
546         1,    6,    7,    8,    9,    1,   10,   11,   12,   13,
547        14,   15,   16,   17,   18,   19,   20,   21,   22,   23,
548        24,   25,   26,   27,   26,   28,   26,   29,   17,   30,
549        31,   32,    1,   33,   34,   35,   36,   37,   38,   39,
550        40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
551        50,   51,   52,   53,   54,   55,   56,   57,   58,   41,
552        59,   60,   61,   62,   63,    1,   64,   65,   66,   67,
553
554        68,   69,   70,   71,   72,   73,   74,   75,   76,   77,
555        78,   79,   80,   81,   82,   83,   84,   85,   86,   87,
556        88,   89,   17,   90,   17,   17,    1,   91,   91,   91,
557        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
558        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
559        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
560        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
561        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
562        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
563        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
564
565        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
566        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
567        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
568        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
569        91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
570        91,   91,   91,   91,   91
571     } ;
572
573 static yyconst flex_int32_t yy_meta[92] =
574     {   0,
575         1,    2,    3,    4,    5,    2,    1,    1,    1,    1,
576         6,    7,    1,    4,    6,    1,    1,    1,    8,    1,
577         9,    9,    9,    9,    9,    9,    9,    9,   10,    1,
578         1,    1,    1,   11,   11,   11,   11,   11,   11,   12,
579        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
580        12,   12,   12,   12,   12,   12,   12,   12,    1,    1,
581         1,    1,   12,   11,   11,   11,   11,   11,   11,   12,
582        12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
583        12,   12,   12,   12,   12,   12,   12,   12,   12,    1,
584        13
585
586     } ;
587
588 static yyconst flex_int16_t yy_base[1417] =
589     {   0,
590         0,   90, 4032, 4033,   92, 4033, 4033, 4000,   98,   76,
591        86, 3970,  113, 4033, 3998,   98,   95,  115,  130,  156,
592       174,   93,  122, 3997,   89,   97, 3964,   99,  123,   81,
593       140,  155,  102,  124,  186,  151, 4033, 3995,  170,  144,
594       142,  163,  162,  145,  172,  108,   94,  152,  188,  176,
595       181,  105,  196,  206,  252,  198,  183,  153,  139,  280,
596      4033, 4033, 3965,  273, 3952,  269, 4033,  293,  151,  235,
597       265,  306, 4033, 4033, 4033, 4033, 4033,  242,  251,  321,
598      4033, 4033,  288, 3994,  287,  263,  255, 4033, 4033, 4033,
599      4033, 4033, 4007, 4033, 4002,  318, 4033,    0, 4033,  337,
600
601       366,  385,    0,  395,    0,  414, 4033, 4033, 4033, 4033,
602      3989, 4033, 4033, 4033, 3988, 3955,  286,  284,  285,  323,
603      3957,  361,  332,  304, 4003,  291,  305,  394, 4033, 4033,
604      4012, 4033,  368,  308,  366,  310,  407,  383,  311,  319,
605       364,  386,  365,  227,  287,  389,  393,  391,  395,  394,
606       398,  404,  397,  417,  420,  421,  422,  423,  424,  425,
607       431,  428, 3951,  432,  439,  444,  449,  438,  309,  441,
608       459,  451,  455,  362,  462,  512,  461,  465,  466,  467,
609       352,  475,  468, 4033, 4033,  548, 4033, 3953, 3992, 3939,
610      3950,  529,  529,  468, 3946,  540, 3995, 4033,  600,  574,
611
612      3944,  543, 3977, 3976,  523,  527,  532,  569, 4033, 4033,
613         0,  647,    0,    0,  660,    0,  673,  569,  618,  681,
614         0,  700, 4033, 4033,  520,   46,  521,  174, 3975, 3940,
615       536,  497,  496,  508,  523,  573,  584,  666,  585,  586,
616       603,  594,  593,  667, 3939,  673,  675,  539,  592,  629,
617       630,  677,  650,  668,  671,  689,  679,  691,  695,  697,
618       696,  698,  700,  702, 3938,  703,  706,  714,  707, 3937,
619       704, 3936,  710,  716,  742,  718,  719,  720,  723,  724,
620       725,  726,  729,  727,  730,  731,  771,  745,  746,  748,
621      3935,  750,  749,  752,  758,  757,  765,  759,  801,  767,
622
623      3934,  827,  798,    0,  823, 3943, 3942, 3915, 3910,    0,
624       829,  892,  982,    0, 1073,  834,  809,  821,  817,  815,
625       650,  823,  842,    0,  851,  905,    0,  913,  921,    0,
626       934,    0, 1144,    0,    0,  821,  818,  824,  851,    0,
627      1139,  901,  800,  822,  823,  852,  900,  833,  902, 1110,
628       903,  798, 1113,  904,  909, 1112, 1152, 3929, 1122, 1123,
629      3928, 1129, 1179,  806, 1130, 1124, 1131, 1134, 1143, 1153,
630      1154, 3927, 1159, 1156, 1158, 1161, 1162,  910, 3926,  854,
631      1164,  911, 1185, 1166,  912, 1169, 1172,  916, 1184, 1171,
632      1173, 1181, 1187, 1193, 3925, 1191, 1188, 3958, 1195, 1199,
633
634      1200, 1203,  832, 1206, 1205, 1208, 1211, 1213, 3923, 1216,
635      1214, 1217, 1221, 1223, 1222, 1225, 1224, 1228, 1231, 1232,
636      1233, 1238, 1260,    0, 1283, 3932, 3931, 1259, 3915, 3925,
637      3924, 3905, 3911,    0, 1328, 1419, 1509,    0, 1599, 1278,
638      1280, 1392, 1393, 1394, 1404, 1396, 1411, 1432,    0, 1443,
639         0,    0,    0, 1669,    0,    0,    0,    0, 1135, 1399,
640      1409, 1435,    0, 1255, 1436, 1263, 1434, 1414, 1421, 1419,
641      1422, 1258, 1425, 1261, 1379, 1426, 1424, 1467, 1429, 1468,
642      1439, 1469, 1441, 3915, 3914, 1509, 1510, 3913, 3912, 1480,
643      1471, 1472, 1483, 1489, 1481, 1492, 1497, 3911, 1498, 1499,
644
645      1500, 1491, 1512, 1513, 1514, 1515, 1557, 3910, 1516, 1558,
646      1519, 1520, 1559, 1521, 3909, 1560, 1525, 1586, 3908, 1524,
647      1561, 1564, 1562, 1532, 1530, 3907, 1583, 1573, 3906, 1585,
648      3905, 1589, 1584, 1587, 1591, 1581, 1604, 1592, 1600, 1605,
649      1603, 1608, 1610, 1618, 1621, 3904, 1622, 1627, 3898, 3908,
650      3907, 3929, 3924, 3879,    0,    0, 3892, 3878,    0, 1738,
651      1828,    0, 1918, 1647, 1680, 1669, 1657, 1658, 1648, 1693,
652      1681,    0, 1650, 1664, 1724, 1725,    0, 1663, 1722, 1730,
653      1669, 1656, 1662, 1649, 1702, 1709, 1703, 1654, 1710, 1474,
654      1714, 1753, 1718, 1726, 1720, 3895, 3894, 3893, 3892, 1741,
655
656      1721, 1727, 1728, 3891, 3890, 1746, 1731, 3889, 3888, 3887,
657      1738, 1742, 1732, 1786, 3886, 1787, 1788, 1750, 1752, 1789,
658      1816, 1799, 1790, 1791, 3885, 2008, 1817, 3884, 3864, 3861,
659      3862, 1792, 2099, 3880, 1793, 3879, 1427, 1806, 1815, 1818,
660      1821, 1822, 1814, 1853, 1807, 1840, 1906,  510, 1823, 1761,
661      1854, 1835, 1878, 1876, 3878, 3906, 3901, 3856,    0,    0,
662      3891, 3900, 3869,    0,    0, 3858, 3864, 2190, 1914, 1873,
663      2043, 1788, 1882, 1915, 1924, 1916, 1897, 1903, 1913, 1909,
664      1926, 1929, 1921, 3869, 1904, 3868, 1849, 1910, 3867, 1381,
665      3866, 1908, 1911, 1930, 3865, 1912, 1932, 3864, 2012, 2013,
666
667      1934, 1922, 1936, 3863, 3862, 1979, 2280, 3861, 1937, 1980,
668      3860, 1984, 2371, 2075, 1939, 2051, 1992, 1981, 2148, 4033,
669      3859, 2462, 2021, 3838, 3845, 3836, 3829, 3845, 3835, 4033,
670      3852, 1998, 2099, 3851, 2011, 2019, 3850, 2020, 2026, 2071,
671      1942, 1760, 2072, 2073, 2077, 2081, 1989, 2027, 1841, 2082,
672      2079, 2083, 2125, 2094, 2105, 2030, 3883, 3848, 3864, 3873,
673      3842,    0,    0, 3869, 3853, 3824, 3836, 3839, 2120, 2141,
674      2210, 4033, 3873, 2224, 2153, 2119, 2157, 2195, 2124, 3838,
675      2168, 3837, 3836, 2178, 3835, 3834, 3833, 2170, 2180, 2172,
676      2106, 2112, 2171, 2173, 2179, 3832, 3831, 2175, 2177, 3830,
677
678      2199, 3829, 4033, 3828, 2198, 3827, 2280, 3826, 4033, 3825,
679      2265, 2076, 3812, 3823, 2182, 2317, 4033, 4033, 3822, 2197,
680      2209, 3803, 3808, 3801, 3813, 3791, 3807, 3815, 2251, 3814,
681      3813, 3812, 2211, 2181, 2258, 2252, 2253, 2264, 2263, 2265,
682      2213, 2269, 2275, 2273, 2286, 2274, 2281, 2282, 2287, 2290,
683      2363, 2294, 2343, 2371, 2336, 3836, 3820, 3791,    0, 3829,
684      3798, 3792, 3802, 2407, 2496, 2414, 4033, 2336, 2340, 2421,
685      2422, 2385, 2304, 2386, 3804, 2362, 2364, 2372, 2378, 2379,
686      2376, 3803, 2380, 3802, 2553, 3789, 2524, 3785, 2389, 2437,
687      2446, 3794, 3782, 3792, 3796, 3790, 3780, 2392, 2383, 2440,
688
689      2450, 2442, 2206, 2449, 3793, 2297, 2441, 2452, 2471, 2444,
690      2455, 2472, 2473, 2457, 2480, 2525, 2526, 2474, 2527, 2528,
691      3772,    0, 3812, 3781,    0, 3804, 3772, 3767, 3781, 2518,
692      2519, 2536, 3785, 2538, 2534, 2539, 3784, 3783, 2535, 4033,
693      3782, 3766, 2616, 3760, 2533, 2541, 2542, 3778, 3758, 3776,
694      3756, 3775, 3767, 2486, 2382, 2557, 2548, 2564, 2560, 2568,
695      3773, 2566, 2569, 2570, 2565, 2571, 2575, 2576, 2626, 2578,
696      2588, 2572, 2604, 2594, 2595,    0, 3787, 3755, 3786, 3749,
697      3767, 4033, 2627, 2613, 2600, 3767, 2602, 3746, 3753, 3745,
698      3763, 2605, 3762, 3748, 3742, 3746,    0, 3738,    0, 2606,
699
700      2607, 2619, 3757, 2611, 2617, 2612, 2632, 3756, 2616, 2621,
701      2620, 2633, 2625, 2665, 2674, 2675, 3755, 2639, 2641, 2683,
702      2643, 2478, 2646, 3770, 3733, 3809, 3742, 3720, 2666, 2676,
703      2649, 2678, 3727, 3695, 3686, 2716, 2687, 2650,    0, 3688,
704         0,    0, 3675, 2668, 2667, 2686, 2689, 2733, 2679, 2698,
705      2701, 2742, 3662, 2724, 3649, 3636, 3623, 3619, 2691, 2709,
706      2717, 2734, 3618, 2705, 2699, 2707, 3663, 3596, 2739, 3578,
707      3583, 3580, 2720, 3579, 2735, 2779, 3547, 2787, 4033, 2731,
708      3566, 3534, 2736, 2739, 2737, 2740, 2760, 2761, 2763, 2764,
709      2748, 2756, 2750, 2765, 2769, 2774, 2779, 2784, 2770, 2808,
710
711      2810, 2773, 3553, 3532, 3519, 2776, 2775, 2777, 2807, 3491,
712      3492, 3464, 3433, 3421, 3399, 3392, 2817, 2794, 2858, 4033,
713      3383, 2783,    0, 2789, 2782, 2803, 2809, 2813, 2815, 2818,
714      2820, 2822, 2793, 2827, 2828, 2832, 2834, 2836, 2838, 2840,
715      3397, 3392, 2841, 2842, 2805, 2844, 3386, 3377, 3359, 3335,
716      3325, 3316, 3314, 3316, 3303, 3333, 3280, 2854, 3289, 2906,
717      2847, 3284, 2869, 2850, 2853, 2859, 2860, 2861, 2870, 2865,
718      2851, 2874, 2875, 2876, 2877, 2878, 2882, 2884, 2903, 2887,
719      2795, 2888, 3257, 3255, 3264, 3259, 3293, 3253, 3254, 3313,
720      3299,    0, 2917, 2956, 4033, 3241, 2900, 2904, 2891, 2897,
721
722      2905, 2907, 2908, 2910, 2914, 3240, 2915, 2916, 2918, 2919,
723      2920, 2921, 2927, 2932, 3225, 2934, 2924, 3214, 3211, 3266,
724      3261,    0, 3198, 3176, 3212, 3181,    0, 2953, 2945, 2940,
725      3181, 3169, 2941, 2946, 2949, 2950, 3163, 3160, 3155, 2951,
726      2952, 2954, 2955, 3149, 2957, 2958, 2963, 3136, 3113, 3144,
727      3113,    0, 3093, 3079, 3070, 3065, 3071, 2959, 2971, 3070,
728      3069, 3068, 3065, 3056, 3035, 3033, 3031, 2973, 2974, 2993,
729      3010, 3019, 3015, 3014, 3006, 3008, 3003, 3002, 2979, 2978,
730      2981, 2982, 2983, 2995, 2931, 2894, 2892,    0, 2787, 2700,
731      2642, 2443, 2986, 2305, 2985, 2989,    0, 2283, 2239, 1890,
732
733         0, 1841,    0,    0, 2988, 3004, 2998,    0, 1658,    0,
734         0, 1548,    0,    0, 2999, 3000, 3005, 1467,    0,    0,
735      1240, 3023, 3007, 1170,  634,    0, 3008, 3011,    0,    0,
736      3012, 3017,    0, 3018,  434, 3019,  275, 4033, 3099, 3112,
737      3124, 3130, 3135, 3148, 3161, 3174, 3179, 3184, 3197, 3202,
738      3208, 3213, 3216, 3229, 3242, 3247, 3252, 3257, 3262, 3267,
739      3272, 3285, 3288, 3301, 3304, 3312, 3317, 3322, 3327, 3332,
740      3337, 3342, 3347, 3352, 3355, 3368, 3381, 3386, 3399, 3412,
741      3417, 3430, 3435, 3440, 3445, 3450, 3455, 3460, 3473, 3486,
742      3491, 3504, 3517, 3522, 3535, 3540, 3553, 3566, 3579, 3592,
743
744      3605, 3618, 3631, 3644, 3657, 3670, 3683, 3696, 3709, 3722,
745      3735, 3748, 3761, 3774, 3787, 3800
746     } ;
747
748 static yyconst flex_int16_t yy_def[1417] =
749     {   0,
750      1338,    1, 1338, 1338, 1338, 1338, 1338, 1338, 1339, 1338,
751      1338, 1340, 1341, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
752      1342, 1338, 1338, 1338, 1338, 1343, 1343, 1343, 1343, 1343,
753      1343, 1343, 1343, 1343, 1338, 1338, 1338, 1338, 1343, 1343,
754      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
755      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1338, 1338,
756      1338, 1338, 1344, 1338, 1338, 1338, 1338, 1339, 1345, 1346,
757      1345, 1339, 1338, 1338, 1338, 1338, 1338, 1340, 1340, 1341,
758      1338, 1338, 1347, 1347, 1347, 1347, 1347, 1338, 1338, 1338,
759      1338, 1338, 1338, 1338, 1338, 1348, 1338, 1349, 1338, 1350,
760
761      1351, 1338, 1352, 1342, 1353, 1353, 1338, 1338, 1338, 1338,
762      1338, 1338, 1338, 1338, 1338, 1343, 1343, 1343, 1343, 1345,
763      1340, 1343, 1343, 1343, 1346, 1343, 1343, 1338, 1338, 1338,
764      1338, 1338, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
765      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
766      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
767      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
768      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
769      1343, 1343, 1343, 1338, 1338, 1338, 1338, 1344, 1338, 1338,
770      1344, 1344, 1354, 1338, 1338, 1345, 1346, 1338, 1355, 1339,
771
772      1338, 1340, 1347, 1338, 1347, 1347, 1347, 1347, 1338, 1338,
773      1356, 1356, 1349, 1357, 1357, 1358, 1358, 1338, 1359, 1360,
774      1353, 1361, 1338, 1338, 1343, 1343, 1343, 1343, 1338, 1343,
775      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
776      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
777      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
778      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
779      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
780      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
781      1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343, 1343,
782
783      1343, 1362, 1344, 1354, 1354, 1354, 1354, 1338, 1338, 1363,
784      1345, 1364, 1338, 1365, 1338, 1366, 1347, 1347, 1347, 1347,
785      1347, 1347, 1347, 1356, 1338, 1367, 1357, 1338, 1368, 1358,
786      1369, 1370, 1371, 1372, 1373, 1374, 1374, 1374, 1374, 1375,
787      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
788      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
789      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
790      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
791      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
792      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1338, 1374, 1374,
793
794      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
795      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
796      1374, 1374, 1374, 1376, 1376, 1376, 1376, 1377, 1377, 1377,
797      1377, 1338, 1338, 1378, 1338, 1379, 1380, 1381, 1382, 1347,
798      1347, 1347, 1347, 1347, 1347, 1347, 1347, 1383, 1384, 1385,
799      1386, 1387, 1370, 1371,  454, 1372, 1372, 1373, 1374, 1374,
800      1374, 1374, 1388, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
801      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
802      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
803      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
804
805      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
806      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
807      1338, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
808      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
809      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1376, 1376, 1376,
810      1376, 1377, 1377, 1377, 1389, 1390, 1338, 1338, 1391, 1392,
811      1393, 1394, 1395, 1396, 1396, 1396, 1396, 1396, 1396, 1396,
812      1396, 1387, 1374, 1374, 1374, 1374, 1388, 1374, 1374, 1374,
813      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
814      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
815
816      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
817      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
818      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1338, 1338,
819      1338, 1338,  626, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
820      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
821      1374, 1374, 1374, 1374, 1374, 1376, 1376, 1376, 1397, 1398,
822      1377, 1377, 1377, 1389, 1390, 1338, 1338, 1392, 1396, 1396,
823      1396, 1396, 1396, 1396, 1396, 1396, 1374, 1374, 1374, 1374,
824      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
825      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
826
827      1374, 1374, 1374, 1374, 1374, 1374,  626, 1374, 1374, 1374,
828      1374, 1374,  626, 1374, 1374, 1338, 1374, 1374, 1374, 1338,
829      1374,  626, 1374, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
830      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
831      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
832      1374, 1374, 1374, 1374, 1374, 1374, 1338, 1374, 1376, 1376,
833      1376, 1397, 1398, 1377, 1377, 1377, 1338, 1338, 1396, 1396,
834      1338, 1338, 1396, 1396, 1396, 1396, 1396, 1396, 1374, 1374,
835      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
836      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
837
838      1374, 1374, 1338, 1374, 1374, 1374, 1374, 1374, 1338, 1374,
839      1338, 1374, 1338, 1374, 1374, 1338, 1338, 1338, 1374, 1374,
840      1374, 1338, 1338, 1338, 1338, 1338, 1338, 1374, 1374, 1374,
841      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
842      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
843      1374, 1374, 1374, 1374, 1338, 1376, 1376, 1376, 1399, 1377,
844      1377, 1338, 1338, 1396, 1396, 1338, 1338, 1396, 1396, 1396,
845      1396, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
846      1374, 1374, 1374, 1374,  626, 1338, 1374, 1338, 1374, 1374,
847      1374, 1338, 1338, 1338, 1338, 1338, 1338, 1374, 1374, 1374,
848
849      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
850      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
851      1338, 1400, 1376, 1376, 1399, 1377, 1377, 1338, 1338, 1396,
852      1396, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1338,
853      1374, 1338, 1338, 1338, 1374, 1374, 1374, 1338, 1338, 1338,
854      1338, 1338, 1338, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
855      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
856      1374, 1374, 1374, 1374, 1374, 1400, 1376, 1376, 1377, 1377,
857      1338, 1338, 1374, 1374, 1374, 1374, 1374, 1338, 1338, 1338,
858      1374, 1374, 1374, 1338, 1338, 1338, 1401, 1338, 1402, 1374,
859
860      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
861      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
862      1374, 1374, 1374, 1376, 1376, 1377, 1377, 1338, 1374, 1374,
863      1374, 1374, 1374, 1338, 1338, 1338, 1374, 1374, 1403, 1338,
864      1404, 1405, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
865      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
866      1374, 1374, 1374, 1374, 1374, 1374, 1376, 1376, 1377, 1377,
867      1338, 1374, 1374, 1374, 1374, 1338, 1338, 1338, 1338, 1374,
868      1374, 1338, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
869      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
870
871      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1376, 1376,
872      1377, 1377, 1377, 1377, 1377, 1338, 1374, 1374, 1338, 1338,
873      1338, 1374, 1406, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
874      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
875      1374, 1374, 1374, 1374, 1374, 1374, 1376, 1376, 1376, 1376,
876      1376, 1377, 1377, 1377, 1377, 1377, 1338, 1374, 1374, 1338,
877      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
878      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
879      1374, 1374, 1376, 1376, 1376, 1376, 1376, 1377, 1377, 1377,
880      1377, 1407, 1374, 1338, 1338, 1374, 1374, 1374, 1374, 1374,
881
882      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
883      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1376, 1376, 1376,
884      1376, 1408, 1377, 1377, 1377, 1377, 1407, 1374, 1374, 1374,
885      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
886      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1376, 1376, 1376,
887      1376, 1408, 1377, 1377, 1377, 1377, 1374, 1374, 1374, 1374,
888      1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374, 1374,
889      1376, 1376, 1376, 1376, 1377, 1377, 1377, 1377, 1374, 1374,
890      1374, 1374, 1374, 1376, 1376, 1376, 1376, 1409, 1377, 1377,
891      1377, 1374, 1374, 1374, 1374, 1374, 1410, 1376, 1376, 1376,
892
893      1409, 1377, 1411, 1412, 1374, 1374, 1374, 1410, 1376, 1413,
894      1414, 1377, 1411, 1412, 1374, 1374, 1374, 1376, 1413, 1414,
895      1377, 1374, 1374, 1374, 1376, 1415, 1374, 1374, 1416, 1415,
896      1374, 1374, 1416, 1374, 1374, 1374, 1374,    0, 1338, 1338,
897      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
898      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
899      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
900      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
901      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
902      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
903
904      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
905      1338, 1338, 1338, 1338, 1338, 1338
906     } ;
907
908 static yyconst flex_int16_t yy_nxt[4125] =
909     {   0,
910         4,    5,    6,    7,    7,    5,    8,    9,    4,   10,
911        11,   12,   13,   14,   15,   16,   14,   17,   18,   19,
912        20,   21,   21,   21,   21,   21,   21,   21,   22,   23,
913        24,   25,    4,   26,   27,   28,   27,   27,   27,   27,
914        27,   27,   27,   27,   29,   27,   27,   27,   27,   30,
915        31,   27,   27,   32,   33,   34,   27,   27,   35,   36,
916        37,   38,   39,   40,   41,   42,   43,   44,   45,   27,
917        27,   46,   27,   27,   47,   48,   49,   50,   51,   27,
918        52,   53,   54,   55,   56,   57,   58,   27,   27,   59,
919        27,   60,   61,   66,   62,   60,   76,   66,   63,   69,
920
921        69,   69,  337,   69,   73,   70,   74,   75,  118,   64,
922        71,   69,   91,   89,   80,   80,   77,   80,   80,  114,
923       115,  107,   65,   81,  108,   92,   93,   82,   90,   94,
924       120,  109,  119,   95,  121,   96,   96,   96,   96,   96,
925        96,   96,   96,  123,   97,  117,   83,  125,   85,   98,
926       110,  111,  112,  130,  126,  131,  118,   72,  195,  118,
927        99,  118,  120,  124,  118,  127,  121,  118,   86,  184,
928       118,  156,  167,  122,  100,   87,  101,  101,  101,  101,
929       101,  101,  101,  101,  154,  118,  118,  128,  128,  155,
930       128,  128,  100,  102,  104,  104,  104,  104,  104,  104,
931
932       104,  104,  118,  133,  118,  122,  118,  118,  339,  134,
933       196,  106,  103,  141,  118,  118,  135,  118,  138,  142,
934       139,  150,  136,  102,  118,  118,  143,  140,  185,  147,
935       183,  151,  137,  144,  118,  157,  118,  145,  118,  148,
936       146,  106,  103,  118,  129,  118,  152,  198,  182,  149,
937       118,  158,  153,  201,  162,  159,  163,  164,  118,  120,
938       118,  165,  202,  121,  166,  160,  168,  169,  118,  179,
939        66,  161,  195,  172,   66,  180,  173,  170,  171,  176,
940       181,  186,  187,  204,  187,  186,  174,   97,  188,  118,
941       250,  204,  193,  175,   69,   69,   69,  199,   69,  189,
942
943        70,   79,  122,   99,  207,   71,   69,   69,   69,   69,
944        79,   69,  190,  200,  118,  204,  204,  208,   71,   69,
945       206,  226,   80,   80,  196,   80,   80,  225,  177,  227,
946       195,   81,  229,  178,  230,   82,  205,  118,   96,   96,
947        96,   96,   96,   96,   96,   96,  118,  118,  118,  118,
948       251,  231,   72,  118,   83,  212,   85,   96,   96,   96,
949        96,   96,   96,   96,   96,   72,  118,  118,  125,  226,
950       118,  118,  118,  118,  215,  234,   86,  245,  283,  228,
951       236,  118,  196,   87,  100,  212,  101,  101,  101,  101,
952       101,  101,  101,  101,  118,  128,  128,  284,  128,  128,
953
954       218,  246,  218,  217,  215,  219,  219,  219,  219,  219,
955       219,  219,  219,  100,  118,  104,  104,  104,  104,  104,
956       104,  104,  104,  118,  118,  299,  118,  118,  118,  218,
957       118,  218,  106,  217,  222,  222,  222,  222,  222,  222,
958       222,  222,  232,  235,  226,  118,  247,  249,  118,  291,
959       233,  118,  129,  118,  244,  118,  118,  118,  254,  118,
960       118,  255,  106,  248,  252,  253,  118,  256,  263,  118,
961       237,  258,  238,  239,  257,  240,  260,  259,  241,  118,
962       261,  262,  118,  118,  118,  118,  118,  118,  242,  243,
963       118,  264,  271,  118,  118,  274,  118,  267,  269,  265,
964
965       118,  118,  266,  118,  268,  273,  118,  272,  279,  270,
966       277,  118,  285,  118,  276,  282,  278,  118,  280,  120,
967       281,  118,  286,  118,  118,  287,  289,  118,  118,  118,
968       118,  191,  293,  303,  305,  290,  295,  118,  297,  288,
969       292,  298,  294,  308,  309,  300,  296,  311,  301,  186,
970       187,  204,  187,  186,  201,  204,  188,  336,  118,  118,
971       204,  752,  122,  306,  317,  338,  307,  189,  343,  342,
972       118,  318,  118,  344,  118,   69,   69,   69,  319,   69,
973       190,   70,  118,  118,  345,  118,   71,   69,  192,  219,
974       219,  219,  219,  219,  219,  219,  219,  204,  118,  196,
975
976       197,  118,   79,  346,  197,  315,  197,  197,  197,  197,
977       197,  197,  198,  361,  197,  197,  197,  197,  197,  197,
978       197,  197,  197,  197,  197,  197,  197,  197,  197,  197,
979       197,  197,  197,   72,  320,  118,  313,  321,  219,  219,
980       219,  219,  219,  219,  219,  219,  118,  118,  118,  352,
981       322,  323,  351,  347,  118,  118,  118,  362,  197,  197,
982       197,  197,  325,  355,  325,  118,  348,  326,  326,  326,
983       326,  326,  326,  326,  326,  328,  354,  328,  204,  353,
984       329,  329,  329,  329,  329,  329,  329,  329,  218,  197,
985       218,  118,  118,  331,  331,  331,  331,  331,  331,  331,
986
987       331,  220,  220,  220,  220,  220,  220,  220,  220,  363,
988      1329,  364,  118,  445,  333,  333,  333,  333,  333,  333,
989       222,  222,  222,  222,  222,  222,  222,  222,  118,  118,
990       118,  366,  349,  118,  368,  118,  356,  118,  359,  118,
991       350,  118,  367,  370,  333,  333,  333,  333,  333,  333,
992       358,  118,  360,  118,  371,  365,  369,  118,  118,  118,
993       118,  375,  118,  374,  118,  118,  118,  376,  118,  118,
994       372,  373,  118,  377,  381,  379,  118,  380,  118,  226,
995       118,  118,  118,  378,  384,  118,  118,  118,  118,  118,
996       382,  118,  118,  118,  395,  391,  385,  390,  387,  398,
997
998       191,  392,  389,  388,  118,  394,  393,  118,  118,  386,
999       118,  118,  118,  397,  118,  402,  399,  404,  396,  118,
1000       118,  118,  410,  406,  401,  403,  405,  118,  400,  118,
1001       422,  409,  425,  118,  407,  411,  195,  204,  412,  408,
1002       413,  428,  414,  204,   81,  204,  440,  415,   82,  204,
1003       442,  204,  416,  417,  418,  419,  420,  192,  461,  429,
1004       118,  426,  118,  118,  427,  441,  460,  459,  118,  468,
1005       204,  448,  448,  448,  448,  448,  448,  448,  448,  477,
1006       118,  443,  421,  118,  118,  118,  118,  488,  196,  444,
1007       470,  435,  197,  462,  118,  118,  197,  469,  197,  197,
1008
1009       197,  197,  197,  197,  198,  446,  197,  197,  197,  197,
1010       197,  197,  447,  118,  118,  473,  118,  526,  502,  471,
1011       197,  197,  197,  197,  197,  326,  326,  326,  326,  326,
1012       326,  326,  326,  450,  450,  450,  450,  450,  450,  450,
1013       450,  329,  329,  329,  329,  329,  329,  329,  329,  467,
1014       197,  197,  197,  197,  331,  331,  331,  331,  331,  331,
1015       331,  331,  118,  118,  118,  118,  118,  472,  476,  474,
1016       479,  118,  118,  118,  118,  507,  504,  501,  118,  510,
1017       480,  197,   68,   69,   69,   69,   68,   69,   68,   70,
1018        68,   68,   68,   68,   71,   69,   68,   68,   68,   68,
1019
1020        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
1021        68,   68,   68,   68,   68,  437,  437,  437,  437,  437,
1022       437,  437,  437,  437,  437,  437,  437,  437,  437,  437,
1023       437,  437,  437,  437,  437,  437,  437,  437,  437,  437,
1024        68,   72,   68,   68,  437,  437,  437,  437,  437,  437,
1025       437,  437,  437,  437,  437,  437,  437,  437,  437,  437,
1026       437,  437,  437,  437,  437,  437,  437,  437,  437,  437,
1027       437,   68,  437,   78,   78,   78,   78,   78,   78,   78,
1028        78,   78,   78,   78,  201,   78,   78,   78,   78,   78,
1029        78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
1030
1031        78,   78,   78,   78,   78,   78,  439,  439,  439,  439,
1032       439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1033       439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1034       439,   78,   79,   78,   78,  439,  439,  439,  439,  439,
1035       439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1036       439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1037       439,  439,   78,  439,  454,  454,  454,  454,  454,  454,
1038       454,  454,  118,  464,  118,  118,  226,  455,  455,  455,
1039       455,  455,  455,  465,  118,  118,  118,  573,  481,  226,
1040       475,  118,  118,  118,  466,  478,  118,  118,  483,  485,
1041
1042       486,  118,  487,  484,  489,  118,  490,  455,  455,  455,
1043       455,  455,  455,  491,  118,  118,  118,  492,  118,  482,
1044       118,  118,  226,  118,  118,  493,  118,  494,  118,  495,
1045       496,  118,  118,  118,  118,  118,  497,  499,  500,  509,
1046       498,  118,  512,  118,  506,  503,  118,  118,  508,  118,
1047       118,  511,  505,  118,  513,  118,  516,  118,  519,  520,
1048       517,  118,  118,  514,  523,  118,  525,  118,  118,  515,
1049       118,  522,  527,  118,  524,  118,  118,  530,  118,  118,
1050       531,  529,  528,  118,  118,  118,  118,  118,  536,  537,
1051       118,  534,  539,  118,  118,  118,  532,  226,  533,  538,
1052
1053       118,  548,  543,  535,  542,  552,  204,  540,  204,  544,
1054       553,  541,  578,  580,  565,  545, 1326,  118,  546,  549,
1055       118,  586,  118,  118,  564,  118,  588,  547,   69,   69,
1056        69,   69,   69,   69,   69,  195,   69,   69,   69,   69,
1057        69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
1058        69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
1059        69,  560,  560,  560,  560,  560,  560,  560,  560,  560,
1060       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
1061       560,  560,  560,  560,  560,  560,   69,  196,   69,   69,
1062       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
1063
1064       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
1065       560,  560,  560,  560,  560,  560,  560,   69,  560,  197,
1066       204,  204,  204,  197,  204,  197,  197,  197,  197,  197,
1067       197,  198,  204,  197,  197,  197,  197,  197,  197,  204,
1068       566,  118,  575,  118,  589,  790,  574,  197,  197,  197,
1069       197,  197,  448,  448,  448,  448,  448,  448,  448,  448,
1070       567,  118,  570,  450,  450,  450,  450,  450,  450,  450,
1071       450,  118,  576,  579,  568,  581,  118,  197,  197,  197,
1072       197,  118,  571,  118,  118,  569,  118,  118,  118,  118,
1073       582,  118,  583,  592,  593,  734,  118,  118,  118,  584,
1074
1075       590,  118,  595,  118,  585,  587,  591,  597,  197,   68,
1076        69,   69,   69,   68,   69,   68,   70,   68,   68,   68,
1077        68,   71,   69,   68,   68,   68,   68,   68,   68,  118,
1078       118,  118,  599,  118,  118,  598,  118,   68,   68,   68,
1079        68,   68,  600,  118, 1325,  118,  603,  601,  596,  594,
1080       604,  118,  606,  118,  118,  693,  605,  607,  602,  118,
1081       118,  118,  118,  611,  609,  612,  610,   68,   72,   68,
1082        68,  118,  118,  608,  118,  118,  118,  118,  118,  618,
1083       614,  118,  118,  118,  620,  621,  118,  118,  623,  628,
1084       613,  625,  118,  615,  118,  635,  636,  616,   68,   78,
1085
1086        78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
1087       201,   78,   78,   78,   78,   78,   78,   78,   78,  118,
1088       118,  118,  118,  226,  118, 1321,  118,   78,   78,   78,
1089        78,   78,  629,  633,  624,  118,  638,  630,  631,  617,
1090       619,  622,  632,  118,  634,  118,  118,  118,  118,  118,
1091       637,  118,  640,  118,  118,  641,  645,   78,   79,   78,
1092        78,  639,  118,  644,  642,  118,  118,  118,  626,  643,
1093       118,  648,  118,  656,  646,  204,  204,  651,  657,  650,
1094       118,  649,  647,  118,  118,  204,  204,  653,   78,  454,
1095       454,  454,  454,  454,  454,  454,  454,  204,  652,  669,
1096
1097       677,  655,  455,  455,  455,  455,  455,  455,  204,  204,
1098       671,  118,  118,  670,  678,  681,  118,  684,  118,  685,
1099       687,  204,  672,  673,  118,  118,  118,  686,  691, 1318,
1100       674,  118,  455,  455,  455,  455,  455,  455,   69,   69,
1101        69,   69,   69,   69,   69,  195,   69,   69,   69,   69,
1102        69,   69,   69,   69,   69,   69,   69,   69,  675,  679,
1103       680,  682,  676,  683,  118,  118,   69,   69,   69,   69,
1104        69,  118,  118,  692,  690,  689,  118,  695,  226,  694,
1105       118,  696,  118,  118,  118,  688,  118,  118,  118,  118,
1106       118,  697,  118,  118,  118,  709,   69,  196,   69,   69,
1107
1108       118,  698,  706,  118,  118,  703,  701,  702,  118,  708,
1109       704,  705,  118,  707,  118,  118,  204,  716,  716,  714,
1110       716,  716,  118,  118,  836,  713,  754,   69,   68,   69,
1111        69,   69,   68,   69,   68,   70,   68,   68,   68,   68,
1112        71,   69,   68,   68,   68,   68,   68,   68,  118,  118,
1113       118,  118,  118,  118,  226,  118,   68,   68,   68,   68,
1114        68,  118,  774,  727,  710,  712,  717,  711,  118,  118,
1115       718,  715,  719,  728,  729,  732,  118,  118,  118,  118,
1116       118,  735,  736,  118,  118,  118,   68,   72,   68,   68,
1117       753,  740,  737,  746,  745,  738,  739,  118,  741,  722,
1118
1119       742,  204,  118,  118,  743,  843,  757,  744,  770,  756,
1120       204,  118, 1312,  226,  787,  118,  118,   68,   78,   78,
1121        78,   78,   78,   78,   78,   78,   78,   78,   78,  201,
1122        78,   78,   78,   78,   78,   78,   78,   78,  118,  755,
1123       118,  747,  204,  204,  204,  775,   78,   78,   78,   78,
1124        78,  748,  204,  749,  779,  780,  781,  750,  758,  118,
1125       751,  782,  784,  783,  769,  118,  118, 1311,  118,  785,
1126       118,  118,  118,  118,  118,  118,   78,   79,   78,   78,
1127       776,  778,  791,  118,  118,  786,  794,  777,  118,  792,
1128       788,  118,  118,  793,  118,  795,  118,  798,  118,  118,
1129
1130       799,  118,  805,  800,  118,  835,  812,   78,  720,  720,
1131       720,  720,  720,  720,  720,  720,  720,  720,  720,  720,
1132       720,  720,  720,  720,  720,  720,  720,  720,  721,  721,
1133       721,  721,  721,  721,  721,  721,  720,  720,  720,  720,
1134       720,  118,  118,  118,  771,  771,  118,  771,  771,  226,
1135       226,  118,  716,  716,  118,  716,  716,  772,  226,  815,
1136       118,  802,  806,  841,  808,  828,  720,  720,  720,  720,
1137       118,  204,  814,  118,  118,  118,  811,  811,  830,  811,
1138       811,  118,  118,  118,  820,  831,  821,  832,  118,  118,
1139       842,  773,  118,  833,  796,  797,  854,  720,  721,  730,
1140
1141       730,  730,  730,  730,  730,  730,  730,  730,  730,  730,
1142       730,  730,  730,  730,  730,  730,  730,  730,  730,  731,
1143       731,  731,  731,  731,  731,  731,  731,  730,  730,  730,
1144       730,  730,  813,  118,  118,  118,  226,  118,  118,  118,
1145       838,  118,  887,  118,  118,  118,  845,  204,  204,  816,
1146       816,  834,  816,  816,  837,  839,  118,  730,  730,  730,
1147       730,  118,  840,  847,  844,  846,  848,  118,  118,  204,
1148       849,  852,  684,  829,  118,  850,  817,  864,  851,  878,
1149       691,  204,  869,  853,  865,  204,  118,  118,  730,  731,
1150        69,   69,   69,   69,   69,   69,   69,  195,   69,   69,
1151
1152        69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
1153       118,  771,  771,  873,  771,  771,  684,  226,   69,   69,
1154        69,   69,   69,  204,  772,  866,  866,  868,  866,  866,
1155       118,  870,  118,  118,  118,  118,  226,  118,  867,  118,
1156       118,  118,  118,  118,  118,  879,  875,  691,   69,  196,
1157        69,   69,  204,  880,  876,  877,  881,  882,  871,  118,
1158       118,  118,  889,  900,  883,  884,  811,  811,  118,  811,
1159       811,  118,  891,  118,  899,  118,  907,  959,  890,   69,
1160       803,  803,  803,  803,  803,  803,  803,  803,  803,  803,
1161       803,  803,  803,  803,  803,  803,  803,  803,  803,  803,
1162
1163       804,  804,  804,  804,  804,  804,  804,  804,  803,  803,
1164       803,  803,  803,  118,  118,  118, 1310,  226,  816,  816,
1165       118,  816,  816,  901,  902,  118,  118,  118,  898,  904,
1166       905,  118,  906,  903,  908,  118,  118,  118,  803,  803,
1167       803,  803,  118,  118,  118,  817,  886,  909,  118,  118,
1168       915,  911,  118,  910,  912,  913,  118,  916,  914,  118,
1169       918,  933,  885,  961,  204, 1309,  118,  118,  204,  803,
1170       804,  809,  809,  809,  809,  809,  809,  809,  809,  809,
1171       809,  809,  809,  809,  809,  809,  809,  809,  809,  809,
1172       809,  810,  810,  810,  810,  810,  810,  810,  810,  809,
1173
1174       809,  809,  809,  809,  917,  118,  920,  629,  771,  771,
1175       774,  771,  771,  631,  930,  866,  866,  921,  866,  866,
1176       919,  772,  226,  934,  118,  118,  118, 1001,  867,  809,
1177       809,  809,  809,  118,  118,  204,  932,  937,  118,  935,
1178       118,  118,  118,  939,  118,  118,  936,  118,  118,  204,
1179       204,  118,  691,  691,  118,  773,  945,  954,  938,  955,
1180       809,  810,  818,  818,  818,  818,  818,  818,  818,  818,
1181       818,  818,  818,  818,  818,  818,  818,  818,  818,  818,
1182       818,  818,  819,  819,  819,  819,  819,  819,  819,  819,
1183       818,  818,  818,  818,  818,  774,  931,  771,  771,  118,
1184
1185       771,  771,  118,  118,  118,  118,  118,  956,  118,  958,
1186       772,  118,  118, 1065,  118,  965,  962,  118,  946,  118,
1187       818,  818,  818,  818,  204,  943,  943,  947,  943,  943,
1188       957,  960,  963,  118,  118,  118,  118,  966,  964,  969,
1189       118,  973,  118,  967,  773,  970,  204,  204,  118, 1000,
1190       968,  818,  819,  940,  940,  940,  940,  940,  940,  940,
1191       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
1192       940,  940,  940,  941,  941,  941,  941,  941,  941,  941,
1193       941,  940,  940,  940,  940,  940,  118,  118,  118,  118,
1194       118,  983,  774,  774,  984,  118,  118,  118,  118,  985,
1195
1196       118,  118,  972,  118,  118,  975,  986,  974,  992,  971,
1197       118,  940,  940,  940,  940,  991,  987,  943,  943,  118,
1198       943,  943,  118, 1002,  993, 1003,  118,  118,  118, 1004,
1199       118,  118,  118,  118,  118, 1009, 1005,  118,  118, 1013,
1200       118, 1010,  940,  941, 1007, 1006, 1008, 1014, 1011, 1015,
1201       118, 1012, 1016, 1017, 1020, 1021,  118,  118, 1018, 1019,
1202      1029,  460,  118, 1031,  118, 1030,  118,  118,  118,  118,
1203      1044, 1045, 1023,  118,  118,  118, 1022, 1049,  118,  118,
1204      1043,  118,  118,  118, 1033, 1038, 1047,  118,  118,  118,
1205      1051, 1055, 1048, 1046,  118,  118, 1056,  989, 1050, 1057,
1206
1207      1052,  118, 1053,  118, 1060,  118, 1061, 1054,  118, 1062,
1208      1063,  118,  118, 1073, 1072,  226, 1058, 1078, 1078, 1304,
1209      1078, 1078, 1059, 1074,  226, 1064, 1066,  118,  118,  118,
1210       118, 1085, 1081, 1083, 1086, 1103,  118,  118,  118, 1104,
1211      1075,  118, 1092, 1093, 1079,  118, 1094, 1100,  118,  118,
1212      1101,  118, 1080,  118, 1084, 1087, 1088, 1089, 1105, 1090,
1213       118,  118, 1102,  118, 1095, 1096, 1097,  118, 1098,  118,
1214      1118,  118,  226, 1108, 1111, 1112, 1107, 1303, 1091,  118,
1215      1119, 1119,  118, 1119, 1119, 1106,  118, 1099, 1078, 1078,
1216      1113, 1078, 1078,  118, 1122,  118,  118,  118,  118,  118,
1217
1218      1126,  118,  118, 1127,  118, 1128, 1129, 1120, 1130, 1131,
1219       118, 1132,  118, 1134, 1136, 1079, 1124, 1125,  118, 1137,
1220      1114, 1133,  118,  118, 1138,  118,  118,  118, 1135, 1139,
1221      1141,  118,  118, 1140, 1142,  118,  118,  118,  118,  118,
1222      1159,  118, 1147, 1148,  118,  118,  118, 1144, 1146, 1163,
1223      1143,  118, 1145, 1158,  226,  118,  118,  118, 1149, 1119,
1224      1119, 1216, 1119, 1119, 1161,  118, 1162,  118, 1164, 1302,
1225       118,  118,  118, 1171, 1165,  118, 1166,  118, 1167,  118,
1226       118, 1168,  118, 1169,  118, 1181, 1120, 1170, 1150,  118,
1227       118, 1193, 1172, 1173,  118, 1174,  118, 1175,  118, 1176,
1228
1229       118, 1177,  118,  118,  118, 1178,  118, 1194, 1194,  118,
1230      1194, 1194,  118,  118, 1197,  118,  118, 1179, 1180, 1198,
1231      1182,  118,  118,  118, 1201, 1202, 1203,  118, 1206, 1196,
1232      1199,  118,  118, 1200, 1195, 1204,  118,  118,  118,  118,
1233       118, 1209, 1210, 1211,  118, 1205,  118, 1212, 1214,  118,
1234       118, 1217, 1228,  118, 1207, 1208, 1215, 1194, 1194,  118,
1235      1194, 1194,  118, 1229, 1213,  118,  118,  118, 1231,  118,
1236       118, 1230,  118, 1300, 1232, 1299,  118,  118,  118,  118,
1237       118,  118,  118,  118, 1195, 1233,  118, 1234, 1235,  118,
1238      1236, 1237, 1238, 1239,  118, 1245,  118, 1257, 1240, 1241,
1239
1240      1242, 1243,  118,  118, 1244, 1246, 1247,  118,  118, 1298,
1241      1258,  118,  118,  118,  118,  118,  118,  118, 1260,  118,
1242       118,  118, 1268, 1261, 1259,  118, 1262, 1263, 1264, 1265,
1243      1270, 1266, 1267,  118, 1269,  118,  118, 1282, 1283, 1279,
1244       118,  118, 1280,  118,  118,  118, 1296,  118,  118, 1316,
1245       118,  118, 1306, 1281, 1307,  118, 1292, 1305, 1294, 1293,
1246       118,  118,  118, 1323, 1295, 1315,  118,  118, 1327,  118,
1247       118, 1331, 1328,  118,  118, 1322, 1297, 1334, 1317,  118,
1248       118,  118, 1324, 1291, 1290,  118, 1289, 1288, 1287, 1286,
1249      1285, 1332, 1284,  118, 1335,  118, 1337,  118, 1336,   68,
1250
1251        68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
1252        68,   68,   78,   78,   78,   78,   78,   78,  118,   78,
1253        78,   78,   78,   78,   78,   84,   84,  118,   84,   84,
1254       118,  118,  118,  118,   84,   84,   84,  105,  105, 1278,
1255       105,  105,  105,  116, 1277,  116,  116,  116,  191,  191,
1256      1276,  191,  191,  191,  191,  191,  191,  191,  191,  191,
1257       191,   69,   69,   69,   69,   69,   69,   69,   69,   69,
1258        69,   69,   69,   69,  197, 1275, 1274, 1273,  197,  197,
1259       197,  197,  197,  197,  197,  197,  197,  203,  203,  203,
1260       203,  203,  211, 1272,  211,  211,  211,  213,  213, 1271,
1261
1262       213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
1263       214,  118,  214,  214,  214,  216,  216,  118,  216,  216,
1264       216,  220,  118,  220,  221,  118,  221,  221,  221,  304,
1265       304,  118,  304,  304,  304,  304,  304,  304,  304,  304,
1266       304,  304,  312,  118, 1256, 1255,  312,  312,  312,  312,
1267       312,  312,  312,  312,  312,  324, 1254,  324,  324,  324,
1268       327, 1253,  327,  327,  327,  330, 1251,  330,  330,  330,
1269       332, 1250,  332,  332,  332,  334, 1249,  334,  334,  334,
1270       335, 1248,  335,  335,  335,  424,  424,  118,  424,  424,
1271       424,  424,  424,  424,  424,  424,  424,  424,  434,  434,
1272
1273       434,  436,  118,  118, 1226,  436,  436,  436,  436,  436,
1274       436,  436,  436,  436,  438,  438,  438,   84, 1225, 1224,
1275      1223, 1222,   84,   84,   84,  449, 1221,  449,  449,  449,
1276       451, 1220,  451,  451,  451,  452, 1219,  452,  452,  452,
1277       453, 1218,  453,  453,  453,  456,  118,  456,  456,  456,
1278       457,  118,  457,  457,  457,  458,  982,  458,  458,  458,
1279       116, 1192,  116,  116,  116,  463,  463,  463,  424,  424,
1280      1191,  424,  424,  424,  424,  424,  424,  424,  424,  424,
1281       424,  304,  304, 1190,  304,  304,  304,  304,  304,  304,
1282       304,  304,  304,  304,  559, 1189,  559,  559,  559,  436,
1283
1284      1188, 1187, 1186,  436,  436,  436,  436,  436,  436,  436,
1285       436,  436,  561,  561,  561,  561,  561,  561,  561,  561,
1286       561,  561,  561,  561,  561,  562, 1185,  562,  562,  562,
1287       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
1288       563,  563,  563,  211, 1184,  211,  211,  211,  324, 1183,
1289       324,  324,  324,  214,  118,  214,  214,  214,  327,  118,
1290       327,  327,  327,  572, 1160,  572,  572,  572,  577, 1157,
1291       577,  577,  577,  664,  664, 1156,  664,  664,  664,  664,
1292       664,  664,  664,  664,  664,  664,  665,  665, 1155,  665,
1293       665,  665,  665,  665,  665,  665,  665,  665,  665,  559,
1294
1295      1154,  559,  559,  559,  668,  668,  668,  668,  668,  668,
1296       668,  668,  668,  668,  668,  668,  668,  561,  561,  561,
1297       561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
1298       562, 1153,  562,  562,  562,  563,  563,  563,  563,  563,
1299       563,  563,  563,  563,  563,  563,  563,  563,  203,  203,
1300       203,  203,  203,  762,  762, 1152,  762,  762,  762,  762,
1301       762,  762,  762,  762,  762,  762,  763,  763, 1151,  763,
1302       763,  763,  763,  763,  763,  763,  763,  763,  763,  925,
1303       925,  118,  925,  925,  925,  925,  925,  925,  925,  925,
1304       925,  925,  976,  976,  118,  976,  976,  976,  976,  976,
1305
1306       976,  976,  976,  976,  976,  720,  720,  720,  720,  720,
1307       720,  720,  720,  720,  720,  118, 1123,  720,  730,  730,
1308       730,  730,  730,  730,  730,  730,  730,  730,  118, 1121,
1309       730,  803,  803,  803,  803,  803,  803,  803,  803,  803,
1310       803,  118, 1117,  803,  809,  809,  809,  809,  809,  809,
1311       809,  809,  809,  809, 1116, 1115,  809,  818,  818,  818,
1312       818,  818,  818,  818,  818,  818,  818, 1110, 1109,  818,
1313       940,  940,  940,  940,  940,  940,  940,  940,  940,  940,
1314       118,  118,  940, 1227, 1227,  118, 1227, 1227, 1227, 1227,
1315      1227, 1227, 1227, 1227, 1227, 1227, 1252, 1252,  118, 1252,
1316
1317      1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1301,
1318      1301,  118, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301,
1319      1301, 1301, 1308, 1308,  118, 1308, 1308, 1308, 1308, 1308,
1320      1308, 1308, 1308, 1308, 1308, 1313, 1313,  118, 1313, 1313,
1321      1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1314, 1314,
1322      1082, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1314,
1323      1314, 1319, 1319, 1077, 1319, 1319, 1319, 1319, 1319, 1319,
1324      1319, 1319, 1319, 1319, 1320, 1320, 1076, 1320, 1320, 1320,
1325      1320, 1320, 1320, 1320, 1320, 1320, 1320, 1330, 1330,  118,
1326      1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1330,
1327
1328      1333, 1333, 1071, 1333, 1333, 1333, 1333, 1333, 1333, 1333,
1329      1333, 1333, 1333, 1070, 1069, 1068, 1067,  118,  118,  118,
1330      1042, 1041, 1040, 1039,  118, 1037, 1036, 1035, 1034, 1032,
1331      1028, 1027, 1026, 1025, 1024,  118,  999,  998,  997,  996,
1332       995,  994,  990,  988,  118,  118,  118,  118,  982,  981,
1333       980,  979,  978,  977,  729,  118,  953,  952,  951,  950,
1334       949,  948,  944,  942,  118,  118,  118,  929,  928,  927,
1335       926,  924,  923,  922,  118,  118,  118,  118,  897,  896,
1336       895,  894,  893,  892,  118,  118,  888,  118,  118,  118,
1337       118,  118,  118,  118,  118,  118,  118,  874,  872,  118,
1338
1339       118,  204,  863,  862,  861,  860,  859,  858,  857,  856,
1340       118,  855,  118,  118,  118,  827,  826,  825,  824,  823,
1341       822,  118,  807,  118,  801,  118,  118,  118,  118,  789,
1342       118,  118,  768,  767,  766,  765,  764,  761,  760,  759,
1343       118,  733,  118,  726,  725,  724,  723,  118,  118,  118,
1344       118,  118,  118,  118,  700,  699,  118,  118,  667,  666,
1345       663,  662,  661,  660,  659,  658,  654,  118,  118,  118,
1346       627,  118,  118,  118,  118,  118,  118,  118,  558,  557,
1347       556,  555,  554,  551,  550,  118,  521,  518,  118,  118,
1348       118,  118,  433,  432,  431,  430,  423,  118,  383,  118,
1349
1350       118,  357,  341,  340,  316,  204,  314,  198,  310,  192,
1351       194,  302,  192,  275,  130,  198,   79,  118,  224,  223,
1352       210,  209,  204,  194,  192,  132,  118,  113,   88,   79,
1353        67, 1338,    3, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1354      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1355      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1356      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1357      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1358      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1359      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1360
1361      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1362      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1363      1338, 1338, 1338, 1338
1364     } ;
1365
1366 static yyconst flex_int16_t yy_chk[4125] =
1367     {   0,
1368         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1369         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1370         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1371         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1372         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1373         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1374         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1375         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1376         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1377         1,    2,    2,    5,    2,    2,   11,    5,    2,    9,
1378
1379         9,    9,  226,    9,   10,    9,   10,   10,  226,    2,
1380         9,    9,   17,   16,   13,   13,   11,   13,   13,   25,
1381        25,   22,    2,   13,   22,   17,   17,   13,   16,   18,
1382        29,   23,   28,   18,   29,   18,   18,   18,   18,   18,
1383        18,   18,   18,   30,   19,   26,   13,   31,   13,   19,
1384        23,   23,   23,   36,   33,   36,   47,    9,   69,   26,
1385        19,   28,   32,   30,   33,   34,   32,   52,   13,   59,
1386        46,   47,   52,   29,   20,   13,   20,   20,   20,   20,
1387        20,   20,   20,   20,   46,   29,   34,   35,   35,   46,
1388        35,   35,   21,   20,   21,   21,   21,   21,   21,   21,
1389
1390        21,   21,   31,   39,   41,   32,   40,   44,  228,   39,
1391        69,   21,   20,   41,   48,   58,   39,   32,   40,   41,
1392        40,   44,   39,   20,   43,   42,   42,   40,   59,   43,
1393        58,   44,   39,   42,   45,   48,  228,   42,   50,   43,
1394        42,   21,   20,   51,   35,   57,   45,   70,   57,   43,
1395        49,   49,   45,   78,   50,   49,   50,   50,   53,   55,
1396        56,   51,   79,   55,   51,   49,   53,   53,   54,   56,
1397        66,   49,   71,   54,   66,   56,   54,   53,   53,   55,
1398        56,   60,   60,   87,   60,   60,   54,   64,   60,  144,
1399       144,   86,   64,   54,   68,   68,   68,   70,   68,   60,
1400
1401        68,   78,   55,   64,   86,   68,   68,   72,   72,   72,
1402        79,   72,   60,   72,   55,   85,   83,   87,   72,   72,
1403        85,  118,   80,   80,   71,   80,   80,  117,   55,  119,
1404       120,   80,  124,   55,  126,   80,   83, 1337,   96,   96,
1405        96,   96,   96,   96,   96,   96,  118,  119,  117,  145,
1406       145,  127,   68,  126,   80,   96,   80,  100,  100,  100,
1407       100,  100,  100,  100,  100,   72,  124,  127,  122,  123,
1408       134,  169,  136,  139,  100,  134,   80,  139,  169,  123,
1409       136,  140,  120,   80,  101,   96,  101,  101,  101,  101,
1410       101,  101,  101,  101,  123,  128,  128,  169,  128,  128,
1411
1412       102,  140,  102,  101,  100,  102,  102,  102,  102,  102,
1413       102,  102,  102,  104,  181,  104,  104,  104,  104,  104,
1414       104,  104,  104,  122,  174,  181,  141,  143,  135,  106,
1415       133,  106,  104,  101,  106,  106,  106,  106,  106,  106,
1416       106,  106,  133,  135,  137,  138,  141,  143,  142,  174,
1417       133,  146,  128,  148,  138,  147,  150,  149,  147,  153,
1418       151,  147,  104,  142,  146,  146,  152,  147,  153,  137,
1419       137,  149,  137,  137,  148,  137,  151,  150,  137,  154,
1420       151,  152,  155,  156,  157,  158,  159,  160,  137,  137,
1421       162,  154,  160,  161,  164,  162, 1335,  156,  158,  154,
1422
1423       168,  165,  155,  170,  157,  161,  166,  160,  166,  159,
1424       165,  167,  170,  172,  164,  168,  165,  173,  167,  176,
1425       167,  171,  171,  177,  175,  171,  172,  178,  179,  180,
1426       183,  192,  177,  192,  193,  173,  178,  182,  180,  171,
1427       175,  180,  177,  194,  194,  182,  179,  196,  183,  186,
1428       186,  205,  186,  186,  202,  206,  186,  225,  233,  232,
1429       207,  648,  176,  193,  205,  227,  193,  186,  232,  231,
1430       234,  206,  648,  233,  176,  200,  200,  200,  207,  200,
1431       186,  200,  225,  227,  234,  235,  200,  200,  192,  218,
1432       218,  218,  218,  218,  218,  218,  218,  208,  231,  196,
1433
1434       199,  248,  202,  235,  199,  202,  199,  199,  199,  199,
1435       199,  199,  199,  248,  199,  199,  199,  199,  199,  199,
1436       199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
1437       199,  199,  199,  200,  208,  236,  200,  208,  219,  219,
1438       219,  219,  219,  219,  219,  219,  237,  239,  240,  240,
1439       208,  208,  239,  236,  249,  243,  242,  249,  199,  199,
1440       199,  199,  212,  243,  212,  241,  237,  212,  212,  212,
1441       212,  212,  212,  212,  212,  215,  242,  215,  321,  241,
1442       215,  215,  215,  215,  215,  215,  215,  215,  217,  199,
1443       217,  250,  251,  217,  217,  217,  217,  217,  217,  217,
1444
1445       217,  220,  220,  220,  220,  220,  220,  220,  220,  250,
1446      1325,  251,  253,  321,  220,  220,  220,  220,  220,  220,
1447       222,  222,  222,  222,  222,  222,  222,  222,  238,  244,
1448       254,  253,  238,  255,  255,  246,  244,  247,  247,  252,
1449       238,  257,  254,  257,  220,  220,  220,  220,  220,  220,
1450       246,  256,  247,  258,  258,  252,  256,  259,  261,  260,
1451       262,  262,  263,  261,  264,  266,  271,  263,  267,  269,
1452       259,  260,  273,  264,  269,  267,  268,  268,  274,  275,
1453       276,  277,  278,  266,  273,  279,  280,  281,  282,  284,
1454       271,  283,  285,  286,  284,  280,  274,  279,  276,  287,
1455
1456       303,  281,  278,  277,  275,  283,  282,  288,  289,  275,
1457       290,  293,  292,  286,  294,  290,  288,  292,  285,  296,
1458       295,  298,  298,  294,  289,  290,  293,  297,  288,  300,
1459       300,  297,  302,  287,  295,  299,  311,  317,  299,  296,
1460       299,  305,  299,  320,  316,  319,  317,  299,  316,  318,
1461       319,  322,  299,  299,  299,  299,  299,  303,  338,  305,
1462       352,  302,  343,  299,  302,  318,  337,  336,  364,  343,
1463       323,  325,  325,  325,  325,  325,  325,  325,  325,  352,
1464       337,  320,  299,  336,  344,  345,  338,  364,  311,  320,
1465       345,  311,  312,  339,  403,  348,  312,  344,  312,  312,
1466
1467       312,  312,  312,  312,  312,  322,  312,  312,  312,  312,
1468       312,  312,  323,  339,  346,  348,  380,  403,  380,  346,
1469       312,  312,  312,  312,  312,  326,  326,  326,  326,  326,
1470       326,  326,  326,  328,  328,  328,  328,  328,  328,  328,
1471       328,  329,  329,  329,  329,  329,  329,  329,  329,  342,
1472       312,  312,  312,  312,  331,  331,  331,  331,  331,  331,
1473       331,  331,  347,  342,  349,  351,  354,  347,  351,  349,
1474       354,  355,  378,  382,  385,  385,  382,  378,  388,  388,
1475       355,  312,  313,  313,  313,  313,  313,  313,  313,  313,
1476       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1477
1478       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1479       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1480       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1481       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1482       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1483       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1484       313,  313,  313,  313,  313,  313,  313,  313,  313,  313,
1485       313,  313,  313,  315,  315,  315,  315,  315,  315,  315,
1486       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
1487       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
1488
1489       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
1490       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
1491       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
1492       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
1493       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
1494       315,  315,  315,  315,  315,  315,  315,  315,  315,  315,
1495       315,  315,  315,  315,  333,  333,  333,  333,  333,  333,
1496       333,  333,  350,  341,  356,  353,  341,  333,  333,  333,
1497       333,  333,  333,  341,  359,  360,  366,  459,  356,  357,
1498       350,  362,  365,  367,  341,  353,  368,  459,  359,  362,
1499
1500       363,  341,  363,  360,  365,  369,  366,  333,  333,  333,
1501       333,  333,  333,  367,  357,  370,  371,  368,  374,  357,
1502       375,  373,  383,  376,  377,  369,  381,  370,  384,  371,
1503       373,  386, 1324,  390,  387,  391,  374,  376,  377,  387,
1504       375,  363,  390,  392,  384,  381,  389,  383,  386,  393,
1505       397,  389,  383,  396,  391,  394,  394,  399,  396,  397,
1506       394,  400,  401,  392,  400,  402,  402,  405,  404,  393,
1507       406,  399,  404,  407,  401,  408,  411,  406,  410,  412,
1508       407,  405,  404,  413,  415,  414,  417,  416,  413,  414,
1509       418,  411,  416,  419,  420,  421,  408,  423,  410,  415,
1510
1511       422,  425,  419,  412,  418,  428,  440,  416,  441,  420,
1512       428,  417,  464,  466,  441,  421, 1321,  464,  422,  425,
1513       472,  472,  423,  474,  440,  466,  474,  423,  435,  435,
1514       435,  435,  435,  435,  435,  435,  435,  435,  435,  435,
1515       435,  435,  435,  435,  435,  435,  435,  435,  435,  435,
1516       435,  435,  435,  435,  435,  435,  435,  435,  435,  435,
1517       435,  435,  435,  435,  435,  435,  435,  435,  435,  435,
1518       435,  435,  435,  435,  435,  435,  435,  435,  435,  435,
1519       435,  435,  435,  435,  435,  435,  435,  435,  435,  435,
1520       435,  435,  435,  435,  435,  435,  435,  435,  435,  435,
1521
1522       435,  435,  435,  435,  435,  435,  435,  435,  435,  435,
1523       435,  435,  435,  435,  435,  435,  435,  435,  435,  436,
1524       442,  443,  444,  436,  446,  436,  436,  436,  436,  436,
1525       436,  436,  445,  436,  436,  436,  436,  436,  436,  447,
1526       442,  475,  461,  690,  475,  690,  460,  436,  436,  436,
1527       436,  436,  448,  448,  448,  448,  448,  448,  448,  448,
1528       443,  460,  446,  450,  450,  450,  450,  450,  450,  450,
1529       450,  461,  462,  465,  444,  467,  468,  436,  436,  436,
1530       436,  470,  447,  469,  471,  445,  477,  473,  476,  637,
1531       468,  479,  469,  478,  479,  637,  467,  462,  465,  470,
1532
1533       476,  481,  481,  483,  471,  473,  477,  483,  436,  437,
1534       437,  437,  437,  437,  437,  437,  437,  437,  437,  437,
1535       437,  437,  437,  437,  437,  437,  437,  437,  437,  478,
1536       480,  482,  487,  491,  492,  486,  590,  437,  437,  437,
1537       437,  437,  490,  495, 1318,  493,  492,  490,  482,  480,
1538       493,  494,  495,  502,  496,  590,  494,  496,  491,  497,
1539       499,  500,  501,  501,  499,  502,  500,  437,  437,  437,
1540       437,  486,  487,  497,  503,  504,  505,  506,  509,  509,
1541       504,  511,  512,  514,  511,  512,  520,  517,  514,  520,
1542       503,  517,  525,  505,  524,  524,  525,  506,  437,  439,
1543
1544       439,  439,  439,  439,  439,  439,  439,  439,  439,  439,
1545       439,  439,  439,  439,  439,  439,  439,  439,  439,  507,
1546       510,  513,  516,  518,  523, 1312,  522,  439,  439,  439,
1547       439,  439,  521,  522,  516,  528,  528,  521,  521,  507,
1548       510,  513,  521,  536,  523,  527,  533,  530,  518,  534,
1549       527,  532,  532,  535,  538,  533,  537,  439,  439,  439,
1550       439,  530,  539,  536,  534,  541,  537,  540,  518,  535,
1551       542,  540,  543,  548,  538,  564,  569,  543,  548,  542,
1552       544,  541,  539,  545,  547,  567,  568,  545,  439,  454,
1553       454,  454,  454,  454,  454,  454,  454,  566,  544,  564,
1554
1555       573,  547,  454,  454,  454,  454,  454,  454,  565,  571,
1556       566,  584,  573,  565,  574,  578,  588,  581,  582,  582,
1557       584,  570,  567,  568,  583,  578,  574,  583,  588, 1309,
1558       569,  581,  454,  454,  454,  454,  454,  454,  560,  560,
1559       560,  560,  560,  560,  560,  560,  560,  560,  560,  560,
1560       560,  560,  560,  560,  560,  560,  560,  560,  570,  575,
1561       576,  579,  571,  580,  585,  587,  560,  560,  560,  560,
1562       560,  586,  589,  589,  587,  586,  591,  592,  600,  591,
1563       593,  593,  595,  601,  579,  585,  575,  576,  594,  602,
1564       603,  594,  580,  607,  613,  613,  560,  560,  560,  560,
1565
1566       611,  595,  607,  600,  612,  602,  600,  601,  606,  612,
1567       603,  606,  618,  611,  619,  592,  672,  621,  621,  619,
1568       621,  621,  742,  650,  742,  618,  650,  560,  561,  561,
1569       561,  561,  561,  561,  561,  561,  561,  561,  561,  561,
1570       561,  561,  561,  561,  561,  561,  561,  561,  614,  616,
1571       617,  620,  623,  624,  627,  635,  561,  561,  561,  561,
1572       561,  622,  672,  632,  614,  617,  622,  616,  638,  645,
1573       623,  620,  624,  632,  632,  635,  643,  639,  621,  627,
1574       640,  638,  639,  641,  642,  649,  561,  561,  561,  561,
1575       649,  643,  640,  646,  645,  641,  642,  652,  644,  627,
1576
1577       644,  670,  646,  749,  644,  749,  653,  644,  670,  652,
1578       673,  687, 1302,  654,  687,  644,  651,  561,  563,  563,
1579       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
1580       563,  563,  563,  563,  563,  563,  563,  563,  654,  651,
1581       653,  647,  669,  674,  676,  673,  563,  563,  563,  563,
1582       563,  647,  675,  647,  677,  678,  679,  647,  654,  677,
1583       647,  680,  682,  681,  669,  678,  685, 1300,  647,  683,
1584       692,  680,  688,  693,  696,  679,  563,  563,  563,  563,
1585       674,  676,  692,  683,  702,  685,  696,  675,  681,  693,
1586       688,  682,  694,  694,  697,  697,  701,  701,  703,  709,
1587
1588       702,  715,  709,  703,  741,  741,  715,  563,  626,  626,
1589       626,  626,  626,  626,  626,  626,  626,  626,  626,  626,
1590       626,  626,  626,  626,  626,  626,  626,  626,  626,  626,
1591       626,  626,  626,  626,  626,  626,  626,  626,  626,  626,
1592       626,  706,  710,  718,  671,  671,  712,  671,  671,  699,
1593       700,  747,  716,  716,  717,  716,  716,  671,  723,  718,
1594       732,  706,  710,  747,  712,  732,  626,  626,  626,  626,
1595       626,  671,  717,  735,  699,  700,  714,  714,  735,  714,
1596       714,  736,  738,  723,  723,  736,  723,  738,  739,  748,
1597       748,  671,  756,  739,  699,  700,  756,  626,  626,  633,
1598
1599       633,  633,  633,  633,  633,  633,  633,  633,  633,  633,
1600       633,  633,  633,  633,  633,  633,  633,  633,  633,  633,
1601       633,  633,  633,  633,  633,  633,  633,  633,  633,  633,
1602       633,  633,  716,  740,  743,  744,  733,  714,  812,  745,
1603       744,  751,  812,  746,  750,  752,  751,  776,  769,  719,
1604       719,  740,  719,  719,  743,  745,  754,  633,  633,  633,
1605       633,  733,  746,  753,  750,  752,  753,  755,  791,  770,
1606       753,  754,  779,  733,  792,  753,  719,  769,  753,  792,
1607       791,  775,  776,  755,  770,  777,  779,  753,  633,  633,
1608       668,  668,  668,  668,  668,  668,  668,  668,  668,  668,
1609
1610       668,  668,  668,  668,  668,  668,  668,  668,  668,  668,
1611       719,  771,  771,  784,  771,  771,  781,  789,  668,  668,
1612       668,  668,  668,  778,  771,  774,  774,  775,  774,  774,
1613       781,  777,  788,  793,  790,  794,  801,  798,  774,  799,
1614       784,  795,  789,  834,  815,  793,  788,  794,  668,  668,
1615       668,  668,  774,  795,  789,  790,  798,  799,  778,  820,
1616       805,  801,  815,  834,  801,  805,  811,  811,  903,  811,
1617       811,  821,  821,  833,  833,  841,  841,  903,  820,  668,
1618       707,  707,  707,  707,  707,  707,  707,  707,  707,  707,
1619       707,  707,  707,  707,  707,  707,  707,  707,  707,  707,
1620
1621       707,  707,  707,  707,  707,  707,  707,  707,  707,  707,
1622       707,  707,  707,  829,  836,  837, 1299,  807,  816,  816,
1623       835,  816,  816,  835,  836,  839,  838,  840,  829,  838,
1624       839,  842,  840,  837,  842,  844,  846,  843,  707,  707,
1625       707,  707,  807,  847,  848,  816,  811,  843,  845,  849,
1626       849,  845,  850,  844,  846,  847,  852,  850,  848,  906,
1627       852,  873,  807,  906,  868, 1298,  873, 1294,  869,  707,
1628       707,  713,  713,  713,  713,  713,  713,  713,  713,  713,
1629       713,  713,  713,  713,  713,  713,  713,  713,  713,  713,
1630       713,  713,  713,  713,  713,  713,  713,  713,  713,  713,
1631
1632       713,  713,  713,  713,  851,  853,  854,  855,  864,  864,
1633       868,  864,  864,  855,  869,  866,  866,  855,  866,  866,
1634       853,  864,  872,  874,  876,  851,  877,  955,  866,  713,
1635       713,  713,  713,  854,  878,  864,  872,  878,  881,  876,
1636       879,  880,  883,  883,  955,  899,  877,  872,  874,  870,
1637       871,  889,  879,  880,  898,  864,  889,  898,  881,  899,
1638       713,  713,  722,  722,  722,  722,  722,  722,  722,  722,
1639       722,  722,  722,  722,  722,  722,  722,  722,  722,  722,
1640       722,  722,  722,  722,  722,  722,  722,  722,  722,  722,
1641       722,  722,  722,  722,  722,  870,  871,  865,  865,  890,
1642
1643       865,  865,  900,  907,  902, 1292,  910,  900,  891,  902,
1644       865,  904,  901, 1022,  908,  910,  907,  911,  890,  914,
1645       722,  722,  722,  722,  865,  887,  887,  891,  887,  887,
1646       901,  904,  908,  909,  912,  913,  918,  911,  909,  914,
1647      1022,  918,  915,  912,  865,  915,  930,  931,  954,  954,
1648       913,  722,  722,  885,  885,  885,  885,  885,  885,  885,
1649       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
1650       885,  885,  885,  885,  885,  885,  885,  885,  885,  885,
1651       885,  885,  885,  885,  885,  885,  887,  916,  917,  919,
1652       920,  932,  930,  931,  934,  945,  935,  939,  932,  935,
1653
1654       934,  936,  917,  946,  947,  920,  936,  919,  946,  916,
1655       957,  885,  885,  885,  885,  945,  939,  943,  943,  956,
1656       943,  943,  959,  956,  947,  957,  958,  965,  962,  958,
1657       960,  963,  964,  966,  972,  964,  959,  967,  968,  968,
1658       970,  965,  885,  885,  962,  960,  963,  969,  966,  969,
1659       971,  967,  969,  969,  972,  973,  974,  975,  970,  971,
1660       983,  984,  985,  985,  987,  984,  973,  992, 1000, 1001,
1661      1001, 1002,  975, 1004, 1006,  984,  974, 1007, 1009, 1005,
1662      1000, 1002, 1011, 1010,  987,  992, 1005, 1013,  969,  983,
1663      1010, 1014, 1006, 1004, 1007, 1012, 1015,  943, 1009, 1016,
1664
1665      1011, 1018, 1012, 1019, 1020, 1021, 1020, 1013, 1023, 1020,
1666      1020, 1031, 1038, 1030, 1029, 1032, 1018, 1036, 1036, 1291,
1667      1036, 1036, 1019, 1031, 1037, 1021, 1023, 1014, 1029, 1045,
1668      1044, 1046, 1038, 1044, 1047, 1060, 1015, 1016, 1030, 1061,
1669      1032, 1049, 1049, 1050, 1036, 1020, 1051, 1054, 1046, 1037,
1670      1054, 1047, 1037, 1059, 1045, 1048, 1048, 1048, 1062, 1048,
1671      1050, 1065, 1059, 1051, 1052, 1052, 1052, 1064, 1052, 1066,
1672      1073, 1060, 1075, 1066, 1069, 1069, 1065, 1290, 1048, 1061,
1673      1076, 1076, 1073, 1076, 1076, 1064, 1054, 1052, 1078, 1078,
1674      1069, 1078, 1078, 1080, 1080, 1048, 1062, 1075, 1083, 1085,
1675
1676      1085, 1084, 1086, 1086, 1052, 1087, 1088, 1076, 1089, 1090,
1677      1091, 1091, 1093, 1093, 1095, 1078, 1083, 1084, 1092, 1096,
1678      1069, 1092, 1087, 1088, 1097, 1089, 1090, 1094, 1094, 1098,
1679      1100, 1095, 1099, 1099, 1101, 1102, 1096, 1107, 1106, 1108,
1680      1118, 1097, 1109, 1109, 1125, 1122, 1098, 1106, 1108, 1125,
1681      1102, 1124, 1107, 1117, 1117, 1133, 1118, 1181, 1109, 1119,
1682      1119, 1181, 1119, 1119, 1122, 1126, 1124, 1145, 1126, 1289,
1683      1100, 1127, 1101, 1133, 1127, 1128, 1128, 1129, 1129, 1117,
1684      1130, 1130, 1131, 1131, 1132, 1145, 1119, 1132, 1109, 1134,
1685      1135, 1158, 1134, 1135, 1136, 1136, 1137, 1137, 1138, 1138,
1686
1687      1139, 1139, 1140, 1143, 1144, 1140, 1146, 1160, 1160, 1161,
1688      1160, 1160, 1164, 1171, 1163, 1165, 1158, 1143, 1144, 1163,
1689      1146, 1166, 1167, 1168, 1166, 1167, 1168, 1170, 1171, 1161,
1690      1164, 1163, 1169, 1165, 1160, 1169, 1172, 1173, 1174, 1175,
1691      1176, 1174, 1175, 1176, 1177, 1170, 1178, 1177, 1179, 1180,
1692      1182, 1182, 1193, 1199, 1172, 1173, 1180, 1194, 1194, 1200,
1693      1194, 1194, 1197, 1197, 1178, 1179, 1198, 1201, 1199, 1202,
1694      1203, 1198, 1204, 1287, 1200, 1286, 1205, 1207, 1208, 1193,
1695      1209, 1210, 1211, 1212, 1194, 1201, 1217, 1202, 1203, 1213,
1696      1204, 1205, 1207, 1208, 1214, 1214, 1216, 1228, 1209, 1210,
1697
1698      1211, 1212, 1230, 1233, 1213, 1216, 1217, 1229, 1234, 1285,
1699      1229, 1235, 1236, 1240, 1241, 1228, 1242, 1243, 1233, 1245,
1700      1246, 1258, 1245, 1234, 1230, 1247, 1235, 1236, 1240, 1241,
1701      1247, 1242, 1243, 1259, 1246, 1268, 1269, 1269, 1270, 1258,
1702      1280, 1279, 1259, 1281, 1282, 1283, 1283, 1295, 1293, 1306,
1703      1305, 1296, 1295, 1268, 1296, 1270, 1279, 1293, 1281, 1280,
1704      1307, 1315, 1316, 1316, 1282, 1305, 1306, 1317, 1322, 1323,
1705      1327, 1327, 1323, 1328, 1331, 1315, 1284, 1331, 1307, 1332,
1706      1334, 1336, 1317, 1278, 1277, 1322, 1276, 1275, 1274, 1273,
1707      1272, 1328, 1271, 1267, 1332, 1266, 1336, 1265, 1334, 1339,
1708
1709      1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339,
1710      1339, 1339, 1340, 1340, 1340, 1340, 1340, 1340, 1264, 1340,
1711      1340, 1340, 1340, 1340, 1340, 1341, 1341, 1263, 1341, 1341,
1712      1262, 1261, 1260, 1257, 1341, 1341, 1341, 1342, 1342, 1256,
1713      1342, 1342, 1342, 1343, 1255, 1343, 1343, 1343, 1344, 1344,
1714      1254, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344, 1344,
1715      1344, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345,
1716      1345, 1345, 1345, 1345, 1346, 1253, 1251, 1250, 1346, 1346,
1717      1346, 1346, 1346, 1346, 1346, 1346, 1346, 1347, 1347, 1347,
1718      1347, 1347, 1348, 1249, 1348, 1348, 1348, 1349, 1349, 1248,
1719
1720      1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349, 1349,
1721      1350, 1244, 1350, 1350, 1350, 1351, 1351, 1239, 1351, 1351,
1722      1351, 1352, 1238, 1352, 1353, 1237, 1353, 1353, 1353, 1354,
1723      1354, 1232, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354,
1724      1354, 1354, 1355, 1231, 1226, 1225, 1355, 1355, 1355, 1355,
1725      1355, 1355, 1355, 1355, 1355, 1356, 1224, 1356, 1356, 1356,
1726      1357, 1223, 1357, 1357, 1357, 1358, 1221, 1358, 1358, 1358,
1727      1359, 1220, 1359, 1359, 1359, 1360, 1219, 1360, 1360, 1360,
1728      1361, 1218, 1361, 1361, 1361, 1362, 1362, 1215, 1362, 1362,
1729      1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1363, 1363,
1730
1731      1363, 1364, 1206, 1196, 1191, 1364, 1364, 1364, 1364, 1364,
1732      1364, 1364, 1364, 1364, 1365, 1365, 1365, 1366, 1190, 1189,
1733      1188, 1187, 1366, 1366, 1366, 1367, 1186, 1367, 1367, 1367,
1734      1368, 1185, 1368, 1368, 1368, 1369, 1184, 1369, 1369, 1369,
1735      1370, 1183, 1370, 1370, 1370, 1371, 1162, 1371, 1371, 1371,
1736      1372, 1159, 1372, 1372, 1372, 1373, 1157, 1373, 1373, 1373,
1737      1374, 1156, 1374, 1374, 1374, 1375, 1375, 1375, 1376, 1376,
1738      1155, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376,
1739      1376, 1377, 1377, 1154, 1377, 1377, 1377, 1377, 1377, 1377,
1740      1377, 1377, 1377, 1377, 1378, 1153, 1378, 1378, 1378, 1379,
1741
1742      1152, 1151, 1150, 1379, 1379, 1379, 1379, 1379, 1379, 1379,
1743      1379, 1379, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380,
1744      1380, 1380, 1380, 1380, 1380, 1381, 1149, 1381, 1381, 1381,
1745      1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382, 1382,
1746      1382, 1382, 1382, 1383, 1148, 1383, 1383, 1383, 1384, 1147,
1747      1384, 1384, 1384, 1385, 1142, 1385, 1385, 1385, 1386, 1141,
1748      1386, 1386, 1386, 1387, 1121, 1387, 1387, 1387, 1388, 1116,
1749      1388, 1388, 1388, 1389, 1389, 1115, 1389, 1389, 1389, 1389,
1750      1389, 1389, 1389, 1389, 1389, 1389, 1390, 1390, 1114, 1390,
1751      1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1390, 1391,
1752
1753      1113, 1391, 1391, 1391, 1392, 1392, 1392, 1392, 1392, 1392,
1754      1392, 1392, 1392, 1392, 1392, 1392, 1392, 1393, 1393, 1393,
1755      1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393, 1393,
1756      1394, 1112, 1394, 1394, 1394, 1395, 1395, 1395, 1395, 1395,
1757      1395, 1395, 1395, 1395, 1395, 1395, 1395, 1395, 1396, 1396,
1758      1396, 1396, 1396, 1397, 1397, 1111, 1397, 1397, 1397, 1397,
1759      1397, 1397, 1397, 1397, 1397, 1397, 1398, 1398, 1110, 1398,
1760      1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1399,
1761      1399, 1105, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399,
1762      1399, 1399, 1400, 1400, 1104, 1400, 1400, 1400, 1400, 1400,
1763
1764      1400, 1400, 1400, 1400, 1400, 1401, 1401, 1401, 1401, 1401,
1765      1401, 1401, 1401, 1401, 1401, 1103, 1082, 1401, 1402, 1402,
1766      1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1081, 1077,
1767      1402, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403,
1768      1403, 1074, 1072, 1403, 1404, 1404, 1404, 1404, 1404, 1404,
1769      1404, 1404, 1404, 1404, 1071, 1070, 1404, 1405, 1405, 1405,
1770      1405, 1405, 1405, 1405, 1405, 1405, 1405, 1068, 1067, 1405,
1771      1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406,
1772      1063, 1058, 1406, 1407, 1407, 1057, 1407, 1407, 1407, 1407,
1773      1407, 1407, 1407, 1407, 1407, 1407, 1408, 1408, 1056, 1408,
1774
1775      1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1409,
1776      1409, 1055, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409,
1777      1409, 1409, 1410, 1410, 1053, 1410, 1410, 1410, 1410, 1410,
1778      1410, 1410, 1410, 1410, 1410, 1411, 1411, 1043, 1411, 1411,
1779      1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1412, 1412,
1780      1040, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412,
1781      1412, 1413, 1413, 1035, 1413, 1413, 1413, 1413, 1413, 1413,
1782      1413, 1413, 1413, 1413, 1414, 1414, 1034, 1414, 1414, 1414,
1783      1414, 1414, 1414, 1414, 1414, 1414, 1414, 1415, 1415, 1033,
1784      1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415, 1415,
1785
1786      1416, 1416, 1028, 1416, 1416, 1416, 1416, 1416, 1416, 1416,
1787      1416, 1416, 1416, 1027, 1026, 1025, 1024, 1017, 1008, 1003,
1788       998,  996,  995,  994,  993,  991,  990,  989,  988,  986,
1789       981,  980,  979,  978,  977,  961,  953,  952,  951,  950,
1790       949,  948,  944,  942,  941,  938,  937,  933,  929,  928,
1791       927,  926,  924,  923,  921,  905,  897,  896,  895,  894,
1792       893,  892,  888,  886,  884,  882,  875,  863,  862,  861,
1793       860,  858,  857,  856,  832,  831,  830,  828,  827,  826,
1794       825,  824,  823,  822,  819,  814,  813,  810,  808,  806,
1795       804,  802,  800,  797,  796,  787,  786,  785,  783,  782,
1796
1797       780,  773,  768,  767,  766,  765,  764,  761,  760,  759,
1798       758,  757,  737,  734,  731,  729,  728,  727,  726,  725,
1799       724,  721,  711,  708,  705,  704,  698,  695,  691,  689,
1800       686,  684,  667,  666,  663,  662,  661,  658,  657,  656,
1801       655,  636,  634,  631,  630,  629,  628,  625,  615,  610,
1802       609,  608,  605,  604,  599,  598,  597,  596,  558,  557,
1803       554,  553,  552,  551,  550,  549,  546,  531,  529,  526,
1804       519,  515,  508,  498,  489,  488,  485,  484,  433,  432,
1805       431,  430,  429,  427,  426,  409,  398,  395,  379,  372,
1806       361,  358,  309,  308,  307,  306,  301,  291,  272,  270,
1807
1808       265,  245,  230,  229,  204,  203,  201,  197,  195,  191,
1809       190,  189,  188,  163,  131,  125,  121,  116,  115,  111,
1810        95,   93,   84,   65,   63,   38,   27,   24,   15,   12,
1811         8,    3, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1812      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1813      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1814      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1815      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1816      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1817      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1818
1819      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1820      1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1338,
1821      1338, 1338, 1338, 1338
1822     } ;
1823
1824 /* Table of booleans, true if rule could match eol. */
1825 static yyconst flex_int32_t yy_rule_can_match_eol[200] =
1826     {   0,
1827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0,
1828     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1,
1829     1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1830     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1831     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1832     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1833     0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0,
1834     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835     0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1836     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1837         };
1838
1839 static yy_state_type yy_last_accepting_state;
1840 static char *yy_last_accepting_cpos;
1841
1842 extern int yy_flex_debug;
1843 int yy_flex_debug = 0;
1844
1845 /* The intent behind this definition is that it'll catch
1846  * any uses of REJECT which flex missed.
1847  */
1848 #define REJECT reject_used_but_not_detected
1849 #define yymore() yymore_used_but_not_detected
1850 #define YY_MORE_ADJ 0
1851 #define YY_RESTORE_YY_MORE_OFFSET
1852 char *yytext;
1853 #line 1 "vtkParse.l"
1854 #line 3 "vtkParse.l"
1855
1856 /*
1857
1858 This file must be translated to C and modified to build everywhere.
1859
1860 Run flex like this:
1861
1862   flex --nodefault -olex.yy.c vtkParse.l
1863
1864 Modify lex.yy.c:
1865   - convert tabs to spaces (8 spaces per tab)
1866   - remove extra space from end of lines
1867   - remove blank lines from end of file
1868   - replace "int yyl" with "yy_size_t yyl"
1869   - compile with gcc and "-Wsign-compare", there should be no warnings
1870
1871 */
1872
1873 /* We do not care of interactive mode */
1874 #define YY_NEVER_INTERACTIVE 1
1875
1876 /* Do not include unistd.h in generated source. */
1877 #define YY_NO_UNISTD_H
1878
1879 /* Skip declaring this function.  It is a macro.  */
1880 #define YY_SKIP_YYWRAP
1881
1882 #ifdef _WIN32
1883 #pragma warning ( disable : 4018 )
1884 #pragma warning ( disable : 4127 )
1885 #pragma warning ( disable : 4131 )
1886 #pragma warning ( disable : 4244 )
1887 #pragma warning ( disable : 4251 )
1888 #pragma warning ( disable : 4267 )
1889 #pragma warning ( disable : 4305 )
1890 #pragma warning ( disable : 4309 )
1891 #pragma warning ( disable : 4706 )
1892 #pragma warning ( disable : 4786 )
1893 #endif
1894
1895 #define SKIP_MATCH_MAXLEN 15
1896
1897 /*
1898  * Skip ahead until one of the strings is found,
1899  * then skip to the end of the line.
1900  * Return 0 if no match found.
1901  */
1902 static int skip_comment();
1903 static int skip_trailing_comment(const char *text, size_t l);
1904 static int skip_ahead_multi(const char *strings[]);
1905 static int skip_ahead_until(const char *text);
1906 static int skip_to_next_directive();
1907 static int skip_conditional_block();
1908
1909 static const char *raw_string(const char *begin);
1910
1911 static void preprocessor_directive(const char *text, size_t l);
1912 static void print_preprocessor_error(int result, const char *cp, size_t n);
1913 static const char *get_macro_arguments();
1914
1915 static void push_buffer();
1916 static int pop_buffer();
1917
1918 static void push_include(const char *filename);
1919 static void pop_include();
1920
1921 static void push_macro(MacroInfo *macro);
1922 static void pop_macro();
1923 static int in_macro();
1924
1925 #line 1922 "lex.yy.c"
1926
1927 #define INITIAL 0
1928
1929 #ifndef YY_NO_UNISTD_H
1930 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1931  * down here because we want the user's section 1 to have been scanned first.
1932  * The user has a chance to override it with an option.
1933  */
1934 #include <unistd.h>
1935 #endif
1936
1937 #ifndef YY_EXTRA_TYPE
1938 #define YY_EXTRA_TYPE void *
1939 #endif
1940
1941 static int yy_init_globals (void );
1942
1943 /* Accessor methods to globals.
1944    These are made visible to non-reentrant scanners for convenience. */
1945
1946 int yylex_destroy (void );
1947
1948 int yyget_debug (void );
1949
1950 void yyset_debug (int debug_flag  );
1951
1952 YY_EXTRA_TYPE yyget_extra (void );
1953
1954 void yyset_extra (YY_EXTRA_TYPE user_defined  );
1955
1956 FILE *yyget_in (void );
1957
1958 void yyset_in  (FILE * in_str  );
1959
1960 FILE *yyget_out (void );
1961
1962 void yyset_out  (FILE * out_str  );
1963
1964 yy_size_t yyget_leng (void );
1965
1966 char *yyget_text (void );
1967
1968 int yyget_lineno (void );
1969
1970 void yyset_lineno (int line_number  );
1971
1972 /* Macros after this point can all be overridden by user definitions in
1973  * section 1.
1974  */
1975
1976 #ifndef YY_SKIP_YYWRAP
1977 #ifdef __cplusplus
1978 extern "C" int yywrap (void );
1979 #else
1980 extern int yywrap (void );
1981 #endif
1982 #endif
1983
1984     static void yyunput (int c,char *buf_ptr  );
1985
1986 #ifndef yytext_ptr
1987 static void yy_flex_strncpy (char *,yyconst char *,int );
1988 #endif
1989
1990 #ifdef YY_NEED_STRLEN
1991 static int yy_flex_strlen (yyconst char * );
1992 #endif
1993
1994 #ifndef YY_NO_INPUT
1995
1996 #ifdef __cplusplus
1997 static int yyinput (void );
1998 #else
1999 static int input (void );
2000 #endif
2001
2002 #endif
2003
2004 /* Amount of stuff to slurp up with each read. */
2005 #ifndef YY_READ_BUF_SIZE
2006 #define YY_READ_BUF_SIZE 8192
2007 #endif
2008
2009 /* Copy whatever the last rule matched to the standard output. */
2010 #ifndef ECHO
2011 /* This used to be an fputs(), but since the string might contain NUL's,
2012  * we now use fwrite().
2013  */
2014 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
2015 #endif
2016
2017 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
2018  * is returned in "result".
2019  */
2020 #ifndef YY_INPUT
2021 #define YY_INPUT(buf,result,max_size) \
2022         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2023                 { \
2024                 int c = '*'; \
2025                 size_t n; \
2026                 for ( n = 0; n < max_size && \
2027                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2028                         buf[n] = (char) c; \
2029                 if ( c == '\n' ) \
2030                         buf[n++] = (char) c; \
2031                 if ( c == EOF && ferror( yyin ) ) \
2032                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
2033                 result = n; \
2034                 } \
2035         else \
2036                 { \
2037                 errno=0; \
2038                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
2039                         { \
2040                         if( errno != EINTR) \
2041                                 { \
2042                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2043                                 break; \
2044                                 } \
2045                         errno=0; \
2046                         clearerr(yyin); \
2047                         } \
2048                 }\
2049 \
2050
2051 #endif
2052
2053 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2054  * we don't want an extra ';' after the "return" because that will cause
2055  * some compilers to complain about unreachable statements.
2056  */
2057 #ifndef yyterminate
2058 #define yyterminate() return YY_NULL
2059 #endif
2060
2061 /* Number of entries by which start-condition stack grows. */
2062 #ifndef YY_START_STACK_INCR
2063 #define YY_START_STACK_INCR 25
2064 #endif
2065
2066 /* Report a fatal error. */
2067 #ifndef YY_FATAL_ERROR
2068 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2069 #endif
2070
2071 /* end tables serialization structures and prototypes */
2072
2073 /* Default declaration of generated scanner - a define so the user can
2074  * easily add parameters.
2075  */
2076 #ifndef YY_DECL
2077 #define YY_DECL_IS_OURS 1
2078
2079 extern int yylex (void);
2080
2081 #define YY_DECL int yylex (void)
2082 #endif /* !YY_DECL */
2083
2084 /* Code executed at the beginning of each rule, after yytext and yyleng
2085  * have been set up.
2086  */
2087 #ifndef YY_USER_ACTION
2088 #define YY_USER_ACTION
2089 #endif
2090
2091 /* Code executed at the end of each rule. */
2092 #ifndef YY_BREAK
2093 #define YY_BREAK break;
2094 #endif
2095
2096 #define YY_RULE_SETUP \
2097         if ( yyleng > 0 ) \
2098                 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2099                                 (yytext[yyleng - 1] == '\n'); \
2100         YY_USER_ACTION
2101
2102 /** The main scanner function which does all the work.
2103  */
2104 YY_DECL
2105 {
2106         yy_state_type yy_current_state;
2107         char *yy_cp, *yy_bp;
2108         int yy_act;
2109
2110 #line 79 "vtkParse.l"
2111
2112
2113 #line 2110 "lex.yy.c"
2114
2115         if ( !(yy_init) )
2116                 {
2117                 (yy_init) = 1;
2118
2119 #ifdef YY_USER_INIT
2120                 YY_USER_INIT;
2121 #endif
2122
2123                 if ( ! (yy_start) )
2124                         (yy_start) = 1;        /* first start state */
2125
2126                 if ( ! yyin )
2127                         yyin = stdin;
2128
2129                 if ( ! yyout )
2130                         yyout = stdout;
2131
2132                 if ( ! YY_CURRENT_BUFFER ) {
2133                         yyensure_buffer_stack ();
2134                         YY_CURRENT_BUFFER_LVALUE =
2135                                 yy_create_buffer(yyin,YY_BUF_SIZE );
2136                 }
2137
2138                 yy_load_buffer_state( );
2139                 }
2140
2141         while ( 1 )                /* loops until end-of-file is reached */
2142                 {
2143                 yy_cp = (yy_c_buf_p);
2144
2145                 /* Support of yytext. */
2146                 *yy_cp = (yy_hold_char);
2147
2148                 /* yy_bp points to the position in yy_ch_buf of the start of
2149                  * the current run.
2150                  */
2151                 yy_bp = yy_cp;
2152
2153                 yy_current_state = (yy_start);
2154                 yy_current_state += YY_AT_BOL();
2155 yy_match:
2156                 do
2157                         {
2158                         YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
2159                         if ( yy_accept[yy_current_state] )
2160                                 {
2161                                 (yy_last_accepting_state) = yy_current_state;
2162                                 (yy_last_accepting_cpos) = yy_cp;
2163                                 }
2164                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2165                                 {
2166                                 yy_current_state = (int) yy_def[yy_current_state];
2167                                 if ( yy_current_state >= 1339 )
2168                                         yy_c = yy_meta[(unsigned int) yy_c];
2169                                 }
2170                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2171                         ++yy_cp;
2172                         }
2173                 while ( yy_base[yy_current_state] != 4033 );
2174
2175 yy_find_action:
2176                 yy_act = yy_accept[yy_current_state];
2177                 if ( yy_act == 0 )
2178                         { /* have to back up */
2179                         yy_cp = (yy_last_accepting_cpos);
2180                         yy_current_state = (yy_last_accepting_state);
2181                         yy_act = yy_accept[yy_current_state];
2182                         }
2183
2184                 YY_DO_BEFORE_ACTION;
2185
2186                 if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
2187                         {
2188                         yy_size_t yyl;
2189                         for ( yyl = 0; yyl < yyleng; ++yyl )
2190                                 if ( yytext[yyl] == '\n' )
2191
2192     yylineno++;
2193 ;
2194                         }
2195
2196 do_action:        /* This label is used only to access EOF actions. */
2197
2198                 switch ( yy_act )
2199         { /* beginning of action switch */
2200                         case 0: /* must back up */
2201                         /* undo the effects of YY_DO_BEFORE_ACTION */
2202                         *yy_cp = (yy_hold_char);
2203                         yy_cp = (yy_last_accepting_cpos);
2204                         yy_current_state = (yy_last_accepting_state);
2205                         goto yy_find_action;
2206
2207 case 1:
2208 YY_RULE_SETUP
2209 #line 81 "vtkParse.l"
2210 { skip_comment(); }
2211         YY_BREAK
2212 case 2:
2213 YY_RULE_SETUP
2214 #line 83 "vtkParse.l"
2215 {
2216       if (!IgnoreBTX) {
2217         skip_ahead_until("//ETX");
2218       }
2219     }
2220         YY_BREAK
2221 case 3:
2222 YY_RULE_SETUP
2223 #line 89 "vtkParse.l"
2224 /* eat mismatched ETX */
2225         YY_BREAK
2226 case 4:
2227 YY_RULE_SETUP
2228 #line 91 "vtkParse.l"
2229 {
2230       skip_ahead_until("@end");
2231     }
2232         YY_BREAK
2233 case 5:
2234 YY_RULE_SETUP
2235 #line 95 "vtkParse.l"
2236 {
2237       size_t pos = 1;
2238       while (yytext[pos-1] != 'M' || yytext[pos] != 'E')
2239         {
2240         pos++;
2241         }
2242       data->NameComment = vtkstrndup(&yytext[pos + 1], yyleng - pos - 1);
2243     }
2244         YY_BREAK
2245 case 6:
2246 YY_RULE_SETUP
2247 #line 104 "vtkParse.l"
2248 { setCommentState(1); }
2249         YY_BREAK
2250 case 7:
2251 YY_RULE_SETUP
2252 #line 105 "vtkParse.l"
2253 { setCommentState(2); }
2254         YY_BREAK
2255 case 8:
2256 YY_RULE_SETUP
2257 #line 106 "vtkParse.l"
2258 { setCommentState(3); }
2259         YY_BREAK
2260 case 9:
2261 YY_RULE_SETUP
2262 #line 107 "vtkParse.l"
2263 { setCommentState(3); }
2264         YY_BREAK
2265 case 10:
2266 YY_RULE_SETUP
2267 #line 108 "vtkParse.l"
2268 { setCommentState(4); }
2269         YY_BREAK
2270 case 11:
2271 /* rule 11 can match eol */
2272 YY_RULE_SETUP
2273 #line 109 "vtkParse.l"
2274 { closeOrClearComment(); }
2275         YY_BREAK
2276 case 12:
2277 YY_RULE_SETUP
2278 #line 110 "vtkParse.l"
2279 {
2280       size_t pos = 2;
2281       while (yytext[pos-2] != '/' || yytext[pos-1] != '/') pos++;
2282       addCommentLine(&yytext[pos], yyleng - pos);
2283     }
2284         YY_BREAK
2285 case 13:
2286 YY_RULE_SETUP
2287 #line 116 "vtkParse.l"
2288 /* eat C++ comments */
2289         YY_BREAK
2290 case 14:
2291 /* rule 14 can match eol */
2292 YY_RULE_SETUP
2293 #line 118 "vtkParse.l"
2294 {
2295       skip_trailing_comment(yytext, yyleng);
2296       preprocessor_directive(yytext, yyleng);
2297    }
2298         YY_BREAK
2299 case 15:
2300 /* rule 15 can match eol */
2301 YY_RULE_SETUP
2302 #line 123 "vtkParse.l"
2303 {
2304       yylval.str = vtkstrndup(yytext, yyleng);
2305       return(STRING_LITERAL);
2306     }
2307         YY_BREAK
2308 case 16:
2309 /* rule 16 can match eol */
2310 YY_RULE_SETUP
2311 #line 128 "vtkParse.l"
2312 {
2313       yylval.str = vtkstrndup(yytext, yyleng);
2314       return(CHAR_LITERAL);
2315     }
2316         YY_BREAK
2317 case 17:
2318 YY_RULE_SETUP
2319 #line 133 "vtkParse.l"
2320 {
2321       yylval.str = raw_string(yytext);
2322       return(STRING_LITERAL);
2323     }
2324         YY_BREAK
2325 case 18:
2326 YY_RULE_SETUP
2327 #line 138 "vtkParse.l"
2328 /* ignore EXPORT macros */
2329         YY_BREAK
2330 case 19:
2331 YY_RULE_SETUP
2332 #line 140 "vtkParse.l"
2333 { /* let the wrappers see the parameter */
2334       const char *args = NULL;
2335       const char *cp;
2336       size_t l = 0;
2337       args = get_macro_arguments();
2338       if (args)
2339         {
2340         cp = args;
2341         if (*cp == '(') { cp++; }
2342         while (*cp == ' ' || *cp == '\t') { cp++; }
2343         l = vtkParse_SkipId(cp);
2344         if (l)
2345           {
2346           yylval.str = vtkstrndup(cp, l);
2347           free((char *)args);
2348           return(ID);
2349           }
2350         free((char *)args);
2351         }
2352     }
2353         YY_BREAK
2354 case 20:
2355 YY_RULE_SETUP
2356 #line 161 "vtkParse.l"
2357 return(AUTO);
2358         YY_BREAK
2359 case 21:
2360 YY_RULE_SETUP
2361 #line 163 "vtkParse.l"
2362 return(DOUBLE);
2363         YY_BREAK
2364 case 22:
2365 YY_RULE_SETUP
2366 #line 164 "vtkParse.l"
2367 return(FLOAT);
2368         YY_BREAK
2369 case 23:
2370 YY_RULE_SETUP
2371 #line 165 "vtkParse.l"
2372 return(INT64__);
2373         YY_BREAK
2374 case 24:
2375 YY_RULE_SETUP
2376 #line 166 "vtkParse.l"
2377 return(SHORT);
2378         YY_BREAK
2379 case 25:
2380 YY_RULE_SETUP
2381 #line 167 "vtkParse.l"
2382 return(LONG);
2383         YY_BREAK
2384 case 26:
2385 YY_RULE_SETUP
2386 #line 168 "vtkParse.l"
2387 return(CHAR);
2388         YY_BREAK
2389 case 27:
2390 YY_RULE_SETUP
2391 #line 169 "vtkParse.l"
2392 return(INT);
2393         YY_BREAK
2394 case 28:
2395 YY_RULE_SETUP
2396 #line 171 "vtkParse.l"
2397 return(UNSIGNED);
2398         YY_BREAK
2399 case 29:
2400 YY_RULE_SETUP
2401 #line 172 "vtkParse.l"
2402 return(SIGNED);
2403         YY_BREAK
2404 case 30:
2405 YY_RULE_SETUP
2406 #line 174 "vtkParse.l"
2407 return(VOID);
2408         YY_BREAK
2409 case 31:
2410 YY_RULE_SETUP
2411 #line 175 "vtkParse.l"
2412 return(BOOL);
2413         YY_BREAK
2414 case 32:
2415 YY_RULE_SETUP
2416 #line 177 "vtkParse.l"
2417 return(CHAR16_T);
2418         YY_BREAK
2419 case 33:
2420 YY_RULE_SETUP
2421 #line 178 "vtkParse.l"
2422 return(CHAR32_T);
2423         YY_BREAK
2424 case 34:
2425 YY_RULE_SETUP
2426 #line 179 "vtkParse.l"
2427 return(WCHAR_T);
2428         YY_BREAK
2429 case 35:
2430 /* rule 35 can match eol */
2431 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2432 (yy_c_buf_p) = yy_cp -= 1;
2433 YY_DO_BEFORE_ACTION; /* set up yytext again */
2434 YY_RULE_SETUP
2435 #line 181 "vtkParse.l"
2436 {
2437       yylval.str = (yytext[3] == ':' ? "std::size_t" : "size_t");
2438       return(SIZE_T);
2439     }
2440         YY_BREAK
2441 case 36:
2442 /* rule 36 can match eol */
2443 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2444 (yy_c_buf_p) = yy_cp -= 1;
2445 YY_DO_BEFORE_ACTION; /* set up yytext again */
2446 YY_RULE_SETUP
2447 #line 186 "vtkParse.l"
2448 {
2449       yylval.str = (yytext[3] == ':' ? "std::ssize_t" : "ssize_t");
2450       return(SSIZE_T);
2451     }
2452         YY_BREAK
2453 case 37:
2454 /* rule 37 can match eol */
2455 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2456 (yy_c_buf_p) = yy_cp -= 1;
2457 YY_DO_BEFORE_ACTION; /* set up yytext again */
2458 YY_RULE_SETUP
2459 #line 191 "vtkParse.l"
2460 {
2461       yylval.str = (yytext[3] == ':' ? "std::nullptr_t" : "nullptr_t");
2462       return(NULLPTR_T);
2463     }
2464         YY_BREAK
2465 case 38:
2466 YY_RULE_SETUP
2467 #line 196 "vtkParse.l"
2468 /* ignore the Q_OBJECT macro from Qt */
2469         YY_BREAK
2470 case 39:
2471 /* rule 39 can match eol */
2472 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2473 (yy_c_buf_p) = yy_cp -= 1;
2474 YY_DO_BEFORE_ACTION; /* set up yytext again */
2475 YY_RULE_SETUP
2476 #line 197 "vtkParse.l"
2477 return(PUBLIC);
2478         YY_BREAK
2479 case 40:
2480 /* rule 40 can match eol */
2481 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2482 (yy_c_buf_p) = yy_cp -= 1;
2483 YY_DO_BEFORE_ACTION; /* set up yytext again */
2484 YY_RULE_SETUP
2485 #line 198 "vtkParse.l"
2486 return(PRIVATE);
2487         YY_BREAK
2488 case 41:
2489 /* rule 41 can match eol */
2490 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2491 (yy_c_buf_p) = yy_cp -= 1;
2492 YY_DO_BEFORE_ACTION; /* set up yytext again */
2493 YY_RULE_SETUP
2494 #line 199 "vtkParse.l"
2495 return(PROTECTED);
2496         YY_BREAK
2497 case 42:
2498 /* rule 42 can match eol */
2499 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2500 (yy_c_buf_p) = yy_cp -= 1;
2501 YY_DO_BEFORE_ACTION; /* set up yytext again */
2502 YY_RULE_SETUP
2503 #line 200 "vtkParse.l"
2504 return(PROTECTED);
2505         YY_BREAK
2506 case 43:
2507 YY_RULE_SETUP
2508 #line 202 "vtkParse.l"
2509 return(CLASS);
2510         YY_BREAK
2511 case 44:
2512 YY_RULE_SETUP
2513 #line 203 "vtkParse.l"
2514 return(STRUCT);
2515         YY_BREAK
2516 case 45:
2517 YY_RULE_SETUP
2518 #line 204 "vtkParse.l"
2519 return(PUBLIC);
2520         YY_BREAK
2521 case 46:
2522 YY_RULE_SETUP
2523 #line 205 "vtkParse.l"
2524 return(PRIVATE);
2525         YY_BREAK
2526 case 47:
2527 YY_RULE_SETUP
2528 #line 206 "vtkParse.l"
2529 return(PROTECTED);
2530         YY_BREAK
2531 case 48:
2532 YY_RULE_SETUP
2533 #line 207 "vtkParse.l"
2534 return(ENUM);
2535         YY_BREAK
2536 case 49:
2537 YY_RULE_SETUP
2538 #line 208 "vtkParse.l"
2539 return(UNION);
2540         YY_BREAK
2541 case 50:
2542 YY_RULE_SETUP
2543 #line 209 "vtkParse.l"
2544 return(VIRTUAL);
2545         YY_BREAK
2546 case 51:
2547 YY_RULE_SETUP
2548 #line 210 "vtkParse.l"
2549 return(CONST);
2550         YY_BREAK
2551 case 52:
2552 YY_RULE_SETUP
2553 #line 211 "vtkParse.l"
2554 return(VOLATILE);
2555         YY_BREAK
2556 case 53:
2557 YY_RULE_SETUP
2558 #line 212 "vtkParse.l"
2559 return(MUTABLE);
2560         YY_BREAK
2561 case 54:
2562 YY_RULE_SETUP
2563 #line 213 "vtkParse.l"
2564 return(OPERATOR);
2565         YY_BREAK
2566 case 55:
2567 YY_RULE_SETUP
2568 #line 214 "vtkParse.l"
2569 return(FRIEND);
2570         YY_BREAK
2571 case 56:
2572 YY_RULE_SETUP
2573 #line 215 "vtkParse.l"
2574 return(INLINE);
2575         YY_BREAK
2576 case 57:
2577 YY_RULE_SETUP
2578 #line 216 "vtkParse.l"
2579 return(CONSTEXPR);
2580         YY_BREAK
2581 case 58:
2582 YY_RULE_SETUP
2583 #line 217 "vtkParse.l"
2584 return(STATIC);
2585         YY_BREAK
2586 case 59:
2587 YY_RULE_SETUP
2588 #line 218 "vtkParse.l"
2589 return(THREAD_LOCAL);
2590         YY_BREAK
2591 case 60:
2592 YY_RULE_SETUP
2593 #line 219 "vtkParse.l"
2594 return(EXTERN);
2595         YY_BREAK
2596 case 61:
2597 YY_RULE_SETUP
2598 #line 220 "vtkParse.l"
2599 return(TEMPLATE);
2600         YY_BREAK
2601 case 62:
2602 YY_RULE_SETUP
2603 #line 221 "vtkParse.l"
2604 return(TYPENAME);
2605         YY_BREAK
2606 case 63:
2607 YY_RULE_SETUP
2608 #line 222 "vtkParse.l"
2609 return(TYPEDEF);
2610         YY_BREAK
2611 case 64:
2612 YY_RULE_SETUP
2613 #line 223 "vtkParse.l"
2614 return(NAMESPACE);
2615         YY_BREAK
2616 case 65:
2617 YY_RULE_SETUP
2618 #line 224 "vtkParse.l"
2619 return(USING);
2620         YY_BREAK
2621 case 66:
2622 YY_RULE_SETUP
2623 #line 225 "vtkParse.l"
2624 return(NEW);
2625         YY_BREAK
2626 case 67:
2627 YY_RULE_SETUP
2628 #line 226 "vtkParse.l"
2629 return(DELETE);
2630         YY_BREAK
2631 case 68:
2632 YY_RULE_SETUP
2633 #line 227 "vtkParse.l"
2634 return(EXPLICIT);
2635         YY_BREAK
2636 case 69:
2637 YY_RULE_SETUP
2638 #line 228 "vtkParse.l"
2639 return(THROW);
2640         YY_BREAK
2641 case 70:
2642 YY_RULE_SETUP
2643 #line 229 "vtkParse.l"
2644 return(TRY);
2645         YY_BREAK
2646 case 71:
2647 YY_RULE_SETUP
2648 #line 230 "vtkParse.l"
2649 return(CATCH);
2650         YY_BREAK
2651 case 72:
2652 YY_RULE_SETUP
2653 #line 231 "vtkParse.l"
2654 return(NOEXCEPT);
2655         YY_BREAK
2656 case 73:
2657 YY_RULE_SETUP
2658 #line 232 "vtkParse.l"
2659 return(DECLTYPE);
2660         YY_BREAK
2661 case 74:
2662 YY_RULE_SETUP
2663 #line 233 "vtkParse.l"
2664 return(DEFAULT);
2665         YY_BREAK
2666 case 75:
2667 YY_RULE_SETUP
2668 #line 235 "vtkParse.l"
2669 return(STATIC_CAST);
2670         YY_BREAK
2671 case 76:
2672 YY_RULE_SETUP
2673 #line 236 "vtkParse.l"
2674 return(DYNAMIC_CAST);
2675         YY_BREAK
2676 case 77:
2677 YY_RULE_SETUP
2678 #line 237 "vtkParse.l"
2679 return(CONST_CAST);
2680         YY_BREAK
2681 case 78:
2682 YY_RULE_SETUP
2683 #line 238 "vtkParse.l"
2684 return(REINTERPRET_CAST);
2685         YY_BREAK
2686 case 79:
2687 YY_RULE_SETUP
2688 #line 240 "vtkParse.l"
2689 /* irrelevant to wrappers */
2690         YY_BREAK
2691 case 80:
2692 YY_RULE_SETUP
2693 #line 242 "vtkParse.l"
2694 return(OP_LOGIC_AND);
2695         YY_BREAK
2696 case 81:
2697 YY_RULE_SETUP
2698 #line 243 "vtkParse.l"
2699 return(OP_AND_EQ);
2700         YY_BREAK
2701 case 82:
2702 YY_RULE_SETUP
2703 #line 244 "vtkParse.l"
2704 return(OP_LOGIC_OR);
2705         YY_BREAK
2706 case 83:
2707 YY_RULE_SETUP
2708 #line 245 "vtkParse.l"
2709 return(OP_OR_EQ);
2710         YY_BREAK
2711 case 84:
2712 YY_RULE_SETUP
2713 #line 246 "vtkParse.l"
2714 return('!');
2715         YY_BREAK
2716 case 85:
2717 YY_RULE_SETUP
2718 #line 247 "vtkParse.l"
2719 return(OP_LOGIC_NEQ);
2720         YY_BREAK
2721 case 86:
2722 YY_RULE_SETUP
2723 #line 248 "vtkParse.l"
2724 return('^');
2725         YY_BREAK
2726 case 87:
2727 YY_RULE_SETUP
2728 #line 249 "vtkParse.l"
2729 return(OP_XOR_EQ);
2730         YY_BREAK
2731 case 88:
2732 YY_RULE_SETUP
2733 #line 250 "vtkParse.l"
2734 return('&');
2735         YY_BREAK
2736 case 89:
2737 YY_RULE_SETUP
2738 #line 251 "vtkParse.l"
2739 return('|');
2740         YY_BREAK
2741 case 90:
2742 YY_RULE_SETUP
2743 #line 252 "vtkParse.l"
2744 return('~');
2745         YY_BREAK
2746 case 91:
2747 YY_RULE_SETUP
2748 #line 254 "vtkParse.l"
2749 return(IdType);
2750         YY_BREAK
2751 case 92:
2752 YY_RULE_SETUP
2753 #line 255 "vtkParse.l"
2754 return(SetMacro);
2755         YY_BREAK
2756 case 93:
2757 YY_RULE_SETUP
2758 #line 256 "vtkParse.l"
2759 return(GetMacro);
2760         YY_BREAK
2761 case 94:
2762 YY_RULE_SETUP
2763 #line 257 "vtkParse.l"
2764 return(SetStringMacro);
2765         YY_BREAK
2766 case 95:
2767 YY_RULE_SETUP
2768 #line 258 "vtkParse.l"
2769 return(GetStringMacro);
2770         YY_BREAK
2771 case 96:
2772 YY_RULE_SETUP
2773 #line 259 "vtkParse.l"
2774 return(SetClampMacro);
2775         YY_BREAK
2776 case 97:
2777 YY_RULE_SETUP
2778 #line 260 "vtkParse.l"
2779 return(SetObjectMacro);
2780         YY_BREAK
2781 case 98:
2782 YY_RULE_SETUP
2783 #line 261 "vtkParse.l"
2784 return(GetObjectMacro);
2785         YY_BREAK
2786 case 99:
2787 YY_RULE_SETUP
2788 #line 262 "vtkParse.l"
2789 return(BooleanMacro);
2790         YY_BREAK
2791 case 100:
2792 YY_RULE_SETUP
2793 #line 263 "vtkParse.l"
2794 return(SetVector2Macro);
2795         YY_BREAK
2796 case 101:
2797 YY_RULE_SETUP
2798 #line 264 "vtkParse.l"
2799 return(SetVector3Macro);
2800         YY_BREAK
2801 case 102:
2802 YY_RULE_SETUP
2803 #line 265 "vtkParse.l"
2804 return(SetVector4Macro);
2805         YY_BREAK
2806 case 103:
2807 YY_RULE_SETUP
2808 #line 266 "vtkParse.l"
2809 return(SetVector6Macro);
2810         YY_BREAK
2811 case 104:
2812 YY_RULE_SETUP
2813 #line 267 "vtkParse.l"
2814 return(GetVector2Macro);
2815         YY_BREAK
2816 case 105:
2817 YY_RULE_SETUP
2818 #line 268 "vtkParse.l"
2819 return(GetVector3Macro);
2820         YY_BREAK
2821 case 106:
2822 YY_RULE_SETUP
2823 #line 269 "vtkParse.l"
2824 return(GetVector4Macro);
2825         YY_BREAK
2826 case 107:
2827 YY_RULE_SETUP
2828 #line 270 "vtkParse.l"
2829 return(GetVector6Macro);
2830         YY_BREAK
2831 case 108:
2832 YY_RULE_SETUP
2833 #line 271 "vtkParse.l"
2834 return(SetVectorMacro);
2835         YY_BREAK
2836 case 109:
2837 YY_RULE_SETUP
2838 #line 272 "vtkParse.l"
2839 return(GetVectorMacro);
2840         YY_BREAK
2841 case 110:
2842 YY_RULE_SETUP
2843 #line 273 "vtkParse.l"
2844 return(ViewportCoordinateMacro);
2845         YY_BREAK
2846 case 111:
2847 YY_RULE_SETUP
2848 #line 274 "vtkParse.l"
2849 return(WorldCoordinateMacro);
2850         YY_BREAK
2851 case 112:
2852 YY_RULE_SETUP
2853 #line 275 "vtkParse.l"
2854 return(TypeMacro);
2855         YY_BREAK
2856 case 113:
2857 YY_RULE_SETUP
2858 #line 276 "vtkParse.l"
2859 return(TypeMacro);
2860         YY_BREAK
2861 case 114:
2862 YY_RULE_SETUP
2863 #line 277 "vtkParse.l"
2864 return(TypeMacro);
2865         YY_BREAK
2866 case 115:
2867 YY_RULE_SETUP
2868 #line 278 "vtkParse.l"
2869 return(TypeMacro);
2870         YY_BREAK
2871 case 116:
2872 YY_RULE_SETUP
2873 #line 279 "vtkParse.l"
2874 ;
2875         YY_BREAK
2876 case 117:
2877 YY_RULE_SETUP
2878 #line 280 "vtkParse.l"
2879 return(VTK_BYTE_SWAP_DECL);
2880         YY_BREAK
2881 case 118:
2882 YY_RULE_SETUP
2883 #line 281 "vtkParse.l"
2884 return(TypeInt8);
2885         YY_BREAK
2886 case 119:
2887 YY_RULE_SETUP
2888 #line 282 "vtkParse.l"
2889 return(TypeUInt8);
2890         YY_BREAK
2891 case 120:
2892 YY_RULE_SETUP
2893 #line 283 "vtkParse.l"
2894 return(TypeInt16);
2895         YY_BREAK
2896 case 121:
2897 YY_RULE_SETUP
2898 #line 284 "vtkParse.l"
2899 return(TypeUInt16);
2900         YY_BREAK
2901 case 122:
2902 YY_RULE_SETUP
2903 #line 285 "vtkParse.l"
2904 return(TypeInt32);
2905         YY_BREAK
2906 case 123:
2907 YY_RULE_SETUP
2908 #line 286 "vtkParse.l"
2909 return(TypeUInt32);
2910         YY_BREAK
2911 case 124:
2912 YY_RULE_SETUP
2913 #line 287 "vtkParse.l"
2914 return(TypeInt64);
2915         YY_BREAK
2916 case 125:
2917 YY_RULE_SETUP
2918 #line 288 "vtkParse.l"
2919 return(TypeUInt64);
2920         YY_BREAK
2921 case 126:
2922 YY_RULE_SETUP
2923 #line 289 "vtkParse.l"
2924 return(TypeFloat32);
2925         YY_BREAK
2926 case 127:
2927 YY_RULE_SETUP
2928 #line 290 "vtkParse.l"
2929 return(TypeFloat64);
2930         YY_BREAK
2931 case 128:
2932 /* rule 128 can match eol */
2933 YY_RULE_SETUP
2934 #line 292 "vtkParse.l"
2935 {
2936       size_t i = 1;
2937       size_t j;
2938       while (yytext[i]==' ' || yytext[i]=='\t' ||
2939              yytext[i]=='\r' || yytext[i]=='\n') { i++; }
2940       j = i;
2941       while (yytext[j]!='&') { j++; }
2942       yylval.str = vtkstrndup(&yytext[i], j-i);
2943       return(LA);
2944     }
2945         YY_BREAK
2946 case 129:
2947 /* rule 129 can match eol */
2948 YY_RULE_SETUP
2949 #line 303 "vtkParse.l"
2950 {
2951       size_t i = 1;
2952       size_t j;
2953       while (yytext[i]==' ' || yytext[i]=='\t' ||
2954              yytext[i]=='\r' || yytext[i]=='\n') { i++; }
2955       j = i;
2956       while (yytext[j]!='*') { j++; }
2957       yylval.str = vtkstrndup(&yytext[i], j-i);
2958       return(LP);
2959     }
2960         YY_BREAK
2961 case 130:
2962 /* rule 130 can match eol */
2963 YY_RULE_SETUP
2964 #line 314 "vtkParse.l"
2965 {
2966       yylval.str = "";
2967       return(LP);
2968     }
2969         YY_BREAK
2970 case 131:
2971 /* rule 131 can match eol */
2972 YY_RULE_SETUP
2973 #line 319 "vtkParse.l"
2974 {
2975       yylval.str = "";
2976       return(LP);
2977     }
2978         YY_BREAK
2979 case 132:
2980 /* rule 132 can match eol */
2981 YY_RULE_SETUP
2982 #line 324 "vtkParse.l"
2983 {
2984       yylval.str = "";
2985       return(LP);
2986     }
2987         YY_BREAK
2988 case 133:
2989 YY_RULE_SETUP
2990 #line 329 "vtkParse.l"
2991 return('*');
2992         YY_BREAK
2993 case 134:
2994 YY_RULE_SETUP
2995 #line 331 "vtkParse.l"
2996 /* misc unused win32 macros */
2997         YY_BREAK
2998 case 135:
2999 /* rule 135 can match eol */
3000 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3001 (yy_c_buf_p) = yy_cp -= 1;
3002 YY_DO_BEFORE_ACTION; /* set up yytext again */
3003 YY_RULE_SETUP
3004 #line 333 "vtkParse.l"
3005 {
3006       yylval.str = vtkstrndup(yytext, yyleng);
3007       return(OSTREAM);
3008     }
3009         YY_BREAK
3010 case 136:
3011 /* rule 136 can match eol */
3012 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3013 (yy_c_buf_p) = yy_cp -= 1;
3014 YY_DO_BEFORE_ACTION; /* set up yytext again */
3015 YY_RULE_SETUP
3016 #line 338 "vtkParse.l"
3017 {
3018       yylval.str = vtkstrndup(yytext, yyleng);
3019       return(ISTREAM);
3020     }
3021         YY_BREAK
3022 case 137:
3023 /* rule 137 can match eol */
3024 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3025 (yy_c_buf_p) = yy_cp -= 1;
3026 YY_DO_BEFORE_ACTION; /* set up yytext again */
3027 YY_RULE_SETUP
3028 #line 343 "vtkParse.l"
3029 {
3030       yylval.str = vtkstrndup(yytext, yyleng);
3031       return(StdString);
3032     }
3033         YY_BREAK
3034 case 138:
3035 YY_RULE_SETUP
3036 #line 348 "vtkParse.l"
3037 {
3038       yylval.str = vtkstrndup(yytext, yyleng);
3039       return(StdString);
3040     }
3041         YY_BREAK
3042 case 139:
3043 YY_RULE_SETUP
3044 #line 353 "vtkParse.l"
3045 {
3046       yylval.str = vtkstrndup(yytext, yyleng);
3047       return(UnicodeString);
3048     }
3049         YY_BREAK
3050 case 140:
3051 YY_RULE_SETUP
3052 #line 358 "vtkParse.l"
3053 {
3054       yylval.str = vtkstrndup(yytext, yyleng);
3055       return(QT_ID);
3056     }
3057         YY_BREAK
3058 case 141:
3059 YY_RULE_SETUP
3060 #line 363 "vtkParse.l"
3061 get_macro_arguments(); /* C++11 */
3062         YY_BREAK
3063 case 142:
3064 YY_RULE_SETUP
3065 #line 365 "vtkParse.l"
3066 get_macro_arguments(); /* C++11 */
3067         YY_BREAK
3068 case 143:
3069 YY_RULE_SETUP
3070 #line 367 "vtkParse.l"
3071 get_macro_arguments(); /* C11 */
3072         YY_BREAK
3073 case 144:
3074 YY_RULE_SETUP
3075 #line 369 "vtkParse.l"
3076 get_macro_arguments(); /* C11 */
3077         YY_BREAK
3078 case 145:
3079 YY_RULE_SETUP
3080 #line 371 "vtkParse.l"
3081 return(THREAD_LOCAL); /* C11 */
3082         YY_BREAK
3083 case 146:
3084 YY_RULE_SETUP
3085 #line 373 "vtkParse.l"
3086 /* C11 */
3087         YY_BREAK
3088 case 147:
3089 YY_RULE_SETUP
3090 #line 375 "vtkParse.l"
3091 /* C11 */
3092         YY_BREAK
3093 case 148:
3094 YY_RULE_SETUP
3095 #line 377 "vtkParse.l"
3096 get_macro_arguments(); /* gcc attributes */
3097         YY_BREAK
3098 case 149:
3099 YY_RULE_SETUP
3100 #line 379 "vtkParse.l"
3101 get_macro_arguments(); /* Windows linkage */
3102         YY_BREAK
3103 case 150:
3104 YY_RULE_SETUP
3105 #line 381 "vtkParse.l"
3106 /* Windows */
3107         YY_BREAK
3108 case 151:
3109 YY_RULE_SETUP
3110 #line 383 "vtkParse.l"
3111 {
3112       const char *args = get_macro_arguments();
3113       if (args && args[0] != '\0' && args[1] != '\0')
3114         {
3115         size_t l = strlen(args);
3116         push_macro(NULL);
3117         push_buffer();
3118         macroName = "VTK_LEGACY";
3119         macroUsed = 0;
3120         macroEnded = 0;
3121         yy_switch_to_buffer(yy_scan_bytes(&args[1],l-2));
3122         }
3123       free((char *)args);
3124     }
3125         YY_BREAK
3126 case 152:
3127 YY_RULE_SETUP
3128 #line 398 "vtkParse.l"
3129 {
3130       yylval.str = vtkstrndup(yytext, yyleng);
3131       return(NULLPTR);
3132     }
3133         YY_BREAK
3134 case 153:
3135 YY_RULE_SETUP
3136 #line 403 "vtkParse.l"
3137 {
3138       const char *name = vtkstrndup(yytext, yyleng);
3139       MacroInfo *macro = vtkParsePreprocess_GetMacro(preprocessor, name);
3140       int expanded = 0;
3141       if (macro)
3142         {
3143         const char *args = NULL;
3144         const char *emacro = NULL;
3145
3146         /* make sure that vtkNotUsed is never expanded */
3147         MacroInfo *ex;
3148         ex = vtkParsePreprocess_GetMacro(preprocessor, "vtkNotUsed");
3149         if (ex)
3150           {
3151           ex->IsExcluded = 1;
3152           }
3153
3154         if (macro->IsFunction)
3155           {
3156           args = get_macro_arguments();
3157           if (args)
3158             {
3159             emacro = vtkParsePreprocess_ExpandMacro(preprocessor, macro, args);
3160             if (!emacro)
3161               {
3162               print_preprocessor_error(VTK_PARSE_MACRO_NUMARGS, NULL, 0);
3163               exit(1);
3164               }
3165             free((char *)args);
3166             }
3167           }
3168         else if (macro->Definition && macro->Definition[0])
3169           {
3170           /* first see if macro evaluates to a constant value */
3171           preproc_int_t val;
3172           int is_unsigned;
3173           int r;
3174           macro->IsExcluded = 1;
3175           r = vtkParsePreprocess_EvaluateExpression(
3176              preprocessor, macro->Definition, &val, &is_unsigned);
3177           macro->IsExcluded = 0;
3178           /* if it isn't a constant expression, then expand it */
3179           if (r >= VTK_PARSE_MACRO_UNDEFINED)
3180             {
3181             emacro = vtkParsePreprocess_ExpandMacro(preprocessor, macro, NULL);
3182             if (!emacro)
3183               {
3184               print_preprocessor_error(r, NULL, 0);
3185               exit(1);
3186               }
3187             }
3188           }
3189         else
3190           {
3191           /* macros with no definition expand to nothing */
3192           expanded = 1;
3193           }
3194         if (emacro)
3195           {
3196           /* invoke the parser on any expanded macros */
3197           push_macro(macro);
3198           push_buffer();
3199           yy_switch_to_buffer(yy_scan_string(emacro));
3200           vtkParsePreprocess_FreeMacroExpansion(preprocessor, macro, emacro);
3201           expanded = 1;
3202           }
3203         }
3204       if (!expanded)
3205         {
3206         /* if no macro expansion occurred, return the ID */
3207         yylval.str = name;
3208         if (yyleng > 3 && name[0] == 'v' && name[1] == 't' && name[2] == 'k')
3209           {
3210           return(VTK_ID);
3211           }
3212         else if (name[0] == 'Q')
3213           {
3214           return(QT_ID);
3215           }
3216         else
3217           {
3218           return(ID);
3219           }
3220         }
3221     }
3222         YY_BREAK
3223 case 154:
3224 YY_RULE_SETUP
3225 #line 489 "vtkParse.l"
3226 {
3227       yylval.str = vtkstrndup(yytext, yyleng);
3228       return(FLOAT_LITERAL);
3229     }
3230         YY_BREAK
3231 case 155:
3232 YY_RULE_SETUP
3233 #line 494 "vtkParse.l"
3234 {
3235       yylval.str = vtkstrndup(yytext, yyleng);
3236       return(FLOAT_LITERAL);
3237     }
3238         YY_BREAK
3239 case 156:
3240 YY_RULE_SETUP
3241 #line 499 "vtkParse.l"
3242 {
3243       yylval.str = vtkstrndup(yytext, yyleng);
3244       return(FLOAT_LITERAL);
3245     }
3246         YY_BREAK
3247 case 157:
3248 YY_RULE_SETUP
3249 #line 504 "vtkParse.l"
3250 {
3251       yylval.str = vtkstrndup(yytext, yyleng);
3252       return(HEX_LITERAL);
3253     }
3254         YY_BREAK
3255 case 158:
3256 YY_RULE_SETUP
3257 #line 509 "vtkParse.l"
3258 {
3259       yylval.str = vtkstrndup(yytext, yyleng);
3260       return(OCT_LITERAL);
3261     }
3262         YY_BREAK
3263 case 159:
3264 YY_RULE_SETUP
3265 #line 514 "vtkParse.l"
3266 {
3267       yylval.str = vtkstrndup(yytext, yyleng);
3268       return(INT_LITERAL);
3269     }
3270         YY_BREAK
3271 case 160:
3272 YY_RULE_SETUP
3273 #line 519 "vtkParse.l"
3274 {
3275       yylval.str = vtkstrndup(yytext, yyleng);
3276       return(ZERO);
3277     }
3278         YY_BREAK
3279 case 161:
3280 /* rule 161 can match eol */
3281 YY_RULE_SETUP
3282 #line 524 "vtkParse.l"
3283 /* escaped newlines */
3284         YY_BREAK
3285 case 162:
3286 YY_RULE_SETUP
3287 #line 525 "vtkParse.l"
3288 /* whitespace */
3289         YY_BREAK
3290 case 163:
3291 /* rule 163 can match eol */
3292 YY_RULE_SETUP
3293 #line 526 "vtkParse.l"
3294 /* whitespace */
3295         YY_BREAK
3296 case 164:
3297 /* rule 164 can match eol */
3298 YY_RULE_SETUP
3299 #line 528 "vtkParse.l"
3300 return(BEGIN_ATTRIB);
3301         YY_BREAK
3302 case 165:
3303 YY_RULE_SETUP
3304 #line 530 "vtkParse.l"
3305 return('{');
3306         YY_BREAK
3307 case 166:
3308 YY_RULE_SETUP
3309 #line 531 "vtkParse.l"
3310 return('}');
3311         YY_BREAK
3312 case 167:
3313 YY_RULE_SETUP
3314 #line 532 "vtkParse.l"
3315 return('[');
3316         YY_BREAK
3317 case 168:
3318 YY_RULE_SETUP
3319 #line 533 "vtkParse.l"
3320 return(']');
3321         YY_BREAK
3322 case 169:
3323 YY_RULE_SETUP
3324 #line 534 "vtkParse.l"
3325 return('#');
3326         YY_BREAK
3327 case 170:
3328 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3329 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3330 YY_DO_BEFORE_ACTION; /* set up yytext again */
3331 YY_RULE_SETUP
3332 #line 536 "vtkParse.l"
3333 return(OP_RSHIFT_A);
3334         YY_BREAK
3335 case 171:
3336 YY_RULE_SETUP
3337 #line 538 "vtkParse.l"
3338 return(OP_LSHIFT_EQ);
3339         YY_BREAK
3340 case 172:
3341 YY_RULE_SETUP
3342 #line 539 "vtkParse.l"
3343 return(OP_RSHIFT_EQ);
3344         YY_BREAK
3345 case 173:
3346 YY_RULE_SETUP
3347 #line 540 "vtkParse.l"
3348 return(OP_LSHIFT);
3349         YY_BREAK
3350 case 174:
3351 YY_RULE_SETUP
3352 #line 541 "vtkParse.l"
3353 return(OP_DOT_POINTER);
3354         YY_BREAK
3355 case 175:
3356 YY_RULE_SETUP
3357 #line 542 "vtkParse.l"
3358 return(OP_ARROW_POINTER);
3359         YY_BREAK
3360 case 176:
3361 YY_RULE_SETUP
3362 #line 543 "vtkParse.l"
3363 return(OP_ARROW);
3364         YY_BREAK
3365 case 177:
3366 YY_RULE_SETUP
3367 #line 544 "vtkParse.l"
3368 return(OP_INCR);
3369         YY_BREAK
3370 case 178:
3371 YY_RULE_SETUP
3372 #line 545 "vtkParse.l"
3373 return(OP_DECR);
3374         YY_BREAK
3375 case 179:
3376 YY_RULE_SETUP
3377 #line 546 "vtkParse.l"
3378 return(OP_PLUS_EQ);
3379         YY_BREAK
3380 case 180:
3381 YY_RULE_SETUP
3382 #line 547 "vtkParse.l"
3383 return(OP_MINUS_EQ);
3384         YY_BREAK
3385 case 181:
3386 YY_RULE_SETUP
3387 #line 548 "vtkParse.l"
3388 return(OP_TIMES_EQ);
3389         YY_BREAK
3390 case 182:
3391 YY_RULE_SETUP
3392 #line 549 "vtkParse.l"
3393 return(OP_DIVIDE_EQ);
3394         YY_BREAK
3395 case 183:
3396 YY_RULE_SETUP
3397 #line 550 "vtkParse.l"
3398 return(OP_REMAINDER_EQ);
3399         YY_BREAK
3400 case 184:
3401 YY_RULE_SETUP
3402 #line 551 "vtkParse.l"
3403 return(OP_AND_EQ);
3404         YY_BREAK
3405 case 185:
3406 YY_RULE_SETUP
3407 #line 552 "vtkParse.l"
3408 return(OP_OR_EQ);
3409         YY_BREAK
3410 case 186:
3411 YY_RULE_SETUP
3412 #line 553 "vtkParse.l"
3413 return(OP_XOR_EQ);
3414         YY_BREAK
3415 case 187:
3416 YY_RULE_SETUP
3417 #line 554 "vtkParse.l"
3418 return(OP_LOGIC_AND);
3419         YY_BREAK
3420 case 188:
3421 YY_RULE_SETUP
3422 #line 555 "vtkParse.l"
3423 return(OP_LOGIC_OR);
3424         YY_BREAK
3425 case 189:
3426 YY_RULE_SETUP
3427 #line 556 "vtkParse.l"
3428 return(OP_LOGIC_EQ);
3429         YY_BREAK
3430 case 190:
3431 YY_RULE_SETUP
3432 #line 557 "vtkParse.l"
3433 return(OP_LOGIC_NEQ);
3434         YY_BREAK
3435 case 191:
3436 YY_RULE_SETUP
3437 #line 558 "vtkParse.l"
3438 return(OP_LOGIC_LEQ);
3439         YY_BREAK
3440 case 192:
3441 YY_RULE_SETUP
3442 #line 559 "vtkParse.l"
3443 return(OP_LOGIC_GEQ);
3444         YY_BREAK
3445 case 193:
3446 YY_RULE_SETUP
3447 #line 560 "vtkParse.l"
3448 return(ELLIPSIS);
3449         YY_BREAK
3450 case 194:
3451 YY_RULE_SETUP
3452 #line 561 "vtkParse.l"
3453 return(DOUBLE_COLON);
3454         YY_BREAK
3455 case 195:
3456 YY_RULE_SETUP
3457 #line 563 "vtkParse.l"
3458 return('[');
3459         YY_BREAK
3460 case 196:
3461 YY_RULE_SETUP
3462 #line 564 "vtkParse.l"
3463 return(']');
3464         YY_BREAK
3465 case 197:
3466 YY_RULE_SETUP
3467 #line 566 "vtkParse.l"
3468 return(yytext[0]);
3469         YY_BREAK
3470 case YY_STATE_EOF(INITIAL):
3471 #line 568 "vtkParse.l"
3472 { if (!pop_buffer()) { yyterminate(); } }
3473         YY_BREAK
3474 case 198:
3475 YY_RULE_SETUP
3476 #line 570 "vtkParse.l"
3477 { return(OTHER); }
3478         YY_BREAK
3479 case 199:
3480 YY_RULE_SETUP
3481 #line 572 "vtkParse.l"
3482 YY_FATAL_ERROR( "flex scanner jammed" );
3483         YY_BREAK
3484 #line 3481 "lex.yy.c"
3485
3486         case YY_END_OF_BUFFER:
3487                 {
3488                 /* Amount of text matched not including the EOB char. */
3489                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3490
3491                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3492                 *yy_cp = (yy_hold_char);
3493                 YY_RESTORE_YY_MORE_OFFSET
3494
3495                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3496                         {
3497                         /* We're scanning a new file or input source.  It's
3498                          * possible that this happened because the user
3499                          * just pointed yyin at a new source and called
3500                          * yylex().  If so, then we have to assure
3501                          * consistency between YY_CURRENT_BUFFER and our
3502                          * globals.  Here is the right place to do so, because
3503                          * this is the first action (other than possibly a
3504                          * back-up) that will match for the new input source.
3505                          */
3506                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3507                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3508                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3509                         }
3510
3511                 /* Note that here we test for yy_c_buf_p "<=" to the position
3512                  * of the first EOB in the buffer, since yy_c_buf_p will
3513                  * already have been incremented past the NUL character
3514                  * (since all states make transitions on EOB to the
3515                  * end-of-buffer state).  Contrast this with the test
3516                  * in input().
3517                  */
3518                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3519                         { /* This was really a NUL. */
3520                         yy_state_type yy_next_state;
3521
3522                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3523
3524                         yy_current_state = yy_get_previous_state(  );
3525
3526                         /* Okay, we're now positioned to make the NUL
3527                          * transition.  We couldn't have
3528                          * yy_get_previous_state() go ahead and do it
3529                          * for us because it doesn't know how to deal
3530                          * with the possibility of jamming (and we don't
3531                          * want to build jamming into it because then it
3532                          * will run more slowly).
3533                          */
3534
3535                         yy_next_state = yy_try_NUL_trans( yy_current_state );
3536
3537                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3538
3539                         if ( yy_next_state )
3540                                 {
3541                                 /* Consume the NUL. */
3542                                 yy_cp = ++(yy_c_buf_p);
3543                                 yy_current_state = yy_next_state;
3544                                 goto yy_match;
3545                                 }
3546
3547                         else
3548                                 {
3549                                 yy_cp = (yy_c_buf_p);
3550                                 goto yy_find_action;
3551                                 }
3552                         }
3553
3554                 else switch ( yy_get_next_buffer(  ) )
3555                         {
3556                         case EOB_ACT_END_OF_FILE:
3557                                 {
3558                                 (yy_did_buffer_switch_on_eof) = 0;
3559
3560                                 if ( yywrap( ) )
3561                                         {
3562                                         /* Note: because we've taken care in
3563                                          * yy_get_next_buffer() to have set up
3564                                          * yytext, we can now set up
3565                                          * yy_c_buf_p so that if some total
3566                                          * hoser (like flex itself) wants to
3567                                          * call the scanner after we return the
3568                                          * YY_NULL, it'll still work - another
3569                                          * YY_NULL will get returned.
3570                                          */
3571                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3572
3573                                         yy_act = YY_STATE_EOF(YY_START);
3574                                         goto do_action;
3575                                         }
3576
3577                                 else
3578                                         {
3579                                         if ( ! (yy_did_buffer_switch_on_eof) )
3580                                                 YY_NEW_FILE;
3581                                         }
3582                                 break;
3583                                 }
3584
3585                         case EOB_ACT_CONTINUE_SCAN:
3586                                 (yy_c_buf_p) =
3587                                         (yytext_ptr) + yy_amount_of_matched_text;
3588
3589                                 yy_current_state = yy_get_previous_state(  );
3590
3591                                 yy_cp = (yy_c_buf_p);
3592                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3593                                 goto yy_match;
3594
3595                         case EOB_ACT_LAST_MATCH:
3596                                 (yy_c_buf_p) =
3597                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3598
3599                                 yy_current_state = yy_get_previous_state(  );
3600
3601                                 yy_cp = (yy_c_buf_p);
3602                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3603                                 goto yy_find_action;
3604                         }
3605                 break;
3606                 }
3607
3608         default:
3609                 YY_FATAL_ERROR(
3610                         "fatal flex scanner internal error--no action found" );
3611         } /* end of action switch */
3612                 } /* end of scanning one token */
3613 } /* end of yylex */
3614
3615 /* yy_get_next_buffer - try to read in a new buffer
3616  *
3617  * Returns a code representing an action:
3618  *        EOB_ACT_LAST_MATCH -
3619  *        EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3620  *        EOB_ACT_END_OF_FILE - end of file
3621  */
3622 static int yy_get_next_buffer (void)
3623 {
3624             char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3625         char *source = (yytext_ptr);
3626         int number_to_move, i;
3627         int ret_val;
3628
3629         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3630                 YY_FATAL_ERROR(
3631                 "fatal flex scanner internal error--end of buffer missed" );
3632
3633         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3634                 { /* Don't try to fill the buffer, so this is an EOF. */
3635                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3636                         {
3637                         /* We matched a single character, the EOB, so
3638                          * treat this as a final EOF.
3639                          */
3640                         return EOB_ACT_END_OF_FILE;
3641                         }
3642
3643                 else
3644                         {
3645                         /* We matched some text prior to the EOB, first
3646                          * process it.
3647                          */
3648                         return EOB_ACT_LAST_MATCH;
3649                         }
3650                 }
3651
3652         /* Try to read more data. */
3653
3654         /* First move last chars to start of buffer. */
3655         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3656
3657         for ( i = 0; i < number_to_move; ++i )
3658                 *(dest++) = *(source++);
3659
3660         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3661                 /* don't do the read, it's not guaranteed to return an EOF,
3662                  * just force an EOF
3663                  */
3664                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3665
3666         else
3667                 {
3668                         yy_size_t num_to_read =
3669                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3670
3671                 while ( num_to_read <= 0 )
3672                         { /* Not enough room in the buffer - grow it. */
3673
3674                         /* just a shorter name for the current buffer */
3675                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3676
3677                         int yy_c_buf_p_offset =
3678                                 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3679
3680                         if ( b->yy_is_our_buffer )
3681                                 {
3682                                 yy_size_t new_size = b->yy_buf_size * 2;
3683
3684                                 if ( new_size <= 0 )
3685                                         b->yy_buf_size += b->yy_buf_size / 8;
3686                                 else
3687                                         b->yy_buf_size *= 2;
3688
3689                                 b->yy_ch_buf = (char *)
3690                                         /* Include room in for 2 EOB chars. */
3691                                         yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
3692                                 }
3693                         else
3694                                 /* Can't grow it, we don't own it. */
3695                                 b->yy_ch_buf = 0;
3696
3697                         if ( ! b->yy_ch_buf )
3698                                 YY_FATAL_ERROR(
3699                                 "fatal error - scanner input buffer overflow" );
3700
3701                         (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3702
3703                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3704                                                 number_to_move - 1;
3705
3706                         }
3707
3708                 if ( num_to_read > YY_READ_BUF_SIZE )
3709                         num_to_read = YY_READ_BUF_SIZE;
3710
3711                 /* Read in more data. */
3712                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3713                         (yy_n_chars), num_to_read );
3714
3715                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3716                 }
3717
3718         if ( (yy_n_chars) == 0 )
3719                 {
3720                 if ( number_to_move == YY_MORE_ADJ )
3721                         {
3722                         ret_val = EOB_ACT_END_OF_FILE;
3723                         yyrestart(yyin  );
3724                         }
3725
3726                 else
3727                         {
3728                         ret_val = EOB_ACT_LAST_MATCH;
3729                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3730                                 YY_BUFFER_EOF_PENDING;
3731                         }
3732                 }
3733
3734         else
3735                 ret_val = EOB_ACT_CONTINUE_SCAN;
3736
3737         if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3738                 /* Extend the array by 50%, plus the number we really need. */
3739                 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3740                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
3741                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3742                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3743         }
3744
3745         (yy_n_chars) += number_to_move;
3746         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3747         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3748
3749         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3750
3751         return ret_val;
3752 }
3753
3754 /* yy_get_previous_state - get the state just before the EOB char was reached */
3755
3756     static yy_state_type yy_get_previous_state (void)
3757 {
3758         yy_state_type yy_current_state;
3759         char *yy_cp;
3760
3761         yy_current_state = (yy_start);
3762         yy_current_state += YY_AT_BOL();
3763
3764         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3765                 {
3766                 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3767                 if ( yy_accept[yy_current_state] )
3768                         {
3769                         (yy_last_accepting_state) = yy_current_state;
3770                         (yy_last_accepting_cpos) = yy_cp;
3771                         }
3772                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3773                         {
3774                         yy_current_state = (int) yy_def[yy_current_state];
3775                         if ( yy_current_state >= 1339 )
3776                                 yy_c = yy_meta[(unsigned int) yy_c];
3777                         }
3778                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3779                 }
3780
3781         return yy_current_state;
3782 }
3783
3784 /* yy_try_NUL_trans - try to make a transition on the NUL character
3785  *
3786  * synopsis
3787  *        next_state = yy_try_NUL_trans( current_state );
3788  */
3789     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
3790 {
3791         int yy_is_jam;
3792             char *yy_cp = (yy_c_buf_p);
3793
3794         YY_CHAR yy_c = 1;
3795         if ( yy_accept[yy_current_state] )
3796                 {
3797                 (yy_last_accepting_state) = yy_current_state;
3798                 (yy_last_accepting_cpos) = yy_cp;
3799                 }
3800         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3801                 {
3802                 yy_current_state = (int) yy_def[yy_current_state];
3803                 if ( yy_current_state >= 1339 )
3804                         yy_c = yy_meta[(unsigned int) yy_c];
3805                 }
3806         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3807         yy_is_jam = (yy_current_state == 1338);
3808
3809                 return yy_is_jam ? 0 : yy_current_state;
3810 }
3811
3812     static void yyunput (int c, char * yy_bp )
3813 {
3814         char *yy_cp;
3815
3816     yy_cp = (yy_c_buf_p);
3817
3818         /* undo effects of setting up yytext */
3819         *yy_cp = (yy_hold_char);
3820
3821         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3822                 { /* need to shift things up to make room */
3823                 /* +2 for EOB chars. */
3824                 yy_size_t number_to_move = (yy_n_chars) + 2;
3825                 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
3826                                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
3827                 char *source =
3828                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
3829
3830                 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3831                         *--dest = *--source;
3832
3833                 yy_cp += (int) (dest - source);
3834                 yy_bp += (int) (dest - source);
3835                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
3836                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
3837
3838                 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
3839                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
3840                 }
3841
3842         *--yy_cp = (char) c;
3843
3844     if ( c == '\n' ){
3845         --yylineno;
3846     }
3847
3848         (yytext_ptr) = yy_bp;
3849         (yy_hold_char) = *yy_cp;
3850         (yy_c_buf_p) = yy_cp;
3851 }
3852
3853 #ifndef YY_NO_INPUT
3854 #ifdef __cplusplus
3855     static int yyinput (void)
3856 #else
3857     static int input  (void)
3858 #endif
3859
3860 {
3861         int c;
3862
3863         *(yy_c_buf_p) = (yy_hold_char);
3864
3865         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3866                 {
3867                 /* yy_c_buf_p now points to the character we want to return.
3868                  * If this occurs *before* the EOB characters, then it's a
3869                  * valid NUL; if not, then we've hit the end of the buffer.
3870                  */
3871                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3872                         /* This was really a NUL. */
3873                         *(yy_c_buf_p) = '\0';
3874
3875                 else
3876                         { /* need more input */
3877                         yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
3878                         ++(yy_c_buf_p);
3879
3880                         switch ( yy_get_next_buffer(  ) )
3881                                 {
3882                                 case EOB_ACT_LAST_MATCH:
3883                                         /* This happens because yy_g_n_b()
3884                                          * sees that we've accumulated a
3885                                          * token and flags that we need to
3886                                          * try matching the token before
3887                                          * proceeding.  But for input(),
3888                                          * there's no matching to consider.
3889                                          * So convert the EOB_ACT_LAST_MATCH
3890                                          * to EOB_ACT_END_OF_FILE.
3891                                          */
3892
3893                                         /* Reset buffer status. */
3894                                         yyrestart(yyin );
3895
3896                                         /*FALLTHROUGH*/
3897
3898                                 case EOB_ACT_END_OF_FILE:
3899                                         {
3900                                         if ( yywrap( ) )
3901                                                 return EOF;
3902
3903                                         if ( ! (yy_did_buffer_switch_on_eof) )
3904                                                 YY_NEW_FILE;
3905 #ifdef __cplusplus
3906                                         return yyinput();
3907 #else
3908                                         return input();
3909 #endif
3910                                         }
3911
3912                                 case EOB_ACT_CONTINUE_SCAN:
3913                                         (yy_c_buf_p) = (yytext_ptr) + offset;
3914                                         break;
3915                                 }
3916                         }
3917                 }
3918
3919         c = *(unsigned char *) (yy_c_buf_p);        /* cast for 8-bit char's */
3920         *(yy_c_buf_p) = '\0';        /* preserve yytext */
3921         (yy_hold_char) = *++(yy_c_buf_p);
3922
3923         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
3924         if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
3925
3926     yylineno++;
3927 ;
3928
3929         return c;
3930 }
3931 #endif        /* ifndef YY_NO_INPUT */
3932
3933 /** Immediately switch to a different input stream.
3934  * @param input_file A readable stream.
3935  *
3936  * @note This function does not reset the start condition to @c INITIAL .
3937  */
3938     void yyrestart  (FILE * input_file )
3939 {
3940
3941         if ( ! YY_CURRENT_BUFFER ){
3942         yyensure_buffer_stack ();
3943                 YY_CURRENT_BUFFER_LVALUE =
3944             yy_create_buffer(yyin,YY_BUF_SIZE );
3945         }
3946
3947         yy_init_buffer(YY_CURRENT_BUFFER,input_file );
3948         yy_load_buffer_state( );
3949 }
3950
3951 /** Switch to a different input buffer.
3952  * @param new_buffer The new input buffer.
3953  *
3954  */
3955     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
3956 {
3957
3958         /* TODO. We should be able to replace this entire function body
3959          * with
3960          *                yypop_buffer_state();
3961          *                yypush_buffer_state(new_buffer);
3962      */
3963         yyensure_buffer_stack ();
3964         if ( YY_CURRENT_BUFFER == new_buffer )
3965                 return;
3966
3967         if ( YY_CURRENT_BUFFER )
3968                 {
3969                 /* Flush out information for old buffer. */
3970                 *(yy_c_buf_p) = (yy_hold_char);
3971                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3972                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3973                 }
3974
3975         YY_CURRENT_BUFFER_LVALUE = new_buffer;
3976         yy_load_buffer_state( );
3977
3978         /* We don't actually know whether we did this switch during
3979          * EOF (yywrap()) processing, but the only time this flag
3980          * is looked at is after yywrap() is called, so it's safe
3981          * to go ahead and always set it.
3982          */
3983         (yy_did_buffer_switch_on_eof) = 1;
3984 }
3985
3986 static void yy_load_buffer_state  (void)
3987 {
3988             (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3989         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3990         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3991         (yy_hold_char) = *(yy_c_buf_p);
3992 }
3993
3994 /** Allocate and initialize an input buffer state.
3995  * @param file A readable stream.
3996  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3997  *
3998  * @return the allocated buffer state.
3999  */
4000     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
4001 {
4002         YY_BUFFER_STATE b;
4003
4004         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
4005         if ( ! b )
4006                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4007
4008         b->yy_buf_size = size;
4009
4010         /* yy_ch_buf has to be 2 characters longer than the size given because
4011          * we need to put in 2 end-of-buffer characters.
4012          */
4013         b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
4014         if ( ! b->yy_ch_buf )
4015                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4016
4017         b->yy_is_our_buffer = 1;
4018
4019         yy_init_buffer(b,file );
4020
4021         return b;
4022 }
4023
4024 /** Destroy the buffer.
4025  * @param b a buffer created with yy_create_buffer()
4026  *
4027  */
4028     void yy_delete_buffer (YY_BUFFER_STATE  b )
4029 {
4030
4031         if ( ! b )
4032                 return;
4033
4034         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4035                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4036
4037         if ( b->yy_is_our_buffer )
4038                 yyfree((void *) b->yy_ch_buf  );
4039
4040         yyfree((void *) b  );
4041 }
4042
4043 /* Initializes or reinitializes a buffer.
4044  * This function is sometimes called more than once on the same buffer,
4045  * such as during a yyrestart() or at EOF.
4046  */
4047     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
4048
4049 {
4050         int oerrno = errno;
4051
4052         yy_flush_buffer(b );
4053
4054         b->yy_input_file = file;
4055         b->yy_fill_buffer = 1;
4056
4057     /* If b is the current buffer, then yy_init_buffer was _probably_
4058      * called from yyrestart() or through yy_get_next_buffer.
4059      * In that case, we don't want to reset the lineno or column.
4060      */
4061     if (b != YY_CURRENT_BUFFER){
4062         b->yy_bs_lineno = 1;
4063         b->yy_bs_column = 0;
4064     }
4065
4066         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4067
4068         errno = oerrno;
4069 }
4070
4071 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4072  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4073  *
4074  */
4075     void yy_flush_buffer (YY_BUFFER_STATE  b )
4076 {
4077             if ( ! b )
4078                 return;
4079
4080         b->yy_n_chars = 0;
4081
4082         /* We always need two end-of-buffer characters.  The first causes
4083          * a transition to the end-of-buffer state.  The second causes
4084          * a jam in that state.
4085          */
4086         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4087         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4088
4089         b->yy_buf_pos = &b->yy_ch_buf[0];
4090
4091         b->yy_at_bol = 1;
4092         b->yy_buffer_status = YY_BUFFER_NEW;
4093
4094         if ( b == YY_CURRENT_BUFFER )
4095                 yy_load_buffer_state( );
4096 }
4097
4098 /** Pushes the new state onto the stack. The new state becomes
4099  *  the current state. This function will allocate the stack
4100  *  if necessary.
4101  *  @param new_buffer The new state.
4102  *
4103  */
4104 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4105 {
4106             if (new_buffer == NULL)
4107                 return;
4108
4109         yyensure_buffer_stack();
4110
4111         /* This block is copied from yy_switch_to_buffer. */
4112         if ( YY_CURRENT_BUFFER )
4113                 {
4114                 /* Flush out information for old buffer. */
4115                 *(yy_c_buf_p) = (yy_hold_char);
4116                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4117                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4118                 }
4119
4120         /* Only push if top exists. Otherwise, replace top. */
4121         if (YY_CURRENT_BUFFER)
4122                 (yy_buffer_stack_top)++;
4123         YY_CURRENT_BUFFER_LVALUE = new_buffer;
4124
4125         /* copied from yy_switch_to_buffer. */
4126         yy_load_buffer_state( );
4127         (yy_did_buffer_switch_on_eof) = 1;
4128 }
4129
4130 /** Removes and deletes the top of the stack, if present.
4131  *  The next element becomes the new top.
4132  *
4133  */
4134 void yypop_buffer_state (void)
4135 {
4136             if (!YY_CURRENT_BUFFER)
4137                 return;
4138
4139         yy_delete_buffer(YY_CURRENT_BUFFER );
4140         YY_CURRENT_BUFFER_LVALUE = NULL;
4141         if ((yy_buffer_stack_top) > 0)
4142                 --(yy_buffer_stack_top);
4143
4144         if (YY_CURRENT_BUFFER) {
4145                 yy_load_buffer_state( );
4146                 (yy_did_buffer_switch_on_eof) = 1;
4147         }
4148 }
4149
4150 /* Allocates the stack if it does not exist.
4151  *  Guarantees space for at least one push.
4152  */
4153 static void yyensure_buffer_stack (void)
4154 {
4155         yy_size_t num_to_alloc;
4156
4157         if (!(yy_buffer_stack)) {
4158
4159                 /* First allocation is just for 2 elements, since we don't know if this
4160                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
4161                  * immediate realloc on the next call.
4162          */
4163                 num_to_alloc = 1;
4164                 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4165                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
4166                                                                 );
4167                 if ( ! (yy_buffer_stack) )
4168                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4169
4170                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4171
4172                 (yy_buffer_stack_max) = num_to_alloc;
4173                 (yy_buffer_stack_top) = 0;
4174                 return;
4175         }
4176
4177         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4178
4179                 /* Increase the buffer to prepare for a possible push. */
4180                 int grow_size = 8 /* arbitrary grow size */;
4181
4182                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4183                 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4184                                                                 ((yy_buffer_stack),
4185                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
4186                                                                 );
4187                 if ( ! (yy_buffer_stack) )
4188                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4189
4190                 /* zero only the new slots.*/
4191                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4192                 (yy_buffer_stack_max) = num_to_alloc;
4193         }
4194 }
4195
4196 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4197  * @param base the character buffer
4198  * @param size the size in bytes of the character buffer
4199  *
4200  * @return the newly allocated buffer state object.
4201  */
4202 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
4203 {
4204         YY_BUFFER_STATE b;
4205
4206         if ( size < 2 ||
4207              base[size-2] != YY_END_OF_BUFFER_CHAR ||
4208              base[size-1] != YY_END_OF_BUFFER_CHAR )
4209                 /* They forgot to leave room for the EOB's. */
4210                 return 0;
4211
4212         b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
4213         if ( ! b )
4214                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4215
4216         b->yy_buf_size = size - 2;        /* "- 2" to take care of EOB's */
4217         b->yy_buf_pos = b->yy_ch_buf = base;
4218         b->yy_is_our_buffer = 0;
4219         b->yy_input_file = 0;
4220         b->yy_n_chars = b->yy_buf_size;
4221         b->yy_is_interactive = 0;
4222         b->yy_at_bol = 1;
4223         b->yy_fill_buffer = 0;
4224         b->yy_buffer_status = YY_BUFFER_NEW;
4225
4226         yy_switch_to_buffer(b  );
4227
4228         return b;
4229 }
4230
4231 /** Setup the input buffer state to scan a string. The next call to yylex() will
4232  * scan from a @e copy of @a str.
4233  * @param yystr a NUL-terminated string to scan
4234  *
4235  * @return the newly allocated buffer state object.
4236  * @note If you want to scan bytes that may contain NUL values, then use
4237  *       yy_scan_bytes() instead.
4238  */
4239 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
4240 {
4241
4242         return yy_scan_bytes(yystr,strlen(yystr) );
4243 }
4244
4245 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4246  * scan from a @e copy of @a bytes.
4247  * @param yybytes the byte buffer to scan
4248  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4249  *
4250  * @return the newly allocated buffer state object.
4251  */
4252 YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
4253 {
4254         YY_BUFFER_STATE b;
4255         char *buf;
4256         yy_size_t n;
4257         yy_size_t i;
4258
4259         /* Get memory for full buffer, including space for trailing EOB's. */
4260         n = _yybytes_len + 2;
4261         buf = (char *) yyalloc(n  );
4262         if ( ! buf )
4263                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4264
4265         for ( i = 0; i < _yybytes_len; ++i )
4266                 buf[i] = yybytes[i];
4267
4268         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4269
4270         b = yy_scan_buffer(buf,n );
4271         if ( ! b )
4272                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4273
4274         /* It's okay to grow etc. this buffer, and we should throw it
4275          * away when we're done.
4276          */
4277         b->yy_is_our_buffer = 1;
4278
4279         return b;
4280 }
4281
4282 #ifndef YY_EXIT_FAILURE
4283 #define YY_EXIT_FAILURE 2
4284 #endif
4285
4286 static void yy_fatal_error (yyconst char* msg )
4287 {
4288             (void) fprintf( stderr, "%s\n", msg );
4289         exit( YY_EXIT_FAILURE );
4290 }
4291
4292 /* Redefine yyless() so it works in section 3 code. */
4293
4294 #undef yyless
4295 #define yyless(n) \
4296         do \
4297                 { \
4298                 /* Undo effects of setting up yytext. */ \
4299         int yyless_macro_arg = (n); \
4300         YY_LESS_LINENO(yyless_macro_arg);\
4301                 yytext[yyleng] = (yy_hold_char); \
4302                 (yy_c_buf_p) = yytext + yyless_macro_arg; \
4303                 (yy_hold_char) = *(yy_c_buf_p); \
4304                 *(yy_c_buf_p) = '\0'; \
4305                 yyleng = yyless_macro_arg; \
4306                 } \
4307         while ( 0 )
4308
4309 /* Accessor  methods (get/set functions) to struct members. */
4310
4311 /** Get the current line number.
4312  *
4313  */
4314 int yyget_lineno  (void)
4315 {
4316
4317     return yylineno;
4318 }
4319
4320 /** Get the input stream.
4321  *
4322  */
4323 FILE *yyget_in  (void)
4324 {
4325         return yyin;
4326 }
4327
4328 /** Get the output stream.
4329  *
4330  */
4331 FILE *yyget_out  (void)
4332 {
4333         return yyout;
4334 }
4335
4336 /** Get the length of the current token.
4337  *
4338  */
4339 yy_size_t yyget_leng  (void)
4340 {
4341         return yyleng;
4342 }
4343
4344 /** Get the current token.
4345  *
4346  */
4347
4348 char *yyget_text  (void)
4349 {
4350         return yytext;
4351 }
4352
4353 /** Set the current line number.
4354  * @param line_number
4355  *
4356  */
4357 void yyset_lineno (int  line_number )
4358 {
4359
4360     yylineno = line_number;
4361 }
4362
4363 /** Set the input stream. This does not discard the current
4364  * input buffer.
4365  * @param in_str A readable stream.
4366  *
4367  * @see yy_switch_to_buffer
4368  */
4369 void yyset_in (FILE *  in_str )
4370 {
4371         yyin = in_str ;
4372 }
4373
4374 void yyset_out (FILE *  out_str )
4375 {
4376         yyout = out_str ;
4377 }
4378
4379 int yyget_debug  (void)
4380 {
4381         return yy_flex_debug;
4382 }
4383
4384 void yyset_debug (int  bdebug )
4385 {
4386         yy_flex_debug = bdebug ;
4387 }
4388
4389 static int yy_init_globals (void)
4390 {
4391         /* Initialization is the same as for the non-reentrant scanner.
4392      * This function is called from yylex_destroy(), so don't allocate here.
4393      */
4394
4395     /* We do not touch yylineno unless the option is enabled. */
4396     yylineno =  1;
4397
4398     (yy_buffer_stack) = 0;
4399     (yy_buffer_stack_top) = 0;
4400     (yy_buffer_stack_max) = 0;
4401     (yy_c_buf_p) = (char *) 0;
4402     (yy_init) = 0;
4403     (yy_start) = 0;
4404
4405 /* Defined in main.c */
4406 #ifdef YY_STDINIT
4407     yyin = stdin;
4408     yyout = stdout;
4409 #else
4410     yyin = (FILE *) 0;
4411     yyout = (FILE *) 0;
4412 #endif
4413
4414     /* For future reference: Set errno on error, since we are called by
4415      * yylex_init()
4416      */
4417     return 0;
4418 }
4419
4420 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
4421 int yylex_destroy  (void)
4422 {
4423
4424     /* Pop the buffer stack, destroying each element. */
4425         while(YY_CURRENT_BUFFER){
4426                 yy_delete_buffer(YY_CURRENT_BUFFER  );
4427                 YY_CURRENT_BUFFER_LVALUE = NULL;
4428                 yypop_buffer_state();
4429         }
4430
4431         /* Destroy the stack itself. */
4432         yyfree((yy_buffer_stack) );
4433         (yy_buffer_stack) = NULL;
4434
4435     /* Reset the globals. This is important in a non-reentrant scanner so the next time
4436      * yylex() is called, initialization will occur. */
4437     yy_init_globals( );
4438
4439     return 0;
4440 }
4441
4442 /*
4443  * Internal utility routines.
4444  */
4445
4446 #ifndef yytext_ptr
4447 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4448 {
4449         int i;
4450         for ( i = 0; i < n; ++i )
4451                 s1[i] = s2[i];
4452 }
4453 #endif
4454
4455 #ifdef YY_NEED_STRLEN
4456 static int yy_flex_strlen (yyconst char * s )
4457 {
4458         int n;
4459         for ( n = 0; s[n]; ++n )
4460                 ;
4461
4462         return n;
4463 }
4464 #endif
4465
4466 void *yyalloc (yy_size_t  size )
4467 {
4468         return (void *) malloc( size );
4469 }
4470
4471 void *yyrealloc  (void * ptr, yy_size_t  size )
4472 {
4473         /* The cast to (char *) in the following accommodates both
4474          * implementations that use char* generic pointers, and those
4475          * that use void* generic pointers.  It works with the latter
4476          * because both ANSI C and C++ allow castless assignment from
4477          * any pointer type to void*, and deal with argument conversions
4478          * as though doing an assignment.
4479          */
4480         return (void *) realloc( (char *) ptr, size );
4481 }
4482
4483 void yyfree (void * ptr )
4484 {
4485         free( (char *) ptr );        /* see yyrealloc() for (char *) cast */
4486 }
4487
4488 #define YYTABLES_NAME "yytables"
4489
4490 #line 572 "vtkParse.l"
4491
4492
4493
4494 /*
4495  * Return a parenthetical macro arg list as a new string.
4496  */
4497 const char *get_macro_arguments()
4498 {
4499   char *cp = NULL;
4500   size_t i = 0;
4501   int depth;
4502   int ws = 0;
4503   int sl = 0;
4504   int c1 = input();
4505
4506   if (c1 == '\0')
4507     {
4508     if (pop_buffer() == 0)
4509       {
4510       return NULL;
4511       }
4512     }
4513
4514   while (c1 == ' ' || c1 == '\t' || c1 == '\r' || c1 == '\n')
4515     {
4516     c1 = input();
4517     }
4518
4519   cp = (char *)malloc(4);
4520
4521   if (c1 != '(')
4522     {
4523     unput(c1);
4524     return NULL;
4525     }
4526
4527   cp[i++] = '(';
4528   depth = 1;
4529   c1 = input();
4530
4531   for (;;)
4532     {
4533     ws = 0;
4534     sl = 0;
4535     /* skip all whitespace */
4536     while (c1 == ' ' || c1 == '\t' || c1 == '\r' || c1 == '\n')
4537       {
4538       ws = 1;
4539       c1 = input();
4540       }
4541     if (c1 == '/')
4542       {
4543       c1 = input();
4544       if (c1 == '*')
4545         {
4546         /* skip a C style comment */
4547         ws = 1;
4548         if (skip_comment() == 0)
4549           {
4550           return NULL;
4551           }
4552         c1 = input();
4553         }
4554       else if (c1 == '/')
4555         {
4556         /* skip a C++ style comment */
4557         ws = 1;
4558         do { c1 = input(); }
4559         while (c1 != '\n' && c1 != '\0');
4560         if (c1 == '\0')
4561           {
4562           return NULL;
4563           }
4564         c1 = input();
4565         }
4566       else
4567         {
4568         sl = 1;
4569         }
4570       }
4571     if (ws)
4572       {
4573       /* add a single space to replace any whitespace */
4574       cp[i++] = ' ';
4575       if (i >= 4 && (i & (i-1)) == 0)
4576         {
4577         cp = (char *)realloc(cp, 2*i);
4578         }
4579       }
4580     if (sl)
4581       {
4582       /* add a single space to replace any whitespace */
4583       cp[i++] = '/';
4584       if (i >= 4 && (i & (i-1)) == 0)
4585         {
4586         cp = (char *)realloc(cp, 2*i);
4587         }
4588       }
4589     if (c1 == '\"' || c1 == '\'')
4590       {
4591       int c2 = c1;
4592       int escaped = 2;
4593       int firstloop = 1;
4594       do
4595         {
4596         if (escaped)
4597           {
4598           --escaped;
4599           }
4600         if (!firstloop)
4601           {
4602           c1 = input();
4603           }
4604         firstloop = 0;
4605         if (c1 == '\0')
4606           {
4607           break;
4608           }
4609         if (escaped == 0 && c1 == '\\')
4610           {
4611           escaped = 2;
4612           }
4613         cp[i++] = (char)c1;
4614         if (i >= 4 && (i & (i-1)) == 0)
4615           {
4616           cp = (char *)realloc(cp, 2*i);
4617           }
4618         }
4619       while (c1 != c2 || escaped);
4620       }
4621     else if (c1 != '\0')
4622       {
4623       cp[i++] = (char)c1;
4624       if (i >= 4 && (i & (i-1)) == 0)
4625         {
4626         cp = (char *)realloc(cp, 2*i);
4627         }
4628       cp[i] = '\0';
4629       if (c1 == '(')
4630         {
4631         depth++;
4632         }
4633       if (c1 == ')')
4634         {
4635         if (--depth == 0)
4636           {
4637           break;
4638           }
4639         }
4640       }
4641     else
4642       {
4643       return NULL;
4644       }
4645     c1 = input();
4646     }
4647
4648   return cp;
4649 }
4650
4651 /*
4652  * Skip a C-style comment, return 0 if unterminated.
4653  */
4654 int skip_comment()
4655 {
4656    int savelineno = yylineno;
4657    int c1 = 0, c2 = input();
4658    for (;;)
4659      {
4660      if (c2 == 0 || c2 == EOF)
4661        {
4662        yylineno = savelineno;
4663        print_preprocessor_error(VTK_PARSE_SYNTAX_ERROR,
4664          "Cannot find end of comment.", 27);
4665        exit(1);
4666        }
4667      if (c1 == '*' && c2 == '/') break;
4668      c1 = c2; c2 = input();
4669      }
4670    return 1;
4671 }
4672
4673 /*
4674  * If token contains a comment, make sure whole comment is skipped.
4675  */
4676 int skip_trailing_comment(const char *text, size_t l)
4677 {
4678   const char *cp = text;
4679   const char *ep = text + l;
4680   int incomment = 0;
4681
4682   while (cp < ep)
4683     {
4684     while (cp < ep && *cp != '/' && *cp != '\"') { cp++; };
4685     if (cp >= ep)
4686       {
4687       break;
4688       }
4689     else if (cp[0] == '/' && cp[1] == '*')
4690       {
4691       incomment = 1;
4692       cp += 2;
4693       while (cp < ep && *cp != '*') { cp++; };
4694       if (cp[0] == '*' && cp[1] == '/')
4695         {
4696         incomment = 0;
4697         cp += 2;
4698         }
4699       else
4700         {
4701         cp++;
4702         }
4703       }
4704     else if (cp[0] == '\"')
4705       {
4706       cp++;
4707       while (cp < ep)
4708         {
4709         while (cp < ep && *cp != '\\' && *cp != '\"') { cp++; };
4710         if (cp >= ep)
4711           {
4712           break;
4713           }
4714         else if (*cp == '\"')
4715           {
4716           cp++;
4717           break;
4718           }
4719         else /* if (*cp == '\\') */
4720           {
4721           cp += 2;
4722           }
4723         }
4724       }
4725     else
4726       {
4727       cp++;
4728       }
4729     }
4730
4731   if (incomment)
4732     {
4733     return skip_comment();
4734     }
4735
4736   return 1;
4737 }
4738
4739 /*
4740  * Skip ahead until the next preprocessor directive.
4741  * This will eat the '#' that starts the directive.
4742  * Return 0 if none found.
4743  */
4744 int skip_to_next_directive()
4745 {
4746   /* state == 0 at the start of a line */
4747   int state = 0;
4748   int c;
4749
4750   c = input();
4751
4752   while (c != 0 && c != EOF)
4753     {
4754     /* whitespace */
4755     if (c == ' ' || c == '\t')
4756       {
4757       c = input();
4758       }
4759     /* newline renews the start-of-line state */
4760     else if (c == '\n')
4761       {
4762       state = 0;
4763       c = input();
4764       }
4765     /* skip comments */
4766     else if (c == '/')
4767       {
4768       state = 1;
4769       if ( (c = input()) == '*')
4770         {
4771         if (skip_comment() == 0)
4772           {
4773           return 0;
4774           }
4775         c = input();
4776         }
4777       }
4778     /* skip escaped characters */
4779     else if (c == '\\')
4780       {
4781       state = 1;
4782       if ( (c = input()) == '\r')
4783         {
4784         if ( (c = input()) == '\n')
4785           {
4786           c = input();
4787           }
4788         }
4789       else if (c != 0 && c != EOF)
4790         {
4791         c = input();
4792         }
4793       }
4794     /* any other chars except '#' at start of line */
4795     else if (c != '#' || state != 0)
4796       {
4797       state = 1;
4798       c = input();
4799       }
4800     else
4801       {
4802       break;
4803       }
4804     }
4805
4806   return c;
4807 }
4808
4809 /*
4810  * Skip to the next #else or #elif or #endif
4811  */
4812 int skip_conditional_block()
4813 {
4814   static char *linebuf = NULL;
4815   static size_t linemaxlen = 80;
4816   size_t i;
4817   int c;
4818   int result;
4819
4820   if (linebuf == 0)
4821     {
4822     linebuf = (char *)malloc(linemaxlen);
4823     }
4824
4825   for (;;)
4826     {
4827     if (skip_to_next_directive() == 0)
4828       {
4829       return 0;
4830       }
4831     c = input();
4832     while (c == ' ' || c == '\t')
4833       {
4834       c = input();
4835       }
4836     if (c == 0 || c == EOF)
4837       {
4838       return 0;
4839       }
4840
4841     /* eat the whole line */
4842     i = 0;
4843     linebuf[i++] = '#';
4844     while (c != 0 && c != EOF && c != '\n')
4845       {
4846       if (i >= linemaxlen-5)
4847         {
4848         linemaxlen += i+5;
4849         linebuf = (char *)realloc(linebuf, linemaxlen);
4850         }
4851       linebuf[i++] = c;
4852       /* be sure to skip escaped newlines */
4853       if (c == '\\')
4854         {
4855         c = input();
4856         linebuf[i++] = c;
4857         if (c == '\r')
4858           {
4859           c = input();
4860           linebuf[i++] = c;
4861           }
4862         }
4863       c = input();
4864       }
4865     linebuf[i++] = c;
4866
4867     result = vtkParsePreprocess_HandleDirective(preprocessor, linebuf);
4868     if (result != VTK_PARSE_SKIP && result != VTK_PARSE_OK)
4869       {
4870       print_preprocessor_error(result, linebuf, i);
4871       }
4872     else if (result != VTK_PARSE_SKIP)
4873       {
4874       break;
4875       }
4876     }
4877
4878   return 1;
4879 }
4880
4881 /*
4882  * Skip ahead until one of the strings is found,
4883  * then skip to the end of the line.
4884  */
4885 int skip_ahead_multi(const char *strings[])
4886 {
4887   char textbuf[SKIP_MATCH_MAXLEN+1];
4888   int c = 0;
4889   size_t i;
4890
4891   for (i = 0; i < (SKIP_MATCH_MAXLEN+1); i++)
4892     {
4893     textbuf[i] = '\0';
4894     }
4895
4896   for (;;)
4897     {
4898     for (i = 0; i < SKIP_MATCH_MAXLEN; i++)
4899       {
4900       textbuf[i] = textbuf[i+1];
4901       }
4902
4903     c = input();
4904     if (c == 0 || c == EOF)
4905       {
4906       print_preprocessor_error(VTK_PARSE_SYNTAX_ERROR, NULL, 0);
4907       return 0;
4908       }
4909
4910     textbuf[SKIP_MATCH_MAXLEN-1] = c;
4911
4912     for (i = 0; strings[i]; i++)
4913       {
4914       if (strcmp(&textbuf[SKIP_MATCH_MAXLEN-strlen(strings[i])],
4915                  strings[i]) == 0)
4916         {
4917         break;
4918         }
4919       }
4920     if (strings[i])
4921       {
4922       break;
4923       }
4924     }
4925
4926   while (c != 0 && c != EOF && c != '\n')
4927     {
4928     c = input();
4929     }
4930
4931   return 1;
4932 }
4933
4934 /*
4935  * Skip ahead until the string is found.
4936  */
4937 int skip_ahead_until(const char *text)
4938 {
4939   const char *strings[2];
4940   strings[0] = text;
4941   strings[1] = NULL;
4942
4943   return skip_ahead_multi(strings);
4944 }
4945
4946 /*
4947  * Convert a raw string into a non-raw string.
4948  */
4949 const char *raw_string(const char *begin)
4950 {
4951   int savelineno = yylineno;
4952   char *textbuf;
4953   int c = 0;
4954   const char *delim;
4955   const char *cp = begin;
4956   char *dp;
4957   char *result;
4958   size_t i, j, n;
4959   size_t m = 1024;
4960
4961   result = (char *)malloc(m);
4962   dp = result;
4963
4964   while (*cp != '\"')
4965     {
4966     *dp++ = *cp++;
4967     }
4968   --dp;
4969   *dp++ = *cp++;
4970
4971   delim = cp;
4972
4973   for (n = 0;; n++)
4974     {
4975     if (delim[n] == '(') { break; }
4976     }
4977
4978   textbuf = (char *)malloc(n+1);
4979
4980   for (i = 0; i < n+1; i++)
4981     {
4982     c = input();
4983     textbuf[i] = c;
4984     }
4985
4986   while (c != EOF)
4987     {
4988     if (textbuf[0] == ')' && (n == 0 || strncmp(&textbuf[1], delim, n) == 0))
4989       {
4990       break;
4991       }
4992
4993     j = dp - result;
4994     if (j > m - 8)
4995       {
4996       m += 1024;
4997       result = (char *)realloc(result, m);
4998       dp = result + j;
4999       }
5000
5001     if ((*textbuf >= ' ' && *textbuf <= '~') ||
5002         (*textbuf & 0x80) != 0)
5003       {
5004       *dp++ = *textbuf;
5005       }
5006     else switch (*textbuf)
5007       {
5008       case '\a': *dp++ = '\\'; *dp++ = 'a'; break;
5009       case '\b': *dp++ = '\\'; *dp++ = 'b'; break;
5010       case '\f': *dp++ = '\\'; *dp++ = 'f'; break;
5011       case '\n': *dp++ = '\\'; *dp++ = 'n'; break;
5012       case '\r': *dp++ = '\\'; *dp++ = 'r'; break;
5013       case '\t': *dp++ = '\\'; *dp++ = 't'; break;
5014       case '\v': *dp++ = '\\'; *dp++ = 'v'; break;
5015       case '\\': *dp++ = '\\'; *dp++ = '\\'; break;
5016       case '\'': *dp++ = '\\'; *dp++ = '\''; break;
5017       case '\"': *dp++ = '\\'; *dp++ = '\"'; break;
5018       default:
5019         sprintf(dp, "\\%3.3o", *textbuf);
5020         dp += 4;
5021         break;
5022       }
5023
5024     for (i = 0; i < n; i++)
5025       {
5026       textbuf[i] = textbuf[i+1];
5027       }
5028
5029     c = input();
5030     textbuf[n] = c;
5031     }
5032
5033   if (c == EOF || '\"' != input())
5034     {
5035     yylineno = savelineno;
5036     print_preprocessor_error(VTK_PARSE_SYNTAX_ERROR,
5037       "Unterminated raw string.", 24);
5038     exit(1);
5039     }
5040
5041   *dp++ = '\"';
5042
5043   c = input();
5044   if (c == '_')
5045     {
5046     do
5047       {
5048       *dp++ = c;
5049       c = input();
5050       }
5051     while (vtkParse_CharType(c, CPRE_IDGIT));
5052     }
5053   unput(c);
5054
5055   *dp = '\0';
5056   cp = vtkstrdup(result);
5057   free(result);
5058   free(textbuf);
5059
5060   return cp;
5061 }
5062
5063 /*
5064  * buffer stack, used for macro expansion and include files
5065  */
5066 static size_t buffer_stack_size = 0;
5067 static YY_BUFFER_STATE *buffer_stack = NULL;
5068
5069 /*
5070  * push the current buffer onto the buffer stack.
5071  */
5072 void push_buffer()
5073 {
5074   size_t n = buffer_stack_size;
5075   if (buffer_stack == NULL)
5076     {
5077     buffer_stack = (YY_BUFFER_STATE *)malloc(4*sizeof(YY_BUFFER_STATE));
5078     }
5079   /* grow the stack whenever size reaches a power of two */
5080   else if (n >= 4 && (n & (n-1)) == 0)
5081     {
5082     buffer_stack = (YY_BUFFER_STATE *)realloc(
5083       buffer_stack, 2*n*sizeof(YY_BUFFER_STATE));
5084     }
5085   buffer_stack[buffer_stack_size++] = YY_CURRENT_BUFFER;
5086 }
5087
5088 /*
5089  * pop the buffer stack and restore the previous buffer
5090  */
5091 int pop_buffer()
5092 {
5093   if (in_macro())
5094     {
5095     pop_macro();
5096     }
5097   else
5098     {
5099     pop_include();
5100     }
5101   if (buffer_stack_size == 0)
5102     {
5103     return 0;
5104     }
5105   yy_delete_buffer(YY_CURRENT_BUFFER);
5106   yy_switch_to_buffer(buffer_stack[--buffer_stack_size]);
5107   return 1;
5108 }
5109
5110 /*
5111  * include stack, to tell what include is being evaluated
5112  */
5113 static size_t include_stack_size = 0;
5114 static FileInfo **include_stack = NULL;
5115 static int *lineno_stack = NULL;
5116
5117 /*
5118  * push the current include onto the include stack.
5119  */
5120 void push_include(const char *filename)
5121 {
5122   FileInfo *file_info = NULL;
5123   int same_file = 0;
5124   size_t n = include_stack_size;
5125
5126   if (include_stack == NULL)
5127     {
5128     include_stack = (FileInfo **)malloc(4*sizeof(FileInfo *));
5129     lineno_stack = (int *)malloc(4*sizeof(int));
5130     }
5131
5132   /* grow the stack whenever size reaches a power of two */
5133   else if (n >= 4 && (n & (n-1)) == 0)
5134     {
5135     include_stack = (FileInfo **)realloc(
5136       include_stack, 2*n*sizeof(FileInfo *));
5137     lineno_stack = (int *)realloc(
5138       lineno_stack, 2*n*sizeof(int));
5139     }
5140
5141   lineno_stack[include_stack_size] = yyget_lineno();
5142   yyset_lineno(0);
5143   include_stack[include_stack_size++] = data;
5144
5145   /* if the file is including itself */
5146   if (filename == data->FileName ||
5147       (filename != 0 && data->FileName != 0 &&
5148        strcmp(filename, data->FileName) == 0))
5149     {
5150     same_file = 1;
5151     }
5152
5153   /* make a new fileinfo, but only if we are in the base namespace
5154    * and only if the only items added so far are constants */
5155   if (!same_file && currentNamespace == data->Contents &&
5156       data->Contents->NumberOfItems == data->Contents->NumberOfConstants)
5157     {
5158     file_info = (FileInfo *)malloc(sizeof(FileInfo));
5159     vtkParse_InitFile(file_info);
5160     file_info->FileName = vtkstrdup(filename);
5161     file_info->Contents = (NamespaceInfo *)malloc(sizeof(NamespaceInfo));
5162     vtkParse_InitNamespace(file_info->Contents);
5163     vtkParse_AddIncludeToFile(data, file_info);
5164     file_info->Strings = data->Strings;
5165     data = file_info;
5166     currentNamespace = file_info->Contents;
5167     }
5168 }
5169
5170 /*
5171  * pop the include stack
5172  */
5173 void pop_include()
5174 {
5175   if (include_stack_size > 0)
5176     {
5177     --include_stack_size;
5178     fclose(yyin);
5179     yyset_lineno(lineno_stack[include_stack_size]);
5180     if (data != include_stack[include_stack_size])
5181       {
5182       data = include_stack[include_stack_size];
5183       currentNamespace = data->Contents;
5184       }
5185     }
5186 }
5187
5188
5189 /*
5190  * macro stack, to tell what macro is being evaluated
5191  */
5192 static size_t macro_stack_size = 0;
5193 static MacroInfo **macro_stack = NULL;
5194
5195 /*
5196  * push the current macro onto the macro stack.
5197  */
5198 void push_macro(MacroInfo *macro)
5199 {
5200   size_t n = macro_stack_size;
5201   if (macro_stack == NULL)
5202     {
5203     macro_stack = (MacroInfo **)malloc(4*sizeof(MacroInfo *));
5204     }
5205   /* grow the stack whenever size reaches a power of two */
5206   else if (n >= 4 && (n & (n-1)) == 0)
5207     {
5208     macro_stack = (MacroInfo **)realloc(
5209       macro_stack, 2*n*sizeof(MacroInfo *));
5210     }
5211   macro_stack[macro_stack_size++] = macro;
5212   if (macro)
5213     {
5214     macro->IsExcluded = 1;
5215     if (macro_stack_size == 1)
5216       {
5217       macroName = macro->Name;
5218       macroUsed = 0;
5219       macroEnded = 0;
5220       }
5221     }
5222 }
5223
5224 /*
5225  * pop the macro stack
5226  */
5227 void pop_macro()
5228 {
5229   MacroInfo *macro;
5230
5231   if (macro_stack_size > 0)
5232     {
5233     macro = macro_stack[--macro_stack_size];
5234     if (macro)
5235       {
5236       macro->IsExcluded = 0;
5237       }
5238     }
5239   macroEnded = 1;
5240 }
5241
5242 /*
5243  * are we currently processing a macro?
5244  */
5245 int in_macro()
5246 {
5247   return (macro_stack_size > 0);
5248 }
5249
5250 /*
5251  * print a preprocessor error code with filename and line number.
5252  */
5253 void print_preprocessor_error(int result, const char *cp, size_t n)
5254 {
5255   const char *text = "";
5256
5257   switch (result)
5258     {
5259     case VTK_PARSE_OK:
5260     case VTK_PARSE_SKIP:
5261       return;
5262     case VTK_PARSE_PREPROC_DOUBLE:
5263       text = "double in preprocessor conditional";
5264       break;
5265     case VTK_PARSE_PREPROC_FLOAT:
5266       text = "float in preprocessor conditional";
5267       break;
5268     case VTK_PARSE_PREPROC_STRING:
5269       text = "string in preprocessor conditional";
5270       break;
5271     case VTK_PARSE_MACRO_UNDEFINED:
5272       text = "undefined macro";
5273       break;
5274     case VTK_PARSE_MACRO_REDEFINED:
5275       text = "redefined macro";
5276       break;
5277     case VTK_PARSE_FILE_NOT_FOUND:
5278       text = "file not found";
5279       break;
5280     case VTK_PARSE_FILE_OPEN_ERROR:
5281       text = "can\'t open file";
5282       break;
5283     case VTK_PARSE_FILE_READ_ERROR:
5284       text = "input/output error";
5285       break;
5286     case VTK_PARSE_MACRO_NUMARGS:
5287       text = "wrong number of macro args";
5288       break;
5289     case VTK_PARSE_SYNTAX_ERROR:
5290       text = "syntax error";
5291       break;
5292     }
5293
5294   /* be silent about missing include files */
5295   if (result == VTK_PARSE_FILE_NOT_FOUND)
5296     {
5297     return;
5298     }
5299
5300   print_parser_error(text, cp, n);
5301 }
5302
5303 /*
5304  * print an error with filename and line number.
5305  */
5306 void print_parser_error(const char *text, const char *cp, size_t n)
5307 {
5308   size_t j = 0;
5309   const char *fn = "(none)";
5310
5311   if (CommandName)
5312     {
5313     fprintf(yyout, "%s: ", CommandName);
5314     }
5315
5316   if (data->FileName)
5317     {
5318     fn = data->FileName;
5319     }
5320   fprintf(yyout, "In %s:", fn);
5321   for (j = 0; j < include_stack_size; j++)
5322     {
5323     fprintf(yyout, "%i:\nIn %s:",
5324             lineno_stack[j], include_stack[j]->FileName);
5325     }
5326   fprintf(yyout, "%i:", yylineno);
5327
5328   if (cp)
5329     {
5330     fprintf(yyout, " %s: %*.*s\n", text, (int)n, (int)n, cp);
5331     }
5332   else if (text)
5333     {
5334     fprintf(yyout, " %s.\n", text);
5335     }
5336   else
5337     {
5338     fprintf(yyout, "\n");
5339     }
5340 }
5341
5342 /*
5343  * Execute a preprocessor directive.
5344  */
5345 void preprocessor_directive(const char *text, size_t l)
5346 {
5347   int result = 0;
5348   size_t n = 0;
5349   const char *cp = text;
5350   const char *ep = text + l;
5351   const char *directive = NULL;
5352
5353   /* find the directive, store its length in "n" */
5354   while (*cp == ' ' || *cp == '\t') { cp++; }
5355   if (*cp == '#') { cp++; }
5356   while ((*cp == ' ' || *cp == '\t') && cp < ep) { cp++; }
5357   directive = cp;
5358   while (*cp >= 'a' && *cp <= 'z' && cp < ep) { cp++; }
5359   n = cp - directive;
5360   while ((*cp == ' ' || *cp == '\t') && cp < ep) { cp++; }
5361
5362   if (n == 7 && strncmp(directive, "include", n) == 0)
5363     {
5364     /* include files */
5365     int already_loaded = 0;
5366     if (*cp == '<' || *cp == '\"')
5367       {
5368       /* if asked to recurse into header files */
5369       if (Recursive && ep - cp > 3)
5370         {
5371         const char *dp;
5372         dp = vtkParsePreprocess_FindIncludeFile(preprocessor,
5373           &cp[1], (*cp != '\"'), &already_loaded);
5374         if (dp)
5375           {
5376           yyin = fopen(dp, "r");
5377           if (yyin)
5378             {
5379             push_include(dp);
5380             push_buffer();
5381             yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE));
5382             return;
5383             }
5384           }
5385         }
5386       }
5387     }
5388
5389   /* let the preprocessor handle the directive */
5390   result = vtkParsePreprocess_HandleDirective(preprocessor, text);
5391
5392   if (result == VTK_PARSE_SKIP)
5393     {
5394     skip_conditional_block();
5395     }
5396   else if (result != VTK_PARSE_OK)
5397     {
5398     print_preprocessor_error(result, text, l);
5399     if ((result & VTK_PARSE_FATAL_ERROR) != 0)
5400       {
5401       exit(1);
5402       }
5403     }
5404   else if (n == 6 && strncmp(directive, "define", n) == 0 &&
5405            ep - cp > 4 && strncmp(cp, "VTK", 3) == 0)
5406     {
5407     /* macros that start with "VTK" */
5408     MacroInfo *macro;
5409
5410     macro = vtkParsePreprocess_GetMacro(preprocessor, cp);
5411     if (macro && macro->Definition && !macro->IsFunction)
5412       {
5413       /* if macro evaluates to a constant, add it as a constant */
5414       macro->IsExcluded = 1;
5415       if (guess_constant_type(macro->Definition) == 0)
5416         {
5417         result = VTK_PARSE_MACRO_UNDEFINED;
5418         }
5419       macro->IsExcluded = 0;
5420       if (result < VTK_PARSE_MACRO_UNDEFINED)
5421         {
5422         add_constant(
5423           vtkstrdup(macro->Name), vtkstrdup(macro->Definition), 0, NULL, 1);
5424         }
5425       }
5426     }
5427 }