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