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