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