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