Add information about callee-saved registers on Win64
[oota-llvm.git] / tools / llvmc / ConfigLexer.cpp.cvs
1 #line 2 "ConfigLexer.cpp"
2
3 #line 4 "ConfigLexer.cpp"
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 33
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 /* flex integer type definitions */
28
29 #ifndef FLEXINT_H
30 #define FLEXINT_H
31
32 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33
34 #if __STDC_VERSION__ >= 199901L
35
36 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37  * if you want the limit (max/min) macros for int types. 
38  */
39 #ifndef __STDC_LIMIT_MACROS
40 #define __STDC_LIMIT_MACROS 1
41 #endif
42
43 #include <inttypes.h>
44 typedef int8_t flex_int8_t;
45 typedef uint8_t flex_uint8_t;
46 typedef int16_t flex_int16_t;
47 typedef uint16_t flex_uint16_t;
48 typedef int32_t flex_int32_t;
49 typedef uint32_t flex_uint32_t;
50 #else
51 typedef signed char flex_int8_t;
52 typedef short int flex_int16_t;
53 typedef int flex_int32_t;
54 typedef unsigned char flex_uint8_t; 
55 typedef unsigned short int flex_uint16_t;
56 typedef unsigned int flex_uint32_t;
57 #endif /* ! C99 */
58
59 /* Limits of integral types. */
60 #ifndef INT8_MIN
61 #define INT8_MIN               (-128)
62 #endif
63 #ifndef INT16_MIN
64 #define INT16_MIN              (-32767-1)
65 #endif
66 #ifndef INT32_MIN
67 #define INT32_MIN              (-2147483647-1)
68 #endif
69 #ifndef INT8_MAX
70 #define INT8_MAX               (127)
71 #endif
72 #ifndef INT16_MAX
73 #define INT16_MAX              (32767)
74 #endif
75 #ifndef INT32_MAX
76 #define INT32_MAX              (2147483647)
77 #endif
78 #ifndef UINT8_MAX
79 #define UINT8_MAX              (255U)
80 #endif
81 #ifndef UINT16_MAX
82 #define UINT16_MAX             (65535U)
83 #endif
84 #ifndef UINT32_MAX
85 #define UINT32_MAX             (4294967295U)
86 #endif
87
88 #endif /* ! FLEXINT_H */
89
90 #ifdef __cplusplus
91
92 /* The "const" storage-class-modifier is valid. */
93 #define YY_USE_CONST
94
95 #else   /* ! __cplusplus */
96
97 #if __STDC__
98
99 #define YY_USE_CONST
100
101 #endif  /* __STDC__ */
102 #endif  /* ! __cplusplus */
103
104 #ifdef YY_USE_CONST
105 #define yyconst const
106 #else
107 #define yyconst
108 #endif
109
110 /* Returned upon end-of-file. */
111 #define YY_NULL 0
112
113 /* Promotes a possibly negative, possibly signed char to an unsigned
114  * integer for use as an array index.  If the signed char is negative,
115  * we want to instead treat it as an 8-bit unsigned char, hence the
116  * double cast.
117  */
118 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
119
120 /* Enter a start condition.  This macro really ought to take a parameter,
121  * but we do it the disgusting crufty way forced on us by the ()-less
122  * definition of BEGIN.
123  */
124 #define BEGIN (yy_start) = 1 + 2 *
125
126 /* Translate the current start state into a value that can be later handed
127  * to BEGIN to return to the state.  The YYSTATE alias is for lex
128  * compatibility.
129  */
130 #define YY_START (((yy_start) - 1) / 2)
131 #define YYSTATE YY_START
132
133 /* Action number for EOF rule of a given start state. */
134 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
135
136 /* Special action meaning "start processing a new file". */
137 #define YY_NEW_FILE Configrestart(Configin  )
138
139 #define YY_END_OF_BUFFER_CHAR 0
140
141 /* Size of default input buffer. */
142 #ifndef YY_BUF_SIZE
143 #define YY_BUF_SIZE (16384*64)
144 #endif
145
146 /* The state buf must be large enough to hold one state per character in the main buffer.
147  */
148 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
149
150 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
151 #define YY_TYPEDEF_YY_BUFFER_STATE
152 typedef struct yy_buffer_state *YY_BUFFER_STATE;
153 #endif
154
155 extern int Configleng;
156
157 extern FILE *Configin, *Configout;
158
159 #define EOB_ACT_CONTINUE_SCAN 0
160 #define EOB_ACT_END_OF_FILE 1
161 #define EOB_ACT_LAST_MATCH 2
162
163     #define YY_LESS_LINENO(n)
164     
165 /* Return all but the first "n" matched characters back to the input stream. */
166 #define yyless(n) \
167         do \
168                 { \
169                 /* Undo effects of setting up Configtext. */ \
170         int yyless_macro_arg = (n); \
171         YY_LESS_LINENO(yyless_macro_arg);\
172                 *yy_cp = (yy_hold_char); \
173                 YY_RESTORE_YY_MORE_OFFSET \
174                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
175                 YY_DO_BEFORE_ACTION; /* set up Configtext again */ \
176                 } \
177         while ( 0 )
178
179 #define unput(c) yyunput( c, (yytext_ptr)  )
180
181 /* The following is because we cannot portably get our hands on size_t
182  * (without autoconf's help, which isn't available because we want
183  * flex-generated scanners to compile on their own).
184  */
185
186 #ifndef YY_TYPEDEF_YY_SIZE_T
187 #define YY_TYPEDEF_YY_SIZE_T
188 typedef unsigned int yy_size_t;
189 #endif
190
191 #ifndef YY_STRUCT_YY_BUFFER_STATE
192 #define YY_STRUCT_YY_BUFFER_STATE
193 struct yy_buffer_state
194         {
195         FILE *yy_input_file;
196
197         char *yy_ch_buf;                /* input buffer */
198         char *yy_buf_pos;               /* current position in input buffer */
199
200         /* Size of input buffer in bytes, not including room for EOB
201          * characters.
202          */
203         yy_size_t yy_buf_size;
204
205         /* Number of characters read into yy_ch_buf, not including EOB
206          * characters.
207          */
208         int yy_n_chars;
209
210         /* Whether we "own" the buffer - i.e., we know we created it,
211          * and can realloc() it to grow it, and should free() it to
212          * delete it.
213          */
214         int yy_is_our_buffer;
215
216         /* Whether this is an "interactive" input source; if so, and
217          * if we're using stdio for input, then we want to use getc()
218          * instead of fread(), to make sure we stop fetching input after
219          * each newline.
220          */
221         int yy_is_interactive;
222
223         /* Whether we're considered to be at the beginning of a line.
224          * If so, '^' rules will be active on the next match, otherwise
225          * not.
226          */
227         int yy_at_bol;
228
229     int yy_bs_lineno; /**< The line count. */
230     int yy_bs_column; /**< The column count. */
231     
232         /* Whether to try to fill the input buffer when we reach the
233          * end of it.
234          */
235         int yy_fill_buffer;
236
237         int yy_buffer_status;
238
239 #define YY_BUFFER_NEW 0
240 #define YY_BUFFER_NORMAL 1
241         /* When an EOF's been seen but there's still some text to process
242          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
243          * shouldn't try reading from the input source any more.  We might
244          * still have a bunch of tokens to match, though, because of
245          * possible backing-up.
246          *
247          * When we actually see the EOF, we change the status to "new"
248          * (via Configrestart()), so that the user can continue scanning by
249          * just pointing Configin at a new input file.
250          */
251 #define YY_BUFFER_EOF_PENDING 2
252
253         };
254 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
255
256 /* Stack of input buffers. */
257 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
258 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
259 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
260
261 /* We provide macros for accessing buffer states in case in the
262  * future we want to put the buffer states in a more general
263  * "scanner state".
264  *
265  * Returns the top of the stack, or NULL.
266  */
267 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
268                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
269                           : NULL)
270
271 /* Same as previous macro, but useful when we know that the buffer stack is not
272  * NULL or when we need an lvalue. For internal use only.
273  */
274 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
275
276 /* yy_hold_char holds the character lost when Configtext is formed. */
277 static char yy_hold_char;
278 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
279 int Configleng;
280
281 /* Points to current character in buffer. */
282 static char *yy_c_buf_p = (char *) 0;
283 static int yy_init = 0;         /* whether we need to initialize */
284 static int yy_start = 0;        /* start state number */
285
286 /* Flag which is used to allow Configwrap()'s to do buffer switches
287  * instead of setting up a fresh Configin.  A bit of a hack ...
288  */
289 static int yy_did_buffer_switch_on_eof;
290
291 void Configrestart (FILE *input_file  );
292 void Config_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
293 YY_BUFFER_STATE Config_create_buffer (FILE *file,int size  );
294 void Config_delete_buffer (YY_BUFFER_STATE b  );
295 void Config_flush_buffer (YY_BUFFER_STATE b  );
296 void Configpush_buffer_state (YY_BUFFER_STATE new_buffer  );
297 void Configpop_buffer_state (void );
298
299 static void Configensure_buffer_stack (void );
300 static void Config_load_buffer_state (void );
301 static void Config_init_buffer (YY_BUFFER_STATE b,FILE *file  );
302
303 #define YY_FLUSH_BUFFER Config_flush_buffer(YY_CURRENT_BUFFER )
304
305 YY_BUFFER_STATE Config_scan_buffer (char *base,yy_size_t size  );
306 YY_BUFFER_STATE Config_scan_string (yyconst char *yy_str  );
307 YY_BUFFER_STATE Config_scan_bytes (yyconst char *bytes,int len  );
308
309 void *Configalloc (yy_size_t  );
310 void *Configrealloc (void *,yy_size_t  );
311 void Configfree (void *  );
312
313 #define yy_new_buffer Config_create_buffer
314
315 #define yy_set_interactive(is_interactive) \
316         { \
317         if ( ! YY_CURRENT_BUFFER ){ \
318         Configensure_buffer_stack (); \
319                 YY_CURRENT_BUFFER_LVALUE =    \
320             Config_create_buffer(Configin,YY_BUF_SIZE ); \
321         } \
322         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
323         }
324
325 #define yy_set_bol(at_bol) \
326         { \
327         if ( ! YY_CURRENT_BUFFER ){\
328         Configensure_buffer_stack (); \
329                 YY_CURRENT_BUFFER_LVALUE =    \
330             Config_create_buffer(Configin,YY_BUF_SIZE ); \
331         } \
332         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
333         }
334
335 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
336
337 /* Begin user sect3 */
338
339 #define Configwrap(n) 1
340 #define YY_SKIP_YYWRAP
341
342 typedef unsigned char YY_CHAR;
343
344 FILE *Configin = (FILE *) 0, *Configout = (FILE *) 0;
345
346 typedef int yy_state_type;
347
348 extern int Configlineno;
349
350 int Configlineno = 1;
351
352 extern char *Configtext;
353 #define yytext_ptr Configtext
354
355 static yy_state_type yy_get_previous_state (void );
356 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
357 static int yy_get_next_buffer (void );
358 static void yy_fatal_error (yyconst char msg[]  );
359
360 /* Done after the current pattern has been matched and before the
361  * corresponding action - sets up Configtext.
362  */
363 #define YY_DO_BEFORE_ACTION \
364         (yytext_ptr) = yy_bp; \
365         Configleng = (size_t) (yy_cp - yy_bp); \
366         (yy_hold_char) = *yy_cp; \
367         *yy_cp = '\0'; \
368         (yy_c_buf_p) = yy_cp;
369
370 #define YY_NUM_RULES 55
371 #define YY_END_OF_BUFFER 56
372 /* This struct is not used in this scanner,
373    but its presence is necessary. */
374 struct yy_trans_info
375         {
376         flex_int32_t yy_verify;
377         flex_int32_t yy_nxt;
378         };
379 static yyconst flex_int16_t yy_accept[408] =
380     {   0,
381         1,    1,   56,   55,    1,    4,   55,   55,   55,   52,
382        52,    6,    5,   52,   52,   52,   52,   52,   52,   52,
383        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
384        52,   52,   52,   52,   52,   52,   52,   52,    1,    4,
385         0,   53,    0,    2,    0,   54,   52,   52,   52,   52,
386        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
387        52,   52,   49,   52,   52,   52,   52,   52,   52,   52,
388        52,   52,   52,   52,   51,   52,   52,   50,   52,   52,
389        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
390        52,   52,   52,    3,    0,   52,   52,   52,   52,   52,
391
392        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
393        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
394        52,   52,   52,   52,   52,   48,   52,   52,   52,   52,
395        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
396        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
397        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
398        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
399        52,   52,   52,   52,   52,   52,   52,   29,   52,   52,
400        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
401        52,   52,   52,   52,   52,    8,    9,   52,   52,   10,
402
403        11,   12,   13,   14,   15,   52,   52,   52,   52,   52,
404        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
405        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
406        52,   52,   52,   52,   52,   52,   52,   52,   39,   40,
407        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
408        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
409        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
410        52,   52,   52,   52,   52,   52,   26,   52,   28,   52,
411        52,   52,   32,   52,   52,   52,   52,   43,   52,   52,
412        52,   52,   52,   52,   52,   25,   52,   21,   52,   52,
413
414        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
415        52,   52,   52,   52,   52,   46,   47,   52,   45,   30,
416        52,   52,   52,   52,   41,   52,   52,   52,   52,   17,
417        52,   52,   52,   52,   52,   52,   52,   52,    7,   52,
418        52,   52,   52,   52,   27,   31,   52,   52,   52,   42,
419        52,   52,   52,   52,   52,   52,   52,   18,   52,   52,
420        52,   52,   52,   52,   37,   52,   35,   52,   52,   36,
421        44,   24,   22,   52,   52,   52,   52,   52,   52,   52,
422        52,   52,   52,   52,   52,   52,   52,   23,   19,   52,
423        52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
424
425        52,   33,   20,   16,   38,   34,    0
426     } ;
427
428 static yyconst flex_int32_t yy_ec[256] =
429     {   0,
430         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
431         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
432         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
433         1,    2,    1,    5,    6,    1,    7,    1,    1,    1,
434         1,    1,    8,    8,    8,    9,    8,    8,   10,   11,
435        12,   13,   14,    8,    8,    8,    8,    8,    1,    1,
436        15,    1,    1,   16,   17,   18,   19,   20,   21,   22,
437        23,   24,   25,   24,   26,   27,   28,   29,   30,   31,
438        32,   33,   34,   35,   36,   37,   38,   24,   39,   40,
439         1,   41,    1,    1,    8,    1,   42,   43,   44,   45,
440
441        46,   47,   48,   49,   50,   24,   51,   52,   53,   54,
442        55,   56,   57,   58,   59,   60,   61,   62,   24,   63,
443        64,   65,    1,    8,    1,    1,    1,    1,    1,    1,
444         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
445         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
446         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
447         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
448         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
449         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
450         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
451
452         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
453         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
454         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
455         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
456         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
457         1,    1,    1,    1,    1
458     } ;
459
460 static yyconst flex_int32_t yy_meta[66] =
461     {   0,
462         1,    1,    1,    1,    1,    1,    2,    3,    1,    3,
463         3,    3,    3,    3,    1,    3,    3,    3,    3,    3,
464         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
465         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
466         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
467         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
468         3,    3,    3,    3,    3
469     } ;
470
471 static yyconst flex_int16_t yy_base[412] =
472     {   0,
473         0,    0,  716, 3252,  713, 3252,  711,  708,   63,   61,
474         0, 3252, 3252,   36,   57,   50,   67,   68,   70,   93,
475        59,   73,   68,   93,  106,   75,  652,   46,  655,  667,
476        41,   86,   89,  650,  661,  648,  659,  658,  701, 3252,
477       697, 3252,   94, 3252,  698, 3252,    0,  148,  183,  218,
478       253,  305,  349,  389,  424,  472,  518,  573,  627,  671,
479       103,  641,    0,  664,  638,  669,  643,  668,  642,  664,
480       115,  638,   92,  663,    0,  637,  667,    0,  653,  651,
481       633,  616,  615,  653,  627,  640,  614,  115,   92,  637,
482       609,  632,  606, 3252,  661,   89,  603,  609,  609,  606,
483
484       114,  606,  611,  597,  596,  609,  597,  121,  595,  593,
485       711,  761,  811,  853,  901,  942,  992, 1030, 1067, 1123,
486      1177, 1231, 1267, 1319, 1366,    0,  630,  604,  630,  604,
487       619,  593,  611,  585,  619,  602,  606,  583,  571,  578,
488       607,  581,  159,  595,  164,  569,  593,  592,  586,  560,
489       591,  598,  564,  571,  582,  556,  567,  568,  558,  551,
490       561,  549,  556,  560,  190,  549,  548,  542,  548,  555,
491       541, 1418, 1472, 1526, 1579, 1618, 1671, 3252, 1725, 1771,
492      1824,  231,  242, 1871, 1925, 1967, 2007,  571,  545,  567,
493       541,  577,  551,  571,  545,    0,    0,  569,  542,    0,
494
495         0,    0,    0,    0,    0,  550,  541,  523,  514,  540,
496       514,  546,  513,  526,  499,  531,  500,  494,  491,  501,
497       491,  481,  468,  458,  452,  459,  448,  451, 2044, 2097,
498       263, 2150,  279, 2194, 2247, 2300,  289, 2344, 3252, 3252,
499      2386, 2439,  325, 2479,  473,  438,  457,  431,  445,  419,
500       438,  403,  430,  417,  399,  383,  409,  378,  396,  370,
501       400,  373,  386,  360,  370,  367,  357,  352,  359,  348,
502       352,  348,  346,  339,  337,  363, 3252, 2528, 3252,  373,
503       410, 2580, 3252, 2632, 2670,  434, 2727, 3252, 2781,  366,
504       340,  370,  342,  362,  327,    0,  329,    0,  303,  348,
505
506       320,  337,  308,  335,  301,  313,  286,  282,  285,  284,
507       263,  283,  280,  283,  270, 3252, 3252,  446, 3252, 3252,
508       456,  482, 2834, 2872, 3252,  492, 2929,  144,  121,    0,
509       302,  276,  293,  264,  289,  263,  272,  246,    0,  134,
510       252,  242,  240,  224, 3252, 3252,   74, 2969,  504, 3252,
511       528,  249,  223,  247,  220,  234,  203,    0,  158,  160,
512       199,  193,  187,  161, 3252,  185, 3252, 3008, 3060, 3252,
513      3252,    0,    0,  202,  176,  199,  194,  164,  164,  162,
514       161,  154,  150, 3104, 3142,  187,  163,    0,    0,  164,
515       146, 3194,  541,  158,  154,  127,  123,  107,   80,   81,
516
517       554, 3252,    0,    0, 3252, 3252, 3252, 3243, 3246, 3248,
518        83
519     } ;
520
521 static yyconst flex_int16_t yy_def[412] =
522     {   0,
523       407,    1,  407,  407,  407,  407,  407,  408,  409,  410,
524       411,  407,  407,  411,  411,  411,  411,  411,  411,  411,
525       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
526       411,  411,  411,  411,  411,  411,  411,  411,  407,  407,
527       408,  407,  409,  407,  407,  407,  411,  410,  410,  410,
528       410,  410,  410,  410,  410,  410,  410,  410,  410,  410,
529       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
530       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
531       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
532       411,  411,  411,  407,  407,  411,  411,  411,  411,  411,
533
534       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
535       410,  410,  410,  410,  410,  410,  410,  410,  410,  410,
536       410,  410,  410,  410,  410,  411,  411,  411,  411,  411,
537       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
538       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
539       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
540       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
541       411,  410,  410,  410,  410,  410,  410,  407,  410,  410,
542       410,  410,  410,  410,  410,  410,  410,  411,  411,  411,
543       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
544
545       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
546       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
547       411,  411,  411,  411,  411,  411,  411,  411,  410,  410,
548       410,  410,  410,  410,  410,  410,  410,  410,  407,  407,
549       410,  410,  410,  410,  411,  411,  411,  411,  411,  411,
550       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
551       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
552       411,  411,  411,  411,  410,  410,  407,  410,  407,  410,
553       410,  410,  407,  410,  410,  410,  410,  407,  410,  411,
554       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
555
556       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
557       411,  411,  411,  411,  411,  407,  407,  410,  407,  407,
558       410,  410,  410,  410,  407,  410,  410,  411,  411,  411,
559       411,  411,  411,  411,  411,  411,  411,  411,  411,  411,
560       411,  411,  411,  411,  407,  407,  411,  410,  410,  407,
561       410,  411,  411,  411,  411,  411,  411,  411,  411,  411,
562       411,  411,  411,  411,  407,  411,  407,  410,  410,  407,
563       407,  411,  411,  411,  411,  411,  411,  411,  411,  411,
564       411,  411,  411,  410,  410,  411,  411,  411,  411,  411,
565       411,  410,  410,  411,  411,  411,  411,  411,  411,  411,
566
567       410,  407,  411,  411,  407,  407,    0,  407,  407,  407,
568       407
569     } ;
570
571 static yyconst flex_int16_t yy_nxt[3318] =
572     {   0,
573         4,    5,    6,    7,    8,    9,   10,   11,   12,   11,
574        11,   11,   11,   11,   13,    4,   14,   15,   16,   11,
575        11,   17,   11,   11,   11,   11,   18,   11,   19,   20,
576        21,   11,   22,   11,   23,   11,   24,   11,   25,   11,
577        26,   27,   28,   29,   11,   11,   30,   11,   11,   11,
578        11,   31,   11,   32,   33,   34,   11,   35,   11,   36,
579        11,   37,   11,   38,   11,   44,   45,   46,   47,   61,
580        47,   47,   47,   47,   47,   63,   47,   94,   95,   66,
581       365,   64,  100,   68,   70,   47,   74,  405,   49,   63,
582       101,   84,   71,   86,   62,   97,   44,   45,   50,   75,
583
584        88,   47,   51,   52,   67,   53,   65,   54,   69,   72,
585        55,   76,   56,   90,   77,   57,   85,   73,   87,   58,
586        59,   78,   60,   79,   75,   89,   92,  102,   80,  366,
587       126,  151,  136,  153,  139,  103,  127,  404,   91,   81,
588        75,  126,   78,  137,  104,  140,   78,  157,   82,  105,
589       152,   93,  154,   83,   46,   47,  162,   47,   47,   47,
590        47,   47,  169,   47,  352,  403,  353,  163,  201,  202,
591       203,  204,  205,  201,  202,  203,  204,  205,  376,  361,
592       404,  170,  126,  206,  126,  403,  404,  377,   47,   46,
593        47,  403,   47,   47,   47,   47,   47,  126,   47,  201,
594
595       202,  203,  204,  205,  400,  378,  381,  394,  396,  398,
596       391,  389,  111,  208,  379,  382,  395,  397,  399,  388,
597       390,  389,  388,   47,   46,   47,  389,   47,   47,   47,
598        47,   47,  388,   47,  387,  386,  383,  239,   47,  223,
599        47,   47,   47,   47,   47,  380,   47,  112,  240,   47,
600       373,   47,   47,   47,   47,   47,  372,   47,   47,   46,
601        47,  375,   47,   47,   47,   47,   47,  374,   47,  277,
602        47,   47,   47,   47,   47,   47,   47,  373,   47,  373,
603       372,  372,   47,  364,  358,  279,   47,  363,   47,   47,
604        47,   47,   47,   47,   47,  283,   47,  362,   47,   47,
605
606        47,   47,   47,   47,   47,  360,  359,  358,  358,  357,
607       113,   46,   47,  356,   47,   47,   47,   47,   47,   47,
608        47,  355,  354,  339,  344,  343,  342,  341,  330,   47,
609        63,  288,   47,  340,   47,   47,   47,   47,   47,  339,
610        47,  339,  338,  316,   47,   47,   47,   47,   47,   47,
611        47,  337,   47,  336,  114,   46,   47,  335,   47,   47,
612        47,   47,   47,  334,   47,   47,  333,  332,  331,  317,
613        47,  330,   47,   47,   47,   47,   47,   47,   47,  319,
614        47,  330,   47,   47,   47,   47,   47,   63,   47,   47,
615        63,  329,  328,  315,  115,   46,   47,  314,   47,   47,
616
617        47,   47,   47,   47,   47,  313,  312,  298,  311,  296,
618       310,  309,  308,   47,  307,  306,  320,   47,  116,   47,
619        47,   47,   47,   47,  305,   47,  304,  303,  302,   47,
620        46,   47,  301,   47,   47,   47,   47,   47,  300,   47,
621       325,   47,  298,   47,   47,   47,   47,   47,  299,   47,
622        47,  298,  345,   47,  297,   47,   47,   47,   47,   47,
623       296,   47,  346,   47,   47,   47,   47,   47,   47,   47,
624       296,   47,  295,  294,   47,  293,  292,  117,   46,   47,
625       291,   47,   47,   47,   47,   47,   47,   47,   46,   47,
626       290,  347,   47,   47,   47,   47,   47,   47,  350,   47,
627
628       274,   47,   47,   47,   47,   47,  273,   47,  272,  271,
629       370,   47,   47,   47,   47,   47,   47,   47,  270,   47,
630       269,  118,   47,  119,   46,   47,  268,   47,   47,   47,
631        47,   47,   47,   47,  371,   47,   75,   47,   47,   47,
632        47,   47,  267,   47,   47,  266,  265,  402,   47,  264,
633        47,   47,   47,   47,   47,  263,   47,  262,   47,  261,
634       406,   47,  260,   47,   47,   47,   47,   47,   47,   47,
635       259,  258,  257,  120,  256,  255,  254,  253,  121,   46,
636        47,   47,   47,   47,   47,   47,   47,  252,   47,  251,
637        75,   75,  250,  249,   47,  248,  247,  246,  245,  228,
638
639        78,  227,  226,  225,  224,  200,  222,  197,  196,  221,
640       220,  219,  218,   47,  217,  216,   78,  215,   78,  214,
641       213,  212,  211,  210,  209,  207,  200,  200,  199,  197,
642       196,  198,  122,   46,   47,  197,   47,   47,   47,   47,
643        47,  196,   47,  195,  194,  193,  192,  191,  190,  189,
644       188,   78,  171,  168,  167,  166,  165,   75,  164,  161,
645       160,  159,  158,   94,   78,   78,  156,   47,  123,  155,
646       150,  149,  148,  147,  146,  145,  124,   46,   47,   75,
647        47,   47,   47,   47,   47,  144,   47,  143,   75,  142,
648       141,  138,  135,  134,  133,  132,  131,  130,  129,  128,
649
650        44,   42,   39,  110,  109,  108,  107,  106,   99,   98,
651        96,   47,   42,   40,   39,  407,  125,   46,   47,  407,
652        47,   47,   47,   47,   47,  407,   47,  407,  407,  407,
653       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
654       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
655       407,   47,  407,  407,  407,  407,  407,  407,  407,  407,
656       407,  407,  407,  407,  407,  407,  172,   46,   47,  407,
657        47,   47,   47,   47,   47,  407,   47,  407,  407,  407,
658       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
659       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
660
661       407,   47,  407,  407,  407,  407,  407,  407,  407,  407,
662       407,  407,  407,  407,  407,  407,  173,   46,   47,  407,
663        47,   47,   47,   47,   47,  407,   47,  407,  407,  407,
664       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
665       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
666       407,   47,  407,  407,  407,  407,  407,  407,  174,   46,
667        47,  407,   47,   47,   47,   47,   47,  407,   47,  407,
668       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
669       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
670       407,  407,  407,   47,  407,  407,  407,  407,  407,  407,
671
672       407,  407,  407,  407,  407,  407,  175,   46,   47,  407,
673        47,   47,   47,   47,   47,  407,   47,  407,  407,  407,
674       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
675       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
676       407,   47,  407,  407,  407,  407,  407,  176,   46,   47,
677       407,   47,   47,   47,   47,   47,  407,   47,  407,  407,
678       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
679       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
680       407,  407,   47,  407,  407,  407,  407,  407,  407,  407,
681       407,  407,  407,  407,  407,  407,  407,  177,  178,   47,
682
683       407,   47,   47,   47,   47,   47,  407,   47,  407,  407,
684       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
685       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
686       407,  407,   47,  407,  407,  179,   46,   47,  407,   47,
687        47,   47,   47,   47,  407,   47,  407,  407,  407,  407,
688       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
689       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
690        47,  407,  180,   46,   47,  407,   47,   47,   47,   47,
691        47,  407,   47,  407,  407,  407,  407,  407,  407,  407,
692       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
693
694       407,  407,  407,  407,  407,  407,  407,   47,  407,  407,
695       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
696       407,  407,  407,  407,  407,  407,  407,  407,  181,   46,
697        47,  407,   47,   47,   47,   47,   47,  407,   47,  407,
698       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
699       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
700       407,  407,  407,   47,  407,  407,  407,  407,  407,  407,
701       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
702       407,  407,  182,   46,   47,  407,   47,   47,   47,   47,
703        47,  407,   47,  407,  407,  407,  407,  407,  407,  407,
704
705       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
706       407,  407,  407,  407,  407,  407,  407,   47,  407,  407,
707       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
708       407,  407,  407,  407,  407,  407,  183,   46,   47,  407,
709        47,   47,   47,   47,   47,  407,   47,  407,  407,  407,
710       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
711       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
712       407,   47,  184,   46,   47,  407,   47,   47,   47,   47,
713        47,  407,   47,  407,  407,  407,  407,  407,  407,  407,
714       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
715
716       407,  407,  407,  407,  407,  407,  407,   47,  407,  407,
717       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
718       407,  407,  407,  407,  185,   46,   47,  407,   47,   47,
719        47,   47,   47,  407,   47,  407,  407,  407,  407,  407,
720       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
721       407,  407,  407,  407,  407,  407,  407,  407,  407,   47,
722       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
723       407,  186,   46,   47,  407,   47,   47,   47,   47,   47,
724       407,   47,  407,  407,  407,  407,  407,  407,  407,  407,
725       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
726
727       407,  407,  407,  407,  407,  407,   47,  407,  407,  407,
728       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
729       407,  407,  407,  187,   46,   47,  407,   47,   47,   47,
730        47,   47,  407,   47,  407,  407,  407,  407,  407,  407,
731       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
732       407,  407,  407,  407,  407,  407,  407,  407,   47,  407,
733       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
734       407,  407,  407,  407,  407,  407,  407,  229,   46,   47,
735       407,   47,   47,   47,   47,   47,  407,   47,  407,  407,
736       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
737
738       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
739       407,  407,   47,  407,  407,  407,  407,  407,  407,  407,
740       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
741       407,  230,   46,   47,  407,   47,   47,   47,   47,   47,
742       407,   47,  407,  407,  407,  407,  407,  407,  407,  407,
743       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
744       407,  407,  407,  407,  407,  407,   47,  407,  407,  407,
745       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
746       407,  407,  407,  407,  231,   46,   47,  407,   47,   47,
747        47,   47,   47,  407,   47,  407,  407,  407,  407,  407,
748
749       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
750       407,  407,  407,  407,  407,  407,  407,  407,  407,   47,
751       407,  407,  407,  232,   46,   47,  407,   47,   47,   47,
752        47,   47,  407,   47,  407,  407,  407,  407,  407,  407,
753       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
754       407,  407,  407,  407,  407,  407,  407,  407,   47,  407,
755       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
756       407,  407,  407,  407,  407,  407,  233,   46,   47,  407,
757        47,   47,   47,   47,   47,  407,   47,  407,  407,  407,
758       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
759
760       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
761       407,   47,  407,  407,  407,  407,  407,  407,  407,  407,
762       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
763       234,   46,   47,  407,   47,   47,   47,   47,   47,  407,
764        47,  407,  407,  407,  407,  407,  407,  407,  407,  407,
765       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
766       407,  407,  407,  407,  407,   47,  407,  407,  407,  407,
767       407,  407,  407,  407,  407,  407,  235,   46,   47,  407,
768        47,   47,   47,   47,   47,  407,   47,  407,  407,  407,
769       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
770
771       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
772       407,   47,  407,  407,  407,  236,  407,  407,  407,  407,
773       407,  407,  407,  407,  407,  407,  407,  407,  407,  237,
774        46,   47,  407,   47,   47,   47,   47,   47,  407,   47,
775       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
776       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
777       407,  407,  407,  407,   47,  407,  407,  407,  407,  407,
778       407,  407,  407,  407,  407,  407,  238,   46,   47,  407,
779        47,   47,   47,   47,   47,  407,   47,  407,  407,  407,
780       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
781
782       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
783       407,   47,  407,  407,  407,  407,  407,  407,  407,  407,
784       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
785       241,   46,   47,  407,   47,   47,   47,   47,   47,  407,
786        47,  407,  407,  407,  407,  407,  407,  407,  407,  407,
787       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
788       407,  407,  407,  407,  407,   47,  407,  407,  407,  407,
789       407,  407,  242,   46,   47,  407,   47,   47,   47,   47,
790        47,  407,   47,  407,  407,  407,  407,  407,  407,  407,
791       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
792
793       407,  407,  407,  407,  407,  407,  407,   47,  407,  407,
794       407,  407,  243,   46,   47,  407,   47,   47,   47,   47,
795        47,  407,   47,  407,  407,  407,  407,  407,  407,  407,
796       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
797       407,  407,  407,  407,  407,  407,  407,   47,  407,  244,
798        46,   47,  407,   47,   47,   47,   47,   47,  407,   47,
799       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
800       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
801       407,  407,  407,  407,   47,  407,  407,  407,  407,  407,
802       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
803
804       407,  407,  275,   46,   47,  407,   47,   47,   47,   47,
805        47,  407,   47,  407,  407,  407,  407,  407,  407,  407,
806       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
807       407,  407,  407,  407,  407,  407,  407,   47,  407,  407,
808       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
809       407,  407,  407,  407,  407,  276,   46,   47,  407,   47,
810        47,   47,   47,   47,  407,   47,  407,  407,  407,  407,
811       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
812       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
813        47,  407,  407,  407,  407,  407,  407,  407,  407,  278,
814
815        46,   47,  407,   47,   47,   47,   47,   47,  407,   47,
816       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
817       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
818       407,  407,  407,  407,   47,  407,  407,  407,  407,  407,
819       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
820       407,  407,  280,   46,   47,  407,   47,   47,   47,   47,
821        47,  407,   47,  407,  407,  407,  407,  407,  407,  407,
822       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
823       407,  407,  407,  407,  407,  407,  407,   47,  407,  407,
824       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
825
826       407,  407,  407,  407,  407,  281,   46,   47,  407,   47,
827        47,   47,   47,   47,  407,   47,  407,  407,  407,  407,
828       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
829       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
830        47,  407,  407,  407,  407,  407,  407,  407,  407,  282,
831        46,   47,  407,   47,   47,   47,   47,   47,  407,   47,
832       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
833       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
834       407,  407,  407,  407,   47,  407,  407,  284,  407,  407,
835       407,  285,   46,   47,  407,   47,   47,   47,   47,   47,
836
837       407,   47,  407,  407,  407,  407,  407,  407,  407,  407,
838       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
839       407,  407,  407,  407,  407,  407,   47,  407,  407,  407,
840       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
841       407,  407,  407,  407,  286,   46,   47,  407,   47,   47,
842        47,   47,   47,  407,   47,  407,  407,  407,  407,  407,
843       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
844       407,  407,  407,  407,  407,  407,  407,  407,  407,   47,
845       407,  407,  407,  407,  287,   46,   47,  407,   47,   47,
846        47,   47,   47,  407,   47,  407,  407,  407,  407,  407,
847
848       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
849       407,  407,  407,  407,  407,  407,  407,  407,  407,   47,
850       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
851       407,  407,  407,  289,   46,   47,  407,   47,   47,   47,
852        47,   47,  407,   47,  407,  407,  407,  407,  407,  407,
853       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
854       407,  407,  407,  407,  407,  407,  407,  407,   47,  407,
855       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
856       407,  407,  407,  407,  407,  318,   46,   47,  407,   47,
857        47,   47,   47,   47,  407,   47,  407,  407,  407,  407,
858
859       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
860       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
861        47,  407,  407,  407,  407,  407,  407,  407,  407,  407,
862       407,  407,  407,  407,  407,  407,  407,  321,   46,   47,
863       407,   47,   47,   47,   47,   47,  407,   47,  407,  407,
864       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
865       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
866       407,  407,   47,  407,  407,  322,   46,   47,  407,   47,
867        47,   47,   47,   47,  407,   47,  407,  407,  407,  407,
868       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
869
870       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
871        47,  407,  407,  323,  407,  407,  407,  407,  407,  407,
872       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
873       407,  407,  324,   46,   47,  407,   47,   47,   47,   47,
874        47,  407,   47,  407,  407,  407,  407,  407,  407,  407,
875       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
876       407,  407,  407,  407,  407,  407,  407,   47,  407,  407,
877       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
878       407,  407,  407,  407,  407,  407,  326,   46,   47,  407,
879        47,   47,   47,   47,   47,  407,   47,  407,  407,  407,
880
881       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
882       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
883       407,   47,  407,  407,  407,  407,  407,  407,  407,  407,
884       407,  407,  407,  407,  407,  407,  407,  407,  407,  327,
885        46,   47,  407,   47,   47,   47,   47,   47,  407,   47,
886       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
887       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
888       407,  407,  407,  407,   47,  407,  407,  348,   46,   47,
889       407,   47,   47,   47,   47,   47,  407,   47,  407,  407,
890       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
891
892       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
893       407,  407,   47,  407,  407,  407,  407,  407,  407,  407,
894       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
895       407,  407,  407,  407,  349,   46,   47,  407,   47,   47,
896        47,   47,   47,  407,   47,  407,  407,  407,  407,  407,
897       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
898       407,  407,  407,  407,  407,  407,  407,  407,  407,   47,
899       407,  407,  407,  407,  351,  367,   47,  407,   47,   47,
900        47,   47,   47,  407,   47,  407,  407,  407,  407,  407,
901       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
902
903       407,  407,  407,  407,  407,  407,  407,  407,  407,   47,
904       368,  407,  407,  369,   46,   47,  407,   47,   47,   47,
905        47,   47,  407,   47,  407,  407,  407,  407,  407,  407,
906       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
907       407,  407,  407,  407,  407,  407,  407,  407,   47,  407,
908       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
909       407,  407,  407,  407,  407,  384,   46,   47,  407,   47,
910        47,   47,   47,   47,  407,   47,  407,  407,  407,  407,
911       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
912       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
913
914        47,  407,  407,  407,  407,  407,  407,  407,  407,  385,
915        46,   47,  407,   47,   47,   47,   47,   47,  407,   47,
916       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
917       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
918       407,  407,  407,  407,   47,  407,  407,  392,   46,   47,
919       407,   47,   47,   47,   47,   47,  407,   47,  407,  407,
920       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
921       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
922       407,  407,   47,  407,  407,  407,  407,  407,  407,  407,
923       407,  407,  407,  407,  407,  407,  407,  407,  407,  393,
924
925        46,   47,  407,   47,   47,   47,   47,   47,  407,   47,
926       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
927       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
928       407,  407,  407,  407,   47,  407,  407,  407,  407,  407,
929       407,  407,  401,   41,   41,   41,   43,   43,   43,   48,
930        48,    3,  407,  407,  407,  407,  407,  407,  407,  407,
931       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
932       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
933       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
934       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
935
936       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
937       407,  407,  407,  407,  407,  407,  407
938     } ;
939
940 static yyconst flex_int16_t yy_chk[3318] =
941     {   0,
942         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
943         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
944         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
945         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
946         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
947         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
948         1,    1,    1,    1,    1,    9,    9,   10,   10,   14,
949        10,   10,   10,   10,   10,   15,   10,   26,   26,   16,
950       347,   15,   31,   17,   18,  411,   19,  400,   10,   28,
951        31,   21,   18,   22,   14,   28,   43,   43,   10,   19,
952
953        23,   10,   10,   10,   16,   10,   15,   10,   17,   18,
954        10,   19,   10,   24,   20,   10,   21,   18,   22,   10,
955        10,   20,   10,   20,   19,   23,   25,   32,   20,  347,
956        61,   88,   71,   89,   73,   33,   61,  399,   24,   20,
957        32,   96,   33,   71,   33,   73,   20,   96,   20,   33,
958        88,   25,   89,   20,   48,   48,  101,   48,   48,   48,
959        48,   48,  108,   48,  328,  398,  329,  101,  143,  143,
960       143,  143,  143,  145,  145,  145,  145,  145,  359,  340,
961       397,  108,  328,  143,  329,  396,  395,  359,   48,   49,
962        49,  394,   49,   49,   49,   49,   49,  340,   49,  165,
963
964       165,  165,  165,  165,  391,  360,  364,  386,  387,  390,
965       383,  382,   49,  145,  360,  364,  386,  387,  390,  381,
966       380,  379,  378,   49,   50,   50,  377,   50,   50,   50,
967        50,   50,  376,   50,  375,  374,  366,  182,  182,  165,
968       182,  182,  182,  182,  182,  363,  182,   50,  183,  183,
969       362,  183,  183,  183,  183,  183,  361,  183,   50,   51,
970        51,  357,   51,   51,   51,   51,   51,  356,   51,  231,
971       231,  182,  231,  231,  231,  231,  231,  355,  231,  354,
972       353,  352,  183,  344,  343,  233,  233,  342,  233,  233,
973       233,  233,  233,   51,  233,  237,  237,  341,  237,  237,
974
975       237,  237,  237,  231,  237,  338,  337,  336,  335,  334,
976        51,   52,   52,  333,   52,   52,   52,   52,   52,  233,
977        52,  332,  331,  315,  314,  313,  312,  311,  310,  237,
978       309,  243,  243,  308,  243,  243,  243,  243,  243,  307,
979       243,  306,  305,  275,  275,   52,  275,  275,  275,  275,
980       275,  304,  275,  303,   52,   53,   53,  302,   53,   53,
981        53,   53,   53,  301,   53,  243,  300,  299,  297,  276,
982       276,  295,  276,  276,  276,  276,  276,  275,  276,  280,
983       280,  294,  280,  280,  280,  280,  280,  293,  280,   53,
984       292,  291,  290,  274,   53,   54,   54,  273,   54,   54,
985
986        54,   54,   54,  276,   54,  272,  271,  270,  269,  268,
987       267,  266,  265,  280,  264,  263,  281,  281,   54,  281,
988       281,  281,  281,  281,  262,  281,  261,  260,  259,   54,
989        55,   55,  258,   55,   55,   55,   55,   55,  257,   55,
990       286,  286,  256,  286,  286,  286,  286,  286,  255,  286,
991       281,  254,  318,  318,  253,  318,  318,  318,  318,  318,
992       252,  318,  321,  321,   55,  321,  321,  321,  321,  321,
993       251,  321,  250,  249,  286,  248,  247,   55,   56,   56,
994       246,   56,   56,   56,   56,   56,  318,   56,  322,  322,
995       245,  322,  322,  322,  322,  322,  321,  322,  326,  326,
996
997       228,  326,  326,  326,  326,  326,  227,  326,  226,  225,
998       349,  349,   56,  349,  349,  349,  349,  349,  224,  349,
999       223,   56,  322,   56,   57,   57,  222,   57,   57,   57,
1000        57,   57,  326,   57,  351,  351,  221,  351,  351,  351,
1001       351,  351,  220,  351,  349,  219,  218,  393,  393,  217,
1002       393,  393,  393,  393,  393,  216,  393,  215,   57,  214,
1003       401,  401,  213,  401,  401,  401,  401,  401,  351,  401,
1004       212,  211,  210,   57,  209,  208,  207,  206,   57,   58,
1005        58,  393,   58,   58,   58,   58,   58,  199,   58,  198,
1006       195,  194,  193,  192,  401,  191,  190,  189,  188,  171,
1007
1008       170,  169,  168,  167,  166,  164,  163,  162,  161,  160,
1009       159,  158,  157,   58,  156,  155,  154,  153,  152,  151,
1010       150,  149,  148,  147,  146,  144,  142,  141,  140,  139,
1011       138,  137,   58,   59,   59,  136,   59,   59,   59,   59,
1012        59,  135,   59,  134,  133,  132,  131,  130,  129,  128,
1013       127,  110,  109,  107,  106,  105,  104,  103,  102,  100,
1014        99,   98,   97,   95,   93,   92,   91,   59,   59,   90,
1015        87,   86,   85,   84,   83,   82,   59,   60,   60,   81,
1016        60,   60,   60,   60,   60,   80,   60,   79,   77,   76,
1017        74,   72,   70,   69,   68,   67,   66,   65,   64,   62,
1018
1019        45,   41,   39,   38,   37,   36,   35,   34,   30,   29,
1020        27,   60,    8,    7,    5,    3,   60,  111,  111,    0,
1021       111,  111,  111,  111,  111,    0,  111,    0,    0,    0,
1022         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1023         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1024         0,  111,    0,    0,    0,    0,    0,    0,    0,    0,
1025         0,    0,    0,    0,    0,    0,  111,  112,  112,    0,
1026       112,  112,  112,  112,  112,    0,  112,    0,    0,    0,
1027         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1028         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1029
1030         0,  112,    0,    0,    0,    0,    0,    0,    0,    0,
1031         0,    0,    0,    0,    0,    0,  112,  113,  113,    0,
1032       113,  113,  113,  113,  113,    0,  113,    0,    0,    0,
1033         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1034         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1035         0,  113,    0,    0,    0,    0,    0,    0,  113,  114,
1036       114,    0,  114,  114,  114,  114,  114,    0,  114,    0,
1037         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1038         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1039         0,    0,    0,  114,    0,    0,    0,    0,    0,    0,
1040
1041         0,    0,    0,    0,    0,    0,  114,  115,  115,    0,
1042       115,  115,  115,  115,  115,    0,  115,    0,    0,    0,
1043         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1044         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1045         0,  115,    0,    0,    0,    0,    0,  115,  116,  116,
1046         0,  116,  116,  116,  116,  116,    0,  116,    0,    0,
1047         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1048         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1049         0,    0,  116,    0,    0,    0,    0,    0,    0,    0,
1050         0,    0,    0,    0,    0,    0,    0,  116,  117,  117,
1051
1052         0,  117,  117,  117,  117,  117,    0,  117,    0,    0,
1053         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1054         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1055         0,    0,  117,    0,    0,  117,  118,  118,    0,  118,
1056       118,  118,  118,  118,    0,  118,    0,    0,    0,    0,
1057         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1058         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1059       118,    0,  118,  119,  119,    0,  119,  119,  119,  119,
1060       119,    0,  119,    0,    0,    0,    0,    0,    0,    0,
1061         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1062
1063         0,    0,    0,    0,    0,    0,    0,  119,    0,    0,
1064         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1065         0,    0,    0,    0,    0,    0,    0,    0,  119,  120,
1066       120,    0,  120,  120,  120,  120,  120,    0,  120,    0,
1067         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1068         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1069         0,    0,    0,  120,    0,    0,    0,    0,    0,    0,
1070         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1071         0,    0,  120,  121,  121,    0,  121,  121,  121,  121,
1072       121,    0,  121,    0,    0,    0,    0,    0,    0,    0,
1073
1074         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1075         0,    0,    0,    0,    0,    0,    0,  121,    0,    0,
1076         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1077         0,    0,    0,    0,    0,    0,  121,  122,  122,    0,
1078       122,  122,  122,  122,  122,    0,  122,    0,    0,    0,
1079         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1080         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1081         0,  122,  122,  123,  123,    0,  123,  123,  123,  123,
1082       123,    0,  123,    0,    0,    0,    0,    0,    0,    0,
1083         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1084
1085         0,    0,    0,    0,    0,    0,    0,  123,    0,    0,
1086         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1087         0,    0,    0,    0,  123,  124,  124,    0,  124,  124,
1088       124,  124,  124,    0,  124,    0,    0,    0,    0,    0,
1089         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1090         0,    0,    0,    0,    0,    0,    0,    0,    0,  124,
1091         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1092         0,  124,  125,  125,    0,  125,  125,  125,  125,  125,
1093         0,  125,    0,    0,    0,    0,    0,    0,    0,    0,
1094         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1095
1096         0,    0,    0,    0,    0,    0,  125,    0,    0,    0,
1097         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1098         0,    0,    0,  125,  172,  172,    0,  172,  172,  172,
1099       172,  172,    0,  172,    0,    0,    0,    0,    0,    0,
1100         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1101         0,    0,    0,    0,    0,    0,    0,    0,  172,    0,
1102         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1103         0,    0,    0,    0,    0,    0,    0,  172,  173,  173,
1104         0,  173,  173,  173,  173,  173,    0,  173,    0,    0,
1105         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1106
1107         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1108         0,    0,  173,    0,    0,    0,    0,    0,    0,    0,
1109         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1110         0,  173,  174,  174,    0,  174,  174,  174,  174,  174,
1111         0,  174,    0,    0,    0,    0,    0,    0,    0,    0,
1112         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1113         0,    0,    0,    0,    0,    0,  174,    0,    0,    0,
1114         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1115         0,    0,    0,    0,  174,  175,  175,    0,  175,  175,
1116       175,  175,  175,    0,  175,    0,    0,    0,    0,    0,
1117
1118         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1119         0,    0,    0,    0,    0,    0,    0,    0,    0,  175,
1120         0,    0,    0,  175,  176,  176,    0,  176,  176,  176,
1121       176,  176,    0,  176,    0,    0,    0,    0,    0,    0,
1122         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1123         0,    0,    0,    0,    0,    0,    0,    0,  176,    0,
1124         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1125         0,    0,    0,    0,    0,    0,  176,  177,  177,    0,
1126       177,  177,  177,  177,  177,    0,  177,    0,    0,    0,
1127         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1128
1129         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1130         0,  177,    0,    0,    0,    0,    0,    0,    0,    0,
1131         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1132       177,  179,  179,    0,  179,  179,  179,  179,  179,    0,
1133       179,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1134         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1135         0,    0,    0,    0,    0,  179,    0,    0,    0,    0,
1136         0,    0,    0,    0,    0,    0,  179,  180,  180,    0,
1137       180,  180,  180,  180,  180,    0,  180,    0,    0,    0,
1138         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1139
1140         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1141         0,  180,    0,    0,    0,  180,    0,    0,    0,    0,
1142         0,    0,    0,    0,    0,    0,    0,    0,    0,  180,
1143       181,  181,    0,  181,  181,  181,  181,  181,    0,  181,
1144         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1145         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1146         0,    0,    0,    0,  181,    0,    0,    0,    0,    0,
1147         0,    0,    0,    0,    0,    0,  181,  184,  184,    0,
1148       184,  184,  184,  184,  184,    0,  184,    0,    0,    0,
1149         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1150
1151         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1152         0,  184,    0,    0,    0,    0,    0,    0,    0,    0,
1153         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1154       184,  185,  185,    0,  185,  185,  185,  185,  185,    0,
1155       185,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1156         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1157         0,    0,    0,    0,    0,  185,    0,    0,    0,    0,
1158         0,    0,  185,  186,  186,    0,  186,  186,  186,  186,
1159       186,    0,  186,    0,    0,    0,    0,    0,    0,    0,
1160         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1161
1162         0,    0,    0,    0,    0,    0,    0,  186,    0,    0,
1163         0,    0,  186,  187,  187,    0,  187,  187,  187,  187,
1164       187,    0,  187,    0,    0,    0,    0,    0,    0,    0,
1165         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1166         0,    0,    0,    0,    0,    0,    0,  187,    0,  187,
1167       229,  229,    0,  229,  229,  229,  229,  229,    0,  229,
1168         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1169         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1170         0,    0,    0,    0,  229,    0,    0,    0,    0,    0,
1171         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1172
1173         0,    0,  229,  230,  230,    0,  230,  230,  230,  230,
1174       230,    0,  230,    0,    0,    0,    0,    0,    0,    0,
1175         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1176         0,    0,    0,    0,    0,    0,    0,  230,    0,    0,
1177         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1178         0,    0,    0,    0,    0,  230,  232,  232,    0,  232,
1179       232,  232,  232,  232,    0,  232,    0,    0,    0,    0,
1180         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1181         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1182       232,    0,    0,    0,    0,    0,    0,    0,    0,  232,
1183
1184       234,  234,    0,  234,  234,  234,  234,  234,    0,  234,
1185         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1186         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1187         0,    0,    0,    0,  234,    0,    0,    0,    0,    0,
1188         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1189         0,    0,  234,  235,  235,    0,  235,  235,  235,  235,
1190       235,    0,  235,    0,    0,    0,    0,    0,    0,    0,
1191         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1192         0,    0,    0,    0,    0,    0,    0,  235,    0,    0,
1193         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1194
1195         0,    0,    0,    0,    0,  235,  236,  236,    0,  236,
1196       236,  236,  236,  236,    0,  236,    0,    0,    0,    0,
1197         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1198         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1199       236,    0,    0,    0,    0,    0,    0,    0,    0,  236,
1200       238,  238,    0,  238,  238,  238,  238,  238,    0,  238,
1201         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1202         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1203         0,    0,    0,    0,  238,    0,    0,  238,    0,    0,
1204         0,  238,  241,  241,    0,  241,  241,  241,  241,  241,
1205
1206         0,  241,    0,    0,    0,    0,    0,    0,    0,    0,
1207         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1208         0,    0,    0,    0,    0,    0,  241,    0,    0,    0,
1209         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1210         0,    0,    0,    0,  241,  242,  242,    0,  242,  242,
1211       242,  242,  242,    0,  242,    0,    0,    0,    0,    0,
1212         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1213         0,    0,    0,    0,    0,    0,    0,    0,    0,  242,
1214         0,    0,    0,    0,  242,  244,  244,    0,  244,  244,
1215       244,  244,  244,    0,  244,    0,    0,    0,    0,    0,
1216
1217         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1218         0,    0,    0,    0,    0,    0,    0,    0,    0,  244,
1219         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1220         0,    0,    0,  244,  278,  278,    0,  278,  278,  278,
1221       278,  278,    0,  278,    0,    0,    0,    0,    0,    0,
1222         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1223         0,    0,    0,    0,    0,    0,    0,    0,  278,    0,
1224         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1225         0,    0,    0,    0,    0,  278,  282,  282,    0,  282,
1226       282,  282,  282,  282,    0,  282,    0,    0,    0,    0,
1227
1228         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1229         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1230       282,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1231         0,    0,    0,    0,    0,    0,    0,  282,  284,  284,
1232         0,  284,  284,  284,  284,  284,    0,  284,    0,    0,
1233         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1234         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1235         0,    0,  284,    0,    0,  284,  285,  285,    0,  285,
1236       285,  285,  285,  285,    0,  285,    0,    0,    0,    0,
1237         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1238
1239         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1240       285,    0,    0,  285,    0,    0,    0,    0,    0,    0,
1241         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1242         0,    0,  285,  287,  287,    0,  287,  287,  287,  287,
1243       287,    0,  287,    0,    0,    0,    0,    0,    0,    0,
1244         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1245         0,    0,    0,    0,    0,    0,    0,  287,    0,    0,
1246         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1247         0,    0,    0,    0,    0,    0,  287,  289,  289,    0,
1248       289,  289,  289,  289,  289,    0,  289,    0,    0,    0,
1249
1250         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1251         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1252         0,  289,    0,    0,    0,    0,    0,    0,    0,    0,
1253         0,    0,    0,    0,    0,    0,    0,    0,    0,  289,
1254       323,  323,    0,  323,  323,  323,  323,  323,    0,  323,
1255         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1256         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1257         0,    0,    0,    0,  323,    0,    0,  323,  324,  324,
1258         0,  324,  324,  324,  324,  324,    0,  324,    0,    0,
1259         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1260
1261         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1262         0,    0,  324,    0,    0,    0,    0,    0,    0,    0,
1263         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1264         0,    0,    0,    0,  324,  327,  327,    0,  327,  327,
1265       327,  327,  327,    0,  327,    0,    0,    0,    0,    0,
1266         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1267         0,    0,    0,    0,    0,    0,    0,    0,    0,  327,
1268         0,    0,    0,    0,  327,  348,  348,    0,  348,  348,
1269       348,  348,  348,    0,  348,    0,    0,    0,    0,    0,
1270         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1271
1272         0,    0,    0,    0,    0,    0,    0,    0,    0,  348,
1273       348,    0,    0,  348,  368,  368,    0,  368,  368,  368,
1274       368,  368,    0,  368,    0,    0,    0,    0,    0,    0,
1275         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1276         0,    0,    0,    0,    0,    0,    0,    0,  368,    0,
1277         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1278         0,    0,    0,    0,    0,  368,  369,  369,    0,  369,
1279       369,  369,  369,  369,    0,  369,    0,    0,    0,    0,
1280         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1281         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1282
1283       369,    0,    0,    0,    0,    0,    0,    0,    0,  369,
1284       384,  384,    0,  384,  384,  384,  384,  384,    0,  384,
1285         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1286         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1287         0,    0,    0,    0,  384,    0,    0,  384,  385,  385,
1288         0,  385,  385,  385,  385,  385,    0,  385,    0,    0,
1289         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1290         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1291         0,    0,  385,    0,    0,    0,    0,    0,    0,    0,
1292         0,    0,    0,    0,    0,    0,    0,    0,    0,  385,
1293
1294       392,  392,    0,  392,  392,  392,  392,  392,    0,  392,
1295         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1296         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1297         0,    0,    0,    0,  392,    0,    0,    0,    0,    0,
1298         0,    0,  392,  408,  408,  408,  409,  409,  409,  410,
1299       410,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1300       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1301       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1302       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1303       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1304
1305       407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
1306       407,  407,  407,  407,  407,  407,  407
1307     } ;
1308
1309 static yy_state_type yy_last_accepting_state;
1310 static char *yy_last_accepting_cpos;
1311
1312 extern int Config_flex_debug;
1313 int Config_flex_debug = 0;
1314
1315 /* The intent behind this definition is that it'll catch
1316  * any uses of REJECT which flex missed.
1317  */
1318 #define REJECT reject_used_but_not_detected
1319 #define yymore() yymore_used_but_not_detected
1320 #define YY_MORE_ADJ 0
1321 #define YY_RESTORE_YY_MORE_OFFSET
1322 char *Configtext;
1323 #line 1 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1324 /*===- ConfigLexer.l - Scanner for CompilerDriver Config Files -*- C++ -*--===//
1325 // 
1326 //                     The LLVM Compiler Infrastructure
1327 //
1328 // This file is distributed under the University of Illinois Open Source
1329 // License. See LICENSE.TXT for details.
1330 // 
1331 //===----------------------------------------------------------------------===//
1332 //
1333 // This file implements the flex scanner for configuration files for the
1334 // llvmc CompilerDriver.
1335 //
1336 //===----------------------------------------------------------------------===*/
1337 #line 29 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1338
1339 #include "ConfigLexer.h"
1340
1341 #define YY_INPUT(buf,result,max_size) \
1342   { \
1343     assert(ConfigLexerInput != 0 && "Oops"); \
1344     result = ConfigLexerInput->read(buf,max_size); \
1345     if (result == 0 ) result = YY_NULL; \
1346   }
1347
1348 #define YY_FATAL_ERROR(msg) \
1349   { \
1350     assert(ConfigLexerInput != 0 && "Oops"); \
1351     ConfigLexerInput->error(msg); \
1352   }
1353
1354 #define YY_DECL ConfigLexerTokens llvm::Configlex()
1355
1356 #define yyterminate() { return EOFTOK; }
1357
1358 using namespace llvm;
1359
1360 inline llvm::ConfigLexerTokens 
1361 handleNameContext(llvm::ConfigLexerTokens token) {
1362   ConfigLexerState.StringVal = Configtext;
1363   if (ConfigLexerState.in_value)
1364     return OPTION;
1365   return token;
1366 }
1367
1368 inline llvm::ConfigLexerTokens 
1369 handleSubstitution(llvm::ConfigLexerTokens token) {
1370   if (ConfigLexerState.in_value) {
1371     ConfigLexerState.StringVal = Configtext;
1372     return token;
1373   }
1374   YY_FATAL_ERROR("Substitition tokens not allowed in names" ); 
1375   return ERRORTOK;
1376 }
1377
1378 inline llvm::ConfigLexerTokens handleValueContext(llvm::ConfigLexerTokens token) {
1379   ConfigLexerState.StringVal = Configtext;
1380   if (ConfigLexerState.in_value)
1381     return token;
1382   return OPTION;
1383 }
1384
1385 #line 1386 "ConfigLexer.cpp"
1386
1387 #define INITIAL 0
1388
1389 #ifndef YY_NO_UNISTD_H
1390 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1391  * down here because we want the user's section 1 to have been scanned first.
1392  * The user has a chance to override it with an option.
1393  */
1394 #include <unistd.h>
1395 #endif
1396
1397 #ifndef YY_EXTRA_TYPE
1398 #define YY_EXTRA_TYPE void *
1399 #endif
1400
1401 static int yy_init_globals (void );
1402
1403 /* Macros after this point can all be overridden by user definitions in
1404  * section 1.
1405  */
1406
1407 #ifndef YY_SKIP_YYWRAP
1408 #ifdef __cplusplus
1409 extern "C" int Configwrap (void );
1410 #else
1411 extern int Configwrap (void );
1412 #endif
1413 #endif
1414
1415     static inline void yyunput (int c,char *buf_ptr  );
1416     
1417 #ifndef yytext_ptr
1418 static void yy_flex_strncpy (char *,yyconst char *,int );
1419 #endif
1420
1421 #ifdef YY_NEED_STRLEN
1422 static int yy_flex_strlen (yyconst char * );
1423 #endif
1424
1425 #ifndef YY_NO_INPUT
1426
1427 #ifdef __cplusplus
1428 static int yyinput (void );
1429 #else
1430 static int input (void );
1431 #endif
1432
1433 #endif
1434
1435 /* Amount of stuff to slurp up with each read. */
1436 #ifndef YY_READ_BUF_SIZE
1437 #define YY_READ_BUF_SIZE 8192
1438 #endif
1439
1440 /* Copy whatever the last rule matched to the standard output. */
1441 #ifndef ECHO
1442 /* This used to be an fputs(), but since the string might contain NUL's,
1443  * we now use fwrite().
1444  */
1445 #define ECHO (void) fwrite( Configtext, Configleng, 1, Configout )
1446 #endif
1447
1448 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1449  * is returned in "result".
1450  */
1451 #ifndef YY_INPUT
1452 #define YY_INPUT(buf,result,max_size) \
1453         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1454                 { \
1455                 int c = '*'; \
1456                 size_t n; \
1457                 for ( n = 0; n < max_size && \
1458                              (c = getc( Configin )) != EOF && c != '\n'; ++n ) \
1459                         buf[n] = (char) c; \
1460                 if ( c == '\n' ) \
1461                         buf[n++] = (char) c; \
1462                 if ( c == EOF && ferror( Configin ) ) \
1463                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
1464                 result = n; \
1465                 } \
1466         else \
1467                 { \
1468                 errno=0; \
1469                 while ( (result = fread(buf, 1, max_size, Configin))==0 && ferror(Configin)) \
1470                         { \
1471                         if( errno != EINTR) \
1472                                 { \
1473                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1474                                 break; \
1475                                 } \
1476                         errno=0; \
1477                         clearerr(Configin); \
1478                         } \
1479                 }\
1480 \
1481
1482 #endif
1483
1484 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1485  * we don't want an extra ';' after the "return" because that will cause
1486  * some compilers to complain about unreachable statements.
1487  */
1488 #ifndef yyterminate
1489 #define yyterminate() return YY_NULL
1490 #endif
1491
1492 /* Number of entries by which start-condition stack grows. */
1493 #ifndef YY_START_STACK_INCR
1494 #define YY_START_STACK_INCR 25
1495 #endif
1496
1497 /* Report a fatal error. */
1498 #ifndef YY_FATAL_ERROR
1499 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1500 #endif
1501
1502 /* end tables serialization structures and prototypes */
1503
1504 /* Default declaration of generated scanner - a define so the user can
1505  * easily add parameters.
1506  */
1507 #ifndef YY_DECL
1508 #define YY_DECL_IS_OURS 1
1509
1510 extern int Configlex (void);
1511
1512 #define YY_DECL int Configlex (void)
1513 #endif /* !YY_DECL */
1514
1515 /* Code executed at the beginning of each rule, after Configtext and Configleng
1516  * have been set up.
1517  */
1518 #ifndef YY_USER_ACTION
1519 #define YY_USER_ACTION
1520 #endif
1521
1522 /* Code executed at the end of each rule. */
1523 #ifndef YY_BREAK
1524 #define YY_BREAK break;
1525 #endif
1526
1527 #define YY_RULE_SETUP \
1528         YY_USER_ACTION
1529
1530 /** The main scanner function which does all the work.
1531  */
1532 YY_DECL
1533 {
1534         register yy_state_type yy_current_state;
1535         register char *yy_cp, *yy_bp;
1536         register int yy_act;
1537     
1538 #line 114 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1539
1540
1541 #line 1542 "ConfigLexer.cpp"
1542
1543         if ( !(yy_init) )
1544                 {
1545                 (yy_init) = 1;
1546
1547 #ifdef YY_USER_INIT
1548                 YY_USER_INIT;
1549 #endif
1550
1551                 if ( ! (yy_start) )
1552                         (yy_start) = 1; /* first start state */
1553
1554                 if ( ! Configin )
1555                         Configin = stdin;
1556
1557                 if ( ! Configout )
1558                         Configout = stdout;
1559
1560                 if ( ! YY_CURRENT_BUFFER ) {
1561                         Configensure_buffer_stack ();
1562                         YY_CURRENT_BUFFER_LVALUE =
1563                                 Config_create_buffer(Configin,YY_BUF_SIZE );
1564                 }
1565
1566                 Config_load_buffer_state( );
1567                 }
1568
1569         while ( 1 )             /* loops until end-of-file is reached */
1570                 {
1571                 yy_cp = (yy_c_buf_p);
1572
1573                 /* Support of Configtext. */
1574                 *yy_cp = (yy_hold_char);
1575
1576                 /* yy_bp points to the position in yy_ch_buf of the start of
1577                  * the current run.
1578                  */
1579                 yy_bp = yy_cp;
1580
1581                 yy_current_state = (yy_start);
1582 yy_match:
1583                 do
1584                         {
1585                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1586                         if ( yy_accept[yy_current_state] )
1587                                 {
1588                                 (yy_last_accepting_state) = yy_current_state;
1589                                 (yy_last_accepting_cpos) = yy_cp;
1590                                 }
1591                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1592                                 {
1593                                 yy_current_state = (int) yy_def[yy_current_state];
1594                                 if ( yy_current_state >= 408 )
1595                                         yy_c = yy_meta[(unsigned int) yy_c];
1596                                 }
1597                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1598                         ++yy_cp;
1599                         }
1600                 while ( yy_current_state != 407 );
1601                 yy_cp = (yy_last_accepting_cpos);
1602                 yy_current_state = (yy_last_accepting_state);
1603
1604 yy_find_action:
1605                 yy_act = yy_accept[yy_current_state];
1606
1607                 YY_DO_BEFORE_ACTION;
1608
1609 do_action:      /* This label is used only to access EOF actions. */
1610
1611                 switch ( yy_act )
1612         { /* beginning of action switch */
1613                         case 0: /* must back up */
1614                         /* undo the effects of YY_DO_BEFORE_ACTION */
1615                         *yy_cp = (yy_hold_char);
1616                         yy_cp = (yy_last_accepting_cpos);
1617                         yy_current_state = (yy_last_accepting_state);
1618                         goto yy_find_action;
1619
1620 case 1:
1621 YY_RULE_SETUP
1622 #line 116 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1623 { if (ConfigLexerState.in_value) return SPACE; }
1624         YY_BREAK
1625 case 2:
1626 /* rule 2 can match eol */
1627 YY_RULE_SETUP
1628 #line 118 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1629 { /* Ignore comments */
1630                   ConfigLexerState.in_value = false; 
1631                   ConfigLexerState.lineNum++; 
1632                   return EOLTOK; 
1633                 }
1634         YY_BREAK
1635 case 3:
1636 /* rule 3 can match eol */
1637 YY_RULE_SETUP
1638 #line 124 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1639 { ConfigLexerState.lineNum++; 
1640                   /* Don't return EOLTOK! */
1641                 }
1642         YY_BREAK
1643 case 4:
1644 /* rule 4 can match eol */
1645 YY_RULE_SETUP
1646 #line 128 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1647 { ConfigLexerState.in_value = false; 
1648                   ConfigLexerState.lineNum++; 
1649                   return EOLTOK; 
1650                 }
1651         YY_BREAK
1652 case 5:
1653 YY_RULE_SETUP
1654 #line 133 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1655 { ConfigLexerState.in_value = true; 
1656                   return EQUALS; 
1657                 }
1658         YY_BREAK
1659 case 6:
1660 YY_RULE_SETUP
1661 #line 137 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1662 { return SEPARATOR; }
1663         YY_BREAK
1664 case 7:
1665 YY_RULE_SETUP
1666 #line 139 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1667 { return handleNameContext(VERSION_TOK); }
1668         YY_BREAK
1669 case 8:
1670 YY_RULE_SETUP
1671 #line 141 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1672 { return handleNameContext(LANG); }
1673         YY_BREAK
1674 case 9:
1675 YY_RULE_SETUP
1676 #line 142 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1677 { return handleNameContext(LIBS); }
1678         YY_BREAK
1679 case 10:
1680 YY_RULE_SETUP
1681 #line 143 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1682 { return handleNameContext(NAME); }
1683         YY_BREAK
1684 case 11:
1685 YY_RULE_SETUP
1686 #line 144 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1687 { return handleNameContext(OPT1); }
1688         YY_BREAK
1689 case 12:
1690 YY_RULE_SETUP
1691 #line 145 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1692 { return handleNameContext(OPT2); }
1693         YY_BREAK
1694 case 13:
1695 YY_RULE_SETUP
1696 #line 146 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1697 { return handleNameContext(OPT3); }
1698         YY_BREAK
1699 case 14:
1700 YY_RULE_SETUP
1701 #line 147 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1702 { return handleNameContext(OPT4); }
1703         YY_BREAK
1704 case 15:
1705 YY_RULE_SETUP
1706 #line 148 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1707 { return handleNameContext(OPT5); }
1708         YY_BREAK
1709 case 16:
1710 YY_RULE_SETUP
1711 #line 150 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1712 { return handleNameContext(PREPROCESSOR); }
1713         YY_BREAK
1714 case 17:
1715 YY_RULE_SETUP
1716 #line 151 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1717 { return handleNameContext(COMMAND); }
1718         YY_BREAK
1719 case 18:
1720 YY_RULE_SETUP
1721 #line 152 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1722 { return handleNameContext(REQUIRED); }
1723         YY_BREAK
1724 case 19:
1725 YY_RULE_SETUP
1726 #line 154 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1727 { return handleNameContext(TRANSLATOR); }
1728         YY_BREAK
1729 case 20:
1730 YY_RULE_SETUP
1731 #line 155 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1732 { return handleNameContext(PREPROCESSES); }
1733         YY_BREAK
1734 case 21:
1735 YY_RULE_SETUP
1736 #line 156 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1737 { return handleNameContext(OUTPUT); }
1738         YY_BREAK
1739 case 22:
1740 YY_RULE_SETUP
1741 #line 158 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1742 { return handleNameContext(OPTIMIZER); }
1743         YY_BREAK
1744 case 23:
1745 YY_RULE_SETUP
1746 #line 159 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1747 { return handleNameContext(TRANSLATES); }
1748         YY_BREAK
1749 case 24:
1750 YY_RULE_SETUP
1751 #line 161 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1752 { return handleNameContext(ASSEMBLER); }
1753         YY_BREAK
1754 case 25:
1755 YY_RULE_SETUP
1756 #line 163 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1757 { return handleNameContext(LINKER); }
1758         YY_BREAK
1759 case 26:
1760 YY_RULE_SETUP
1761 #line 165 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1762 { return handleSubstitution(ARGS_SUBST); }
1763         YY_BREAK
1764 case 27:
1765 YY_RULE_SETUP
1766 #line 166 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1767 { return handleSubstitution(BINDIR_SUBST); }      
1768         YY_BREAK
1769 case 28:
1770 YY_RULE_SETUP
1771 #line 167 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1772 { return handleSubstitution(DEFS_SUBST); }
1773         YY_BREAK
1774 case 29:
1775 YY_RULE_SETUP
1776 #line 168 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1777 { return handleSubstitution(IN_SUBST); }
1778         YY_BREAK
1779 case 30:
1780 YY_RULE_SETUP
1781 #line 169 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1782 { return handleSubstitution(INCLS_SUBST); }
1783         YY_BREAK
1784 case 31:
1785 YY_RULE_SETUP
1786 #line 170 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1787 { return handleSubstitution(LIBDIR_SUBST); }
1788         YY_BREAK
1789 case 32:
1790 YY_RULE_SETUP
1791 #line 171 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1792 { return handleSubstitution(LIBS_SUBST); }
1793         YY_BREAK
1794 case 33:
1795 YY_RULE_SETUP
1796 #line 172 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1797 { return handleSubstitution(LLVMGCCDIR_SUBST); }
1798         YY_BREAK
1799 case 34:
1800 YY_RULE_SETUP
1801 #line 173 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1802 { return handleSubstitution(LLVMGCCARCH_SUBST); }
1803         YY_BREAK
1804 case 35:
1805 YY_RULE_SETUP
1806 #line 174 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1807 { return handleSubstitution(LLVMGCC_SUBST); }
1808         YY_BREAK
1809 case 36:
1810 YY_RULE_SETUP
1811 #line 175 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1812 { return handleSubstitution(LLVMGXX_SUBST); }
1813         YY_BREAK
1814 case 37:
1815 YY_RULE_SETUP
1816 #line 176 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1817 { return handleSubstitution(LLVMCC1_SUBST); }
1818         YY_BREAK
1819 case 38:
1820 YY_RULE_SETUP
1821 #line 177 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1822 { return handleSubstitution(LLVMCC1PLUS_SUBST); }
1823         YY_BREAK
1824 case 39:
1825 YY_RULE_SETUP
1826 #line 178 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1827 { return handleSubstitution(OPT_SUBST); }
1828         YY_BREAK
1829 case 40:
1830 YY_RULE_SETUP
1831 #line 179 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1832 { return handleSubstitution(OUT_SUBST); }
1833         YY_BREAK
1834 case 41:
1835 YY_RULE_SETUP
1836 #line 180 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1837 { return handleSubstitution(STATS_SUBST); }
1838         YY_BREAK
1839 case 42:
1840 YY_RULE_SETUP
1841 #line 181 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1842 { return handleSubstitution(TARGET_SUBST); }
1843         YY_BREAK
1844 case 43:
1845 YY_RULE_SETUP
1846 #line 182 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1847 { return handleSubstitution(TIME_SUBST); }
1848         YY_BREAK
1849 case 44:
1850 YY_RULE_SETUP
1851 #line 183 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1852 { return handleSubstitution(VERBOSE_SUBST); }
1853         YY_BREAK
1854 case 45:
1855 YY_RULE_SETUP
1856 #line 184 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1857 { return handleSubstitution(FOPTS_SUBST); }
1858         YY_BREAK
1859 case 46:
1860 YY_RULE_SETUP
1861 #line 185 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1862 { return handleSubstitution(MOPTS_SUBST); }
1863         YY_BREAK
1864 case 47:
1865 YY_RULE_SETUP
1866 #line 186 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1867 { return handleSubstitution(WOPTS_SUBST); }
1868         YY_BREAK
1869 case 48:
1870 YY_RULE_SETUP
1871 #line 188 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1872 { return handleValueContext(ASSEMBLY); }
1873         YY_BREAK
1874 case 49:
1875 YY_RULE_SETUP
1876 #line 189 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1877 { return handleValueContext(BITCODE); }
1878         YY_BREAK
1879 case 50:
1880 YY_RULE_SETUP
1881 #line 190 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1882 { return handleValueContext(TRUETOK); }
1883         YY_BREAK
1884 case 51:
1885 YY_RULE_SETUP
1886 #line 191 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1887 { return handleValueContext(FALSETOK); }
1888         YY_BREAK
1889 case 52:
1890 YY_RULE_SETUP
1891 #line 193 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1892 { ConfigLexerState.StringVal = Configtext; return OPTION; }
1893         YY_BREAK
1894 case 53:
1895 /* rule 53 can match eol */
1896 YY_RULE_SETUP
1897 #line 194 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1898 { ConfigLexerState.StringVal = Configtext+1;  // Nuke start quote
1899                   ConfigLexerState.StringVal.erase(
1900                   --ConfigLexerState.StringVal.end());
1901                   return STRING;
1902                 }
1903         YY_BREAK
1904 case 54:
1905 YY_RULE_SETUP
1906 #line 199 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1907 { YY_FATAL_ERROR("Invalid substitution token"); }
1908         YY_BREAK
1909 case 55:
1910 YY_RULE_SETUP
1911 #line 201 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
1912 ECHO;
1913         YY_BREAK
1914 #line 1915 "ConfigLexer.cpp"
1915 case YY_STATE_EOF(INITIAL):
1916         yyterminate();
1917
1918         case YY_END_OF_BUFFER:
1919                 {
1920                 /* Amount of text matched not including the EOB char. */
1921                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1922
1923                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1924                 *yy_cp = (yy_hold_char);
1925                 YY_RESTORE_YY_MORE_OFFSET
1926
1927                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1928                         {
1929                         /* We're scanning a new file or input source.  It's
1930                          * possible that this happened because the user
1931                          * just pointed Configin at a new source and called
1932                          * Configlex().  If so, then we have to assure
1933                          * consistency between YY_CURRENT_BUFFER and our
1934                          * globals.  Here is the right place to do so, because
1935                          * this is the first action (other than possibly a
1936                          * back-up) that will match for the new input source.
1937                          */
1938                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1939                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = Configin;
1940                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1941                         }
1942
1943                 /* Note that here we test for yy_c_buf_p "<=" to the position
1944                  * of the first EOB in the buffer, since yy_c_buf_p will
1945                  * already have been incremented past the NUL character
1946                  * (since all states make transitions on EOB to the
1947                  * end-of-buffer state).  Contrast this with the test
1948                  * in input().
1949                  */
1950                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1951                         { /* This was really a NUL. */
1952                         yy_state_type yy_next_state;
1953
1954                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1955
1956                         yy_current_state = yy_get_previous_state(  );
1957
1958                         /* Okay, we're now positioned to make the NUL
1959                          * transition.  We couldn't have
1960                          * yy_get_previous_state() go ahead and do it
1961                          * for us because it doesn't know how to deal
1962                          * with the possibility of jamming (and we don't
1963                          * want to build jamming into it because then it
1964                          * will run more slowly).
1965                          */
1966
1967                         yy_next_state = yy_try_NUL_trans( yy_current_state );
1968
1969                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1970
1971                         if ( yy_next_state )
1972                                 {
1973                                 /* Consume the NUL. */
1974                                 yy_cp = ++(yy_c_buf_p);
1975                                 yy_current_state = yy_next_state;
1976                                 goto yy_match;
1977                                 }
1978
1979                         else
1980                                 {
1981                                 yy_cp = (yy_last_accepting_cpos);
1982                                 yy_current_state = (yy_last_accepting_state);
1983                                 goto yy_find_action;
1984                                 }
1985                         }
1986
1987                 else switch ( yy_get_next_buffer(  ) )
1988                         {
1989                         case EOB_ACT_END_OF_FILE:
1990                                 {
1991                                 (yy_did_buffer_switch_on_eof) = 0;
1992
1993                                 if ( Configwrap( ) )
1994                                         {
1995                                         /* Note: because we've taken care in
1996                                          * yy_get_next_buffer() to have set up
1997                                          * Configtext, we can now set up
1998                                          * yy_c_buf_p so that if some total
1999                                          * hoser (like flex itself) wants to
2000                                          * call the scanner after we return the
2001                                          * YY_NULL, it'll still work - another
2002                                          * YY_NULL will get returned.
2003                                          */
2004                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2005
2006                                         yy_act = YY_STATE_EOF(YY_START);
2007                                         goto do_action;
2008                                         }
2009
2010                                 else
2011                                         {
2012                                         if ( ! (yy_did_buffer_switch_on_eof) )
2013                                                 YY_NEW_FILE;
2014                                         }
2015                                 break;
2016                                 }
2017
2018                         case EOB_ACT_CONTINUE_SCAN:
2019                                 (yy_c_buf_p) =
2020                                         (yytext_ptr) + yy_amount_of_matched_text;
2021
2022                                 yy_current_state = yy_get_previous_state(  );
2023
2024                                 yy_cp = (yy_c_buf_p);
2025                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2026                                 goto yy_match;
2027
2028                         case EOB_ACT_LAST_MATCH:
2029                                 (yy_c_buf_p) =
2030                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2031
2032                                 yy_current_state = yy_get_previous_state(  );
2033
2034                                 yy_cp = (yy_c_buf_p);
2035                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2036                                 goto yy_find_action;
2037                         }
2038                 break;
2039                 }
2040
2041         default:
2042                 YY_FATAL_ERROR(
2043                         "fatal flex scanner internal error--no action found" );
2044         } /* end of action switch */
2045                 } /* end of scanning one token */
2046 } /* end of Configlex */
2047
2048 /* yy_get_next_buffer - try to read in a new buffer
2049  *
2050  * Returns a code representing an action:
2051  *      EOB_ACT_LAST_MATCH -
2052  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2053  *      EOB_ACT_END_OF_FILE - end of file
2054  */
2055 static int yy_get_next_buffer (void)
2056 {
2057         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2058         register char *source = (yytext_ptr);
2059         register int number_to_move, i;
2060         int ret_val;
2061
2062         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2063                 YY_FATAL_ERROR(
2064                 "fatal flex scanner internal error--end of buffer missed" );
2065
2066         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2067                 { /* Don't try to fill the buffer, so this is an EOF. */
2068                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2069                         {
2070                         /* We matched a single character, the EOB, so
2071                          * treat this as a final EOF.
2072                          */
2073                         return EOB_ACT_END_OF_FILE;
2074                         }
2075
2076                 else
2077                         {
2078                         /* We matched some text prior to the EOB, first
2079                          * process it.
2080                          */
2081                         return EOB_ACT_LAST_MATCH;
2082                         }
2083                 }
2084
2085         /* Try to read more data. */
2086
2087         /* First move last chars to start of buffer. */
2088         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2089
2090         for ( i = 0; i < number_to_move; ++i )
2091                 *(dest++) = *(source++);
2092
2093         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2094                 /* don't do the read, it's not guaranteed to return an EOF,
2095                  * just force an EOF
2096                  */
2097                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2098
2099         else
2100                 {
2101                         int num_to_read =
2102                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2103
2104                 while ( num_to_read <= 0 )
2105                         { /* Not enough room in the buffer - grow it. */
2106
2107                         /* just a shorter name for the current buffer */
2108                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2109
2110                         int yy_c_buf_p_offset =
2111                                 (int) ((yy_c_buf_p) - b->yy_ch_buf);
2112
2113                         if ( b->yy_is_our_buffer )
2114                                 {
2115                                 int new_size = b->yy_buf_size * 2;
2116
2117                                 if ( new_size <= 0 )
2118                                         b->yy_buf_size += b->yy_buf_size / 8;
2119                                 else
2120                                         b->yy_buf_size *= 2;
2121
2122                                 b->yy_ch_buf = (char *)
2123                                         /* Include room in for 2 EOB chars. */
2124                                         Configrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
2125                                 }
2126                         else
2127                                 /* Can't grow it, we don't own it. */
2128                                 b->yy_ch_buf = 0;
2129
2130                         if ( ! b->yy_ch_buf )
2131                                 YY_FATAL_ERROR(
2132                                 "fatal error - scanner input buffer overflow" );
2133
2134                         (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2135
2136                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2137                                                 number_to_move - 1;
2138
2139                         }
2140
2141                 if ( num_to_read > YY_READ_BUF_SIZE )
2142                         num_to_read = YY_READ_BUF_SIZE;
2143
2144                 /* Read in more data. */
2145                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2146                         (yy_n_chars), num_to_read );
2147
2148                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2149                 }
2150
2151         if ( (yy_n_chars) == 0 )
2152                 {
2153                 if ( number_to_move == YY_MORE_ADJ )
2154                         {
2155                         ret_val = EOB_ACT_END_OF_FILE;
2156                         Configrestart(Configin  );
2157                         }
2158
2159                 else
2160                         {
2161                         ret_val = EOB_ACT_LAST_MATCH;
2162                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2163                                 YY_BUFFER_EOF_PENDING;
2164                         }
2165                 }
2166
2167         else
2168                 ret_val = EOB_ACT_CONTINUE_SCAN;
2169
2170         (yy_n_chars) += number_to_move;
2171         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2172         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2173
2174         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2175
2176         return ret_val;
2177 }
2178
2179 /* yy_get_previous_state - get the state just before the EOB char was reached */
2180
2181     static yy_state_type yy_get_previous_state (void)
2182 {
2183         register yy_state_type yy_current_state;
2184         register char *yy_cp;
2185     
2186         yy_current_state = (yy_start);
2187
2188         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2189                 {
2190                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2191                 if ( yy_accept[yy_current_state] )
2192                         {
2193                         (yy_last_accepting_state) = yy_current_state;
2194                         (yy_last_accepting_cpos) = yy_cp;
2195                         }
2196                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2197                         {
2198                         yy_current_state = (int) yy_def[yy_current_state];
2199                         if ( yy_current_state >= 408 )
2200                                 yy_c = yy_meta[(unsigned int) yy_c];
2201                         }
2202                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2203                 }
2204
2205         return yy_current_state;
2206 }
2207
2208 /* yy_try_NUL_trans - try to make a transition on the NUL character
2209  *
2210  * synopsis
2211  *      next_state = yy_try_NUL_trans( current_state );
2212  */
2213     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
2214 {
2215         register int yy_is_jam;
2216         register char *yy_cp = (yy_c_buf_p);
2217
2218         register YY_CHAR yy_c = 1;
2219         if ( yy_accept[yy_current_state] )
2220                 {
2221                 (yy_last_accepting_state) = yy_current_state;
2222                 (yy_last_accepting_cpos) = yy_cp;
2223                 }
2224         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2225                 {
2226                 yy_current_state = (int) yy_def[yy_current_state];
2227                 if ( yy_current_state >= 408 )
2228                         yy_c = yy_meta[(unsigned int) yy_c];
2229                 }
2230         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2231         yy_is_jam = (yy_current_state == 407);
2232
2233         return yy_is_jam ? 0 : yy_current_state;
2234 }
2235
2236     static inline void yyunput (int c, register char * yy_bp )
2237 {
2238         register char *yy_cp;
2239     
2240     yy_cp = (yy_c_buf_p);
2241
2242         /* undo effects of setting up Configtext */
2243         *yy_cp = (yy_hold_char);
2244
2245         if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2246                 { /* need to shift things up to make room */
2247                 /* +2 for EOB chars. */
2248                 register int number_to_move = (yy_n_chars) + 2;
2249                 register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2250                                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2251                 register char *source =
2252                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2253
2254                 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2255                         *--dest = *--source;
2256
2257                 yy_cp += (int) (dest - source);
2258                 yy_bp += (int) (dest - source);
2259                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2260                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2261
2262                 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2263                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
2264                 }
2265
2266         *--yy_cp = (char) c;
2267
2268         (yytext_ptr) = yy_bp;
2269         (yy_hold_char) = *yy_cp;
2270         (yy_c_buf_p) = yy_cp;
2271 }
2272
2273 #ifndef YY_NO_INPUT
2274 #ifdef __cplusplus
2275     static int yyinput (void)
2276 #else
2277     static int input  (void)
2278 #endif
2279
2280 {
2281         int c;
2282     
2283         *(yy_c_buf_p) = (yy_hold_char);
2284
2285         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2286                 {
2287                 /* yy_c_buf_p now points to the character we want to return.
2288                  * If this occurs *before* the EOB characters, then it's a
2289                  * valid NUL; if not, then we've hit the end of the buffer.
2290                  */
2291                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2292                         /* This was really a NUL. */
2293                         *(yy_c_buf_p) = '\0';
2294
2295                 else
2296                         { /* need more input */
2297                         int offset = (yy_c_buf_p) - (yytext_ptr);
2298                         ++(yy_c_buf_p);
2299
2300                         switch ( yy_get_next_buffer(  ) )
2301                                 {
2302                                 case EOB_ACT_LAST_MATCH:
2303                                         /* This happens because yy_g_n_b()
2304                                          * sees that we've accumulated a
2305                                          * token and flags that we need to
2306                                          * try matching the token before
2307                                          * proceeding.  But for input(),
2308                                          * there's no matching to consider.
2309                                          * So convert the EOB_ACT_LAST_MATCH
2310                                          * to EOB_ACT_END_OF_FILE.
2311                                          */
2312
2313                                         /* Reset buffer status. */
2314                                         Configrestart(Configin );
2315
2316                                         /*FALLTHROUGH*/
2317
2318                                 case EOB_ACT_END_OF_FILE:
2319                                         {
2320                                         if ( Configwrap( ) )
2321                                                 return 0;
2322
2323                                         if ( ! (yy_did_buffer_switch_on_eof) )
2324                                                 YY_NEW_FILE;
2325 #ifdef __cplusplus
2326                                         return yyinput();
2327 #else
2328                                         return input();
2329 #endif
2330                                         }
2331
2332                                 case EOB_ACT_CONTINUE_SCAN:
2333                                         (yy_c_buf_p) = (yytext_ptr) + offset;
2334                                         break;
2335                                 }
2336                         }
2337                 }
2338
2339         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
2340         *(yy_c_buf_p) = '\0';   /* preserve Configtext */
2341         (yy_hold_char) = *++(yy_c_buf_p);
2342
2343         return c;
2344 }
2345 #endif  /* ifndef YY_NO_INPUT */
2346
2347 /** Immediately switch to a different input stream.
2348  * @param input_file A readable stream.
2349  * 
2350  * @note This function does not reset the start condition to @c INITIAL .
2351  */
2352     void Configrestart  (FILE * input_file )
2353 {
2354     
2355         if ( ! YY_CURRENT_BUFFER ){
2356         Configensure_buffer_stack ();
2357                 YY_CURRENT_BUFFER_LVALUE =
2358             Config_create_buffer(Configin,YY_BUF_SIZE );
2359         }
2360
2361         Config_init_buffer(YY_CURRENT_BUFFER,input_file );
2362         Config_load_buffer_state( );
2363 }
2364
2365 /** Switch to a different input buffer.
2366  * @param new_buffer The new input buffer.
2367  * 
2368  */
2369     void Config_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
2370 {
2371     
2372         /* TODO. We should be able to replace this entire function body
2373          * with
2374          *              Configpop_buffer_state();
2375          *              Configpush_buffer_state(new_buffer);
2376      */
2377         Configensure_buffer_stack ();
2378         if ( YY_CURRENT_BUFFER == new_buffer )
2379                 return;
2380
2381         if ( YY_CURRENT_BUFFER )
2382                 {
2383                 /* Flush out information for old buffer. */
2384                 *(yy_c_buf_p) = (yy_hold_char);
2385                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2386                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2387                 }
2388
2389         YY_CURRENT_BUFFER_LVALUE = new_buffer;
2390         Config_load_buffer_state( );
2391
2392         /* We don't actually know whether we did this switch during
2393          * EOF (Configwrap()) processing, but the only time this flag
2394          * is looked at is after Configwrap() is called, so it's safe
2395          * to go ahead and always set it.
2396          */
2397         (yy_did_buffer_switch_on_eof) = 1;
2398 }
2399
2400 static void Config_load_buffer_state  (void)
2401 {
2402         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2403         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2404         Configin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2405         (yy_hold_char) = *(yy_c_buf_p);
2406 }
2407
2408 /** Allocate and initialize an input buffer state.
2409  * @param file A readable stream.
2410  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2411  * 
2412  * @return the allocated buffer state.
2413  */
2414     YY_BUFFER_STATE Config_create_buffer  (FILE * file, int  size )
2415 {
2416         YY_BUFFER_STATE b;
2417     
2418         b = (YY_BUFFER_STATE) Configalloc(sizeof( struct yy_buffer_state )  );
2419         if ( ! b )
2420                 YY_FATAL_ERROR( "out of dynamic memory in Config_create_buffer()" );
2421
2422         b->yy_buf_size = size;
2423
2424         /* yy_ch_buf has to be 2 characters longer than the size given because
2425          * we need to put in 2 end-of-buffer characters.
2426          */
2427         b->yy_ch_buf = (char *) Configalloc(b->yy_buf_size + 2  );
2428         if ( ! b->yy_ch_buf )
2429                 YY_FATAL_ERROR( "out of dynamic memory in Config_create_buffer()" );
2430
2431         b->yy_is_our_buffer = 1;
2432
2433         Config_init_buffer(b,file );
2434
2435         return b;
2436 }
2437
2438 /** Destroy the buffer.
2439  * @param b a buffer created with Config_create_buffer()
2440  * 
2441  */
2442     void Config_delete_buffer (YY_BUFFER_STATE  b )
2443 {
2444     
2445         if ( ! b )
2446                 return;
2447
2448         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2449                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2450
2451         if ( b->yy_is_our_buffer )
2452                 Configfree((void *) b->yy_ch_buf  );
2453
2454         Configfree((void *) b  );
2455 }
2456
2457 /* Initializes or reinitializes a buffer.
2458  * This function is sometimes called more than once on the same buffer,
2459  * such as during a Configrestart() or at EOF.
2460  */
2461     static void Config_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
2462
2463 {
2464         int oerrno = errno;
2465     
2466         Config_flush_buffer(b );
2467
2468         b->yy_input_file = file;
2469         b->yy_fill_buffer = 1;
2470
2471     /* If b is the current buffer, then Config_init_buffer was _probably_
2472      * called from Configrestart() or through yy_get_next_buffer.
2473      * In that case, we don't want to reset the lineno or column.
2474      */
2475     if (b != YY_CURRENT_BUFFER){
2476         b->yy_bs_lineno = 1;
2477         b->yy_bs_column = 0;
2478     }
2479
2480         b->yy_is_interactive = 0;
2481     
2482         errno = oerrno;
2483 }
2484
2485 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2486  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2487  * 
2488  */
2489     void Config_flush_buffer (YY_BUFFER_STATE  b )
2490 {
2491         if ( ! b )
2492                 return;
2493
2494         b->yy_n_chars = 0;
2495
2496         /* We always need two end-of-buffer characters.  The first causes
2497          * a transition to the end-of-buffer state.  The second causes
2498          * a jam in that state.
2499          */
2500         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2501         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2502
2503         b->yy_buf_pos = &b->yy_ch_buf[0];
2504
2505         b->yy_at_bol = 1;
2506         b->yy_buffer_status = YY_BUFFER_NEW;
2507
2508         if ( b == YY_CURRENT_BUFFER )
2509                 Config_load_buffer_state( );
2510 }
2511
2512 /** Pushes the new state onto the stack. The new state becomes
2513  *  the current state. This function will allocate the stack
2514  *  if necessary.
2515  *  @param new_buffer The new state.
2516  *  
2517  */
2518 void Configpush_buffer_state (YY_BUFFER_STATE new_buffer )
2519 {
2520         if (new_buffer == NULL)
2521                 return;
2522
2523         Configensure_buffer_stack();
2524
2525         /* This block is copied from Config_switch_to_buffer. */
2526         if ( YY_CURRENT_BUFFER )
2527                 {
2528                 /* Flush out information for old buffer. */
2529                 *(yy_c_buf_p) = (yy_hold_char);
2530                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2531                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2532                 }
2533
2534         /* Only push if top exists. Otherwise, replace top. */
2535         if (YY_CURRENT_BUFFER)
2536                 (yy_buffer_stack_top)++;
2537         YY_CURRENT_BUFFER_LVALUE = new_buffer;
2538
2539         /* copied from Config_switch_to_buffer. */
2540         Config_load_buffer_state( );
2541         (yy_did_buffer_switch_on_eof) = 1;
2542 }
2543
2544 /** Removes and deletes the top of the stack, if present.
2545  *  The next element becomes the new top.
2546  *  
2547  */
2548 void Configpop_buffer_state (void)
2549 {
2550         if (!YY_CURRENT_BUFFER)
2551                 return;
2552
2553         Config_delete_buffer(YY_CURRENT_BUFFER );
2554         YY_CURRENT_BUFFER_LVALUE = NULL;
2555         if ((yy_buffer_stack_top) > 0)
2556                 --(yy_buffer_stack_top);
2557
2558         if (YY_CURRENT_BUFFER) {
2559                 Config_load_buffer_state( );
2560                 (yy_did_buffer_switch_on_eof) = 1;
2561         }
2562 }
2563
2564 /* Allocates the stack if it does not exist.
2565  *  Guarantees space for at least one push.
2566  */
2567 static void Configensure_buffer_stack (void)
2568 {
2569         int num_to_alloc;
2570     
2571         if (!(yy_buffer_stack)) {
2572
2573                 /* First allocation is just for 2 elements, since we don't know if this
2574                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
2575                  * immediate realloc on the next call.
2576          */
2577                 num_to_alloc = 1;
2578                 (yy_buffer_stack) = (struct yy_buffer_state**)Configalloc
2579                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
2580                                                                 );
2581                 
2582                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2583                                 
2584                 (yy_buffer_stack_max) = num_to_alloc;
2585                 (yy_buffer_stack_top) = 0;
2586                 return;
2587         }
2588
2589         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2590
2591                 /* Increase the buffer to prepare for a possible push. */
2592                 int grow_size = 8 /* arbitrary grow size */;
2593
2594                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
2595                 (yy_buffer_stack) = (struct yy_buffer_state**)Configrealloc
2596                                                                 ((yy_buffer_stack),
2597                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
2598                                                                 );
2599
2600                 /* zero only the new slots.*/
2601                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2602                 (yy_buffer_stack_max) = num_to_alloc;
2603         }
2604 }
2605
2606 /** Setup the input buffer state to scan directly from a user-specified character buffer.
2607  * @param base the character buffer
2608  * @param size the size in bytes of the character buffer
2609  * 
2610  * @return the newly allocated buffer state object. 
2611  */
2612 YY_BUFFER_STATE Config_scan_buffer  (char * base, yy_size_t  size )
2613 {
2614         YY_BUFFER_STATE b;
2615     
2616         if ( size < 2 ||
2617              base[size-2] != YY_END_OF_BUFFER_CHAR ||
2618              base[size-1] != YY_END_OF_BUFFER_CHAR )
2619                 /* They forgot to leave room for the EOB's. */
2620                 return 0;
2621
2622         b = (YY_BUFFER_STATE) Configalloc(sizeof( struct yy_buffer_state )  );
2623         if ( ! b )
2624                 YY_FATAL_ERROR( "out of dynamic memory in Config_scan_buffer()" );
2625
2626         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
2627         b->yy_buf_pos = b->yy_ch_buf = base;
2628         b->yy_is_our_buffer = 0;
2629         b->yy_input_file = 0;
2630         b->yy_n_chars = b->yy_buf_size;
2631         b->yy_is_interactive = 0;
2632         b->yy_at_bol = 1;
2633         b->yy_fill_buffer = 0;
2634         b->yy_buffer_status = YY_BUFFER_NEW;
2635
2636         Config_switch_to_buffer(b  );
2637
2638         return b;
2639 }
2640
2641 /** Setup the input buffer state to scan a string. The next call to Configlex() will
2642  * scan from a @e copy of @a str.
2643  * @param str a NUL-terminated string to scan
2644  * 
2645  * @return the newly allocated buffer state object.
2646  * @note If you want to scan bytes that may contain NUL values, then use
2647  *       Config_scan_bytes() instead.
2648  */
2649 YY_BUFFER_STATE Config_scan_string (yyconst char * yystr )
2650 {
2651     
2652         return Config_scan_bytes(yystr,strlen(yystr) );
2653 }
2654
2655 /** Setup the input buffer state to scan the given bytes. The next call to Configlex() will
2656  * scan from a @e copy of @a bytes.
2657  * @param bytes the byte buffer to scan
2658  * @param len the number of bytes in the buffer pointed to by @a bytes.
2659  * 
2660  * @return the newly allocated buffer state object.
2661  */
2662 YY_BUFFER_STATE Config_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
2663 {
2664         YY_BUFFER_STATE b;
2665         char *buf;
2666         yy_size_t n;
2667         int i;
2668     
2669         /* Get memory for full buffer, including space for trailing EOB's. */
2670         n = _yybytes_len + 2;
2671         buf = (char *) Configalloc(n  );
2672         if ( ! buf )
2673                 YY_FATAL_ERROR( "out of dynamic memory in Config_scan_bytes()" );
2674
2675         for ( i = 0; i < _yybytes_len; ++i )
2676                 buf[i] = yybytes[i];
2677
2678         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2679
2680         b = Config_scan_buffer(buf,n );
2681         if ( ! b )
2682                 YY_FATAL_ERROR( "bad buffer in Config_scan_bytes()" );
2683
2684         /* It's okay to grow etc. this buffer, and we should throw it
2685          * away when we're done.
2686          */
2687         b->yy_is_our_buffer = 1;
2688
2689         return b;
2690 }
2691
2692 #ifndef YY_EXIT_FAILURE
2693 #define YY_EXIT_FAILURE 2
2694 #endif
2695
2696 static void yy_fatal_error (yyconst char* msg )
2697 {
2698         (void) fprintf( stderr, "%s\n", msg );
2699         exit( YY_EXIT_FAILURE );
2700 }
2701
2702 /* Redefine yyless() so it works in section 3 code. */
2703
2704 #undef yyless
2705 #define yyless(n) \
2706         do \
2707                 { \
2708                 /* Undo effects of setting up Configtext. */ \
2709         int yyless_macro_arg = (n); \
2710         YY_LESS_LINENO(yyless_macro_arg);\
2711                 Configtext[Configleng] = (yy_hold_char); \
2712                 (yy_c_buf_p) = Configtext + yyless_macro_arg; \
2713                 (yy_hold_char) = *(yy_c_buf_p); \
2714                 *(yy_c_buf_p) = '\0'; \
2715                 Configleng = yyless_macro_arg; \
2716                 } \
2717         while ( 0 )
2718
2719 /* Accessor  methods (get/set functions) to struct members. */
2720
2721 /** Get the current line number.
2722  * 
2723  */
2724 int Configget_lineno  (void)
2725 {
2726         
2727     return Configlineno;
2728 }
2729
2730 /** Get the input stream.
2731  * 
2732  */
2733 FILE *Configget_in  (void)
2734 {
2735         return Configin;
2736 }
2737
2738 /** Get the output stream.
2739  * 
2740  */
2741 FILE *Configget_out  (void)
2742 {
2743         return Configout;
2744 }
2745
2746 /** Get the length of the current token.
2747  * 
2748  */
2749 int Configget_leng  (void)
2750 {
2751         return Configleng;
2752 }
2753
2754 /** Get the current token.
2755  * 
2756  */
2757
2758 char *Configget_text  (void)
2759 {
2760         return Configtext;
2761 }
2762
2763 /** Set the current line number.
2764  * @param line_number
2765  * 
2766  */
2767 void Configset_lineno (int  line_number )
2768 {
2769     
2770     Configlineno = line_number;
2771 }
2772
2773 /** Set the input stream. This does not discard the current
2774  * input buffer.
2775  * @param in_str A readable stream.
2776  * 
2777  * @see Config_switch_to_buffer
2778  */
2779 void Configset_in (FILE *  in_str )
2780 {
2781         Configin = in_str ;
2782 }
2783
2784 void Configset_out (FILE *  out_str )
2785 {
2786         Configout = out_str ;
2787 }
2788
2789 int Configget_debug  (void)
2790 {
2791         return Config_flex_debug;
2792 }
2793
2794 void Configset_debug (int  bdebug )
2795 {
2796         Config_flex_debug = bdebug ;
2797 }
2798
2799 static int yy_init_globals (void)
2800 {
2801         /* Initialization is the same as for the non-reentrant scanner.
2802      * This function is called from Configlex_destroy(), so don't allocate here.
2803      */
2804
2805     (yy_buffer_stack) = 0;
2806     (yy_buffer_stack_top) = 0;
2807     (yy_buffer_stack_max) = 0;
2808     (yy_c_buf_p) = (char *) 0;
2809     (yy_init) = 0;
2810     (yy_start) = 0;
2811
2812 /* Defined in main.c */
2813 #ifdef YY_STDINIT
2814     Configin = stdin;
2815     Configout = stdout;
2816 #else
2817     Configin = (FILE *) 0;
2818     Configout = (FILE *) 0;
2819 #endif
2820
2821     /* For future reference: Set errno on error, since we are called by
2822      * Configlex_init()
2823      */
2824     return 0;
2825 }
2826
2827 /* Configlex_destroy is for both reentrant and non-reentrant scanners. */
2828 int Configlex_destroy  (void)
2829 {
2830     
2831     /* Pop the buffer stack, destroying each element. */
2832         while(YY_CURRENT_BUFFER){
2833                 Config_delete_buffer(YY_CURRENT_BUFFER  );
2834                 YY_CURRENT_BUFFER_LVALUE = NULL;
2835                 Configpop_buffer_state();
2836         }
2837
2838         /* Destroy the stack itself. */
2839         Configfree((yy_buffer_stack) );
2840         (yy_buffer_stack) = NULL;
2841
2842     /* Reset the globals. This is important in a non-reentrant scanner so the next time
2843      * Configlex() is called, initialization will occur. */
2844     yy_init_globals( );
2845
2846     return 0;
2847 }
2848
2849 /*
2850  * Internal utility routines.
2851  */
2852
2853 #ifndef yytext_ptr
2854 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
2855 {
2856         register int i;
2857         for ( i = 0; i < n; ++i )
2858                 s1[i] = s2[i];
2859 }
2860 #endif
2861
2862 #ifdef YY_NEED_STRLEN
2863 static int yy_flex_strlen (yyconst char * s )
2864 {
2865         register int n;
2866         for ( n = 0; s[n]; ++n )
2867                 ;
2868
2869         return n;
2870 }
2871 #endif
2872
2873 void *Configalloc (yy_size_t  size )
2874 {
2875         return (void *) malloc( size );
2876 }
2877
2878 void *Configrealloc  (void * ptr, yy_size_t  size )
2879 {
2880         /* The cast to (char *) in the following accommodates both
2881          * implementations that use char* generic pointers, and those
2882          * that use void* generic pointers.  It works with the latter
2883          * because both ANSI C and C++ allow castless assignment from
2884          * any pointer type to void*, and deal with argument conversions
2885          * as though doing an assignment.
2886          */
2887         return (void *) realloc( (char *) ptr, size );
2888 }
2889
2890 void Configfree (void * ptr )
2891 {
2892         free( (char *) ptr );   /* see Configrealloc() for (char *) cast */
2893 }
2894
2895 #define YYTABLES_NAME "yytables"
2896
2897 #line 201 "/Users/sabre/llvm/tools/llvmc/ConfigLexer.l"
2898
2899
2900