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