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