/[svn]/hopm/trunk/src/config-lexer.c
ViewVC logotype

Annotation of /hopm/trunk/src/config-lexer.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7827 - (hide annotations)
Wed Nov 2 17:16:45 2016 UTC (4 years ago) by michael
File MIME type: text/x-chdr
File size: 79594 byte(s)
- Rebuild lexer files

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