ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 2228
Committed: Thu Jun 13 19:46:30 2013 UTC (13 years, 3 months ago) by michael
Content type: text/x-csrc
File size: 140646 byte(s)
Log Message:
- Implement certificate fingerprint validation for oper{} and connect{} blocks.
  Some code taken from oftc-hybrid. Hello, stu!

File Contents

# User Rev Content
1 michael 913
2 michael 1316 #line 3 "conf_lexer.c"
3 michael 913
4     #define YY_INT_ALIGNED short int
5    
6     /* A lexical scanner generated by flex */
7    
8     #define FLEX_SCANNER
9     #define YY_FLEX_MAJOR_VERSION 2
10     #define YY_FLEX_MINOR_VERSION 5
11 michael 1506 #define YY_FLEX_SUBMINOR_VERSION 37
12 michael 913 #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 967 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
34 michael 913
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 1506 #endif /* ! C99 */
87    
88 michael 913 #endif /* ! FLEXINT_H */
89    
90     #ifdef __cplusplus
91    
92     /* The "const" storage-class-modifier is valid. */
93     #define YY_USE_CONST
94    
95     #else /* ! __cplusplus */
96    
97 michael 967 /* C99 requires __STDC__ to be defined as 1. */
98     #if defined (__STDC__)
99 michael 913
100     #define YY_USE_CONST
101    
102 michael 967 #endif /* defined (__STDC__) */
103 michael 913 #endif /* ! __cplusplus */
104    
105     #ifdef YY_USE_CONST
106     #define yyconst const
107     #else
108     #define yyconst
109     #endif
110    
111     /* Returned upon end-of-file. */
112     #define YY_NULL 0
113    
114     /* Promotes a possibly negative, possibly signed char to an unsigned
115     * integer for use as an array index. If the signed char is negative,
116     * we want to instead treat it as an 8-bit unsigned char, hence the
117     * double cast.
118     */
119     #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
120    
121     /* Enter a start condition. This macro really ought to take a parameter,
122     * but we do it the disgusting crufty way forced on us by the ()-less
123     * definition of BEGIN.
124     */
125     #define BEGIN (yy_start) = 1 + 2 *
126    
127     /* Translate the current start state into a value that can be later handed
128     * to BEGIN to return to the state. The YYSTATE alias is for lex
129     * compatibility.
130     */
131     #define YY_START (((yy_start) - 1) / 2)
132     #define YYSTATE YY_START
133    
134     /* Action number for EOF rule of a given start state. */
135     #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
136    
137     /* Special action meaning "start processing a new file". */
138     #define YY_NEW_FILE yyrestart(yyin )
139    
140     #define YY_END_OF_BUFFER_CHAR 0
141    
142     /* Size of default input buffer. */
143     #ifndef YY_BUF_SIZE
144     #define YY_BUF_SIZE 16384
145     #endif
146    
147     /* The state buf must be large enough to hold one state per character in the main buffer.
148     */
149     #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
150    
151     #ifndef YY_TYPEDEF_YY_BUFFER_STATE
152     #define YY_TYPEDEF_YY_BUFFER_STATE
153     typedef struct yy_buffer_state *YY_BUFFER_STATE;
154     #endif
155    
156 michael 1506 #ifndef YY_TYPEDEF_YY_SIZE_T
157     #define YY_TYPEDEF_YY_SIZE_T
158     typedef size_t yy_size_t;
159     #endif
160 michael 913
161 michael 1506 extern yy_size_t yyleng;
162    
163 michael 913 extern FILE *yyin, *yyout;
164    
165     #define EOB_ACT_CONTINUE_SCAN 0
166     #define EOB_ACT_END_OF_FILE 1
167     #define EOB_ACT_LAST_MATCH 2
168    
169     #define YY_LESS_LINENO(n)
170    
171     /* Return all but the first "n" matched characters back to the input stream. */
172     #define yyless(n) \
173     do \
174     { \
175     /* Undo effects of setting up yytext. */ \
176     int yyless_macro_arg = (n); \
177     YY_LESS_LINENO(yyless_macro_arg);\
178     *yy_cp = (yy_hold_char); \
179     YY_RESTORE_YY_MORE_OFFSET \
180     (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
181     YY_DO_BEFORE_ACTION; /* set up yytext again */ \
182     } \
183     while ( 0 )
184    
185     #define unput(c) yyunput( c, (yytext_ptr) )
186    
187     #ifndef YY_STRUCT_YY_BUFFER_STATE
188     #define YY_STRUCT_YY_BUFFER_STATE
189     struct yy_buffer_state
190     {
191     FILE *yy_input_file;
192    
193     char *yy_ch_buf; /* input buffer */
194     char *yy_buf_pos; /* current position in input buffer */
195    
196     /* Size of input buffer in bytes, not including room for EOB
197     * characters.
198     */
199     yy_size_t yy_buf_size;
200    
201     /* Number of characters read into yy_ch_buf, not including EOB
202     * characters.
203     */
204 michael 1506 yy_size_t yy_n_chars;
205 michael 913
206     /* Whether we "own" the buffer - i.e., we know we created it,
207     * and can realloc() it to grow it, and should free() it to
208     * delete it.
209     */
210     int yy_is_our_buffer;
211    
212     /* Whether this is an "interactive" input source; if so, and
213     * if we're using stdio for input, then we want to use getc()
214     * instead of fread(), to make sure we stop fetching input after
215     * each newline.
216     */
217     int yy_is_interactive;
218    
219     /* Whether we're considered to be at the beginning of a line.
220     * If so, '^' rules will be active on the next match, otherwise
221     * not.
222     */
223     int yy_at_bol;
224    
225     int yy_bs_lineno; /**< The line count. */
226     int yy_bs_column; /**< The column count. */
227    
228     /* Whether to try to fill the input buffer when we reach the
229     * end of it.
230     */
231     int yy_fill_buffer;
232    
233     int yy_buffer_status;
234    
235     #define YY_BUFFER_NEW 0
236     #define YY_BUFFER_NORMAL 1
237     /* When an EOF's been seen but there's still some text to process
238     * then we mark the buffer as YY_EOF_PENDING, to indicate that we
239     * shouldn't try reading from the input source any more. We might
240     * still have a bunch of tokens to match, though, because of
241     * possible backing-up.
242     *
243     * When we actually see the EOF, we change the status to "new"
244     * (via yyrestart()), so that the user can continue scanning by
245     * just pointing yyin at a new input file.
246     */
247     #define YY_BUFFER_EOF_PENDING 2
248    
249     };
250     #endif /* !YY_STRUCT_YY_BUFFER_STATE */
251    
252     /* Stack of input buffers. */
253     static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
254     static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
255     static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
256    
257     /* We provide macros for accessing buffer states in case in the
258     * future we want to put the buffer states in a more general
259     * "scanner state".
260     *
261     * Returns the top of the stack, or NULL.
262     */
263     #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
264     ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
265     : NULL)
266    
267     /* Same as previous macro, but useful when we know that the buffer stack is not
268     * NULL or when we need an lvalue. For internal use only.
269     */
270     #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
271    
272     /* yy_hold_char holds the character lost when yytext is formed. */
273     static char yy_hold_char;
274 michael 1506 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
275     yy_size_t yyleng;
276 michael 913
277     /* Points to current character in buffer. */
278     static char *yy_c_buf_p = (char *) 0;
279     static int yy_init = 0; /* whether we need to initialize */
280     static int yy_start = 0; /* start state number */
281    
282     /* Flag which is used to allow yywrap()'s to do buffer switches
283     * instead of setting up a fresh yyin. A bit of a hack ...
284     */
285     static int yy_did_buffer_switch_on_eof;
286    
287     void yyrestart (FILE *input_file );
288     void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
289     YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
290     void yy_delete_buffer (YY_BUFFER_STATE b );
291     void yy_flush_buffer (YY_BUFFER_STATE b );
292     void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
293     void yypop_buffer_state (void );
294    
295     static void yyensure_buffer_stack (void );
296     static void yy_load_buffer_state (void );
297     static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
298    
299     #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
300    
301     YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
302     YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
303 michael 1506 YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
304 michael 913
305     void *yyalloc (yy_size_t );
306     void *yyrealloc (void *,yy_size_t );
307     void yyfree (void * );
308    
309     #define yy_new_buffer yy_create_buffer
310    
311     #define yy_set_interactive(is_interactive) \
312     { \
313     if ( ! YY_CURRENT_BUFFER ){ \
314     yyensure_buffer_stack (); \
315     YY_CURRENT_BUFFER_LVALUE = \
316     yy_create_buffer(yyin,YY_BUF_SIZE ); \
317     } \
318     YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
319     }
320    
321     #define yy_set_bol(at_bol) \
322     { \
323     if ( ! YY_CURRENT_BUFFER ){\
324     yyensure_buffer_stack (); \
325     YY_CURRENT_BUFFER_LVALUE = \
326     yy_create_buffer(yyin,YY_BUF_SIZE ); \
327     } \
328     YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
329     }
330    
331     #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
332    
333     /* Begin user sect3 */
334    
335 michael 1506 #define yywrap() 1
336 michael 913 #define YY_SKIP_YYWRAP
337    
338     typedef unsigned char YY_CHAR;
339    
340     FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
341    
342     typedef int yy_state_type;
343    
344     extern int yylineno;
345    
346     int yylineno = 1;
347    
348     extern char *yytext;
349     #define yytext_ptr yytext
350    
351     static yy_state_type yy_get_previous_state (void );
352     static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
353     static int yy_get_next_buffer (void );
354     static void yy_fatal_error (yyconst char msg[] );
355    
356     /* Done after the current pattern has been matched and before the
357     * corresponding action - sets up yytext.
358     */
359     #define YY_DO_BEFORE_ACTION \
360     (yytext_ptr) = yy_bp; \
361     (yytext_ptr) -= (yy_more_len); \
362     yyleng = (size_t) (yy_cp - (yytext_ptr)); \
363     (yy_hold_char) = *yy_cp; \
364     *yy_cp = '\0'; \
365     (yy_c_buf_p) = yy_cp;
366    
367 michael 2228 #define YY_NUM_RULES 250
368     #define YY_END_OF_BUFFER 251
369 michael 913 /* This struct is not used in this scanner,
370     but its presence is necessary. */
371     struct yy_trans_info
372     {
373     flex_int32_t yy_verify;
374     flex_int32_t yy_nxt;
375     };
376 michael 2228 static yyconst flex_int16_t yy_accept[1581] =
377 michael 913 { 0,
378 michael 2228 4, 4, 251, 249, 4, 3, 249, 5, 249, 249,
379     6, 249, 249, 249, 249, 249, 249, 249, 249, 249,
380     249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
381     249, 249, 249, 249, 249, 249, 4, 3, 0, 7,
382     5, 248, 0, 2, 5, 6, 0, 0, 0, 0,
383 michael 913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
384     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385 michael 1520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
386 michael 2228 0, 81, 0, 242, 0, 0, 0, 0, 0, 0,
387     0, 247, 0, 0, 0, 0, 0, 0, 0, 221,
388 michael 913
389     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
392 michael 2012 0, 0, 0, 0, 0, 0, 12, 0, 0, 0,
393 michael 2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
394 michael 2185 0, 0, 0, 0, 0, 36, 0, 0, 0, 0,
395 michael 913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396 michael 2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 76,
397 michael 1520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398 michael 2228 0, 0, 96, 0, 0, 0, 0, 0, 0, 0,
399 michael 913
400     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
402 michael 2228 0, 157, 0, 0, 0, 0, 0, 0, 173, 0,
403     0, 176, 0, 0, 0, 0, 182, 0, 184, 0,
404 michael 2150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
405     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
406 michael 2228 0, 220, 0, 0, 0, 0, 0, 15, 0, 17,
407     237, 0, 0, 0, 0, 0, 0, 0, 0, 228,
408     29, 0, 0, 34, 0, 0, 0, 0, 0, 0,
409     0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
410 michael 1520
411 michael 2228 54, 0, 0, 0, 0, 0, 0, 0, 75, 231,
412     0, 0, 0, 82, 83, 0, 0, 86, 0, 0,
413     0, 0, 0, 0, 0, 97, 0, 0, 0, 0,
414     0, 0, 0, 120, 121, 0, 0, 0, 127, 0,
415     0, 0, 0, 0, 0, 135, 0, 0, 146, 0,
416     149, 0, 0, 0, 0, 0, 0, 0, 0, 161,
417     0, 0, 0, 0, 0, 0, 177, 0, 0, 0,
418 michael 1516 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419 michael 2228 202, 0, 0, 0, 0, 0, 0, 0, 212, 0,
420     0, 0, 0, 0, 227, 0, 223, 0, 0, 9,
421 michael 2012
422 michael 2228 0, 0, 0, 236, 0, 0, 21, 0, 0, 25,
423     0, 0, 30, 0, 0, 0, 40, 0, 0, 43,
424     0, 0, 0, 0, 0, 0, 0, 52, 0, 55,
425     0, 57, 0, 0, 0, 0, 0, 0, 230, 0,
426     0, 0, 0, 241, 0, 0, 88, 0, 0, 0,
427 michael 1520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
428 michael 2228 0, 0, 246, 0, 0, 0, 0, 0, 225, 0,
429 michael 2012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
430 michael 2228 0, 0, 0, 0, 0, 0, 0, 0, 153, 0,
431     0, 0, 0, 0, 0, 0, 166, 0, 0, 0,
432 michael 1247
433 michael 2228 0, 0, 0, 178, 0, 180, 183, 190, 0, 0,
434     0, 0, 0, 0, 198, 0, 0, 0, 0, 0,
435     0, 0, 0, 0, 0, 0, 0, 213, 0, 0,
436     0, 226, 219, 222, 0, 0, 0, 11, 0, 0,
437 michael 913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
438 michael 2228 0, 0, 0, 0, 46, 0, 0, 0, 0, 0,
439     0, 0, 0, 0, 0, 0, 68, 0, 0, 0,
440     0, 0, 0, 240, 0, 0, 0, 0, 0, 0,
441     94, 95, 98, 0, 0, 0, 0, 0, 0, 0,
442     0, 0, 0, 0, 0, 245, 0, 233, 0, 0,
443    
444     118, 224, 0, 0, 0, 0, 0, 0, 0, 0,
445     0, 0, 0, 0, 0, 0, 0, 0, 0, 144,
446     0, 0, 0, 0, 0, 152, 0, 0, 156, 158,
447     0, 0, 0, 0, 235, 0, 167, 0, 0, 174,
448 michael 2150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
449 michael 2228 0, 0, 0, 0, 203, 204, 0, 0, 0, 208,
450     0, 0, 0, 214, 215, 0, 218, 0, 0, 0,
451     0, 0, 0, 0, 0, 0, 22, 0, 26, 27,
452     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
453     0, 0, 56, 0, 0, 0, 0, 0, 65, 0,
454 michael 1837
455 michael 1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
456 michael 1946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
457 michael 2228 0, 0, 0, 0, 0, 0, 0, 0, 0, 232,
458     0, 0, 119, 122, 0, 0, 0, 0, 0, 0,
459 michael 1520 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
460 michael 2228 0, 0, 0, 0, 0, 0, 0, 0, 160, 0,
461     0, 0, 234, 0, 0, 0, 170, 0, 0, 0,
462 michael 1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
463 michael 2228 0, 0, 0, 0, 0, 0, 205, 206, 0, 209,
464     210, 0, 216, 0, 0, 0, 0, 0, 0, 16,
465 michael 1302
466 michael 2228 19, 0, 0, 0, 0, 0, 0, 0, 0, 0,
467     0, 0, 47, 0, 0, 0, 0, 0, 0, 0,
468     0, 0, 0, 0, 0, 0, 0, 0, 0, 77,
469     0, 0, 0, 0, 239, 0, 0, 0, 0, 0,
470     100, 0, 0, 0, 0, 106, 0, 0, 0, 0,
471     0, 0, 244, 115, 0, 0, 0, 0, 132, 0,
472     0, 0, 131, 0, 139, 0, 141, 0, 0, 0,
473     0, 145, 0, 0, 0, 0, 0, 0, 0, 0,
474 michael 1157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475 michael 1250 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476 michael 1519
477 michael 1301 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
478 michael 2228 0, 0, 0, 0, 0, 0, 20, 0, 0, 0,
479     0, 0, 0, 0, 0, 0, 0, 44, 0, 0,
480 michael 1306 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
481 michael 2228 0, 0, 0, 0, 0, 0, 79, 0, 0, 238,
482     0, 0, 92, 0, 0, 0, 0, 0, 105, 107,
483     0, 0, 0, 0, 114, 243, 0, 0, 0, 0,
484     0, 0, 0, 0, 0, 0, 0, 0, 0, 142,
485     0, 148, 0, 0, 154, 155, 159, 0, 0, 0,
486 michael 1751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
487 michael 1324
488 michael 913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
489 michael 2228 0, 0, 0, 207, 0, 0, 0, 1, 0, 1,
490 michael 2150 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
491 michael 2228 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
492     0, 0, 0, 0, 0, 0, 0, 66, 0, 0,
493 michael 2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
494 michael 2228 99, 0, 0, 104, 0, 0, 0, 111, 0, 0,
495     0, 123, 0, 0, 0, 0, 0, 0, 0, 0,
496     0, 0, 0, 0, 0, 150, 0, 0, 0, 0,
497     0, 168, 169, 0, 172, 175, 0, 0, 0, 0,
498 michael 913
499     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500 michael 1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
501 michael 2228 0, 28, 0, 0, 35, 0, 0, 0, 0, 0,
502     0, 0, 51, 0, 0, 0, 0, 0, 0, 64,
503     0, 69, 0, 0, 0, 0, 0, 0, 0, 0,
504     0, 90, 93, 0, 103, 0, 0, 0, 112, 0,
505 michael 2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
506 michael 2228 0, 138, 0, 147, 151, 162, 0, 0, 0, 0,
507 michael 2185 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
508 michael 2228 0, 0, 0, 0, 0, 0, 0, 211, 0, 0,
509 michael 2150
510 michael 2228 0, 0, 0, 0, 0, 0, 0, 37, 0, 0,
511     0, 42, 45, 0, 0, 0, 59, 60, 0, 0,
512     0, 0, 72, 0, 0, 0, 0, 0, 0, 0,
513     0, 89, 0, 0, 0, 0, 0, 0, 0, 0,
514     125, 126, 0, 0, 0, 0, 0, 0, 0, 0,
515     0, 0, 0, 0, 0, 179, 181, 0, 0, 0,
516 michael 1549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
517 michael 2228 200, 0, 0, 0, 10, 0, 0, 0, 0, 0,
518     0, 0, 0, 41, 0, 53, 0, 0, 0, 0,
519     0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
520 michael 1921
521 michael 2228 0, 0, 0, 110, 0, 0, 124, 0, 0, 130,
522     0, 134, 0, 0, 0, 0, 0, 0, 165, 171,
523 michael 1855 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524 michael 2228 196, 0, 0, 201, 217, 0, 0, 0, 18, 0,
525     0, 0, 0, 0, 0, 58, 61, 0, 0, 0,
526     0, 74, 0, 0, 0, 0, 0, 0, 0, 0,
527     0, 0, 0, 0, 0, 0, 0, 0, 137, 0,
528     0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
529     0, 0, 0, 0, 8, 13, 0, 0, 0, 0,
530     0, 0, 0, 0, 62, 0, 0, 0, 71, 78,
531 michael 1547
532 michael 2228 0, 0, 85, 0, 0, 0, 0, 0, 109, 0,
533     116, 0, 0, 133, 0, 0, 0, 0, 0, 0,
534     186, 0, 0, 0, 0, 0, 0, 0, 0, 0,
535     0, 0, 23, 24, 0, 0, 0, 0, 0, 0,
536     0, 67, 0, 0, 84, 0, 0, 0, 0, 108,
537     113, 0, 0, 129, 0, 136, 143, 0, 0, 0,
538     0, 0, 0, 191, 0, 0, 0, 0, 0, 0,
539 michael 1549 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
540 michael 1783 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
541 michael 2228 187, 188, 189, 192, 193, 194, 195, 0, 0, 0,
542 michael 1520
543 michael 2228 31, 0, 0, 0, 0, 48, 0, 0, 0, 0,
544     0, 101, 102, 0, 128, 0, 0, 0, 0, 0,
545     199, 0, 0, 0, 0, 0, 0, 0, 0, 0,
546     91, 0, 0, 0, 164, 0, 0, 0, 0, 0,
547     0, 0, 0, 70, 80, 0, 0, 0, 163, 185,
548     0, 0, 0, 0, 38, 0, 0, 87, 0, 140,
549     197, 0, 0, 0, 0, 63, 117, 0, 0, 0,
550     39, 0, 0, 33, 0, 0, 0, 32, 14, 0
551 michael 913 } ;
552    
553     static yyconst flex_int32_t yy_ec[256] =
554     { 0,
555     1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
556     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
557     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
558     1, 2, 1, 4, 5, 1, 1, 1, 1, 1,
559 michael 967 1, 6, 1, 1, 1, 7, 8, 9, 10, 9,
560     11, 12, 9, 13, 9, 9, 9, 1, 1, 14,
561     1, 15, 1, 1, 16, 17, 18, 19, 20, 21,
562     22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
563 michael 1247 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
564     1, 1, 1, 1, 42, 1, 43, 44, 45, 46,
565 michael 913
566 michael 1247 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
567     57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
568     67, 68, 1, 1, 1, 1, 1, 1, 1, 1,
569 michael 913 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
570     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
571     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
572     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
573     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
574     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
575     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
576    
577     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
578     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
579     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
580     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
581     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
582     1, 1, 1, 1, 1
583     } ;
584    
585 michael 1247 static yyconst flex_int32_t yy_meta[69] =
586 michael 913 { 0,
587     1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
588     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
589     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
590 michael 967 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
591     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
592     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
593 michael 1247 1, 1, 1, 1, 1, 1, 1, 1
594 michael 913 } ;
595    
596 michael 2228 static yyconst flex_int16_t yy_base[1586] =
597 michael 913 { 0,
598 michael 2228 0, 0, 3034, 3035, 3031, 0, 66, 0, 64, 66,
599 michael 1520 66, 98, 43, 146, 75, 58, 85, 76, 117, 109,
600 michael 1783 51, 154, 155, 197, 239, 53, 177, 57, 143, 283,
601 michael 2228 323, 190, 122, 168, 128, 175, 3030, 0, 86, 3035,
602     0, 3035, 170, 3035, 0, 220, 191, 188, 188, 198,
603 michael 1783 200, 202, 203, 204, 220, 223, 240, 239, 245, 231,
604 michael 1981 227, 276, 278, 244, 237, 254, 261, 271, 308, 314,
605 michael 2228 325, 305, 304, 333, 336, 322, 342, 333, 347, 339,
606     334, 335, 351, 340, 355, 361, 362, 381, 371, 386,
607     367, 363, 388, 382, 394, 386, 392, 401, 398, 397,
608 michael 913
609 michael 2228 389, 398, 431, 391, 392, 418, 417, 478, 435, 442,
610     438, 439, 431, 436, 432, 423, 437, 467, 455, 463,
611     466, 469, 2989, 477, 479, 524, 491, 484, 492, 509,
612     494, 515, 502, 514, 513, 502, 3035, 520, 525, 520,
613     539, 533, 2988, 533, 536, 533, 534, 538, 544, 540,
614     558, 544, 567, 545, 570, 3035, 575, 565, 562, 566,
615     574, 569, 583, 576, 585, 581, 591, 591, 591, 592,
616     589, 587, 599, 591, 605, 606, 614, 593, 604, 2987,
617     609, 618, 137, 616, 613, 629, 621, 633, 631, 631,
618     623, 632, 3035, 637, 2986, 630, 651, 632, 634, 636,
619 michael 913
620 michael 2228 654, 656, 664, 662, 644, 661, 658, 681, 674, 660,
621     676, 667, 679, 682, 670, 677, 693, 679, 680, 695,
622     705, 3035, 692, 690, 2985, 694, 711, 697, 3035, 702,
623     703, 3035, 721, 715, 710, 717, 3035, 726, 716, 720,
624     726, 735, 723, 744, 737, 746, 748, 734, 744, 746,
625     752, 758, 752, 748, 750, 758, 759, 765, 769, 767,
626     766, 3035, 774, 773, 778, 778, 2984, 3035, 792, 3035,
627     779, 794, 796, 789, 790, 2983, 786, 786, 804, 3035,
628     3035, 803, 791, 3035, 796, 813, 812, 2982, 803, 808,
629     798, 819, 811, 810, 829, 820, 3035, 833, 821, 823,
630 michael 913
631 michael 2228 3035, 827, 830, 844, 851, 842, 848, 2981, 3035, 838,
632     845, 841, 841, 3035, 3035, 2980, 858, 2979, 862, 863,
633     860, 2978, 853, 869, 861, 873, 905, 877, 886, 869,
634     888, 882, 888, 3035, 3035, 886, 2977, 888, 3035, 896,
635     893, 898, 902, 911, 917, 931, 2976, 903, 3035, 2975,
636     3035, 935, 927, 928, 931, 933, 937, 937, 959, 2974,
637     945, 948, 947, 962, 960, 946, 3035, 956, 969, 967,
638     959, 3004, 982, 961, 962, 976, 3004, 2971, 995, 996,
639     3035, 997, 984, 996, 999, 997, 992, 1005, 3035, 1010,
640     996, 1003, 2970, 1001, 1001, 1016, 1006, 1005, 1007, 1021,
641 michael 913
642 michael 2228 1028, 1020, 1021, 3035, 1022, 1032, 3035, 1045, 1049, 3035,
643     1050, 1053, 3035, 1046, 1050, 1050, 3035, 1055, 1050, 3035,
644     1052, 1065, 1050, 1058, 1069, 1060, 1057, 3035, 1071, 3035,
645     1078, 2969, 1068, 1065, 1064, 1078, 1074, 1085, 3035, 1089,
646     1088, 1089, 1099, 1090, 1107, 1087, 2968, 2967, 1100, 2966,
647     1102, 1099, 1115, 1119, 1122, 1116, 1114, 1123, 1114, 1121,
648     1132, 1133, 1116, 1113, 1136, 1140, 1133, 1147, 1139, 1152,
649     1154, 1146, 1148, 1162, 1163, 1168, 1164, 1159, 1158, 2965,
650     1179, 1166, 1160, 1180, 1186, 1174, 1179, 1182, 3035, 1182,
651     1194, 1207, 1195, 1212, 1200, 1216, 3035, 1208, 1208, 1224,
652 michael 913
653 michael 2228 1215, 1227, 2964, 3035, 1231, 2963, 3035, 3035, 1229, 1227,
654     1231, 2962, 1217, 1237, 3035, 1229, 1222, 1231, 1231, 1244,
655     1241, 1242, 1251, 1244, 1253, 1264, 1257, 2990, 1258, 1261,
656     1275, 3035, 3035, 3035, 1276, 2960, 1262, 3035, 1275, 1269,
657     1272, 1279, 1274, 1278, 1282, 1274, 1275, 1276, 1281, 1295,
658     1289, 1292, 1289, 2959, 3035, 1309, 2958, 1300, 1304, 1307,
659     1313, 1338, 2957, 1307, 2956, 1324, 2955, 1328, 1328, 1315,
660     2954, 1333, 1326, 3035, 1331, 1320, 1340, 1342, 1348, 1346,
661     3035, 3035, 3035, 1351, 1343, 1357, 1354, 1349, 1363, 1371,
662     1376, 1367, 1364, 1370, 1367, 3035, 1368, 1370, 1380, 1379,
663 michael 913
664 michael 2228 1375, 3035, 1391, 1393, 1397, 1388, 1395, 1402, 1390, 1387,
665     1404, 2953, 1395, 1409, 1400, 1403, 1417, 1409, 1427, 3035,
666     1411, 1418, 1425, 1416, 2952, 3035, 1425, 1436, 3035, 1440,
667     1423, 1422, 1438, 1446, 1431, 1450, 1444, 1449, 1437, 3035,
668     1445, 1447, 1448, 1446, 1449, 1457, 2951, 1453, 1485, 1460,
669     2950, 1461, 2949, 1468, 3035, 3035, 1478, 1482, 1468, 3035,
670     1490, 1493, 1495, 3035, 1485, 1490, 3035, 1501, 1491, 1488,
671     1508, 1511, 1499, 1512, 1509, 1504, 3035, 1500, 3035, 1519,
672     2948, 1506, 2947, 2946, 2945, 1525, 1524, 1525, 1526, 1537,
673     1526, 2944, 3035, 1527, 1535, 1541, 1546, 1543, 3035, 1537,
674 michael 913
675 michael 2228 1551, 1544, 1548, 1543, 1547, 1554, 1564, 1555, 1555, 1571,
676     1568, 1550, 1574, 1561, 1579, 1585, 1572, 1581, 1591, 1596,
677     1588, 1598, 1603, 1594, 1606, 1602, 1601, 1609, 1608, 3035,
678     1609, 1592, 3035, 3035, 1611, 1600, 2943, 1613, 1601, 2942,
679     2941, 1619, 1610, 1609, 1603, 1621, 1622, 1619, 1629, 1636,
680     1645, 1635, 1639, 1647, 1648, 1640, 1641, 1661, 3035, 1658,
681     1642, 1654, 3035, 1648, 1659, 1655, 1651, 1664, 1659, 1663,
682     1663, 1660, 1673, 1677, 1671, 1666, 2940, 2939, 2938, 2937,
683     2936, 1687, 1693, 2935, 1695, 2934, 3035, 3035, 1698, 3035,
684     3035, 1697, 3035, 2933, 90, 1705, 1692, 1700, 1699, 3035,
685 michael 913
686 michael 2228 3035, 1709, 1712, 1705, 1700, 1715, 1711, 1723, 1713, 1707,
687     1723, 1719, 3035, 1716, 1732, 1727, 1730, 1728, 1751, 1748,
688     1743, 1741, 1751, 1759, 1751, 1765, 1762, 1748, 1756, 3035,
689     1757, 1769, 1760, 1757, 1758, 1773, 1769, 1771, 1771, 1770,
690     3035, 1769, 1775, 1789, 1775, 3035, 1784, 2932, 1795, 1801,
691     1804, 1803, 1793, 3035, 1805, 1804, 1800, 1816, 3035, 1816,
692     1809, 1819, 3035, 1821, 3035, 1812, 3035, 1804, 1812, 1828,
693     1815, 3035, 1825, 1832, 1826, 1838, 1823, 1822, 1835, 1837,
694     1853, 1851, 1842, 1861, 1860, 2931, 1865, 1852, 1868, 1854,
695     1866, 1873, 1865, 1879, 1877, 1879, 1869, 1870, 1871, 1874,
696 michael 913
697 michael 2228 2930, 1866, 1876, 1889, 1892, 1893, 1889, 1889, 465, 2967,
698     2955, 1885, 1907, 2927, 2926, 2925, 3035, 1909, 1910, 1907,
699     1904, 1907, 1905, 1926, 1923, 1925, 1931, 3035, 1920, 1929,
700     1916, 1923, 1929, 1938, 1938, 1930, 2924, 1923, 1933, 1947,
701     1930, 1938, 2923, 1953, 1946, 1950, 2922, 1964, 1964, 3035,
702     1960, 1973, 3035, 1975, 1960, 2921, 1961, 1970, 3035, 3035,
703     1985, 1965, 1966, 2920, 3035, 3035, 1975, 1970, 1968, 1987,
704     1992, 2919, 1980, 1986, 1981, 2001, 2918, 2917, 1999, 2916,
705     1997, 3035, 2006, 2000, 3035, 3035, 3035, 2000, 2002, 2020,
706     2004, 2023, 2015, 2020, 2030, 2032, 2019, 2031, 2035, 2024,
707 michael 913
708 michael 2228 2024, 2027, 2028, 2038, 2032, 2035, 2036, 2037, 2036, 2042,
709     2043, 2048, 2060, 3035, 2052, 2058, 2953, 2952, 2940, 2934,
710     2057, 2057, 2075, 2077, 2061, 2074, 2072, 2075, 2079, 2080,
711     2075, 2085, 2085, 2094, 2080, 2092, 2084, 3035, 2085, 2092,
712     2087, 2098, 2096, 2110, 2109, 2107, 2116, 3035, 2119, 2124,
713     2113, 2132, 2903, 2115, 2123, 2902, 2897, 2126, 2118, 2119,
714     3035, 2129, 2129, 3035, 2141, 2145, 2143, 3035, 2134, 2142,
715     2151, 3035, 2141, 2140, 2147, 2146, 2896, 2149, 2895, 2147,
716     2146, 2150, 2154, 2155, 2173, 3035, 2179, 2165, 2184, 2890,
717     2175, 3035, 3035, 2191, 3035, 3035, 2187, 2194, 2189, 2889,
718 michael 913
719 michael 2228 2888, 2198, 2885, 2183, 2198, 2199, 2201, 2202, 2199, 2200,
720     2205, 2193, 2202, 2208, 2209, 2197, 2206, 2210, 2203, 2227,
721     2884, 3035, 2217, 2229, 3035, 2231, 2238, 2229, 2232, 2242,
722     2231, 1302, 3035, 2241, 2244, 2251, 2237, 2249, 2241, 3035,
723     904, 3035, 2243, 2245, 2257, 2254, 2248, 2254, 2266, 2254,
724     2255, 865, 3035, 2271, 3035, 2280, 2268, 2279, 3035, 2288,
725     2294, 2280, 2296, 2295, 2290, 2286, 2291, 2307, 2288, 2298,
726     2307, 3035, 2305, 3035, 3035, 3035, 854, 2304, 2299, 2305,
727     2317, 2317, 2320, 2316, 2316, 2317, 2322, 2335, 2322, 2328,
728     2329, 2333, 2339, 2335, 2336, 2357, 2339, 3035, 2346, 2346,
729 michael 913
730 michael 2228 2346, 2350, 2357, 2359, 2360, 2366, 2351, 3035, 480, 2352,
731     2355, 3035, 3035, 2362, 2358, 2367, 3035, 3035, 2379, 2364,
732     2386, 2375, 3035, 2385, 2381, 2385, 474, 471, 2390, 2397,
733     2398, 3035, 2405, 2394, 2399, 2407, 2410, 2404, 2418, 2416,
734     3035, 3035, 432, 2406, 2419, 2415, 2409, 428, 2411, 2410,
735     2417, 2420, 2431, 2433, 2433, 3035, 3035, 2442, 2435, 2443,
736     380, 2449, 2453, 293, 287, 285, 281, 2454, 2455, 280,
737     3035, 2460, 2457, 2448, 3035, 2452, 2448, 2449, 2456, 2470,
738     269, 2471, 2471, 3035, 2462, 3035, 2464, 2461, 259, 2465,
739     2470, 2468, 3035, 2466, 2470, 2488, 2471, 2484, 2485, 2494,
740 michael 913
741 michael 2228 249, 2501, 2489, 3035, 2506, 2496, 3035, 2496, 2504, 3035,
742     2516, 3035, 2518, 2518, 2501, 2510, 2522, 2503, 3035, 3035,
743     2510, 2512, 2512, 2527, 2514, 2525, 2523, 2524, 2529, 2530,
744     3035, 237, 2540, 3035, 3035, 2547, 2548, 236, 3035, 2534,
745     2547, 2548, 2555, 229, 2548, 3035, 257, 2566, 2560, 200,
746     2556, 3035, 2557, 2562, 2566, 2576, 2577, 2583, 2570, 2581,
747     2579, 2568, 2588, 2577, 2589, 2581, 2599, 2600, 3035, 2594,
748     2585, 152, 2611, 2597, 2613, 2613, 2615, 2619, 2614, 2615,
749     2616, 2617, 2620, 2623, 3035, 3035, 2623, 144, 2617, 2634,
750     2621, 2640, 2639, 2636, 3035, 2625, 2641, 2637, 3035, 3035,
751 michael 913
752 michael 2228 2639, 2634, 3035, 150, 2645, 2644, 2645, 2651, 3035, 2663,
753     145, 2663, 2656, 3035, 2665, 2659, 2677, 124, 2677, 109,
754     3035, 2669, 2673, 2673, 2685, 2678, 2680, 2681, 2682, 2680,
755     2681, 2694, 3035, 3035, 2686, 2683, 2701, 2693, 2693, 2710,
756     2696, 3035, 2702, 2710, 3035, 2713, 2715, 2725, 2726, 3035,
757     3035, 2713, 2727, 3035, 2725, 3035, 3035, 2732, 2730, 2736,
758     2739, 2739, 2742, 3035, 2722, 2723, 2724, 2725, 2733, 2739,
759     2736, 2740, 2739, 2744, 2753, 2755, 2767, 2777, 2774, 2778,
760     2775, 2780, 2768, 2772, 2782, 2772, 2788, 2787, 2785, 2789,
761     3035, 3035, 3035, 3035, 3035, 3035, 3035, 2791, 2797, 2783,
762 michael 913
763 michael 2228 3035, 2798, 100, 2799, 2794, 3035, 2788, 2791, 2811, 2802,
764     2804, 3035, 3035, 2808, 3035, 2804, 2814, 2827, 2821, 2834,
765     3035, 2837, 2821, 2837, 2832, 2844, 2837, 2828, 2830, 2842,
766     3035, 2836, 2845, 2850, 3035, 2851, 2852, 2851, 95, 2846,
767     2843, 2849, 2853, 3035, 3035, 2849, 2858, 2871, 3035, 3035,
768     2857, 2875, 2883, 2866, 3035, 2887, 2878, 3035, 2888, 3035,
769     3035, 93, 2879, 2884, 2880, 3035, 3035, 2880, 2880, 2884,
770     3035, 2896, 2892, 3035, 2895, 2889, 2905, 3035, 3035, 3035,
771     105, 2952, 97, 84, 81
772 michael 913 } ;
773    
774 michael 2228 static yyconst flex_int16_t yy_def[1586] =
775 michael 913 { 0,
776 michael 2228 1580, 1, 1580, 1580, 1580, 1581, 1582, 1583, 1580, 1580,
777     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
778     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
779     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1581, 1582, 1580,
780     1583, 1580, 1580, 1580, 1583, 1580, 1580, 1580, 1580, 1580,
781     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
782     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
783     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
784     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
785     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
786 michael 913
787 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
788     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
789     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
790     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
791     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
792     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
793     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
794     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
795     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
796     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
797 michael 913
798 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
799     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
800     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
801     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
802     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
803     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
804     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
805     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
806     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
807     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
808 michael 913
809 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
810     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
811     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
812     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
813     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
814     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
815     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
816     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
817     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
818     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
819 michael 913
820 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
821     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
822     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
823     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
824     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
825     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
826     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
827     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
828     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
829     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
830 michael 913
831 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
832     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
833     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
834     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
835     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
836     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
837     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
838     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
839     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
840     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
841 michael 913
842 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
843     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
844     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
845     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
846     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
847     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
848     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
849     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
850     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
851     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
852 michael 913
853 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
854     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
855     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
856     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
857     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
858     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
859     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
860     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
861     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
862     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
863 michael 913
864 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
865     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
866     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
867     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
868     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
869     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
870     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
871     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
872     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
873     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
874 michael 913
875 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1584,
876     1585, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
877     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
878     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
879     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
880     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
881     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
882     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
883     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
884     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
885 michael 913
886 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
887     1580, 1580, 1580, 1580, 1580, 1580, 1584, 1584, 1585, 1585,
888     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
889     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
890     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
891     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
892     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
893     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
894     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
895     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
896 michael 913
897 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
898     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
899     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
900     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
901     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
902     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
903     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
904     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
905     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
906     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
907 michael 913
908 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
909     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
910     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
911     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
912     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
913     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
914     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
915     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
916     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
917     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
918 michael 913
919 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
920     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
921     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
922     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
923     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
924     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
925     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
926     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
927     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
928     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
929 michael 913
930 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
931     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
932     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
933     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
934     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
935     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
936     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
937     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
938     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
939     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
940 michael 913
941 michael 2228 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
942     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
943     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
944     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
945     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
946     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
947     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
948     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 0,
949     1580, 1580, 1580, 1580, 1580
950 michael 913 } ;
951    
952 michael 2228 static yyconst flex_int16_t yy_nxt[3104] =
953 michael 913 { 0,
954     4, 5, 6, 7, 8, 4, 9, 10, 11, 11,
955 michael 967 11, 11, 11, 4, 4, 12, 13, 14, 15, 16,
956     17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
957     27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
958 michael 1247 4, 4, 12, 13, 14, 15, 16, 17, 18, 19,
959     20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
960     30, 31, 32, 33, 34, 35, 36, 4, 40, 40,
961 michael 1520 42, 44, 53, 45, 46, 46, 46, 46, 46, 66,
962 michael 2228 83, 1019, 54, 102, 1017, 67, 68, 43, 40, 40,
963     61, 909, 106, 910, 62, 74, 69, 41, 63, 53,
964 michael 913
965 michael 2228 70, 64, 75, 911, 65, 38, 66, 83, 71, 54,
966 michael 1520 102, 72, 67, 68, 43, 47, 48, 61, 49, 106,
967     73, 62, 74, 69, 50, 63, 51, 70, 64, 75,
968 michael 2228 80, 65, 76, 52, 1568, 71, 1553, 81, 72, 82,
969     77, 1524, 47, 48, 128, 49, 78, 73, 314, 315,
970     1460, 50, 79, 51, 131, 1433, 1434, 80, 107, 76,
971     52, 55, 108, 56, 81, 1458, 82, 77, 57, 58,
972 michael 2012 84, 128, 59, 78, 88, 60, 109, 85, 89, 79,
973 michael 2228 86, 131, 87, 129, 90, 107, 1452, 130, 55, 108,
974     56, 1446, 103, 1419, 132, 57, 58, 84, 133, 59,
975 michael 913
976 michael 2012 104, 88, 60, 109, 85, 89, 105, 86, 134, 87,
977     129, 90, 91, 92, 130, 135, 93, 125, 126, 103,
978     94, 132, 136, 127, 137, 133, 95, 104, 46, 46,
979     46, 46, 46, 105, 138, 134, 139, 140, 141, 91,
980 michael 2228 92, 1398, 135, 93, 125, 126, 142, 94, 143, 136,
981 michael 2012 127, 137, 144, 95, 96, 145, 97, 146, 98, 149,
982 michael 2228 147, 138, 99, 139, 140, 141, 150, 158, 100, 1395,
983     1393, 159, 160, 142, 101, 143, 161, 1387, 1383, 144,
984 michael 2012 148, 96, 145, 97, 146, 98, 149, 147, 162, 99,
985 michael 2228 1359, 151, 152, 150, 158, 100, 153, 156, 159, 160,
986 michael 913
987 michael 2228 1348, 101, 110, 161, 154, 111, 112, 148, 113, 155,
988     1342, 157, 114, 115, 116, 162, 117, 118, 151, 152,
989     170, 1333, 1330, 153, 156, 163, 1329, 164, 1328, 110,
990     171, 154, 111, 112, 1327, 113, 155, 166, 157, 114,
991     115, 116, 165, 117, 118, 119, 167, 170, 120, 121,
992     172, 168, 163, 169, 164, 122, 123, 171, 176, 174,
993     177, 173, 124, 180, 166, 175, 178, 181, 179, 165,
994     182, 183, 119, 167, 184, 120, 121, 172, 168, 185,
995     169, 186, 122, 123, 187, 176, 174, 177, 173, 124,
996     180, 188, 175, 178, 181, 179, 189, 182, 183, 190,
997 michael 913
998 michael 2228 194, 184, 196, 192, 191, 195, 185, 193, 186, 197,
999     198, 187, 199, 202, 203, 206, 209, 210, 188, 214,
1000     204, 1324, 200, 189, 215, 207, 190, 194, 201, 196,
1001     192, 191, 195, 216, 193, 205, 197, 198, 208, 199,
1002     202, 203, 206, 209, 210, 217, 214, 204, 211, 200,
1003     225, 215, 207, 230, 234, 201, 235, 232, 238, 226,
1004     216, 236, 205, 239, 212, 213, 909, 231, 910, 1313,
1005     227, 237, 217, 1308, 228, 211, 229, 225, 911, 233,
1006     230, 234, 240, 235, 232, 238, 226, 241, 236, 242,
1007     239, 212, 213, 218, 231, 219, 220, 227, 237, 243,
1008 michael 913
1009 michael 2228 221, 228, 222, 229, 244, 223, 233, 246, 247, 240,
1010     254, 224, 1296, 255, 241, 1295, 242, 260, 256, 263,
1011     218, 1282, 219, 220, 257, 258, 243, 221, 259, 222,
1012     261, 244, 223, 264, 246, 247, 265, 254, 224, 248,
1013     255, 266, 249, 267, 260, 256, 263, 268, 262, 250,
1014     251, 257, 258, 270, 269, 259, 252, 261, 271, 272,
1015     264, 274, 253, 265, 275, 276, 248, 277, 266, 249,
1016     267, 278, 279, 280, 268, 262, 250, 251, 281, 282,
1017     270, 269, 283, 252, 284, 271, 272, 285, 274, 253,
1018     286, 275, 276, 287, 277, 288, 289, 290, 278, 279,
1019 michael 913
1020 michael 2228 280, 291, 292, 293, 294, 281, 282, 295, 296, 283,
1021     297, 284, 298, 299, 285, 301, 302, 286, 303, 304,
1022     287, 305, 288, 289, 290, 306, 300, 309, 291, 292,
1023     293, 294, 307, 308, 295, 296, 310, 297, 312, 298,
1024     299, 313, 301, 302, 316, 303, 304, 317, 305, 320,
1025     321, 322, 306, 300, 309, 318, 323, 324, 319, 307,
1026     308, 325, 326, 310, 328, 312, 329, 330, 313, 332,
1027     333, 316, 334, 331, 317, 335, 320, 321, 322, 336,
1028     337, 338, 318, 323, 324, 319, 339, 340, 325, 326,
1029     345, 328, 346, 329, 330, 347, 332, 333, 341, 334,
1030 michael 913
1031 michael 2228 348, 349, 335, 350, 351, 342, 336, 337, 338, 352,
1032     343, 353, 354, 339, 340, 344, 355, 345, 356, 346,
1033     357, 358, 347, 362, 359, 341, 360, 348, 349, 363,
1034     350, 351, 342, 364, 365, 366, 352, 343, 353, 354,
1035     367, 368, 344, 355, 369, 356, 370, 357, 358, 371,
1036     362, 359, 372, 360, 374, 375, 363, 373, 376, 377,
1037     364, 365, 366, 378, 379, 381, 382, 367, 368, 383,
1038     384, 369, 385, 370, 380, 386, 371, 387, 388, 372,
1039     389, 374, 375, 391, 392, 376, 377, 393, 394, 390,
1040     378, 379, 381, 382, 395, 396, 383, 384, 397, 385,
1041 michael 913
1042 michael 2228 398, 380, 386, 399, 387, 388, 400, 389, 401, 403,
1043     391, 392, 404, 405, 393, 394, 406, 407, 408, 410,
1044     411, 395, 396, 412, 413, 397, 414, 398, 415, 416,
1045     399, 417, 419, 400, 420, 401, 403, 421, 422, 404,
1046     405, 423, 424, 406, 407, 408, 410, 411, 425, 426,
1047     412, 413, 427, 414, 428, 415, 416, 429, 417, 419,
1048     430, 420, 431, 432, 421, 422, 433, 437, 423, 424,
1049     435, 439, 440, 441, 442, 425, 426, 444, 446, 427,
1050     434, 428, 447, 436, 429, 448, 450, 430, 451, 431,
1051     432, 452, 453, 433, 437, 1252, 463, 435, 439, 440,
1052 michael 913
1053 michael 2228 441, 442, 464, 465, 444, 446, 1233, 434, 468, 447,
1054     469, 466, 448, 450, 470, 451, 467, 472, 452, 453,
1055     454, 455, 456, 463, 473, 474, 457, 475, 458, 464,
1056     465, 459, 476, 460, 477, 468, 478, 469, 466, 461,
1057     484, 470, 462, 467, 472, 1221, 479, 454, 455, 456,
1058     486, 473, 474, 457, 475, 458, 487, 488, 459, 476,
1059     460, 477, 489, 478, 480, 490, 461, 484, 481, 462,
1060     491, 492, 482, 479, 493, 495, 496, 486, 497, 502,
1061     503, 499, 504, 487, 488, 500, 505, 506, 498, 489,
1062     501, 480, 490, 507, 512, 481, 513, 491, 492, 509,
1063 michael 913
1064 michael 2228 510, 493, 495, 496, 514, 497, 502, 503, 499, 504,
1065     517, 518, 500, 505, 506, 511, 519, 501, 520, 521,
1066     507, 512, 522, 513, 523, 524, 509, 510, 525, 526,
1067     528, 514, 529, 531, 532, 533, 527, 517, 518, 534,
1068     535, 536, 511, 519, 537, 520, 521, 538, 539, 522,
1069     541, 523, 524, 540, 542, 525, 526, 528, 543, 529,
1070     531, 532, 533, 527, 544, 545, 534, 535, 536, 546,
1071     547, 537, 548, 549, 538, 539, 550, 541, 551, 552,
1072     540, 542, 553, 554, 555, 543, 556, 557, 558, 559,
1073     560, 544, 545, 561, 563, 564, 546, 547, 565, 548,
1074 michael 913
1075 michael 2228 549, 566, 567, 550, 570, 551, 552, 571, 568, 553,
1076     554, 555, 572, 556, 557, 558, 559, 560, 569, 573,
1077     561, 563, 564, 574, 575, 565, 576, 579, 566, 567,
1078     581, 570, 582, 583, 571, 568, 584, 585, 586, 572,
1079     588, 589, 587, 590, 591, 569, 573, 593, 595, 596,
1080     574, 575, 597, 576, 579, 598, 592, 581, 599, 582,
1081     583, 594, 600, 584, 585, 586, 601, 588, 589, 587,
1082     590, 591, 602, 603, 593, 595, 596, 604, 606, 597,
1083     607, 608, 598, 592, 605, 599, 609, 610, 594, 600,
1084     611, 612, 613, 601, 615, 616, 617, 619, 620, 602,
1085 michael 913
1086 michael 2228 603, 618, 624, 622, 604, 606, 625, 607, 608, 621,
1087     626, 605, 627, 609, 610, 628, 629, 611, 612, 613,
1088     623, 615, 616, 617, 619, 620, 630, 631, 618, 624,
1089     622, 632, 633, 625, 635, 634, 621, 626, 636, 627,
1090     637, 638, 628, 629, 639, 640, 642, 623, 644, 647,
1091     648, 650, 645, 630, 631, 646, 651, 652, 632, 633,
1092     653, 635, 634, 654, 655, 636, 656, 637, 638, 657,
1093     658, 639, 640, 642, 659, 644, 647, 648, 650, 645,
1094     660, 661, 646, 651, 652, 662, 663, 653, 665, 666,
1095     654, 655, 667, 656, 668, 670, 657, 658, 671, 672,
1096 michael 913
1097 michael 2228 673, 659, 674, 676, 677, 678, 679, 660, 661, 680,
1098     681, 682, 662, 663, 683, 665, 666, 684, 685, 667,
1099     675, 668, 670, 686, 688, 671, 672, 673, 690, 674,
1100     676, 677, 678, 679, 691, 692, 680, 681, 682, 693,
1101     699, 683, 701, 1214, 684, 685, 703, 704, 706, 708,
1102     686, 688, 709, 710, 711, 690, 694, 695, 705, 712,
1103     713, 691, 692, 714, 715, 696, 693, 699, 716, 701,
1104     697, 717, 718, 703, 704, 706, 708, 719, 720, 709,
1105     710, 711, 721, 694, 695, 705, 712, 713, 723, 722,
1106     714, 715, 696, 724, 725, 716, 726, 697, 717, 718,
1107 michael 913
1108 michael 2228 727, 728, 729, 730, 719, 720, 731, 732, 733, 721,
1109     734, 735, 736, 737, 738, 723, 722, 739, 740, 741,
1110     724, 725, 742, 726, 744, 745, 746, 727, 728, 729,
1111     730, 747, 748, 731, 732, 733, 749, 734, 735, 736,
1112     737, 738, 750, 751, 739, 740, 741, 752, 753, 742,
1113     754, 744, 745, 746, 756, 757, 758, 759, 747, 748,
1114     760, 761, 762, 749, 763, 764, 765, 766, 767, 750,
1115     751, 768, 769, 770, 752, 753, 771, 754, 772, 773,
1116     774, 756, 757, 758, 759, 776, 782, 760, 761, 762,
1117     784, 763, 764, 765, 766, 767, 786, 787, 768, 769,
1118 michael 913
1119 michael 2228 770, 788, 789, 771, 777, 772, 773, 774, 778, 790,
1120     779, 791, 776, 782, 780, 781, 792, 784, 793, 794,
1121     795, 796, 797, 786, 787, 798, 799, 800, 788, 789,
1122     801, 777, 802, 803, 804, 778, 790, 779, 791, 805,
1123     807, 780, 781, 792, 811, 793, 794, 795, 796, 797,
1124     812, 813, 798, 799, 800, 814, 815, 801, 816, 802,
1125     803, 804, 818, 819, 821, 822, 805, 807, 823, 824,
1126     825, 811, 826, 820, 827, 828, 829, 812, 813, 830,
1127     831, 832, 814, 815, 833, 816, 834, 835, 836, 818,
1128     819, 821, 822, 837, 838, 823, 824, 825, 839, 826,
1129 michael 913
1130 michael 2228 820, 827, 828, 829, 840, 841, 830, 831, 832, 842,
1131     843, 833, 844, 834, 835, 836, 845, 846, 847, 848,
1132     837, 838, 849, 850, 851, 839, 852, 853, 854, 855,
1133     856, 840, 841, 857, 859, 860, 842, 843, 863, 844,
1134     864, 865, 866, 845, 846, 847, 848, 867, 868, 849,
1135     850, 851, 869, 852, 853, 854, 855, 856, 870, 871,
1136     857, 859, 860, 872, 873, 863, 874, 864, 865, 866,
1137     875, 876, 877, 878, 867, 868, 879, 880, 881, 869,
1138     882, 883, 884, 885, 886, 870, 871, 887, 888, 889,
1139     872, 873, 890, 874, 891, 892, 893, 875, 876, 877,
1140 michael 913
1141 michael 2228 878, 894, 895, 879, 880, 881, 901, 882, 883, 884,
1142     885, 886, 902, 904, 887, 888, 889, 906, 907, 890,
1143     912, 891, 892, 893, 913, 914, 915, 916, 894, 895,
1144     917, 918, 919, 901, 922, 920, 926, 927, 923, 902,
1145     904, 928, 929, 924, 906, 907, 930, 912, 921, 931,
1146     932, 913, 914, 915, 916, 925, 933, 917, 918, 919,
1147     934, 922, 920, 926, 927, 923, 935, 936, 928, 929,
1148     924, 937, 938, 930, 939, 921, 931, 932, 940, 941,
1149     942, 943, 925, 933, 944, 945, 946, 934, 947, 948,
1150     949, 950, 951, 935, 936, 952, 953, 954, 937, 938,
1151 michael 913
1152 michael 2228 955, 939, 956, 957, 958, 940, 941, 942, 943, 959,
1153     960, 944, 945, 946, 962, 947, 948, 949, 950, 951,
1154     963, 964, 952, 953, 954, 965, 966, 955, 967, 956,
1155     957, 958, 968, 969, 970, 972, 959, 960, 973, 974,
1156     975, 962, 976, 977, 971, 978, 979, 963, 964, 980,
1157     981, 982, 965, 966, 983, 967, 984, 985, 986, 968,
1158     969, 970, 972, 987, 988, 973, 974, 975, 989, 976,
1159     977, 971, 978, 979, 990, 991, 980, 981, 982, 992,
1160     993, 983, 995, 984, 985, 986, 996, 997, 998, 999,
1161     987, 988, 1000, 1001, 1002, 989, 1003, 1004, 1005, 1006,
1162 michael 913
1163 michael 2228 1007, 990, 991, 1008, 1010, 1011, 992, 993, 1012, 995,
1164     1013, 1014, 1015, 996, 997, 998, 999, 1016, 1021, 1000,
1165     1001, 1002, 1022, 1003, 1004, 1005, 1006, 1007, 1026, 1027,
1166     1008, 1010, 1011, 1028, 1029, 1012, 1030, 1013, 1014, 1015,
1167     1031, 1032, 1033, 1034, 1016, 1021, 1035, 1036, 1037, 1022,
1168     1038, 1039, 1040, 1041, 1042, 1026, 1027, 1043, 1045, 1046,
1169     1028, 1029, 1047, 1030, 1048, 1049, 1053, 1031, 1032, 1033,
1170     1034, 1054, 1051, 1035, 1036, 1037, 1052, 1038, 1039, 1040,
1171     1041, 1042, 1056, 1057, 1043, 1045, 1046, 1058, 1059, 1047,
1172     1060, 1048, 1049, 1053, 1061, 1063, 1064, 1068, 1054, 1051,
1173 michael 967
1174 michael 2228 1069, 1071, 1065, 1052, 1072, 1073, 1074, 1075, 1077, 1056,
1175     1057, 1066, 1078, 1079, 1058, 1059, 1080, 1060, 1083, 1067,
1176     1085, 1061, 1063, 1064, 1068, 1086, 1087, 1069, 1071, 1065,
1177     1088, 1072, 1073, 1074, 1075, 1077, 1089, 1090, 1066, 1078,
1178     1079, 1091, 1092, 1080, 1093, 1083, 1067, 1085, 1094, 1095,
1179     1096, 1097, 1086, 1087, 1098, 1099, 1100, 1088, 1101, 1102,
1180     1103, 1104, 1105, 1089, 1090, 1106, 1107, 1108, 1091, 1092,
1181     1109, 1093, 1110, 1111, 1112, 1094, 1095, 1096, 1097, 1113,
1182     1114, 1098, 1099, 1100, 1115, 1101, 1102, 1103, 1104, 1105,
1183     1116, 1117, 1106, 1107, 1108, 1118, 1119, 1109, 1120, 1110,
1184 michael 967
1185 michael 2228 1111, 1112, 1121, 1122, 1123, 1124, 1113, 1114, 1125, 1126,
1186     1127, 1115, 1128, 1129, 1130, 1131, 1132, 1116, 1117, 1133,
1187     1134, 1135, 1118, 1119, 1136, 1120, 1137, 1138, 1139, 1121,
1188     1122, 1123, 1124, 1140, 1141, 1125, 1126, 1127, 1142, 1128,
1189     1129, 1130, 1131, 1132, 1143, 1144, 1133, 1134, 1135, 1145,
1190     1147, 1136, 1148, 1137, 1138, 1139, 1151, 1152, 1153, 1154,
1191     1140, 1141, 1155, 1156, 1157, 1142, 1158, 1159, 1160, 1161,
1192     1162, 1143, 1144, 1163, 1164, 1165, 1145, 1147, 1167, 1148,
1193     1169, 1170, 1171, 1151, 1152, 1153, 1154, 1172, 1173, 1155,
1194     1156, 1157, 1174, 1158, 1159, 1160, 1161, 1162, 1175, 1176,
1195 michael 967
1196 michael 2228 1163, 1164, 1165, 1177, 1179, 1167, 1180, 1169, 1170, 1171,
1197     1181, 1182, 1183, 1186, 1172, 1173, 1188, 1189, 1190, 1174,
1198     1191, 1192, 1193, 1194, 1195, 1175, 1176, 1196, 1197, 1198,
1199     1177, 1179, 1199, 1180, 1200, 1201, 1202, 1181, 1182, 1183,
1200     1186, 1203, 1204, 1188, 1189, 1190, 1206, 1191, 1192, 1193,
1201     1194, 1195, 1207, 1208, 1196, 1197, 1198, 1209, 1210, 1199,
1202     1211, 1200, 1201, 1202, 1212, 1213, 1215, 1216, 1203, 1204,
1203     1217, 1218, 1219, 1206, 1220, 1222, 1225, 1226, 1223, 1207,
1204     1208, 1227, 1228, 1229, 1209, 1210, 1224, 1211, 1231, 1232,
1205     1234, 1212, 1213, 1215, 1216, 1235, 1236, 1217, 1218, 1219,
1206 michael 967
1207 michael 2228 1230, 1220, 1222, 1225, 1226, 1223, 1237, 1238, 1227, 1228,
1208     1229, 1239, 1240, 1241, 1242, 1231, 1232, 1234, 1243, 1244,
1209     1245, 1248, 1235, 1236, 1246, 1249, 1250, 1230, 1251, 1253,
1210     1247, 1254, 1255, 1237, 1238, 1256, 1257, 1258, 1239, 1240,
1211     1241, 1242, 1259, 1260, 1261, 1243, 1244, 1245, 1248, 1262,
1212     1263, 1246, 1249, 1250, 1264, 1251, 1253, 1247, 1254, 1255,
1213     1265, 1266, 1256, 1257, 1258, 1267, 1268, 1269, 1270, 1259,
1214     1260, 1261, 1271, 1272, 1273, 1274, 1262, 1263, 1275, 1276,
1215     1277, 1264, 1278, 1279, 1280, 1281, 1283, 1265, 1266, 1284,
1216     1285, 1286, 1267, 1268, 1269, 1270, 1287, 1288, 1289, 1271,
1217 michael 967
1218 michael 2228 1272, 1273, 1274, 1290, 1291, 1275, 1276, 1277, 1292, 1278,
1219     1279, 1280, 1281, 1283, 1293, 1294, 1284, 1285, 1286, 1297,
1220     1298, 1299, 1300, 1287, 1288, 1289, 1301, 1302, 1303, 1304,
1221     1290, 1291, 1305, 1306, 1307, 1292, 1309, 1310, 1311, 1312,
1222     1314, 1293, 1294, 1315, 1316, 1317, 1297, 1298, 1299, 1300,
1223     1318, 1319, 1320, 1301, 1302, 1303, 1304, 1321, 1322, 1305,
1224     1306, 1307, 1323, 1309, 1310, 1311, 1312, 1314, 1325, 1326,
1225     1315, 1316, 1317, 1331, 1332, 1334, 1335, 1318, 1319, 1320,
1226     1336, 1337, 1338, 1339, 1321, 1322, 1340, 1341, 1343, 1323,
1227     1344, 1345, 1346, 1347, 1349, 1325, 1326, 1350, 1351, 1352,
1228 michael 967
1229 michael 2228 1331, 1332, 1334, 1335, 1353, 1354, 1355, 1336, 1337, 1338,
1230     1339, 1356, 1357, 1340, 1341, 1343, 1358, 1344, 1345, 1346,
1231     1347, 1349, 1360, 1361, 1350, 1351, 1352, 1362, 1363, 1364,
1232     1365, 1353, 1354, 1355, 1366, 1367, 1368, 1369, 1356, 1357,
1233     1370, 1371, 1372, 1358, 1373, 1374, 1375, 1376, 1377, 1360,
1234     1361, 1378, 1379, 1380, 1362, 1363, 1364, 1365, 1381, 1382,
1235     1384, 1366, 1367, 1368, 1369, 1385, 1386, 1370, 1371, 1372,
1236     1388, 1373, 1374, 1375, 1376, 1377, 1389, 1392, 1378, 1379,
1237     1380, 1390, 1394, 1391, 1396, 1381, 1382, 1384, 1397, 1399,
1238     1400, 1401, 1385, 1386, 1402, 1403, 1404, 1388, 1405, 1406,
1239 michael 967
1240 michael 2228 1408, 1409, 1410, 1389, 1392, 1407, 1411, 1412, 1390, 1394,
1241     1391, 1396, 1413, 1414, 1415, 1397, 1399, 1400, 1401, 1416,
1242     1417, 1402, 1403, 1404, 1418, 1405, 1406, 1408, 1409, 1410,
1243     1420, 1421, 1407, 1411, 1412, 1422, 1423, 1424, 1425, 1413,
1244     1414, 1415, 1426, 1427, 1428, 1429, 1416, 1417, 1430, 1431,
1245     1432, 1418, 1435, 1436, 1437, 1438, 1439, 1420, 1421, 1440,
1246     1441, 1442, 1422, 1423, 1424, 1425, 1443, 1444, 1445, 1426,
1247     1427, 1428, 1429, 1447, 1448, 1430, 1431, 1432, 1449, 1435,
1248     1436, 1437, 1438, 1439, 1450, 1451, 1440, 1441, 1442, 1453,
1249     1454, 1455, 1456, 1443, 1444, 1445, 1457, 1459, 1461, 1462,
1250 michael 967
1251 michael 2228 1447, 1448, 1463, 1464, 1465, 1449, 1466, 1467, 1468, 1469,
1252     1470, 1450, 1451, 1471, 1472, 1473, 1453, 1454, 1455, 1456,
1253     1474, 1475, 1476, 1457, 1459, 1461, 1462, 1477, 1478, 1463,
1254     1464, 1465, 1479, 1466, 1467, 1468, 1469, 1470, 1480, 1481,
1255     1471, 1472, 1473, 1482, 1483, 1484, 1485, 1474, 1475, 1476,
1256     1486, 1487, 1488, 1489, 1477, 1478, 1490, 1491, 1492, 1479,
1257     1493, 1494, 1495, 1496, 1497, 1480, 1481, 1498, 1499, 1500,
1258     1482, 1483, 1484, 1485, 1501, 1502, 1503, 1486, 1487, 1488,
1259     1489, 1504, 1505, 1490, 1491, 1492, 1506, 1493, 1494, 1495,
1260     1496, 1497, 1507, 1508, 1498, 1499, 1500, 1509, 1510, 1511,
1261 michael 967
1262 michael 2228 1512, 1501, 1502, 1503, 1513, 1514, 1515, 1516, 1504, 1505,
1263     1517, 1518, 1519, 1506, 1520, 1521, 1522, 1523, 1525, 1507,
1264     1508, 1526, 1527, 1528, 1509, 1510, 1511, 1512, 1529, 1530,
1265     1531, 1513, 1514, 1515, 1516, 1532, 1533, 1517, 1518, 1519,
1266     1534, 1520, 1521, 1522, 1523, 1525, 1535, 1536, 1526, 1527,
1267     1528, 1537, 1538, 1539, 1540, 1529, 1530, 1531, 1541, 1542,
1268     1543, 1544, 1532, 1533, 1545, 1546, 1547, 1534, 1548, 1549,
1269     1550, 1551, 1552, 1535, 1536, 1554, 1555, 1556, 1537, 1538,
1270     1539, 1540, 1557, 1558, 1559, 1541, 1542, 1543, 1544, 1560,
1271     1561, 1545, 1546, 1547, 1562, 1548, 1549, 1550, 1551, 1552,
1272 michael 967
1273 michael 2228 1563, 1564, 1554, 1555, 1556, 1565, 1566, 1567, 1569, 1557,
1274     1558, 1559, 1570, 1571, 1572, 1573, 1560, 1561, 1574, 1575,
1275     1576, 1562, 1577, 1578, 1579, 1205, 1187, 1563, 1564, 1185,
1276     1184, 1178, 1565, 1566, 1567, 1569, 1168, 1166, 1150, 1570,
1277     1571, 1572, 1573, 1149, 1146, 1574, 1575, 1576, 1020, 1577,
1278     1578, 1579, 39, 39, 1020, 1018, 1018, 1084, 1082, 1081,
1279     1076, 1070, 1062, 1055, 1050, 1044, 1025, 1024, 1023, 1020,
1280     1018, 1009, 994, 961, 908, 905, 903, 900, 899, 898,
1281     897, 896, 862, 861, 858, 817, 810, 809, 808, 806,
1282     785, 783, 775, 755, 743, 707, 702, 700, 698, 689,
1283 michael 967
1284 michael 2228 687, 669, 664, 649, 643, 641, 614, 580, 578, 577,
1285     562, 530, 516, 515, 508, 494, 485, 483, 471, 449,
1286     445, 443, 438, 418, 409, 402, 361, 327, 311, 273,
1287     245, 37, 37, 1580, 3, 1580, 1580, 1580, 1580, 1580,
1288     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1289     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1290     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1291     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1292     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1293     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1294    
1295     1580, 1580, 1580
1296 michael 913 } ;
1297    
1298 michael 2228 static yyconst flex_int16_t yy_chk[3104] =
1299 michael 913 { 0,
1300     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1301     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1302     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1303     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1304 michael 967 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1305     1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1306 michael 1247 1, 1, 1, 1, 1, 1, 1, 1, 7, 7,
1307 michael 1520 9, 10, 13, 10, 11, 11, 11, 11, 11, 16,
1308 michael 2228 21, 1585, 13, 26, 1584, 16, 16, 9, 39, 39,
1309     15, 795, 28, 795, 15, 18, 16, 1583, 15, 13,
1310 michael 913
1311 michael 2228 17, 15, 18, 795, 15, 1581, 16, 21, 17, 13,
1312 michael 1520 26, 17, 16, 16, 9, 12, 12, 15, 12, 28,
1313     17, 15, 18, 16, 12, 15, 12, 17, 15, 18,
1314 michael 2228 20, 15, 19, 12, 1562, 17, 1539, 20, 17, 20,
1315     19, 1503, 12, 12, 33, 12, 19, 17, 183, 183,
1316     1420, 12, 19, 12, 35, 1388, 1388, 20, 29, 19,
1317     12, 14, 29, 14, 20, 1418, 20, 19, 14, 14,
1318 michael 1783 22, 33, 14, 19, 23, 14, 29, 22, 23, 19,
1319 michael 2228 22, 35, 22, 34, 23, 29, 1411, 34, 14, 29,
1320     14, 1404, 27, 1372, 36, 14, 14, 22, 43, 14,
1321 michael 913
1322 michael 1783 27, 23, 14, 29, 22, 23, 27, 22, 47, 22,
1323     34, 23, 24, 24, 34, 48, 24, 32, 32, 27,
1324     24, 36, 49, 32, 50, 43, 24, 27, 46, 46,
1325     46, 46, 46, 27, 51, 47, 52, 53, 54, 24,
1326 michael 2228 24, 1350, 48, 24, 32, 32, 55, 24, 55, 49,
1327 michael 1783 32, 50, 56, 24, 25, 57, 25, 58, 25, 60,
1328 michael 2228 59, 51, 25, 52, 53, 54, 61, 64, 25, 1347,
1329     1344, 65, 66, 55, 25, 55, 67, 1338, 1332, 56,
1330 michael 1783 59, 25, 57, 25, 58, 25, 60, 59, 68, 25,
1331 michael 2228 1301, 62, 62, 61, 64, 25, 62, 63, 65, 66,
1332 michael 913
1333 michael 2228 1289, 25, 30, 67, 62, 30, 30, 59, 30, 62,
1334     1281, 63, 30, 30, 30, 68, 30, 30, 62, 62,
1335     72, 1270, 1267, 62, 63, 69, 1266, 69, 1265, 30,
1336     73, 62, 30, 30, 1264, 30, 62, 70, 63, 30,
1337     30, 30, 69, 30, 30, 31, 70, 72, 31, 31,
1338     74, 71, 69, 71, 69, 31, 31, 73, 76, 75,
1339     77, 74, 31, 79, 70, 75, 78, 80, 78, 69,
1340     81, 82, 31, 70, 83, 31, 31, 74, 71, 84,
1341     71, 85, 31, 31, 86, 76, 75, 77, 74, 31,
1342     79, 87, 75, 78, 80, 78, 88, 81, 82, 89,
1343 michael 913
1344 michael 2228 91, 83, 92, 90, 89, 91, 84, 90, 85, 93,
1345     94, 86, 95, 96, 97, 99, 101, 102, 87, 104,
1346     98, 1261, 95, 88, 105, 100, 89, 91, 95, 92,
1347     90, 89, 91, 106, 90, 98, 93, 94, 100, 95,
1348     96, 97, 99, 101, 102, 107, 104, 98, 103, 95,
1349     109, 105, 100, 111, 113, 95, 114, 112, 116, 110,
1350     106, 115, 98, 117, 103, 103, 909, 111, 909, 1248,
1351     110, 115, 107, 1243, 110, 103, 110, 109, 909, 112,
1352     111, 113, 118, 114, 112, 116, 110, 119, 115, 120,
1353     117, 103, 103, 108, 111, 108, 108, 110, 115, 121,
1354 michael 913
1355 michael 2228 108, 110, 108, 110, 122, 108, 112, 124, 125, 118,
1356     127, 108, 1228, 128, 119, 1227, 120, 131, 129, 133,
1357     108, 1209, 108, 108, 129, 130, 121, 108, 130, 108,
1358     132, 122, 108, 134, 124, 125, 135, 127, 108, 126,
1359     128, 136, 126, 138, 131, 129, 133, 139, 132, 126,
1360     126, 129, 130, 140, 139, 130, 126, 132, 141, 142,
1361     134, 144, 126, 135, 145, 146, 126, 147, 136, 126,
1362     138, 148, 149, 150, 139, 132, 126, 126, 151, 152,
1363     140, 139, 153, 126, 154, 141, 142, 155, 144, 126,
1364     157, 145, 146, 158, 147, 159, 160, 161, 148, 149,
1365 michael 913
1366 michael 2228 150, 162, 163, 164, 165, 151, 152, 166, 167, 153,
1367     168, 154, 169, 170, 155, 171, 172, 157, 173, 174,
1368     158, 175, 159, 160, 161, 176, 170, 178, 162, 163,
1369     164, 165, 177, 177, 166, 167, 179, 168, 181, 169,
1370     170, 182, 171, 172, 184, 173, 174, 185, 175, 187,
1371     188, 189, 176, 170, 178, 186, 190, 191, 186, 177,
1372     177, 192, 194, 179, 196, 181, 197, 198, 182, 199,
1373     200, 184, 201, 198, 185, 202, 187, 188, 189, 203,
1374     204, 205, 186, 190, 191, 186, 206, 207, 192, 194,
1375     209, 196, 210, 197, 198, 211, 199, 200, 208, 201,
1376 michael 913
1377 michael 2228 212, 213, 202, 214, 215, 208, 203, 204, 205, 216,
1378     208, 217, 218, 206, 207, 208, 219, 209, 220, 210,
1379     221, 223, 211, 226, 224, 208, 224, 212, 213, 227,
1380     214, 215, 208, 228, 230, 231, 216, 208, 217, 218,
1381     233, 234, 208, 219, 235, 220, 236, 221, 223, 238,
1382     226, 224, 239, 224, 240, 241, 227, 239, 242, 243,
1383     228, 230, 231, 244, 245, 246, 247, 233, 234, 248,
1384     249, 235, 250, 236, 245, 251, 238, 252, 253, 239,
1385     254, 240, 241, 255, 256, 242, 243, 257, 258, 254,
1386     244, 245, 246, 247, 259, 260, 248, 249, 261, 250,
1387 michael 913
1388 michael 2228 263, 245, 251, 264, 252, 253, 265, 254, 266, 269,
1389     255, 256, 271, 272, 257, 258, 273, 274, 275, 277,
1390     278, 259, 260, 279, 282, 261, 283, 263, 285, 286,
1391     264, 287, 289, 265, 290, 266, 269, 291, 292, 271,
1392     272, 293, 294, 273, 274, 275, 277, 278, 295, 296,
1393     279, 282, 298, 283, 299, 285, 286, 300, 287, 289,
1394     302, 290, 303, 304, 291, 292, 305, 307, 293, 294,
1395     306, 310, 311, 312, 313, 295, 296, 317, 319, 298,
1396     305, 299, 320, 306, 300, 321, 323, 302, 324, 303,
1397     304, 325, 326, 305, 307, 1177, 328, 306, 310, 311,
1398 michael 913
1399 michael 2228 312, 313, 329, 330, 317, 319, 1152, 305, 332, 320,
1400     333, 331, 321, 323, 336, 324, 331, 338, 325, 326,
1401     327, 327, 327, 328, 340, 341, 327, 342, 327, 329,
1402     330, 327, 343, 327, 344, 332, 345, 333, 331, 327,
1403     348, 336, 327, 331, 338, 1141, 346, 327, 327, 327,
1404     352, 340, 341, 327, 342, 327, 353, 354, 327, 343,
1405     327, 344, 355, 345, 346, 356, 327, 348, 346, 327,
1406     357, 358, 346, 346, 359, 361, 362, 352, 363, 365,
1407     366, 364, 368, 353, 354, 364, 369, 370, 363, 355,
1408     364, 346, 356, 371, 374, 346, 375, 357, 358, 373,
1409 michael 913
1410 michael 2228 373, 359, 361, 362, 376, 363, 365, 366, 364, 368,
1411     379, 380, 364, 369, 370, 373, 382, 364, 383, 384,
1412     371, 374, 385, 375, 386, 387, 373, 373, 388, 390,
1413     391, 376, 392, 394, 395, 396, 390, 379, 380, 397,
1414     398, 399, 373, 382, 400, 383, 384, 401, 402, 385,
1415     403, 386, 387, 402, 405, 388, 390, 391, 406, 392,
1416     394, 395, 396, 390, 408, 409, 397, 398, 399, 411,
1417     412, 400, 414, 415, 401, 402, 416, 403, 418, 419,
1418     402, 405, 421, 422, 423, 406, 424, 425, 426, 427,
1419     429, 408, 409, 431, 433, 434, 411, 412, 435, 414,
1420 michael 913
1421 michael 2228 415, 436, 437, 416, 440, 418, 419, 441, 438, 421,
1422     422, 423, 442, 424, 425, 426, 427, 429, 438, 443,
1423     431, 433, 434, 444, 445, 435, 446, 449, 436, 437,
1424     451, 440, 452, 453, 441, 438, 454, 455, 456, 442,
1425     457, 458, 456, 459, 460, 438, 443, 461, 462, 463,
1426     444, 445, 464, 446, 449, 465, 460, 451, 466, 452,
1427     453, 461, 467, 454, 455, 456, 468, 457, 458, 456,
1428     459, 460, 469, 470, 461, 462, 463, 471, 472, 464,
1429     473, 474, 465, 460, 471, 466, 475, 476, 461, 467,
1430     477, 478, 479, 468, 481, 482, 482, 483, 484, 469,
1431 michael 913
1432 michael 2228 470, 482, 486, 485, 471, 472, 487, 473, 474, 484,
1433     488, 471, 490, 475, 476, 490, 491, 477, 478, 479,
1434     485, 481, 482, 482, 483, 484, 492, 493, 482, 486,
1435     485, 494, 495, 487, 496, 495, 484, 488, 498, 490,
1436     499, 500, 490, 491, 501, 502, 505, 485, 509, 510,
1437     511, 513, 509, 492, 493, 509, 514, 516, 494, 495,
1438     517, 496, 495, 518, 519, 498, 520, 499, 500, 521,
1439     522, 501, 502, 505, 523, 509, 510, 511, 513, 509,
1440     524, 525, 509, 514, 516, 526, 527, 517, 529, 530,
1441     518, 519, 531, 520, 535, 537, 521, 522, 539, 540,
1442 michael 913
1443 michael 2228 541, 523, 542, 543, 544, 545, 546, 524, 525, 547,
1444     548, 549, 526, 527, 550, 529, 530, 551, 552, 531,
1445     542, 535, 537, 553, 556, 539, 540, 541, 558, 542,
1446     543, 544, 545, 546, 559, 560, 547, 548, 549, 561,
1447     564, 550, 566, 1132, 551, 552, 568, 569, 570, 572,
1448     553, 556, 573, 575, 576, 558, 562, 562, 569, 577,
1449     578, 559, 560, 579, 580, 562, 561, 564, 584, 566,
1450     562, 585, 586, 568, 569, 570, 572, 587, 588, 573,
1451     575, 576, 589, 562, 562, 569, 577, 578, 590, 589,
1452     579, 580, 562, 591, 592, 584, 593, 562, 585, 586,
1453 michael 913
1454 michael 2228 594, 595, 597, 598, 587, 588, 599, 600, 601, 589,
1455     603, 604, 605, 606, 607, 590, 589, 608, 609, 610,
1456     591, 592, 611, 593, 613, 614, 615, 594, 595, 597,
1457     598, 616, 617, 599, 600, 601, 618, 603, 604, 605,
1458     606, 607, 619, 621, 608, 609, 610, 622, 623, 611,
1459     624, 613, 614, 615, 627, 628, 630, 631, 616, 617,
1460     632, 633, 634, 618, 635, 636, 637, 637, 638, 619,
1461     621, 639, 641, 642, 622, 623, 643, 624, 644, 645,
1462     646, 627, 628, 630, 631, 648, 650, 632, 633, 634,
1463     652, 635, 636, 637, 637, 638, 654, 657, 639, 641,
1464 michael 913
1465 michael 2228 642, 658, 659, 643, 649, 644, 645, 646, 649, 661,
1466     649, 662, 648, 650, 649, 649, 663, 652, 665, 666,
1467     668, 669, 670, 654, 657, 671, 672, 673, 658, 659,
1468     674, 649, 675, 676, 678, 649, 661, 649, 662, 680,
1469     682, 649, 649, 663, 686, 665, 666, 668, 669, 670,
1470     687, 688, 671, 672, 673, 689, 690, 674, 691, 675,
1471     676, 678, 694, 695, 696, 697, 680, 682, 698, 700,
1472     701, 686, 702, 695, 703, 704, 705, 687, 688, 706,
1473     707, 708, 689, 690, 709, 691, 710, 711, 712, 694,
1474     695, 696, 697, 713, 714, 698, 700, 701, 715, 702,
1475 michael 913
1476 michael 2228 695, 703, 704, 705, 716, 717, 706, 707, 708, 718,
1477     719, 709, 720, 710, 711, 712, 721, 722, 723, 724,
1478     713, 714, 725, 726, 727, 715, 728, 729, 731, 732,
1479     735, 716, 717, 736, 738, 739, 718, 719, 742, 720,
1480     743, 744, 745, 721, 722, 723, 724, 746, 747, 725,
1481     726, 727, 748, 728, 729, 731, 732, 735, 749, 750,
1482     736, 738, 739, 751, 752, 742, 753, 743, 744, 745,
1483     754, 755, 756, 757, 746, 747, 758, 760, 761, 748,
1484     762, 764, 765, 766, 767, 749, 750, 768, 769, 770,
1485     751, 752, 771, 753, 772, 773, 774, 754, 755, 756,
1486 michael 913
1487 michael 2228 757, 775, 776, 758, 760, 761, 782, 762, 764, 765,
1488     766, 767, 783, 785, 768, 769, 770, 789, 792, 771,
1489     796, 772, 773, 774, 797, 798, 799, 802, 775, 776,
1490     803, 804, 805, 782, 807, 806, 809, 810, 808, 783,
1491     785, 811, 812, 808, 789, 792, 814, 796, 806, 815,
1492     816, 797, 798, 799, 802, 808, 817, 803, 804, 805,
1493     818, 807, 806, 809, 810, 808, 819, 820, 811, 812,
1494     808, 821, 822, 814, 823, 806, 815, 816, 824, 825,
1495     826, 827, 808, 817, 828, 829, 831, 818, 832, 833,
1496     834, 835, 836, 819, 820, 837, 838, 839, 821, 822,
1497 michael 913
1498 michael 2228 840, 823, 842, 843, 844, 824, 825, 826, 827, 845,
1499     847, 828, 829, 831, 849, 832, 833, 834, 835, 836,
1500     850, 851, 837, 838, 839, 852, 853, 840, 855, 842,
1501     843, 844, 856, 857, 858, 860, 845, 847, 861, 862,
1502     864, 849, 866, 868, 858, 869, 870, 850, 851, 871,
1503     873, 874, 852, 853, 875, 855, 876, 877, 878, 856,
1504     857, 858, 860, 879, 880, 861, 862, 864, 881, 866,
1505     868, 858, 869, 870, 882, 883, 871, 873, 874, 884,
1506     885, 875, 887, 876, 877, 878, 888, 889, 890, 891,
1507     879, 880, 892, 893, 894, 881, 895, 896, 897, 898,
1508 michael 913
1509 michael 2228 899, 882, 883, 900, 902, 903, 884, 885, 904, 887,
1510     905, 906, 907, 888, 889, 890, 891, 908, 912, 892,
1511     893, 894, 913, 895, 896, 897, 898, 899, 918, 919,
1512     900, 902, 903, 920, 921, 904, 922, 905, 906, 907,
1513     923, 924, 925, 926, 908, 912, 927, 929, 930, 913,
1514     931, 932, 933, 934, 935, 918, 919, 936, 938, 939,
1515     920, 921, 940, 922, 941, 942, 945, 923, 924, 925,
1516     926, 946, 944, 927, 929, 930, 944, 931, 932, 933,
1517     934, 935, 948, 949, 936, 938, 939, 951, 952, 940,
1518     954, 941, 942, 945, 955, 957, 958, 962, 946, 944,
1519 michael 967
1520 michael 2228 963, 967, 961, 944, 968, 969, 970, 971, 973, 948,
1521     949, 961, 974, 975, 951, 952, 976, 954, 979, 961,
1522     981, 955, 957, 958, 962, 983, 984, 963, 967, 961,
1523     988, 968, 969, 970, 971, 973, 989, 990, 961, 974,
1524     975, 991, 992, 976, 993, 979, 961, 981, 994, 995,
1525     996, 997, 983, 984, 998, 999, 1000, 988, 1001, 1002,
1526     1003, 1004, 1005, 989, 990, 1006, 1007, 1008, 991, 992,
1527     1009, 993, 1010, 1011, 1012, 994, 995, 996, 997, 1013,
1528     1015, 998, 999, 1000, 1016, 1001, 1002, 1003, 1004, 1005,
1529     1021, 1022, 1006, 1007, 1008, 1023, 1024, 1009, 1025, 1010,
1530 michael 967
1531 michael 2228 1011, 1012, 1026, 1027, 1028, 1029, 1013, 1015, 1030, 1031,
1532     1032, 1016, 1033, 1034, 1035, 1036, 1037, 1021, 1022, 1039,
1533     1040, 1041, 1023, 1024, 1042, 1025, 1043, 1044, 1045, 1026,
1534     1027, 1028, 1029, 1046, 1047, 1030, 1031, 1032, 1049, 1033,
1535     1034, 1035, 1036, 1037, 1050, 1051, 1039, 1040, 1041, 1052,
1536     1054, 1042, 1055, 1043, 1044, 1045, 1058, 1059, 1060, 1062,
1537     1046, 1047, 1063, 1065, 1066, 1049, 1067, 1069, 1070, 1071,
1538     1073, 1050, 1051, 1074, 1075, 1076, 1052, 1054, 1078, 1055,
1539     1080, 1081, 1082, 1058, 1059, 1060, 1062, 1083, 1084, 1063,
1540     1065, 1066, 1085, 1067, 1069, 1070, 1071, 1073, 1087, 1088,
1541 michael 967
1542 michael 2228 1074, 1075, 1076, 1089, 1091, 1078, 1094, 1080, 1081, 1082,
1543     1097, 1098, 1099, 1102, 1083, 1084, 1104, 1105, 1106, 1085,
1544     1107, 1108, 1109, 1110, 1111, 1087, 1088, 1112, 1113, 1114,
1545     1089, 1091, 1115, 1094, 1116, 1117, 1118, 1097, 1098, 1099,
1546     1102, 1119, 1120, 1104, 1105, 1106, 1123, 1107, 1108, 1109,
1547     1110, 1111, 1124, 1126, 1112, 1113, 1114, 1127, 1128, 1115,
1548     1129, 1116, 1117, 1118, 1130, 1131, 1134, 1135, 1119, 1120,
1549     1136, 1137, 1138, 1123, 1139, 1143, 1145, 1146, 1144, 1124,
1550     1126, 1147, 1148, 1149, 1127, 1128, 1144, 1129, 1150, 1151,
1551     1154, 1130, 1131, 1134, 1135, 1156, 1157, 1136, 1137, 1138,
1552 michael 967
1553 michael 2228 1149, 1139, 1143, 1145, 1146, 1144, 1158, 1160, 1147, 1148,
1554     1149, 1161, 1162, 1163, 1164, 1150, 1151, 1154, 1165, 1166,
1555     1167, 1169, 1156, 1157, 1168, 1170, 1171, 1149, 1173, 1178,
1556     1168, 1179, 1180, 1158, 1160, 1181, 1182, 1183, 1161, 1162,
1557     1163, 1164, 1184, 1185, 1186, 1165, 1166, 1167, 1169, 1187,
1558     1188, 1168, 1170, 1171, 1189, 1173, 1178, 1168, 1179, 1180,
1559     1190, 1191, 1181, 1182, 1183, 1192, 1193, 1194, 1195, 1184,
1560     1185, 1186, 1196, 1197, 1199, 1200, 1187, 1188, 1201, 1202,
1561     1203, 1189, 1204, 1205, 1206, 1207, 1210, 1190, 1191, 1211,
1562     1214, 1215, 1192, 1193, 1194, 1195, 1216, 1219, 1220, 1196,
1563 michael 967
1564 michael 2228 1197, 1199, 1200, 1221, 1222, 1201, 1202, 1203, 1224, 1204,
1565     1205, 1206, 1207, 1210, 1225, 1226, 1211, 1214, 1215, 1229,
1566     1230, 1231, 1233, 1216, 1219, 1220, 1234, 1235, 1236, 1237,
1567     1221, 1222, 1238, 1239, 1240, 1224, 1244, 1245, 1246, 1247,
1568     1249, 1225, 1226, 1250, 1251, 1252, 1229, 1230, 1231, 1233,
1569     1253, 1254, 1255, 1234, 1235, 1236, 1237, 1258, 1259, 1238,
1570     1239, 1240, 1260, 1244, 1245, 1246, 1247, 1249, 1262, 1263,
1571     1250, 1251, 1252, 1268, 1269, 1272, 1273, 1253, 1254, 1255,
1572     1274, 1276, 1277, 1278, 1258, 1259, 1279, 1280, 1282, 1260,
1573     1283, 1285, 1287, 1288, 1290, 1262, 1263, 1291, 1292, 1294,
1574 michael 967
1575 michael 2228 1268, 1269, 1272, 1273, 1295, 1296, 1297, 1274, 1276, 1277,
1576     1278, 1298, 1299, 1279, 1280, 1282, 1300, 1283, 1285, 1287,
1577     1288, 1290, 1302, 1303, 1291, 1292, 1294, 1305, 1306, 1308,
1578     1309, 1295, 1296, 1297, 1311, 1313, 1314, 1315, 1298, 1299,
1579     1316, 1317, 1318, 1300, 1321, 1322, 1323, 1324, 1325, 1302,
1580     1303, 1326, 1327, 1328, 1305, 1306, 1308, 1309, 1329, 1330,
1581     1333, 1311, 1313, 1314, 1315, 1336, 1337, 1316, 1317, 1318,
1582     1340, 1321, 1322, 1323, 1324, 1325, 1341, 1343, 1326, 1327,
1583     1328, 1342, 1345, 1342, 1348, 1329, 1330, 1333, 1349, 1351,
1584     1353, 1354, 1336, 1337, 1355, 1356, 1357, 1340, 1358, 1359,
1585 michael 967
1586 michael 2228 1360, 1361, 1362, 1341, 1343, 1359, 1363, 1364, 1342, 1345,
1587     1342, 1348, 1365, 1366, 1367, 1349, 1351, 1353, 1354, 1368,
1588     1370, 1355, 1356, 1357, 1371, 1358, 1359, 1360, 1361, 1362,
1589     1373, 1374, 1359, 1363, 1364, 1375, 1376, 1377, 1378, 1365,
1590     1366, 1367, 1379, 1380, 1381, 1382, 1368, 1370, 1383, 1384,
1591     1387, 1371, 1389, 1390, 1391, 1392, 1393, 1373, 1374, 1394,
1592     1396, 1397, 1375, 1376, 1377, 1378, 1398, 1401, 1402, 1379,
1593     1380, 1381, 1382, 1405, 1406, 1383, 1384, 1387, 1407, 1389,
1594     1390, 1391, 1392, 1393, 1408, 1410, 1394, 1396, 1397, 1412,
1595     1413, 1415, 1416, 1398, 1401, 1402, 1417, 1419, 1422, 1423,
1596 michael 967
1597 michael 2228 1405, 1406, 1424, 1425, 1426, 1407, 1427, 1428, 1429, 1430,
1598     1431, 1408, 1410, 1432, 1435, 1436, 1412, 1413, 1415, 1416,
1599     1437, 1438, 1439, 1417, 1419, 1422, 1423, 1440, 1441, 1424,
1600     1425, 1426, 1443, 1427, 1428, 1429, 1430, 1431, 1444, 1446,
1601     1432, 1435, 1436, 1447, 1448, 1449, 1452, 1437, 1438, 1439,
1602     1453, 1455, 1458, 1459, 1440, 1441, 1460, 1461, 1462, 1443,
1603     1463, 1465, 1466, 1467, 1468, 1444, 1446, 1469, 1470, 1471,
1604     1447, 1448, 1449, 1452, 1472, 1473, 1474, 1453, 1455, 1458,
1605     1459, 1475, 1476, 1460, 1461, 1462, 1477, 1463, 1465, 1466,
1606     1467, 1468, 1478, 1479, 1469, 1470, 1471, 1480, 1481, 1482,
1607 michael 967
1608 michael 2228 1483, 1472, 1473, 1474, 1484, 1485, 1486, 1487, 1475, 1476,
1609     1488, 1489, 1490, 1477, 1498, 1499, 1500, 1502, 1504, 1478,
1610     1479, 1505, 1507, 1508, 1480, 1481, 1482, 1483, 1509, 1510,
1611     1511, 1484, 1485, 1486, 1487, 1514, 1516, 1488, 1489, 1490,
1612     1517, 1498, 1499, 1500, 1502, 1504, 1518, 1519, 1505, 1507,
1613     1508, 1520, 1522, 1523, 1524, 1509, 1510, 1511, 1525, 1526,
1614     1527, 1528, 1514, 1516, 1529, 1530, 1532, 1517, 1533, 1534,
1615     1536, 1537, 1538, 1518, 1519, 1540, 1541, 1542, 1520, 1522,
1616     1523, 1524, 1543, 1546, 1547, 1525, 1526, 1527, 1528, 1548,
1617     1551, 1529, 1530, 1532, 1552, 1533, 1534, 1536, 1537, 1538,
1618 michael 967
1619 michael 2228 1553, 1554, 1540, 1541, 1542, 1556, 1557, 1559, 1563, 1543,
1620     1546, 1547, 1564, 1565, 1568, 1569, 1548, 1551, 1570, 1572,
1621     1573, 1552, 1575, 1576, 1577, 1121, 1103, 1553, 1554, 1101,
1622     1100, 1090, 1556, 1557, 1559, 1563, 1079, 1077, 1057, 1564,
1623     1565, 1568, 1569, 1056, 1053, 1570, 1572, 1573, 1020, 1575,
1624     1576, 1577, 1582, 1582, 1019, 1018, 1017, 980, 978, 977,
1625     972, 964, 956, 947, 943, 937, 916, 915, 914, 911,
1626     910, 901, 886, 848, 794, 786, 784, 781, 780, 779,
1627     778, 777, 741, 740, 737, 692, 685, 684, 683, 681,
1628     653, 651, 647, 625, 612, 571, 567, 565, 563, 557,
1629 michael 967
1630 michael 2228 554, 536, 528, 512, 506, 503, 480, 450, 448, 447,
1631     432, 393, 378, 377, 372, 360, 350, 347, 337, 322,
1632     318, 316, 308, 288, 276, 267, 225, 195, 180, 143,
1633     123, 37, 5, 3, 1580, 1580, 1580, 1580, 1580, 1580,
1634     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1635     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1636     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1637     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1638     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1639     1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580,
1640    
1641     1580, 1580, 1580
1642 michael 913 } ;
1643    
1644     static yy_state_type yy_last_accepting_state;
1645     static char *yy_last_accepting_cpos;
1646    
1647     extern int yy_flex_debug;
1648     int yy_flex_debug = 0;
1649    
1650     /* The intent behind this definition is that it'll catch
1651     * any uses of REJECT which flex missed.
1652     */
1653     #define REJECT reject_used_but_not_detected
1654     static int yy_more_flag = 0;
1655     static int yy_more_len = 0;
1656     #define yymore() ((yy_more_flag) = 1)
1657     #define YY_MORE_ADJ (yy_more_len)
1658     #define YY_RESTORE_YY_MORE_OFFSET
1659     char *yytext;
1660 michael 1316 #line 1 "conf_lexer.l"
1661 michael 913 /*
1662     * ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
1663 michael 1316 * conf_lexer.l: Scans the ircd configuration file for tokens.
1664 michael 913 *
1665     * Copyright (C) 2002 by the past and present ircd coders, and others.
1666     *
1667     * This program is free software; you can redistribute it and/or modify
1668     * it under the terms of the GNU General Public License as published by
1669     * the Free Software Foundation; either version 2 of the License, or
1670     * (at your option) any later version.
1671     *
1672     * This program is distributed in the hope that it will be useful,
1673     * but WITHOUT ANY WARRANTY; without even the implied warranty of
1674     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1675     * GNU General Public License for more details.
1676     *
1677     * You should have received a copy of the GNU General Public License
1678     * along with this program; if not, write to the Free Software
1679     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
1680     * USA
1681     *
1682 michael 1662 * $Id$
1683 michael 913 */
1684 michael 1316 #line 31 "conf_lexer.l"
1685 michael 913 #include "stdinc.h"
1686     #include "irc_string.h"
1687 michael 1309 #include "conf.h"
1688 michael 1316 #include "conf_parser.h" /* autogenerated header file */
1689 michael 1309 #include "log.h"
1690 michael 913
1691     #undef YY_INPUT
1692     #define YY_FATAL_ERROR(msg) conf_yy_fatal_error(msg)
1693     #define YY_INPUT(buf,result,max_size) \
1694 michael 1353 if (!(result = conf_yy_input(buf, max_size))) \
1695 michael 913 YY_FATAL_ERROR("input in flex scanner failed");
1696     #define MAX_INCLUDE_DEPTH 10
1697    
1698    
1699     unsigned int lineno = 1;
1700     char linebuf[IRCD_BUFSIZE];
1701     char conffilebuf[IRCD_BUFSIZE];
1702    
1703     static int include_stack_ptr = 0;
1704     static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
1705     static unsigned int lineno_stack[MAX_INCLUDE_DEPTH];
1706 michael 1325 static FILE *inc_fbfile_in[MAX_INCLUDE_DEPTH];
1707 michael 913 static char conffile_stack[MAX_INCLUDE_DEPTH][IRCD_BUFSIZE];
1708     static void ccomment(void);
1709     static void cinclude(void);
1710     static int ieof(void);
1711    
1712 michael 1353 static int
1713     conf_yy_input(char *lbuf, unsigned int max_size)
1714     {
1715     return !fgets(lbuf, max_size, conf_parser_ctx.conf_file) ? 0 : strlen(lbuf);
1716     }
1717    
1718     static int
1719     conf_yy_fatal_error(const char *msg)
1720     {
1721     return 0;
1722     }
1723    
1724 michael 2228 #line 1725 "conf_lexer.c"
1725 michael 1353
1726 michael 913 #define INITIAL 0
1727    
1728     #ifndef YY_NO_UNISTD_H
1729     /* Special case for "unistd.h", since it is non-ANSI. We include it way
1730     * down here because we want the user's section 1 to have been scanned first.
1731     * The user has a chance to override it with an option.
1732     */
1733     #include <unistd.h>
1734     #endif
1735    
1736     #ifndef YY_EXTRA_TYPE
1737     #define YY_EXTRA_TYPE void *
1738     #endif
1739    
1740     static int yy_init_globals (void );
1741    
1742 michael 967 /* Accessor methods to globals.
1743     These are made visible to non-reentrant scanners for convenience. */
1744    
1745     int yylex_destroy (void );
1746    
1747     int yyget_debug (void );
1748    
1749     void yyset_debug (int debug_flag );
1750    
1751     YY_EXTRA_TYPE yyget_extra (void );
1752    
1753     void yyset_extra (YY_EXTRA_TYPE user_defined );
1754    
1755     FILE *yyget_in (void );
1756    
1757     void yyset_in (FILE * in_str );
1758    
1759     FILE *yyget_out (void );
1760    
1761     void yyset_out (FILE * out_str );
1762    
1763 michael 1506 yy_size_t yyget_leng (void );
1764 michael 967
1765     char *yyget_text (void );
1766    
1767     int yyget_lineno (void );
1768    
1769     void yyset_lineno (int line_number );
1770    
1771 michael 913 /* Macros after this point can all be overridden by user definitions in
1772     * section 1.
1773     */
1774    
1775     #ifndef YY_SKIP_YYWRAP
1776     #ifdef __cplusplus
1777     extern "C" int yywrap (void );
1778     #else
1779     extern int yywrap (void );
1780     #endif
1781     #endif
1782    
1783     #ifndef yytext_ptr
1784     static void yy_flex_strncpy (char *,yyconst char *,int );
1785     #endif
1786    
1787     #ifdef YY_NEED_STRLEN
1788     static int yy_flex_strlen (yyconst char * );
1789     #endif
1790    
1791     #ifndef YY_NO_INPUT
1792    
1793     #ifdef __cplusplus
1794     static int yyinput (void );
1795     #else
1796     static int input (void );
1797     #endif
1798    
1799     #endif
1800    
1801     /* Amount of stuff to slurp up with each read. */
1802     #ifndef YY_READ_BUF_SIZE
1803     #define YY_READ_BUF_SIZE 8192
1804     #endif
1805    
1806     /* Copy whatever the last rule matched to the standard output. */
1807     #ifndef ECHO
1808     /* This used to be an fputs(), but since the string might contain NUL's,
1809     * we now use fwrite().
1810     */
1811 michael 1506 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1812 michael 913 #endif
1813    
1814     /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1815     * is returned in "result".
1816     */
1817     #ifndef YY_INPUT
1818     #define YY_INPUT(buf,result,max_size) \
1819     if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1820     { \
1821     int c = '*'; \
1822 michael 1506 size_t n; \
1823 michael 913 for ( n = 0; n < max_size && \
1824     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1825     buf[n] = (char) c; \
1826     if ( c == '\n' ) \
1827     buf[n++] = (char) c; \
1828     if ( c == EOF && ferror( yyin ) ) \
1829     YY_FATAL_ERROR( "input in flex scanner failed" ); \
1830     result = n; \
1831     } \
1832     else \
1833     { \
1834     errno=0; \
1835     while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1836     { \
1837     if( errno != EINTR) \
1838     { \
1839     YY_FATAL_ERROR( "input in flex scanner failed" ); \
1840     break; \
1841     } \
1842     errno=0; \
1843     clearerr(yyin); \
1844     } \
1845     }\
1846     \
1847    
1848     #endif
1849    
1850     /* No semi-colon after return; correct usage is to write "yyterminate();" -
1851     * we don't want an extra ';' after the "return" because that will cause
1852     * some compilers to complain about unreachable statements.
1853     */
1854     #ifndef yyterminate
1855     #define yyterminate() return YY_NULL
1856     #endif
1857    
1858     /* Number of entries by which start-condition stack grows. */
1859     #ifndef YY_START_STACK_INCR
1860     #define YY_START_STACK_INCR 25
1861     #endif
1862    
1863     /* Report a fatal error. */
1864     #ifndef YY_FATAL_ERROR
1865     #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1866     #endif
1867    
1868     /* end tables serialization structures and prototypes */
1869    
1870     /* Default declaration of generated scanner - a define so the user can
1871     * easily add parameters.
1872     */
1873     #ifndef YY_DECL
1874     #define YY_DECL_IS_OURS 1
1875    
1876     extern int yylex (void);
1877    
1878     #define YY_DECL int yylex (void)
1879     #endif /* !YY_DECL */
1880    
1881     /* Code executed at the beginning of each rule, after yytext and yyleng
1882     * have been set up.
1883     */
1884     #ifndef YY_USER_ACTION
1885     #define YY_USER_ACTION
1886     #endif
1887    
1888     /* Code executed at the end of each rule. */
1889     #ifndef YY_BREAK
1890     #define YY_BREAK break;
1891     #endif
1892    
1893     #define YY_RULE_SETUP \
1894     YY_USER_ACTION
1895    
1896     /** The main scanner function which does all the work.
1897     */
1898     YY_DECL
1899     {
1900     register yy_state_type yy_current_state;
1901     register char *yy_cp, *yy_bp;
1902     register int yy_act;
1903    
1904 michael 1666 #line 78 "conf_lexer.l"
1905 michael 913
1906 michael 2228 #line 1907 "conf_lexer.c"
1907 michael 913
1908     if ( !(yy_init) )
1909     {
1910     (yy_init) = 1;
1911    
1912     #ifdef YY_USER_INIT
1913     YY_USER_INIT;
1914     #endif
1915    
1916     if ( ! (yy_start) )
1917     (yy_start) = 1; /* first start state */
1918    
1919     if ( ! yyin )
1920     yyin = stdin;
1921    
1922     if ( ! yyout )
1923     yyout = stdout;
1924    
1925     if ( ! YY_CURRENT_BUFFER ) {
1926     yyensure_buffer_stack ();
1927     YY_CURRENT_BUFFER_LVALUE =
1928     yy_create_buffer(yyin,YY_BUF_SIZE );
1929     }
1930    
1931     yy_load_buffer_state( );
1932     }
1933    
1934     while ( 1 ) /* loops until end-of-file is reached */
1935     {
1936     (yy_more_len) = 0;
1937     if ( (yy_more_flag) )
1938     {
1939     (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
1940     (yy_more_flag) = 0;
1941     }
1942     yy_cp = (yy_c_buf_p);
1943    
1944     /* Support of yytext. */
1945     *yy_cp = (yy_hold_char);
1946    
1947     /* yy_bp points to the position in yy_ch_buf of the start of
1948     * the current run.
1949     */
1950     yy_bp = yy_cp;
1951    
1952     yy_current_state = (yy_start);
1953     yy_match:
1954     do
1955     {
1956     register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1957     if ( yy_accept[yy_current_state] )
1958     {
1959     (yy_last_accepting_state) = yy_current_state;
1960     (yy_last_accepting_cpos) = yy_cp;
1961     }
1962     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1963     {
1964     yy_current_state = (int) yy_def[yy_current_state];
1965 michael 2228 if ( yy_current_state >= 1581 )
1966 michael 913 yy_c = yy_meta[(unsigned int) yy_c];
1967     }
1968     yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1969     ++yy_cp;
1970     }
1971 michael 2228 while ( yy_current_state != 1580 );
1972 michael 913 yy_cp = (yy_last_accepting_cpos);
1973     yy_current_state = (yy_last_accepting_state);
1974    
1975     yy_find_action:
1976     yy_act = yy_accept[yy_current_state];
1977    
1978     YY_DO_BEFORE_ACTION;
1979    
1980     do_action: /* This label is used only to access EOF actions. */
1981    
1982     switch ( yy_act )
1983     { /* beginning of action switch */
1984     case 0: /* must back up */
1985     /* undo the effects of YY_DO_BEFORE_ACTION */
1986     *yy_cp = (yy_hold_char);
1987     yy_cp = (yy_last_accepting_cpos);
1988     yy_current_state = (yy_last_accepting_state);
1989     goto yy_find_action;
1990    
1991     case 1:
1992     YY_RULE_SETUP
1993 michael 1666 #line 79 "conf_lexer.l"
1994 michael 913 { cinclude(); }
1995     YY_BREAK
1996     case 2:
1997     YY_RULE_SETUP
1998 michael 1666 #line 80 "conf_lexer.l"
1999 michael 913 { ccomment(); }
2000     YY_BREAK
2001     case 3:
2002     /* rule 3 can match eol */
2003     YY_RULE_SETUP
2004 michael 1666 #line 82 "conf_lexer.l"
2005 michael 1353 { strlcpy(linebuf, yytext+1, sizeof(linebuf)); ++lineno; yyless(1); }
2006 michael 913 YY_BREAK
2007     case 4:
2008     YY_RULE_SETUP
2009 michael 1666 #line 84 "conf_lexer.l"
2010 michael 913 ;
2011     YY_BREAK
2012     case 5:
2013     YY_RULE_SETUP
2014 michael 1666 #line 85 "conf_lexer.l"
2015 michael 913 ;
2016     YY_BREAK
2017     case 6:
2018     YY_RULE_SETUP
2019 michael 1666 #line 87 "conf_lexer.l"
2020 michael 913 { yylval.number = atoi(yytext); return NUMBER; }
2021     YY_BREAK
2022     case 7:
2023     /* rule 7 can match eol */
2024     YY_RULE_SETUP
2025 michael 1666 #line 89 "conf_lexer.l"
2026 michael 913 { if (yytext[yyleng-2] == '\\')
2027     {
2028     yyless(yyleng-1); /* return last quote */
2029     yymore(); /* append next string */
2030     }
2031     else
2032     {
2033     yylval.string = yytext+1;
2034     if(yylval.string[yyleng-2] != '"')
2035 michael 1247 ilog(LOG_TYPE_IRCD, "Unterminated character string");
2036 michael 913 else
2037     {
2038     int i,j;
2039    
2040     yylval.string[yyleng-2] = '\0'; /* remove close
2041     * quote
2042     */
2043    
2044     for (j=i=0 ;yylval.string[i] != '\0'; i++,j++)
2045     {
2046     if (yylval.string[i] != '\\')
2047     {
2048     yylval.string[j] = yylval.string[i];
2049     }
2050     else
2051     {
2052     i++;
2053     if (yylval.string[i] == '\0') /* XXX
2054     * should not
2055     * happen
2056     */
2057     {
2058 michael 1247 ilog(LOG_TYPE_IRCD,
2059 michael 913 "Unterminated character string");
2060     break;
2061     }
2062     yylval.string[j] = yylval.string[i];
2063     }
2064     }
2065     yylval.string[j] = '\0';
2066     return QSTRING;
2067     }
2068     }
2069     }
2070     YY_BREAK
2071     case 8:
2072     YY_RULE_SETUP
2073 michael 1666 #line 134 "conf_lexer.l"
2074 michael 1228 { return ACCEPT_PASSWORD; }
2075 michael 913 YY_BREAK
2076     case 9:
2077     YY_RULE_SETUP
2078 michael 1666 #line 135 "conf_lexer.l"
2079 michael 1520 { return ADMIN; }
2080 michael 913 YY_BREAK
2081     case 10:
2082     YY_RULE_SETUP
2083 michael 1666 #line 136 "conf_lexer.l"
2084 michael 1228 { return ADMIN; }
2085 michael 913 YY_BREAK
2086     case 11:
2087     YY_RULE_SETUP
2088 michael 1666 #line 137 "conf_lexer.l"
2089 michael 1520 { return AFTYPE; }
2090 michael 913 YY_BREAK
2091     case 12:
2092     YY_RULE_SETUP
2093 michael 1666 #line 138 "conf_lexer.l"
2094 michael 1520 { return T_ALL; }
2095 michael 913 YY_BREAK
2096     case 13:
2097     YY_RULE_SETUP
2098 michael 1666 #line 139 "conf_lexer.l"
2099 michael 2129 { return ANTI_NICK_FLOOD; }
2100 michael 913 YY_BREAK
2101     case 14:
2102     YY_RULE_SETUP
2103 michael 1666 #line 140 "conf_lexer.l"
2104 michael 2129 { return ANTI_SPAM_EXIT_MESSAGE_TIME; }
2105 michael 913 YY_BREAK
2106     case 15:
2107     YY_RULE_SETUP
2108 michael 1666 #line 141 "conf_lexer.l"
2109 michael 2129 { return IRCD_AUTH; }
2110 michael 913 YY_BREAK
2111     case 16:
2112     YY_RULE_SETUP
2113 michael 1666 #line 142 "conf_lexer.l"
2114 michael 2129 { return AUTOCONN; }
2115 michael 913 YY_BREAK
2116     case 17:
2117     YY_RULE_SETUP
2118 michael 1666 #line 143 "conf_lexer.l"
2119 michael 2129 { return T_BOTS; }
2120 michael 913 YY_BREAK
2121     case 18:
2122     YY_RULE_SETUP
2123 michael 1666 #line 144 "conf_lexer.l"
2124 michael 2129 { return CALLER_ID_WAIT; }
2125 michael 913 YY_BREAK
2126     case 19:
2127     YY_RULE_SETUP
2128 michael 1666 #line 145 "conf_lexer.l"
2129 michael 2129 { return T_CALLERID; }
2130 michael 913 YY_BREAK
2131     case 20:
2132     YY_RULE_SETUP
2133 michael 1666 #line 146 "conf_lexer.l"
2134 michael 2129 { return CAN_FLOOD; }
2135 michael 913 YY_BREAK
2136     case 21:
2137     YY_RULE_SETUP
2138 michael 1666 #line 147 "conf_lexer.l"
2139 michael 2129 { return T_CCONN; }
2140 michael 913 YY_BREAK
2141     case 22:
2142     YY_RULE_SETUP
2143 michael 1666 #line 148 "conf_lexer.l"
2144 michael 2185 { return CHANNEL; }
2145 michael 913 YY_BREAK
2146     case 23:
2147     YY_RULE_SETUP
2148 michael 1666 #line 149 "conf_lexer.l"
2149 michael 2185 { return CIDR_BITLEN_IPV4; }
2150 michael 913 YY_BREAK
2151     case 24:
2152     YY_RULE_SETUP
2153 michael 1666 #line 150 "conf_lexer.l"
2154 michael 2185 { return CIDR_BITLEN_IPV6; }
2155 michael 913 YY_BREAK
2156     case 25:
2157     YY_RULE_SETUP
2158 michael 1666 #line 151 "conf_lexer.l"
2159 michael 2185 { return CLASS; }
2160 michael 913 YY_BREAK
2161     case 26:
2162     YY_RULE_SETUP
2163 michael 1666 #line 152 "conf_lexer.l"
2164 michael 2185 { return T_CLUSTER; }
2165 michael 913 YY_BREAK
2166     case 27:
2167     YY_RULE_SETUP
2168 michael 1666 #line 153 "conf_lexer.l"
2169 michael 2185 { return CONNECT; }
2170 michael 913 YY_BREAK
2171     case 28:
2172     YY_RULE_SETUP
2173 michael 1666 #line 154 "conf_lexer.l"
2174 michael 2185 { return CONNECTFREQ; }
2175 michael 913 YY_BREAK
2176     case 29:
2177     YY_RULE_SETUP
2178 michael 1666 #line 155 "conf_lexer.l"
2179 michael 2185 { return T_DEAF; }
2180 michael 913 YY_BREAK
2181     case 30:
2182     YY_RULE_SETUP
2183 michael 1666 #line 156 "conf_lexer.l"
2184 michael 2185 { return T_DEBUG; }
2185 michael 913 YY_BREAK
2186     case 31:
2187     YY_RULE_SETUP
2188 michael 1666 #line 157 "conf_lexer.l"
2189 michael 2185 { return DEFAULT_FLOODCOUNT; }
2190 michael 913 YY_BREAK
2191     case 32:
2192     YY_RULE_SETUP
2193 michael 1666 #line 158 "conf_lexer.l"
2194 michael 2185 { return DEFAULT_SPLIT_SERVER_COUNT; }
2195 michael 913 YY_BREAK
2196     case 33:
2197     YY_RULE_SETUP
2198 michael 1666 #line 159 "conf_lexer.l"
2199 michael 2185 { return DEFAULT_SPLIT_USER_COUNT; }
2200 michael 913 YY_BREAK
2201     case 34:
2202     YY_RULE_SETUP
2203 michael 1666 #line 160 "conf_lexer.l"
2204 michael 2185 { return DENY; }
2205 michael 913 YY_BREAK
2206     case 35:
2207     YY_RULE_SETUP
2208 michael 1666 #line 161 "conf_lexer.l"
2209 michael 2185 { return DESCRIPTION; }
2210 michael 913 YY_BREAK
2211     case 36:
2212     YY_RULE_SETUP
2213 michael 1666 #line 162 "conf_lexer.l"
2214 michael 2185 { return DIE; }
2215 michael 913 YY_BREAK
2216     case 37:
2217     YY_RULE_SETUP
2218 michael 1666 #line 163 "conf_lexer.l"
2219 michael 2185 { return DISABLE_AUTH; }
2220 michael 913 YY_BREAK
2221     case 38:
2222     YY_RULE_SETUP
2223 michael 1666 #line 164 "conf_lexer.l"
2224 michael 2185 { return DISABLE_FAKE_CHANNELS; }
2225 michael 913 YY_BREAK
2226     case 39:
2227     YY_RULE_SETUP
2228 michael 1666 #line 165 "conf_lexer.l"
2229 michael 2185 { return DISABLE_REMOTE_COMMANDS; }
2230 michael 913 YY_BREAK
2231     case 40:
2232     YY_RULE_SETUP
2233 michael 1666 #line 166 "conf_lexer.l"
2234 michael 2185 { return T_DLINE; }
2235 michael 913 YY_BREAK
2236     case 41:
2237     YY_RULE_SETUP
2238 michael 1666 #line 167 "conf_lexer.l"
2239 michael 2185 { return DOTS_IN_IDENT; }
2240 michael 913 YY_BREAK
2241     case 42:
2242     YY_RULE_SETUP
2243 michael 1666 #line 168 "conf_lexer.l"
2244 michael 2185 { return EGDPOOL_PATH; }
2245 michael 913 YY_BREAK
2246     case 43:
2247     YY_RULE_SETUP
2248 michael 1666 #line 169 "conf_lexer.l"
2249 michael 2185 { return EMAIL; }
2250 michael 913 YY_BREAK
2251     case 44:
2252     YY_RULE_SETUP
2253 michael 1666 #line 170 "conf_lexer.l"
2254 michael 2185 { return ENCRYPTED; }
2255 michael 913 YY_BREAK
2256     case 45:
2257     YY_RULE_SETUP
2258 michael 1666 #line 171 "conf_lexer.l"
2259 michael 2185 { return EXCEED_LIMIT; }
2260 michael 913 YY_BREAK
2261     case 46:
2262     YY_RULE_SETUP
2263 michael 1666 #line 172 "conf_lexer.l"
2264 michael 2185 { return EXEMPT; }
2265 michael 913 YY_BREAK
2266     case 47:
2267     YY_RULE_SETUP
2268 michael 1666 #line 173 "conf_lexer.l"
2269 michael 2185 { return T_EXTERNAL; }
2270 michael 913 YY_BREAK
2271     case 48:
2272     YY_RULE_SETUP
2273 michael 1666 #line 174 "conf_lexer.l"
2274 michael 2185 { return FAILED_OPER_NOTICE; }
2275 michael 913 YY_BREAK
2276     case 49:
2277     YY_RULE_SETUP
2278 michael 1666 #line 175 "conf_lexer.l"
2279 michael 2185 { return T_FARCONNECT; }
2280 michael 913 YY_BREAK
2281     case 50:
2282     YY_RULE_SETUP
2283 michael 1666 #line 176 "conf_lexer.l"
2284 michael 2185 { return T_FILE; }
2285 michael 913 YY_BREAK
2286     case 51:
2287     YY_RULE_SETUP
2288 michael 1666 #line 177 "conf_lexer.l"
2289 michael 2228 { return T_FINGERPRINT; }
2290 michael 913 YY_BREAK
2291     case 52:
2292     YY_RULE_SETUP
2293 michael 1666 #line 178 "conf_lexer.l"
2294 michael 2228 { return IRCD_FLAGS; }
2295 michael 913 YY_BREAK
2296     case 53:
2297     YY_RULE_SETUP
2298 michael 1666 #line 179 "conf_lexer.l"
2299 michael 2228 { return FLATTEN_LINKS; }
2300 michael 913 YY_BREAK
2301     case 54:
2302     YY_RULE_SETUP
2303 michael 1666 #line 180 "conf_lexer.l"
2304 michael 2228 { return T_FULL; }
2305 michael 913 YY_BREAK
2306     case 55:
2307     YY_RULE_SETUP
2308 michael 1666 #line 181 "conf_lexer.l"
2309 michael 2228 { return GECOS; }
2310 michael 913 YY_BREAK
2311     case 56:
2312     YY_RULE_SETUP
2313 michael 1666 #line 182 "conf_lexer.l"
2314 michael 2228 { return GENERAL; }
2315 michael 913 YY_BREAK
2316     case 57:
2317     YY_RULE_SETUP
2318 michael 1666 #line 183 "conf_lexer.l"
2319 michael 2228 { return GLINE; }
2320 michael 913 YY_BREAK
2321     case 58:
2322     YY_RULE_SETUP
2323 michael 1666 #line 184 "conf_lexer.l"
2324 michael 2228 { return GLINE_DURATION; }
2325 michael 913 YY_BREAK
2326     case 59:
2327     YY_RULE_SETUP
2328 michael 1666 #line 185 "conf_lexer.l"
2329 michael 2228 { return GLINE_ENABLE; }
2330 michael 913 YY_BREAK
2331     case 60:
2332     YY_RULE_SETUP
2333 michael 1666 #line 186 "conf_lexer.l"
2334 michael 2228 { return GLINE_EXEMPT; }
2335 michael 913 YY_BREAK
2336     case 61:
2337     YY_RULE_SETUP
2338 michael 1666 #line 187 "conf_lexer.l"
2339 michael 2228 { return GLINE_MIN_CIDR; }
2340 michael 913 YY_BREAK
2341     case 62:
2342     YY_RULE_SETUP
2343 michael 1666 #line 188 "conf_lexer.l"
2344 michael 2228 { return GLINE_MIN_CIDR6; }
2345 michael 913 YY_BREAK
2346     case 63:
2347     YY_RULE_SETUP
2348 michael 1666 #line 189 "conf_lexer.l"
2349 michael 2228 { return GLINE_REQUEST_DURATION; }
2350 michael 913 YY_BREAK
2351     case 64:
2352     YY_RULE_SETUP
2353 michael 1666 #line 190 "conf_lexer.l"
2354 michael 2228 { return GLOBAL_KILL; }
2355 michael 913 YY_BREAK
2356     case 65:
2357     YY_RULE_SETUP
2358 michael 1666 #line 191 "conf_lexer.l"
2359 michael 2228 { return T_GLOBOPS; }
2360 michael 913 YY_BREAK
2361     case 66:
2362     YY_RULE_SETUP
2363 michael 1666 #line 192 "conf_lexer.l"
2364 michael 2228 { return NEED_IDENT; }
2365 michael 913 YY_BREAK
2366     case 67:
2367     YY_RULE_SETUP
2368 michael 1666 #line 193 "conf_lexer.l"
2369 michael 2228 { return HAVENT_READ_CONF; }
2370 michael 913 YY_BREAK
2371     case 68:
2372     YY_RULE_SETUP
2373 michael 1666 #line 194 "conf_lexer.l"
2374 michael 2228 { return HIDDEN; }
2375 michael 913 YY_BREAK
2376     case 69:
2377     YY_RULE_SETUP
2378 michael 1666 #line 195 "conf_lexer.l"
2379 michael 2228 { return HIDDEN_NAME; }
2380 michael 913 YY_BREAK
2381     case 70:
2382     YY_RULE_SETUP
2383 michael 1666 #line 196 "conf_lexer.l"
2384 michael 2228 { return HIDE_IDLE_FROM_OPERS; }
2385 michael 913 YY_BREAK
2386     case 71:
2387     YY_RULE_SETUP
2388 michael 1666 #line 197 "conf_lexer.l"
2389 michael 2228 { return HIDE_SERVER_IPS; }
2390 michael 913 YY_BREAK
2391     case 72:
2392     YY_RULE_SETUP
2393 michael 1666 #line 198 "conf_lexer.l"
2394 michael 2228 { return HIDE_SERVERS; }
2395 michael 913 YY_BREAK
2396     case 73:
2397     YY_RULE_SETUP
2398 michael 1666 #line 199 "conf_lexer.l"
2399 michael 2228 { return HIDE_SERVICES; }
2400 michael 913 YY_BREAK
2401     case 74:
2402     YY_RULE_SETUP
2403 michael 1666 #line 200 "conf_lexer.l"
2404 michael 2228 { return HIDE_SPOOF_IPS; }
2405 michael 913 YY_BREAK
2406     case 75:
2407     YY_RULE_SETUP
2408 michael 1666 #line 201 "conf_lexer.l"
2409 michael 2228 { return HOST; }
2410 michael 913 YY_BREAK
2411     case 76:
2412     YY_RULE_SETUP
2413 michael 1666 #line 202 "conf_lexer.l"
2414 michael 2228 { return HUB; }
2415 michael 913 YY_BREAK
2416     case 77:
2417     YY_RULE_SETUP
2418 michael 1666 #line 203 "conf_lexer.l"
2419 michael 2228 { return HUB_MASK; }
2420 michael 913 YY_BREAK
2421     case 78:
2422     YY_RULE_SETUP
2423 michael 1666 #line 204 "conf_lexer.l"
2424 michael 2228 { return IGNORE_BOGUS_TS; }
2425 michael 913 YY_BREAK
2426     case 79:
2427     YY_RULE_SETUP
2428 michael 1666 #line 205 "conf_lexer.l"
2429 michael 2228 { return T_INVISIBLE; }
2430 michael 913 YY_BREAK
2431     case 80:
2432     YY_RULE_SETUP
2433 michael 1666 #line 206 "conf_lexer.l"
2434 michael 2228 { return INVISIBLE_ON_CONNECT; }
2435 michael 913 YY_BREAK
2436     case 81:
2437     YY_RULE_SETUP
2438 michael 1666 #line 207 "conf_lexer.l"
2439 michael 2228 { return IP; }
2440 michael 913 YY_BREAK
2441     case 82:
2442     YY_RULE_SETUP
2443 michael 1666 #line 208 "conf_lexer.l"
2444 michael 2228 { return T_IPV4; }
2445 michael 913 YY_BREAK
2446     case 83:
2447     YY_RULE_SETUP
2448 michael 1666 #line 209 "conf_lexer.l"
2449 michael 2228 { return T_IPV6; }
2450 michael 913 YY_BREAK
2451     case 84:
2452     YY_RULE_SETUP
2453 michael 1666 #line 210 "conf_lexer.l"
2454 michael 2228 { return JOIN_FLOOD_COUNT; }
2455 michael 913 YY_BREAK
2456     case 85:
2457     YY_RULE_SETUP
2458 michael 1666 #line 211 "conf_lexer.l"
2459 michael 2228 { return JOIN_FLOOD_TIME; }
2460 michael 913 YY_BREAK
2461     case 86:
2462     YY_RULE_SETUP
2463 michael 1666 #line 212 "conf_lexer.l"
2464 michael 2228 { return KILL; }
2465 michael 913 YY_BREAK
2466     case 87:
2467     YY_RULE_SETUP
2468 michael 1666 #line 213 "conf_lexer.l"
2469 michael 2228 { return KILL_CHASE_TIME_LIMIT; }
2470 michael 913 YY_BREAK
2471     case 88:
2472     YY_RULE_SETUP
2473 michael 1666 #line 214 "conf_lexer.l"
2474 michael 2228 { return KLINE; }
2475 michael 913 YY_BREAK
2476     case 89:
2477     YY_RULE_SETUP
2478 michael 1666 #line 215 "conf_lexer.l"
2479 michael 2228 { return KLINE_EXEMPT; }
2480 michael 913 YY_BREAK
2481     case 90:
2482     YY_RULE_SETUP
2483 michael 1666 #line 216 "conf_lexer.l"
2484 michael 2228 { return KNOCK_DELAY; }
2485 michael 913 YY_BREAK
2486     case 91:
2487     YY_RULE_SETUP
2488 michael 1666 #line 217 "conf_lexer.l"
2489 michael 2228 { return KNOCK_DELAY_CHANNEL; }
2490 michael 913 YY_BREAK
2491     case 92:
2492     YY_RULE_SETUP
2493 michael 1666 #line 218 "conf_lexer.l"
2494 michael 2228 { return LEAF_MASK; }
2495 michael 913 YY_BREAK
2496     case 93:
2497     YY_RULE_SETUP
2498 michael 1666 #line 219 "conf_lexer.l"
2499 michael 2228 { return LINKS_DELAY; }
2500 michael 913 YY_BREAK
2501     case 94:
2502     YY_RULE_SETUP
2503 michael 1666 #line 220 "conf_lexer.l"
2504 michael 2228 { return LISTEN; }
2505 michael 913 YY_BREAK
2506     case 95:
2507     YY_RULE_SETUP
2508 michael 1666 #line 221 "conf_lexer.l"
2509 michael 2228 { return T_LOCOPS; }
2510 michael 913 YY_BREAK
2511     case 96:
2512     YY_RULE_SETUP
2513 michael 1666 #line 222 "conf_lexer.l"
2514 michael 2228 { return T_LOG; }
2515 michael 913 YY_BREAK
2516     case 97:
2517     YY_RULE_SETUP
2518 michael 1666 #line 223 "conf_lexer.l"
2519 michael 2228 { return MASK; }
2520 michael 913 YY_BREAK
2521     case 98:
2522     YY_RULE_SETUP
2523 michael 1666 #line 224 "conf_lexer.l"
2524 michael 2228 { return TMASKED; }
2525 michael 913 YY_BREAK
2526     case 99:
2527     YY_RULE_SETUP
2528 michael 1666 #line 225 "conf_lexer.l"
2529 michael 2228 { return MAX_ACCEPT; }
2530 michael 913 YY_BREAK
2531     case 100:
2532     YY_RULE_SETUP
2533 michael 1666 #line 226 "conf_lexer.l"
2534 michael 2228 { return MAX_BANS; }
2535 michael 913 YY_BREAK
2536     case 101:
2537     YY_RULE_SETUP
2538 michael 1666 #line 227 "conf_lexer.l"
2539 michael 2228 { return MAX_CHANS_PER_OPER; }
2540 michael 913 YY_BREAK
2541     case 102:
2542     YY_RULE_SETUP
2543 michael 1666 #line 228 "conf_lexer.l"
2544 michael 2228 { return MAX_CHANS_PER_USER; }
2545 michael 913 YY_BREAK
2546     case 103:
2547     YY_RULE_SETUP
2548 michael 1666 #line 229 "conf_lexer.l"
2549 michael 2228 { return T_MAX_CLIENTS; }
2550 michael 913 YY_BREAK
2551     case 104:
2552     YY_RULE_SETUP
2553 michael 1666 #line 230 "conf_lexer.l"
2554 michael 2228 { return MAX_GLOBAL; }
2555 michael 913 YY_BREAK
2556     case 105:
2557     YY_RULE_SETUP
2558 michael 1666 #line 231 "conf_lexer.l"
2559 michael 2228 { return MAX_IDENT; }
2560 michael 913 YY_BREAK
2561     case 106:
2562     YY_RULE_SETUP
2563 michael 1666 #line 232 "conf_lexer.l"
2564 michael 2228 { return MAX_IDLE; }
2565 michael 913 YY_BREAK
2566     case 107:
2567     YY_RULE_SETUP
2568 michael 1666 #line 233 "conf_lexer.l"
2569 michael 2228 { return MAX_LOCAL; }
2570 michael 913 YY_BREAK
2571     case 108:
2572     YY_RULE_SETUP
2573 michael 1666 #line 234 "conf_lexer.l"
2574 michael 2228 { return MAX_NICK_CHANGES; }
2575 michael 913 YY_BREAK
2576     case 109:
2577     YY_RULE_SETUP
2578 michael 1666 #line 235 "conf_lexer.l"
2579 michael 2228 { return MAX_NICK_LENGTH; }
2580 michael 913 YY_BREAK
2581     case 110:
2582     YY_RULE_SETUP
2583 michael 1666 #line 236 "conf_lexer.l"
2584 michael 2228 { return MAX_NICK_TIME; }
2585 michael 913 YY_BREAK
2586     case 111:
2587     YY_RULE_SETUP
2588 michael 1666 #line 237 "conf_lexer.l"
2589 michael 2228 { return MAX_NUMBER; }
2590 michael 913 YY_BREAK
2591     case 112:
2592     YY_RULE_SETUP
2593 michael 1666 #line 238 "conf_lexer.l"
2594 michael 2228 { return MAX_TARGETS; }
2595 michael 913 YY_BREAK
2596     case 113:
2597     YY_RULE_SETUP
2598 michael 1666 #line 239 "conf_lexer.l"
2599 michael 2228 { return MAX_TOPIC_LENGTH; }
2600 michael 913 YY_BREAK
2601     case 114:
2602     YY_RULE_SETUP
2603 michael 1666 #line 240 "conf_lexer.l"
2604 michael 2228 { return MAX_WATCH; }
2605 michael 913 YY_BREAK
2606     case 115:
2607     YY_RULE_SETUP
2608 michael 1666 #line 241 "conf_lexer.l"
2609 michael 2228 { return MIN_IDLE; }
2610 michael 913 YY_BREAK
2611     case 116:
2612     YY_RULE_SETUP
2613 michael 1666 #line 242 "conf_lexer.l"
2614 michael 2228 { return MIN_NONWILDCARD; }
2615 michael 913 YY_BREAK
2616     case 117:
2617     YY_RULE_SETUP
2618 michael 1666 #line 243 "conf_lexer.l"
2619 michael 2228 { return MIN_NONWILDCARD_SIMPLE; }
2620 michael 913 YY_BREAK
2621     case 118:
2622     YY_RULE_SETUP
2623 michael 1666 #line 244 "conf_lexer.l"
2624 michael 2228 { return MODULE; }
2625 michael 913 YY_BREAK
2626     case 119:
2627     YY_RULE_SETUP
2628 michael 1666 #line 245 "conf_lexer.l"
2629 michael 2228 { return MODULES; }
2630 michael 913 YY_BREAK
2631     case 120:
2632     YY_RULE_SETUP
2633 michael 1666 #line 246 "conf_lexer.l"
2634 michael 2228 { return MOTD; }
2635 michael 913 YY_BREAK
2636     case 121:
2637     YY_RULE_SETUP
2638 michael 1666 #line 247 "conf_lexer.l"
2639 michael 2228 { return NAME; }
2640 michael 913 YY_BREAK
2641     case 122:
2642     YY_RULE_SETUP
2643 michael 1666 #line 248 "conf_lexer.l"
2644 michael 2228 { return T_NCHANGE; }
2645 michael 913 YY_BREAK
2646     case 123:
2647     YY_RULE_SETUP
2648 michael 1666 #line 249 "conf_lexer.l"
2649 michael 2228 { return NEED_IDENT; }
2650 michael 913 YY_BREAK
2651     case 124:
2652     YY_RULE_SETUP
2653 michael 1666 #line 250 "conf_lexer.l"
2654 michael 2228 { return NEED_PASSWORD; }
2655 michael 913 YY_BREAK
2656     case 125:
2657     YY_RULE_SETUP
2658 michael 1666 #line 251 "conf_lexer.l"
2659 michael 2228 { return NETWORK_DESC; }
2660 michael 913 YY_BREAK
2661     case 126:
2662     YY_RULE_SETUP
2663 michael 1666 #line 252 "conf_lexer.l"
2664 michael 2228 { return NETWORK_NAME; }
2665 michael 913 YY_BREAK
2666     case 127:
2667     YY_RULE_SETUP
2668 michael 1666 #line 253 "conf_lexer.l"
2669 michael 2228 { return NICK; }
2670 michael 913 YY_BREAK
2671     case 128:
2672     YY_RULE_SETUP
2673 michael 1666 #line 254 "conf_lexer.l"
2674 michael 2228 { return NO_CREATE_ON_SPLIT; }
2675 michael 913 YY_BREAK
2676     case 129:
2677     YY_RULE_SETUP
2678 michael 1666 #line 255 "conf_lexer.l"
2679 michael 2228 { return NO_JOIN_ON_SPLIT; }
2680 michael 913 YY_BREAK
2681     case 130:
2682     YY_RULE_SETUP
2683 michael 1666 #line 256 "conf_lexer.l"
2684 michael 2228 { return NO_OPER_FLOOD; }
2685 michael 913 YY_BREAK
2686     case 131:
2687     YY_RULE_SETUP
2688 michael 1666 #line 257 "conf_lexer.l"
2689 michael 2228 { return NO_TILDE; }
2690 michael 913 YY_BREAK
2691     case 132:
2692     YY_RULE_SETUP
2693 michael 1666 #line 258 "conf_lexer.l"
2694 michael 2228 { return T_NONONREG; }
2695 michael 913 YY_BREAK
2696     case 133:
2697     YY_RULE_SETUP
2698 michael 1666 #line 259 "conf_lexer.l"
2699 michael 2228 { return NUMBER_PER_CIDR; }
2700 michael 913 YY_BREAK
2701     case 134:
2702     YY_RULE_SETUP
2703 michael 1666 #line 260 "conf_lexer.l"
2704 michael 2228 { return NUMBER_PER_IP; }
2705 michael 913 YY_BREAK
2706     case 135:
2707     YY_RULE_SETUP
2708 michael 1666 #line 261 "conf_lexer.l"
2709 michael 2228 { return OPERATOR; }
2710 michael 913 YY_BREAK
2711     case 136:
2712     YY_RULE_SETUP
2713 michael 1666 #line 262 "conf_lexer.l"
2714 michael 2228 { return OPER_ONLY_UMODES; }
2715 michael 913 YY_BREAK
2716     case 137:
2717     YY_RULE_SETUP
2718 michael 1666 #line 263 "conf_lexer.l"
2719 michael 2228 { return OPER_PASS_RESV; }
2720 michael 913 YY_BREAK
2721     case 138:
2722     YY_RULE_SETUP
2723 michael 1666 #line 264 "conf_lexer.l"
2724 michael 2228 { return OPER_UMODES; }
2725 michael 913 YY_BREAK
2726     case 139:
2727     YY_RULE_SETUP
2728 michael 1666 #line 265 "conf_lexer.l"
2729 michael 2228 { return OPERATOR; }
2730 michael 913 YY_BREAK
2731     case 140:
2732     YY_RULE_SETUP
2733 michael 1666 #line 266 "conf_lexer.l"
2734 michael 2228 { return OPERS_BYPASS_CALLERID; }
2735 michael 913 YY_BREAK
2736     case 141:
2737     YY_RULE_SETUP
2738 michael 1666 #line 267 "conf_lexer.l"
2739 michael 2228 { return T_OPERWALL; }
2740 michael 913 YY_BREAK
2741     case 142:
2742     YY_RULE_SETUP
2743 michael 1666 #line 268 "conf_lexer.l"
2744 michael 2228 { return PACE_WAIT; }
2745 michael 913 YY_BREAK
2746     case 143:
2747     YY_RULE_SETUP
2748 michael 1666 #line 269 "conf_lexer.l"
2749 michael 2228 { return PACE_WAIT_SIMPLE; }
2750 michael 913 YY_BREAK
2751     case 144:
2752     YY_RULE_SETUP
2753 michael 1666 #line 270 "conf_lexer.l"
2754 michael 2129 { return PASSWORD; }
2755 michael 913 YY_BREAK
2756     case 145:
2757     YY_RULE_SETUP
2758 michael 1666 #line 271 "conf_lexer.l"
2759 michael 2228 { return PASSWORD; }
2760 michael 913 YY_BREAK
2761     case 146:
2762     YY_RULE_SETUP
2763 michael 1666 #line 272 "conf_lexer.l"
2764 michael 2228 { return PATH; }
2765 michael 913 YY_BREAK
2766     case 147:
2767     YY_RULE_SETUP
2768 michael 1666 #line 273 "conf_lexer.l"
2769 michael 2228 { return PING_COOKIE; }
2770 michael 913 YY_BREAK
2771     case 148:
2772     YY_RULE_SETUP
2773 michael 1666 #line 274 "conf_lexer.l"
2774 michael 2228 { return PING_TIME; }
2775 michael 913 YY_BREAK
2776     case 149:
2777     YY_RULE_SETUP
2778 michael 1666 #line 275 "conf_lexer.l"
2779 michael 2228 { return PORT; }
2780 michael 913 YY_BREAK
2781     case 150:
2782     YY_RULE_SETUP
2783 michael 1666 #line 276 "conf_lexer.l"
2784 michael 2228 { return RESV; }
2785 michael 913 YY_BREAK
2786     case 151:
2787     YY_RULE_SETUP
2788 michael 1666 #line 277 "conf_lexer.l"
2789 michael 2228 { return RANDOM_IDLE; }
2790 michael 913 YY_BREAK
2791     case 152:
2792     YY_RULE_SETUP
2793 michael 1666 #line 278 "conf_lexer.l"
2794 michael 2228 { return REASON; }
2795 michael 913 YY_BREAK
2796     case 153:
2797     YY_RULE_SETUP
2798 michael 1666 #line 279 "conf_lexer.l"
2799 michael 2228 { return T_RECVQ; }
2800 michael 913 YY_BREAK
2801     case 154:
2802     YY_RULE_SETUP
2803 michael 1666 #line 280 "conf_lexer.l"
2804 michael 2228 { return REDIRPORT; }
2805 michael 913 YY_BREAK
2806     case 155:
2807     YY_RULE_SETUP
2808 michael 1666 #line 281 "conf_lexer.l"
2809 michael 2228 { return REDIRSERV; }
2810 michael 913 YY_BREAK
2811     case 156:
2812     YY_RULE_SETUP
2813 michael 1666 #line 282 "conf_lexer.l"
2814 michael 2228 { return REHASH; }
2815 michael 913 YY_BREAK
2816     case 157:
2817     YY_RULE_SETUP
2818 michael 1666 #line 283 "conf_lexer.l"
2819 michael 2228 { return T_REJ; }
2820 michael 913 YY_BREAK
2821     case 158:
2822     YY_RULE_SETUP
2823 michael 1666 #line 284 "conf_lexer.l"
2824 michael 2228 { return REMOTE; }
2825 michael 913 YY_BREAK
2826     case 159:
2827     YY_RULE_SETUP
2828 michael 1666 #line 285 "conf_lexer.l"
2829 michael 2228 { return REMOTEBAN; }
2830 michael 913 YY_BREAK
2831     case 160:
2832     YY_RULE_SETUP
2833 michael 1666 #line 286 "conf_lexer.l"
2834 michael 2228 { return T_RESTART; }
2835 michael 913 YY_BREAK
2836     case 161:
2837     YY_RULE_SETUP
2838 michael 1666 #line 287 "conf_lexer.l"
2839 michael 2228 { return RESV; }
2840 michael 913 YY_BREAK
2841     case 162:
2842     YY_RULE_SETUP
2843 michael 1666 #line 288 "conf_lexer.l"
2844 michael 2228 { return RESV_EXEMPT; }
2845 michael 913 YY_BREAK
2846     case 163:
2847     YY_RULE_SETUP
2848 michael 1666 #line 289 "conf_lexer.l"
2849 michael 2228 { return RSA_PRIVATE_KEY_FILE; }
2850 michael 913 YY_BREAK
2851     case 164:
2852     YY_RULE_SETUP
2853 michael 1715 #line 290 "conf_lexer.l"
2854 michael 2228 { return RSA_PUBLIC_KEY_FILE; }
2855 michael 913 YY_BREAK
2856     case 165:
2857     YY_RULE_SETUP
2858 michael 1751 #line 291 "conf_lexer.l"
2859 michael 2228 { return SEND_PASSWORD; }
2860 michael 913 YY_BREAK
2861     case 166:
2862     YY_RULE_SETUP
2863 michael 1751 #line 292 "conf_lexer.l"
2864 michael 2228 { return SENDQ; }
2865 michael 913 YY_BREAK
2866     case 167:
2867     YY_RULE_SETUP
2868 michael 1783 #line 293 "conf_lexer.l"
2869 michael 2228 { return T_SERVER; }
2870 michael 913 YY_BREAK
2871     case 168:
2872     YY_RULE_SETUP
2873 michael 1783 #line 294 "conf_lexer.l"
2874 michael 2228 { return SERVERHIDE; }
2875 michael 913 YY_BREAK
2876     case 169:
2877     YY_RULE_SETUP
2878 michael 1981 #line 295 "conf_lexer.l"
2879 michael 2228 { return SERVERINFO; }
2880 michael 913 YY_BREAK
2881     case 170:
2882     YY_RULE_SETUP
2883 michael 2012 #line 296 "conf_lexer.l"
2884 michael 2228 { return T_SERVICE; }
2885 michael 913 YY_BREAK
2886     case 171:
2887     YY_RULE_SETUP
2888 michael 2129 #line 297 "conf_lexer.l"
2889 michael 2228 { return T_SERVICES_NAME; }
2890 michael 913 YY_BREAK
2891     case 172:
2892     YY_RULE_SETUP
2893 michael 2129 #line 298 "conf_lexer.l"
2894 michael 2228 { return T_SERVNOTICE; }
2895 michael 913 YY_BREAK
2896     case 173:
2897     YY_RULE_SETUP
2898 michael 2129 #line 299 "conf_lexer.l"
2899 michael 2228 { return T_SET; }
2900 michael 913 YY_BREAK
2901     case 174:
2902     YY_RULE_SETUP
2903 michael 2129 #line 300 "conf_lexer.l"
2904 michael 2228 { return T_SHARED; }
2905 michael 913 YY_BREAK
2906     case 175:
2907     YY_RULE_SETUP
2908 michael 2129 #line 301 "conf_lexer.l"
2909 michael 2228 { return SHORT_MOTD; }
2910 michael 913 YY_BREAK
2911     case 176:
2912     YY_RULE_SETUP
2913 michael 2129 #line 302 "conf_lexer.l"
2914 michael 2228 { return IRCD_SID; }
2915 michael 913 YY_BREAK
2916     case 177:
2917     YY_RULE_SETUP
2918 michael 2129 #line 303 "conf_lexer.l"
2919 michael 2228 { return T_SIZE; }
2920 michael 913 YY_BREAK
2921     case 178:
2922     YY_RULE_SETUP
2923 michael 2129 #line 304 "conf_lexer.l"
2924 michael 2228 { return T_SKILL; }
2925 michael 913 YY_BREAK
2926     case 179:
2927     YY_RULE_SETUP
2928 michael 2129 #line 305 "conf_lexer.l"
2929 michael 2228 { return T_SOFTCALLERID; }
2930 michael 913 YY_BREAK
2931     case 180:
2932     YY_RULE_SETUP
2933 michael 2129 #line 306 "conf_lexer.l"
2934 michael 2228 { return SPOOF; }
2935 michael 913 YY_BREAK
2936     case 181:
2937     YY_RULE_SETUP
2938 michael 2129 #line 307 "conf_lexer.l"
2939 michael 2228 { return SPOOF_NOTICE; }
2940 michael 913 YY_BREAK
2941     case 182:
2942     YY_RULE_SETUP
2943 michael 2129 #line 308 "conf_lexer.l"
2944 michael 2228 { return T_SPY; }
2945 michael 913 YY_BREAK
2946     case 183:
2947     YY_RULE_SETUP
2948 michael 2129 #line 309 "conf_lexer.l"
2949 michael 2228 { return SQUIT; }
2950 michael 913 YY_BREAK
2951     case 184:
2952     YY_RULE_SETUP
2953 michael 2129 #line 310 "conf_lexer.l"
2954 michael 2228 { return T_SSL; }
2955 michael 913 YY_BREAK
2956     case 185:
2957     YY_RULE_SETUP
2958 michael 2129 #line 311 "conf_lexer.l"
2959 michael 2228 { return SSL_CERTIFICATE_FILE; }
2960 michael 913 YY_BREAK
2961     case 186:
2962     YY_RULE_SETUP
2963 michael 2129 #line 312 "conf_lexer.l"
2964 michael 2228 { return T_SSL_CIPHER_LIST; }
2965 michael 913 YY_BREAK
2966     case 187:
2967     YY_RULE_SETUP
2968 michael 2129 #line 313 "conf_lexer.l"
2969 michael 2228 { return T_SSL_CLIENT_METHOD; }
2970 michael 913 YY_BREAK
2971     case 188:
2972     YY_RULE_SETUP
2973 michael 2129 #line 314 "conf_lexer.l"
2974 michael 2228 { return SSL_DH_PARAM_FILE; }
2975 michael 913 YY_BREAK
2976     case 189:
2977     YY_RULE_SETUP
2978 michael 2129 #line 315 "conf_lexer.l"
2979 michael 2228 { return T_SSL_SERVER_METHOD; }
2980 michael 913 YY_BREAK
2981     case 190:
2982     YY_RULE_SETUP
2983 michael 2129 #line 316 "conf_lexer.l"
2984 michael 2228 { return T_SSLV3; }
2985 michael 913 YY_BREAK
2986     case 191:
2987     YY_RULE_SETUP
2988 michael 2129 #line 317 "conf_lexer.l"
2989 michael 2228 { return STATS_E_DISABLED; }
2990 michael 913 YY_BREAK
2991     case 192:
2992     YY_RULE_SETUP
2993 michael 2129 #line 318 "conf_lexer.l"
2994 michael 2228 { return STATS_I_OPER_ONLY; }
2995 michael 913 YY_BREAK
2996     case 193:
2997     YY_RULE_SETUP
2998 michael 2129 #line 319 "conf_lexer.l"
2999 michael 2228 { return STATS_K_OPER_ONLY; }
3000 michael 913 YY_BREAK
3001     case 194:
3002     YY_RULE_SETUP
3003 michael 2129 #line 320 "conf_lexer.l"
3004 michael 2228 { return STATS_O_OPER_ONLY; }
3005 michael 913 YY_BREAK
3006     case 195:
3007     YY_RULE_SETUP
3008 michael 2129 #line 321 "conf_lexer.l"
3009 michael 2228 { return STATS_P_OPER_ONLY; }
3010 michael 913 YY_BREAK
3011     case 196:
3012     YY_RULE_SETUP
3013 michael 2129 #line 322 "conf_lexer.l"
3014 michael 2228 { return THROTTLE_TIME; }
3015 michael 913 YY_BREAK
3016     case 197:
3017     YY_RULE_SETUP
3018 michael 2129 #line 323 "conf_lexer.l"
3019 michael 2228 { return TKLINE_EXPIRE_NOTICES; }
3020 michael 913 YY_BREAK
3021     case 198:
3022     YY_RULE_SETUP
3023 michael 2129 #line 324 "conf_lexer.l"
3024 michael 2228 { return T_TLSV1; }
3025 michael 913 YY_BREAK
3026     case 199:
3027     YY_RULE_SETUP
3028 michael 2129 #line 325 "conf_lexer.l"
3029 michael 2228 { return TRUE_NO_OPER_FLOOD; }
3030 michael 913 YY_BREAK
3031     case 200:
3032     YY_RULE_SETUP
3033 michael 2129 #line 326 "conf_lexer.l"
3034 michael 2228 { return TS_MAX_DELTA; }
3035 michael 913 YY_BREAK
3036     case 201:
3037     YY_RULE_SETUP
3038 michael 2129 #line 327 "conf_lexer.l"
3039 michael 2228 { return TS_WARN_DELTA; }
3040 michael 913 YY_BREAK
3041     case 202:
3042     YY_RULE_SETUP
3043 michael 2129 #line 328 "conf_lexer.l"
3044 michael 2228 { return TYPE; }
3045 michael 913 YY_BREAK
3046     case 203:
3047     YY_RULE_SETUP
3048 michael 2129 #line 329 "conf_lexer.l"
3049 michael 2228 { return T_UMODES; }
3050 michael 913 YY_BREAK
3051     case 204:
3052     YY_RULE_SETUP
3053 michael 2129 #line 330 "conf_lexer.l"
3054 michael 2228 { return T_UNAUTH; }
3055 michael 913 YY_BREAK
3056     case 205:
3057     YY_RULE_SETUP
3058 michael 2129 #line 331 "conf_lexer.l"
3059 michael 2228 { return T_UNDLINE; }
3060 michael 913 YY_BREAK
3061     case 206:
3062     YY_RULE_SETUP
3063 michael 2129 #line 332 "conf_lexer.l"
3064 michael 2228 { return UNKLINE; }
3065 michael 913 YY_BREAK
3066     case 207:
3067     YY_RULE_SETUP
3068 michael 2129 #line 333 "conf_lexer.l"
3069 michael 2228 { return T_UNLIMITED; }
3070 michael 913 YY_BREAK
3071     case 208:
3072     YY_RULE_SETUP
3073 michael 2129 #line 334 "conf_lexer.l"
3074 michael 2228 { return T_UNRESV; }
3075 michael 913 YY_BREAK
3076     case 209:
3077     YY_RULE_SETUP
3078 michael 2129 #line 335 "conf_lexer.l"
3079 michael 2228 { return T_UNXLINE; }
3080 michael 913 YY_BREAK
3081     case 210:
3082     YY_RULE_SETUP
3083 michael 2129 #line 336 "conf_lexer.l"
3084 michael 2228 { return USE_EGD; }
3085 michael 913 YY_BREAK
3086     case 211:
3087     YY_RULE_SETUP
3088 michael 2129 #line 337 "conf_lexer.l"
3089 michael 2228 { return USE_LOGGING; }
3090 michael 913 YY_BREAK
3091     case 212:
3092     YY_RULE_SETUP
3093 michael 2129 #line 338 "conf_lexer.l"
3094 michael 2228 { return USER; }
3095 michael 913 YY_BREAK
3096     case 213:
3097     YY_RULE_SETUP
3098 michael 2129 #line 339 "conf_lexer.l"
3099 michael 2228 { return VHOST; }
3100 michael 913 YY_BREAK
3101     case 214:
3102     YY_RULE_SETUP
3103 michael 2129 #line 340 "conf_lexer.l"
3104 michael 2228 { return VHOST6; }
3105 michael 913 YY_BREAK
3106     case 215:
3107     YY_RULE_SETUP
3108 michael 2129 #line 341 "conf_lexer.l"
3109 michael 2228 { return T_WALLOP; }
3110 michael 913 YY_BREAK
3111     case 216:
3112     YY_RULE_SETUP
3113 michael 2129 #line 342 "conf_lexer.l"
3114 michael 2228 { return T_WALLOPS; }
3115 michael 913 YY_BREAK
3116     case 217:
3117     YY_RULE_SETUP
3118 michael 2129 #line 343 "conf_lexer.l"
3119 michael 2228 { return WARN_NO_NLINE; }
3120 michael 913 YY_BREAK
3121     case 218:
3122     YY_RULE_SETUP
3123 michael 2129 #line 344 "conf_lexer.l"
3124 michael 2228 { return T_WEBIRC; }
3125 michael 913 YY_BREAK
3126     case 219:
3127     YY_RULE_SETUP
3128 michael 2228 #line 345 "conf_lexer.l"
3129     { return XLINE; }
3130 michael 913 YY_BREAK
3131     case 220:
3132     YY_RULE_SETUP
3133 michael 2129 #line 347 "conf_lexer.l"
3134 michael 2228 { yylval.number = 1; return TBOOL; }
3135 michael 913 YY_BREAK
3136     case 221:
3137     YY_RULE_SETUP
3138 michael 2228 #line 348 "conf_lexer.l"
3139     { yylval.number = 0; return TBOOL; }
3140 michael 913 YY_BREAK
3141     case 222:
3142     YY_RULE_SETUP
3143 michael 2129 #line 350 "conf_lexer.l"
3144 michael 2038 { return YEARS; }
3145 michael 913 YY_BREAK
3146     case 223:
3147     YY_RULE_SETUP
3148 michael 2129 #line 351 "conf_lexer.l"
3149 michael 2228 { return YEARS; }
3150 michael 913 YY_BREAK
3151     case 224:
3152     YY_RULE_SETUP
3153 michael 2129 #line 352 "conf_lexer.l"
3154 michael 2038 { return MONTHS; }
3155 michael 913 YY_BREAK
3156     case 225:
3157     YY_RULE_SETUP
3158 michael 2129 #line 353 "conf_lexer.l"
3159 michael 2228 { return MONTHS; }
3160 michael 913 YY_BREAK
3161     case 226:
3162     YY_RULE_SETUP
3163 michael 2129 #line 354 "conf_lexer.l"
3164 michael 2038 { return WEEKS; }
3165 michael 913 YY_BREAK
3166     case 227:
3167     YY_RULE_SETUP
3168 michael 2129 #line 355 "conf_lexer.l"
3169 michael 2228 { return WEEKS; }
3170 michael 913 YY_BREAK
3171     case 228:
3172     YY_RULE_SETUP
3173 michael 2129 #line 356 "conf_lexer.l"
3174 michael 2038 { return DAYS; }
3175 michael 913 YY_BREAK
3176     case 229:
3177     YY_RULE_SETUP
3178 michael 2129 #line 357 "conf_lexer.l"
3179 michael 2228 { return DAYS; }
3180 michael 913 YY_BREAK
3181     case 230:
3182     YY_RULE_SETUP
3183 michael 2129 #line 358 "conf_lexer.l"
3184 michael 2038 { return HOURS; }
3185 michael 913 YY_BREAK
3186     case 231:
3187     YY_RULE_SETUP
3188 michael 2129 #line 359 "conf_lexer.l"
3189 michael 2228 { return HOURS; }
3190 michael 913 YY_BREAK
3191     case 232:
3192     YY_RULE_SETUP
3193 michael 2129 #line 360 "conf_lexer.l"
3194 michael 2038 { return MINUTES; }
3195 michael 913 YY_BREAK
3196     case 233:
3197     YY_RULE_SETUP
3198 michael 2129 #line 361 "conf_lexer.l"
3199 michael 2228 { return MINUTES; }
3200 michael 913 YY_BREAK
3201     case 234:
3202     YY_RULE_SETUP
3203 michael 2129 #line 362 "conf_lexer.l"
3204 michael 2038 { return SECONDS; }
3205 michael 913 YY_BREAK
3206     case 235:
3207     YY_RULE_SETUP
3208 michael 2228 #line 363 "conf_lexer.l"
3209     { return SECONDS; }
3210 michael 913 YY_BREAK
3211     case 236:
3212     YY_RULE_SETUP
3213 michael 2129 #line 365 "conf_lexer.l"
3214 michael 2038 { return BYTES; }
3215 michael 1715 YY_BREAK
3216     case 237:
3217     YY_RULE_SETUP
3218 michael 2129 #line 366 "conf_lexer.l"
3219 michael 2228 { return BYTES; }
3220 michael 1751 YY_BREAK
3221     case 238:
3222     YY_RULE_SETUP
3223 michael 2129 #line 367 "conf_lexer.l"
3224 michael 1783 { return KBYTES; }
3225 michael 1751 YY_BREAK
3226     case 239:
3227     YY_RULE_SETUP
3228 michael 2129 #line 368 "conf_lexer.l"
3229 michael 1981 { return KBYTES; }
3230 michael 1783 YY_BREAK
3231     case 240:
3232     YY_RULE_SETUP
3233 michael 2129 #line 369 "conf_lexer.l"
3234 michael 2012 { return KBYTES; }
3235 michael 1783 YY_BREAK
3236     case 241:
3237     YY_RULE_SETUP
3238 michael 2129 #line 370 "conf_lexer.l"
3239 michael 2038 { return KBYTES; }
3240 michael 1783 YY_BREAK
3241     case 242:
3242     YY_RULE_SETUP
3243 michael 2129 #line 371 "conf_lexer.l"
3244 michael 2228 { return KBYTES; }
3245 michael 1783 YY_BREAK
3246     case 243:
3247     YY_RULE_SETUP
3248 michael 2129 #line 372 "conf_lexer.l"
3249 michael 1783 { return MBYTES; }
3250     YY_BREAK
3251     case 244:
3252     YY_RULE_SETUP
3253 michael 2129 #line 373 "conf_lexer.l"
3254 michael 1981 { return MBYTES; }
3255 michael 1783 YY_BREAK
3256     case 245:
3257     YY_RULE_SETUP
3258 michael 2129 #line 374 "conf_lexer.l"
3259 michael 2012 { return MBYTES; }
3260 michael 1981 YY_BREAK
3261     case 246:
3262     YY_RULE_SETUP
3263 michael 2129 #line 375 "conf_lexer.l"
3264 michael 2038 { return MBYTES; }
3265 michael 2012 YY_BREAK
3266     case 247:
3267     YY_RULE_SETUP
3268 michael 2129 #line 376 "conf_lexer.l"
3269 michael 2228 { return MBYTES; }
3270 michael 2038 YY_BREAK
3271     case 248:
3272     YY_RULE_SETUP
3273 michael 2228 #line 377 "conf_lexer.l"
3274     { return TWODOTS; }
3275     YY_BREAK
3276     case 249:
3277     YY_RULE_SETUP
3278     #line 379 "conf_lexer.l"
3279 michael 913 { return yytext[0]; }
3280     YY_BREAK
3281     case YY_STATE_EOF(INITIAL):
3282 michael 2228 #line 380 "conf_lexer.l"
3283 michael 913 { if (ieof()) yyterminate(); }
3284     YY_BREAK
3285 michael 2228 case 250:
3286 michael 913 YY_RULE_SETUP
3287 michael 2228 #line 382 "conf_lexer.l"
3288 michael 913 ECHO;
3289     YY_BREAK
3290 michael 2228 #line 3291 "conf_lexer.c"
3291 michael 913
3292     case YY_END_OF_BUFFER:
3293     {
3294     /* Amount of text matched not including the EOB char. */
3295     int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3296    
3297     /* Undo the effects of YY_DO_BEFORE_ACTION. */
3298     *yy_cp = (yy_hold_char);
3299     YY_RESTORE_YY_MORE_OFFSET
3300    
3301     if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3302     {
3303     /* We're scanning a new file or input source. It's
3304     * possible that this happened because the user
3305     * just pointed yyin at a new source and called
3306     * yylex(). If so, then we have to assure
3307     * consistency between YY_CURRENT_BUFFER and our
3308     * globals. Here is the right place to do so, because
3309     * this is the first action (other than possibly a
3310     * back-up) that will match for the new input source.
3311     */
3312     (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3313     YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3314     YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3315     }
3316    
3317     /* Note that here we test for yy_c_buf_p "<=" to the position
3318     * of the first EOB in the buffer, since yy_c_buf_p will
3319     * already have been incremented past the NUL character
3320     * (since all states make transitions on EOB to the
3321     * end-of-buffer state). Contrast this with the test
3322     * in input().
3323     */
3324     if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3325     { /* This was really a NUL. */
3326     yy_state_type yy_next_state;
3327    
3328     (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3329    
3330     yy_current_state = yy_get_previous_state( );
3331    
3332     /* Okay, we're now positioned to make the NUL
3333     * transition. We couldn't have
3334     * yy_get_previous_state() go ahead and do it
3335     * for us because it doesn't know how to deal
3336     * with the possibility of jamming (and we don't
3337     * want to build jamming into it because then it
3338     * will run more slowly).
3339     */
3340    
3341     yy_next_state = yy_try_NUL_trans( yy_current_state );
3342    
3343     yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3344    
3345     if ( yy_next_state )
3346     {
3347     /* Consume the NUL. */
3348     yy_cp = ++(yy_c_buf_p);
3349     yy_current_state = yy_next_state;
3350     goto yy_match;
3351     }
3352    
3353     else
3354     {
3355     yy_cp = (yy_last_accepting_cpos);
3356     yy_current_state = (yy_last_accepting_state);
3357     goto yy_find_action;
3358     }
3359     }
3360    
3361     else switch ( yy_get_next_buffer( ) )
3362     {
3363     case EOB_ACT_END_OF_FILE:
3364     {
3365     (yy_did_buffer_switch_on_eof) = 0;
3366    
3367     if ( yywrap( ) )
3368     {
3369     /* Note: because we've taken care in
3370     * yy_get_next_buffer() to have set up
3371     * yytext, we can now set up
3372     * yy_c_buf_p so that if some total
3373     * hoser (like flex itself) wants to
3374     * call the scanner after we return the
3375     * YY_NULL, it'll still work - another
3376     * YY_NULL will get returned.
3377     */
3378     (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3379    
3380     yy_act = YY_STATE_EOF(YY_START);
3381     goto do_action;
3382     }
3383    
3384     else
3385     {
3386     if ( ! (yy_did_buffer_switch_on_eof) )
3387     YY_NEW_FILE;
3388     }
3389     break;
3390     }
3391    
3392     case EOB_ACT_CONTINUE_SCAN:
3393     (yy_c_buf_p) =
3394     (yytext_ptr) + yy_amount_of_matched_text;
3395    
3396     yy_current_state = yy_get_previous_state( );
3397    
3398     yy_cp = (yy_c_buf_p);
3399     yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3400     goto yy_match;
3401    
3402     case EOB_ACT_LAST_MATCH:
3403     (yy_c_buf_p) =
3404     &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3405    
3406     yy_current_state = yy_get_previous_state( );
3407    
3408     yy_cp = (yy_c_buf_p);
3409     yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3410     goto yy_find_action;
3411     }
3412     break;
3413     }
3414    
3415     default:
3416     YY_FATAL_ERROR(
3417     "fatal flex scanner internal error--no action found" );
3418     } /* end of action switch */
3419     } /* end of scanning one token */
3420     } /* end of yylex */
3421    
3422     /* yy_get_next_buffer - try to read in a new buffer
3423     *
3424     * Returns a code representing an action:
3425     * EOB_ACT_LAST_MATCH -
3426     * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3427     * EOB_ACT_END_OF_FILE - end of file
3428     */
3429     static int yy_get_next_buffer (void)
3430     {
3431     register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3432     register char *source = (yytext_ptr);
3433     register int number_to_move, i;
3434     int ret_val;
3435    
3436     if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3437     YY_FATAL_ERROR(
3438     "fatal flex scanner internal error--end of buffer missed" );
3439    
3440     if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3441     { /* Don't try to fill the buffer, so this is an EOF. */
3442     if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3443     {
3444     /* We matched a single character, the EOB, so
3445     * treat this as a final EOF.
3446     */
3447     return EOB_ACT_END_OF_FILE;
3448     }
3449    
3450     else
3451     {
3452     /* We matched some text prior to the EOB, first
3453     * process it.
3454     */
3455     return EOB_ACT_LAST_MATCH;
3456     }
3457     }
3458    
3459     /* Try to read more data. */
3460    
3461     /* First move last chars to start of buffer. */
3462     number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3463    
3464     for ( i = 0; i < number_to_move; ++i )
3465     *(dest++) = *(source++);
3466    
3467     if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3468     /* don't do the read, it's not guaranteed to return an EOF,
3469     * just force an EOF
3470     */
3471     YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3472    
3473     else
3474     {
3475 michael 1506 yy_size_t num_to_read =
3476 michael 913 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3477    
3478     while ( num_to_read <= 0 )
3479     { /* Not enough room in the buffer - grow it. */
3480    
3481     /* just a shorter name for the current buffer */
3482 michael 1506 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3483 michael 913
3484     int yy_c_buf_p_offset =
3485     (int) ((yy_c_buf_p) - b->yy_ch_buf);
3486    
3487     if ( b->yy_is_our_buffer )
3488     {
3489 michael 1506 yy_size_t new_size = b->yy_buf_size * 2;
3490 michael 913
3491     if ( new_size <= 0 )
3492     b->yy_buf_size += b->yy_buf_size / 8;
3493     else
3494     b->yy_buf_size *= 2;
3495    
3496     b->yy_ch_buf = (char *)
3497     /* Include room in for 2 EOB chars. */
3498     yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3499     }
3500     else
3501     /* Can't grow it, we don't own it. */
3502     b->yy_ch_buf = 0;
3503    
3504     if ( ! b->yy_ch_buf )
3505     YY_FATAL_ERROR(
3506     "fatal error - scanner input buffer overflow" );
3507    
3508     (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3509    
3510     num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3511     number_to_move - 1;
3512    
3513     }
3514    
3515     if ( num_to_read > YY_READ_BUF_SIZE )
3516     num_to_read = YY_READ_BUF_SIZE;
3517    
3518     /* Read in more data. */
3519     YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3520 michael 1506 (yy_n_chars), num_to_read );
3521 michael 913
3522     YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3523     }
3524    
3525     if ( (yy_n_chars) == 0 )
3526     {
3527     if ( number_to_move == YY_MORE_ADJ )
3528     {
3529     ret_val = EOB_ACT_END_OF_FILE;
3530     yyrestart(yyin );
3531     }
3532    
3533     else
3534     {
3535     ret_val = EOB_ACT_LAST_MATCH;
3536     YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3537     YY_BUFFER_EOF_PENDING;
3538     }
3539     }
3540    
3541     else
3542     ret_val = EOB_ACT_CONTINUE_SCAN;
3543    
3544 michael 967 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3545     /* Extend the array by 50%, plus the number we really need. */
3546     yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3547     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3548     if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3549     YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3550     }
3551    
3552 michael 913 (yy_n_chars) += number_to_move;
3553     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3554     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3555    
3556     (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3557    
3558     return ret_val;
3559     }
3560    
3561     /* yy_get_previous_state - get the state just before the EOB char was reached */
3562    
3563     static yy_state_type yy_get_previous_state (void)
3564     {
3565     register yy_state_type yy_current_state;
3566     register char *yy_cp;
3567    
3568     yy_current_state = (yy_start);
3569    
3570     for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3571     {
3572     register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3573     if ( yy_accept[yy_current_state] )
3574     {
3575     (yy_last_accepting_state) = yy_current_state;
3576     (yy_last_accepting_cpos) = yy_cp;
3577     }
3578     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3579     {
3580     yy_current_state = (int) yy_def[yy_current_state];
3581 michael 2228 if ( yy_current_state >= 1581 )
3582 michael 913 yy_c = yy_meta[(unsigned int) yy_c];
3583     }
3584     yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3585     }
3586    
3587     return yy_current_state;
3588     }
3589    
3590     /* yy_try_NUL_trans - try to make a transition on the NUL character
3591     *
3592     * synopsis
3593     * next_state = yy_try_NUL_trans( current_state );
3594     */
3595     static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3596     {
3597     register int yy_is_jam;
3598     register char *yy_cp = (yy_c_buf_p);
3599    
3600     register YY_CHAR yy_c = 1;
3601     if ( yy_accept[yy_current_state] )
3602     {
3603     (yy_last_accepting_state) = yy_current_state;
3604     (yy_last_accepting_cpos) = yy_cp;
3605     }
3606     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3607     {
3608     yy_current_state = (int) yy_def[yy_current_state];
3609 michael 2228 if ( yy_current_state >= 1581 )
3610 michael 913 yy_c = yy_meta[(unsigned int) yy_c];
3611     }
3612     yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3613 michael 2228 yy_is_jam = (yy_current_state == 1580);
3614 michael 913
3615 michael 1506 return yy_is_jam ? 0 : yy_current_state;
3616 michael 913 }
3617    
3618     #ifndef YY_NO_INPUT
3619     #ifdef __cplusplus
3620     static int yyinput (void)
3621     #else
3622     static int input (void)
3623     #endif
3624    
3625     {
3626     int c;
3627    
3628     *(yy_c_buf_p) = (yy_hold_char);
3629    
3630     if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3631     {
3632     /* yy_c_buf_p now points to the character we want to return.
3633     * If this occurs *before* the EOB characters, then it's a
3634     * valid NUL; if not, then we've hit the end of the buffer.
3635     */
3636     if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3637     /* This was really a NUL. */
3638     *(yy_c_buf_p) = '\0';
3639    
3640     else
3641     { /* need more input */
3642 michael 1506 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
3643 michael 913 ++(yy_c_buf_p);
3644    
3645     switch ( yy_get_next_buffer( ) )
3646     {
3647     case EOB_ACT_LAST_MATCH:
3648     /* This happens because yy_g_n_b()
3649     * sees that we've accumulated a
3650     * token and flags that we need to
3651     * try matching the token before
3652     * proceeding. But for input(),
3653     * there's no matching to consider.
3654     * So convert the EOB_ACT_LAST_MATCH
3655     * to EOB_ACT_END_OF_FILE.
3656     */
3657    
3658     /* Reset buffer status. */
3659     yyrestart(yyin );
3660    
3661     /*FALLTHROUGH*/
3662    
3663     case EOB_ACT_END_OF_FILE:
3664     {
3665     if ( yywrap( ) )
3666     return EOF;
3667    
3668     if ( ! (yy_did_buffer_switch_on_eof) )
3669     YY_NEW_FILE;
3670     #ifdef __cplusplus
3671     return yyinput();
3672     #else
3673     return input();
3674     #endif
3675     }
3676    
3677     case EOB_ACT_CONTINUE_SCAN:
3678     (yy_c_buf_p) = (yytext_ptr) + offset;
3679     break;
3680     }
3681     }
3682     }
3683    
3684     c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3685     *(yy_c_buf_p) = '\0'; /* preserve yytext */
3686     (yy_hold_char) = *++(yy_c_buf_p);
3687    
3688     return c;
3689     }
3690     #endif /* ifndef YY_NO_INPUT */
3691    
3692     /** Immediately switch to a different input stream.
3693     * @param input_file A readable stream.
3694     *
3695     * @note This function does not reset the start condition to @c INITIAL .
3696     */
3697     void yyrestart (FILE * input_file )
3698     {
3699    
3700     if ( ! YY_CURRENT_BUFFER ){
3701     yyensure_buffer_stack ();
3702     YY_CURRENT_BUFFER_LVALUE =
3703     yy_create_buffer(yyin,YY_BUF_SIZE );
3704     }
3705    
3706     yy_init_buffer(YY_CURRENT_BUFFER,input_file );
3707     yy_load_buffer_state( );
3708     }
3709    
3710     /** Switch to a different input buffer.
3711     * @param new_buffer The new input buffer.
3712     *
3713     */
3714     void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3715     {
3716    
3717     /* TODO. We should be able to replace this entire function body
3718     * with
3719     * yypop_buffer_state();
3720     * yypush_buffer_state(new_buffer);
3721     */
3722     yyensure_buffer_stack ();
3723     if ( YY_CURRENT_BUFFER == new_buffer )
3724     return;
3725    
3726     if ( YY_CURRENT_BUFFER )
3727     {
3728     /* Flush out information for old buffer. */
3729     *(yy_c_buf_p) = (yy_hold_char);
3730     YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3731     YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3732     }
3733    
3734     YY_CURRENT_BUFFER_LVALUE = new_buffer;
3735     yy_load_buffer_state( );
3736    
3737     /* We don't actually know whether we did this switch during
3738     * EOF (yywrap()) processing, but the only time this flag
3739     * is looked at is after yywrap() is called, so it's safe
3740     * to go ahead and always set it.
3741     */
3742     (yy_did_buffer_switch_on_eof) = 1;
3743     }
3744    
3745     static void yy_load_buffer_state (void)
3746     {
3747     (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3748     (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3749     yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3750     (yy_hold_char) = *(yy_c_buf_p);
3751     }
3752    
3753     /** Allocate and initialize an input buffer state.
3754     * @param file A readable stream.
3755     * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3756     *
3757     * @return the allocated buffer state.
3758     */
3759     YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3760     {
3761     YY_BUFFER_STATE b;
3762    
3763     b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3764     if ( ! b )
3765     YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3766    
3767     b->yy_buf_size = size;
3768    
3769     /* yy_ch_buf has to be 2 characters longer than the size given because
3770     * we need to put in 2 end-of-buffer characters.
3771     */
3772     b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
3773     if ( ! b->yy_ch_buf )
3774     YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3775    
3776     b->yy_is_our_buffer = 1;
3777    
3778     yy_init_buffer(b,file );
3779    
3780     return b;
3781     }
3782    
3783     /** Destroy the buffer.
3784     * @param b a buffer created with yy_create_buffer()
3785     *
3786     */
3787     void yy_delete_buffer (YY_BUFFER_STATE b )
3788     {
3789    
3790     if ( ! b )
3791     return;
3792    
3793     if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3794     YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3795    
3796     if ( b->yy_is_our_buffer )
3797     yyfree((void *) b->yy_ch_buf );
3798    
3799     yyfree((void *) b );
3800     }
3801    
3802     /* Initializes or reinitializes a buffer.
3803     * This function is sometimes called more than once on the same buffer,
3804     * such as during a yyrestart() or at EOF.
3805     */
3806     static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3807    
3808     {
3809     int oerrno = errno;
3810    
3811     yy_flush_buffer(b );
3812    
3813     b->yy_input_file = file;
3814     b->yy_fill_buffer = 1;
3815    
3816     /* If b is the current buffer, then yy_init_buffer was _probably_
3817     * called from yyrestart() or through yy_get_next_buffer.
3818     * In that case, we don't want to reset the lineno or column.
3819     */
3820     if (b != YY_CURRENT_BUFFER){
3821     b->yy_bs_lineno = 1;
3822     b->yy_bs_column = 0;
3823     }
3824    
3825     b->yy_is_interactive = 0;
3826    
3827     errno = oerrno;
3828     }
3829    
3830     /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3831     * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3832     *
3833     */
3834     void yy_flush_buffer (YY_BUFFER_STATE b )
3835     {
3836     if ( ! b )
3837     return;
3838    
3839     b->yy_n_chars = 0;
3840    
3841     /* We always need two end-of-buffer characters. The first causes
3842     * a transition to the end-of-buffer state. The second causes
3843     * a jam in that state.
3844     */
3845     b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3846     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3847    
3848     b->yy_buf_pos = &b->yy_ch_buf[0];
3849    
3850     b->yy_at_bol = 1;
3851     b->yy_buffer_status = YY_BUFFER_NEW;
3852    
3853     if ( b == YY_CURRENT_BUFFER )
3854     yy_load_buffer_state( );
3855     }
3856    
3857     /** Pushes the new state onto the stack. The new state becomes
3858     * the current state. This function will allocate the stack
3859     * if necessary.
3860     * @param new_buffer The new state.
3861     *
3862     */
3863     void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3864     {
3865     if (new_buffer == NULL)
3866     return;
3867    
3868     yyensure_buffer_stack();
3869    
3870     /* This block is copied from yy_switch_to_buffer. */
3871     if ( YY_CURRENT_BUFFER )
3872     {
3873     /* Flush out information for old buffer. */
3874     *(yy_c_buf_p) = (yy_hold_char);
3875     YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3876     YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3877     }
3878    
3879     /* Only push if top exists. Otherwise, replace top. */
3880     if (YY_CURRENT_BUFFER)
3881     (yy_buffer_stack_top)++;
3882     YY_CURRENT_BUFFER_LVALUE = new_buffer;
3883    
3884     /* copied from yy_switch_to_buffer. */
3885     yy_load_buffer_state( );
3886     (yy_did_buffer_switch_on_eof) = 1;
3887     }
3888    
3889     /** Removes and deletes the top of the stack, if present.
3890     * The next element becomes the new top.
3891     *
3892     */
3893     void yypop_buffer_state (void)
3894     {
3895     if (!YY_CURRENT_BUFFER)
3896     return;
3897    
3898     yy_delete_buffer(YY_CURRENT_BUFFER );
3899     YY_CURRENT_BUFFER_LVALUE = NULL;
3900     if ((yy_buffer_stack_top) > 0)
3901     --(yy_buffer_stack_top);
3902    
3903     if (YY_CURRENT_BUFFER) {
3904     yy_load_buffer_state( );
3905     (yy_did_buffer_switch_on_eof) = 1;
3906     }
3907     }
3908    
3909     /* Allocates the stack if it does not exist.
3910     * Guarantees space for at least one push.
3911     */
3912     static void yyensure_buffer_stack (void)
3913     {
3914 michael 1506 yy_size_t num_to_alloc;
3915 michael 913
3916     if (!(yy_buffer_stack)) {
3917    
3918     /* First allocation is just for 2 elements, since we don't know if this
3919     * scanner will even need a stack. We use 2 instead of 1 to avoid an
3920     * immediate realloc on the next call.
3921     */
3922     num_to_alloc = 1;
3923     (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3924     (num_to_alloc * sizeof(struct yy_buffer_state*)
3925     );
3926 michael 967 if ( ! (yy_buffer_stack) )
3927     YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3928    
3929 michael 913 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3930    
3931     (yy_buffer_stack_max) = num_to_alloc;
3932     (yy_buffer_stack_top) = 0;
3933     return;
3934     }
3935    
3936     if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3937    
3938     /* Increase the buffer to prepare for a possible push. */
3939     int grow_size = 8 /* arbitrary grow size */;
3940    
3941     num_to_alloc = (yy_buffer_stack_max) + grow_size;
3942     (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3943     ((yy_buffer_stack),
3944     num_to_alloc * sizeof(struct yy_buffer_state*)
3945     );
3946 michael 967 if ( ! (yy_buffer_stack) )
3947     YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3948 michael 913
3949     /* zero only the new slots.*/
3950     memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3951     (yy_buffer_stack_max) = num_to_alloc;
3952     }
3953     }
3954    
3955     /** Setup the input buffer state to scan directly from a user-specified character buffer.
3956     * @param base the character buffer
3957     * @param size the size in bytes of the character buffer
3958     *
3959     * @return the newly allocated buffer state object.
3960     */
3961     YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3962     {
3963     YY_BUFFER_STATE b;
3964    
3965     if ( size < 2 ||
3966     base[size-2] != YY_END_OF_BUFFER_CHAR ||
3967     base[size-1] != YY_END_OF_BUFFER_CHAR )
3968     /* They forgot to leave room for the EOB's. */
3969     return 0;
3970    
3971     b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3972     if ( ! b )
3973     YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3974    
3975     b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3976     b->yy_buf_pos = b->yy_ch_buf = base;
3977     b->yy_is_our_buffer = 0;
3978     b->yy_input_file = 0;
3979     b->yy_n_chars = b->yy_buf_size;
3980     b->yy_is_interactive = 0;
3981     b->yy_at_bol = 1;
3982     b->yy_fill_buffer = 0;
3983     b->yy_buffer_status = YY_BUFFER_NEW;
3984    
3985     yy_switch_to_buffer(b );
3986    
3987     return b;
3988     }
3989    
3990     /** Setup the input buffer state to scan a string. The next call to yylex() will
3991     * scan from a @e copy of @a str.
3992 michael 967 * @param yystr a NUL-terminated string to scan
3993 michael 913 *
3994     * @return the newly allocated buffer state object.
3995     * @note If you want to scan bytes that may contain NUL values, then use
3996     * yy_scan_bytes() instead.
3997     */
3998     YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
3999     {
4000    
4001     return yy_scan_bytes(yystr,strlen(yystr) );
4002     }
4003    
4004     /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4005     * scan from a @e copy of @a bytes.
4006 michael 1506 * @param yybytes the byte buffer to scan
4007     * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4008 michael 913 *
4009     * @return the newly allocated buffer state object.
4010     */
4011 michael 1506 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
4012 michael 913 {
4013     YY_BUFFER_STATE b;
4014     char *buf;
4015     yy_size_t n;
4016     int i;
4017    
4018     /* Get memory for full buffer, including space for trailing EOB's. */
4019     n = _yybytes_len + 2;
4020     buf = (char *) yyalloc(n );
4021     if ( ! buf )
4022     YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4023    
4024     for ( i = 0; i < _yybytes_len; ++i )
4025     buf[i] = yybytes[i];
4026    
4027     buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4028    
4029     b = yy_scan_buffer(buf,n );
4030     if ( ! b )
4031     YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4032    
4033     /* It's okay to grow etc. this buffer, and we should throw it
4034     * away when we're done.
4035     */
4036     b->yy_is_our_buffer = 1;
4037    
4038     return b;
4039     }
4040    
4041     #ifndef YY_EXIT_FAILURE
4042     #define YY_EXIT_FAILURE 2
4043     #endif
4044    
4045     static void yy_fatal_error (yyconst char* msg )
4046     {
4047     (void) fprintf( stderr, "%s\n", msg );
4048     exit( YY_EXIT_FAILURE );
4049     }
4050    
4051     /* Redefine yyless() so it works in section 3 code. */
4052    
4053     #undef yyless
4054     #define yyless(n) \
4055     do \
4056     { \
4057     /* Undo effects of setting up yytext. */ \
4058     int yyless_macro_arg = (n); \
4059     YY_LESS_LINENO(yyless_macro_arg);\
4060     yytext[yyleng] = (yy_hold_char); \
4061     (yy_c_buf_p) = yytext + yyless_macro_arg; \
4062     (yy_hold_char) = *(yy_c_buf_p); \
4063     *(yy_c_buf_p) = '\0'; \
4064     yyleng = yyless_macro_arg; \
4065     } \
4066     while ( 0 )
4067    
4068     /* Accessor methods (get/set functions) to struct members. */
4069    
4070     /** Get the current line number.
4071     *
4072     */
4073     int yyget_lineno (void)
4074     {
4075    
4076     return yylineno;
4077     }
4078    
4079     /** Get the input stream.
4080     *
4081     */
4082     FILE *yyget_in (void)
4083     {
4084     return yyin;
4085     }
4086    
4087     /** Get the output stream.
4088     *
4089     */
4090     FILE *yyget_out (void)
4091     {
4092     return yyout;
4093     }
4094    
4095     /** Get the length of the current token.
4096     *
4097     */
4098 michael 1506 yy_size_t yyget_leng (void)
4099 michael 913 {
4100     return yyleng;
4101     }
4102    
4103     /** Get the current token.
4104     *
4105     */
4106    
4107     char *yyget_text (void)
4108     {
4109     return yytext;
4110     }
4111    
4112     /** Set the current line number.
4113     * @param line_number
4114     *
4115     */
4116     void yyset_lineno (int line_number )
4117     {
4118    
4119     yylineno = line_number;
4120     }
4121    
4122     /** Set the input stream. This does not discard the current
4123     * input buffer.
4124     * @param in_str A readable stream.
4125     *
4126     * @see yy_switch_to_buffer
4127     */
4128     void yyset_in (FILE * in_str )
4129     {
4130     yyin = in_str ;
4131     }
4132    
4133     void yyset_out (FILE * out_str )
4134     {
4135     yyout = out_str ;
4136     }
4137    
4138     int yyget_debug (void)
4139     {
4140     return yy_flex_debug;
4141     }
4142    
4143     void yyset_debug (int bdebug )
4144     {
4145     yy_flex_debug = bdebug ;
4146     }
4147    
4148     static int yy_init_globals (void)
4149     {
4150     /* Initialization is the same as for the non-reentrant scanner.
4151     * This function is called from yylex_destroy(), so don't allocate here.
4152     */
4153    
4154     (yy_buffer_stack) = 0;
4155     (yy_buffer_stack_top) = 0;
4156     (yy_buffer_stack_max) = 0;
4157     (yy_c_buf_p) = (char *) 0;
4158     (yy_init) = 0;
4159     (yy_start) = 0;
4160    
4161     /* Defined in main.c */
4162     #ifdef YY_STDINIT
4163     yyin = stdin;
4164     yyout = stdout;
4165     #else
4166     yyin = (FILE *) 0;
4167     yyout = (FILE *) 0;
4168     #endif
4169    
4170     /* For future reference: Set errno on error, since we are called by
4171     * yylex_init()
4172     */
4173     return 0;
4174     }
4175    
4176     /* yylex_destroy is for both reentrant and non-reentrant scanners. */
4177     int yylex_destroy (void)
4178     {
4179    
4180     /* Pop the buffer stack, destroying each element. */
4181     while(YY_CURRENT_BUFFER){
4182     yy_delete_buffer(YY_CURRENT_BUFFER );
4183     YY_CURRENT_BUFFER_LVALUE = NULL;
4184     yypop_buffer_state();
4185     }
4186    
4187     /* Destroy the stack itself. */
4188     yyfree((yy_buffer_stack) );
4189     (yy_buffer_stack) = NULL;
4190    
4191     /* Reset the globals. This is important in a non-reentrant scanner so the next time
4192     * yylex() is called, initialization will occur. */
4193     yy_init_globals( );
4194    
4195     return 0;
4196     }
4197    
4198     /*
4199     * Internal utility routines.
4200     */
4201    
4202     #ifndef yytext_ptr
4203     static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4204     {
4205     register int i;
4206     for ( i = 0; i < n; ++i )
4207     s1[i] = s2[i];
4208     }
4209     #endif
4210    
4211     #ifdef YY_NEED_STRLEN
4212     static int yy_flex_strlen (yyconst char * s )
4213     {
4214     register int n;
4215     for ( n = 0; s[n]; ++n )
4216     ;
4217    
4218     return n;
4219     }
4220     #endif
4221    
4222     void *yyalloc (yy_size_t size )
4223     {
4224     return (void *) malloc( size );
4225     }
4226    
4227     void *yyrealloc (void * ptr, yy_size_t size )
4228     {
4229     /* The cast to (char *) in the following accommodates both
4230     * implementations that use char* generic pointers, and those
4231     * that use void* generic pointers. It works with the latter
4232     * because both ANSI C and C++ allow castless assignment from
4233     * any pointer type to void*, and deal with argument conversions
4234     * as though doing an assignment.
4235     */
4236     return (void *) realloc( (char *) ptr, size );
4237     }
4238    
4239     void yyfree (void * ptr )
4240     {
4241     free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
4242     }
4243    
4244     #define YYTABLES_NAME "yytables"
4245    
4246 michael 2228 #line 382 "conf_lexer.l"
4247 michael 913
4248    
4249    
4250     /* C-comment ignoring routine -kre*/
4251     static void
4252     ccomment(void)
4253     {
4254     int c = 0;
4255    
4256     /* log(L_NOTICE, "got comment"); */
4257     while (1)
4258     {
4259     while ((c = input()) != '*' && c != EOF)
4260     if (c == '\n')
4261     ++lineno;
4262    
4263     if (c == '*')
4264     {
4265     while ((c = input()) == '*')
4266     /* Nothing */ ;
4267     if (c == '/')
4268     break;
4269     else if (c == '\n')
4270     ++lineno;
4271     }
4272    
4273     if (c == EOF)
4274     {
4275     YY_FATAL_ERROR("EOF in comment");
4276     /* XXX hack alert this disables
4277     * the stupid unused function warning
4278     * gcc generates
4279     */
4280     if (1 == 0)
4281     yy_fatal_error("EOF in comment");
4282     break;
4283     }
4284     }
4285     }
4286    
4287     /* C-style .includes. This function will properly swap input conf buffers,
4288     * and lineno -kre */
4289     static void
4290     cinclude(void)
4291     {
4292     char *p = NULL;
4293    
4294     if ((p = strchr(yytext, '<')) == NULL)
4295     *strchr(p = strchr(yytext, '"') + 1, '"') = '\0';
4296     else
4297     *strchr(++p, '>') = '\0';
4298    
4299     /* log(L_NOTICE, "got include %s!", c); */
4300    
4301     /* do stacking and co. */
4302     if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
4303 michael 1247 ilog(LOG_TYPE_IRCD, "Includes nested too deep in %s", p);
4304 michael 913 else
4305     {
4306 michael 1325 FILE *tmp_fbfile_in = NULL;
4307 michael 913 char filenamebuf[IRCD_BUFSIZE];
4308    
4309     if (*p == '/') /* if it is an absolute path */
4310     snprintf(filenamebuf, sizeof(filenamebuf), "%s", p);
4311     else
4312     snprintf(filenamebuf, sizeof(filenamebuf), "%s/%s", ETCPATH, p);
4313    
4314 michael 1325 tmp_fbfile_in = fopen(filenamebuf, "r");
4315 michael 913
4316     if (tmp_fbfile_in == NULL)
4317     {
4318 michael 1247 ilog(LOG_TYPE_IRCD, "Unable to read configuration file '%s': %s",
4319 michael 913 filenamebuf, strerror(errno));
4320     return;
4321     }
4322    
4323     lineno_stack[include_stack_ptr] = lineno;
4324     lineno = 1;
4325 michael 967 inc_fbfile_in[include_stack_ptr] = conf_parser_ctx.conf_file;
4326 michael 913 strlcpy(conffile_stack[include_stack_ptr], conffilebuf, IRCD_BUFSIZE);
4327     include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER;
4328 michael 967 conf_parser_ctx.conf_file = tmp_fbfile_in;
4329 michael 913 snprintf(conffilebuf, sizeof(conffilebuf), "%s", filenamebuf);
4330     yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE));
4331     }
4332     }
4333    
4334     /* This is function that will be called on EOF in conf file. It will
4335     * apropriately close conf if it not main conf and swap input buffers -kre
4336     * */
4337     static int
4338     ieof(void)
4339     {
4340     /* log(L_NOTICE, "return from include stack!"); */
4341     if (include_stack_ptr)
4342 michael 1325 fclose(conf_parser_ctx.conf_file);
4343 michael 913 if (--include_stack_ptr < 0)
4344     {
4345     /* log(L_NOTICE, "terminating lexer"); */
4346     /* We will now exit the lexer - restore init values if we get /rehash
4347     * later and reenter lexer -kre */
4348     include_stack_ptr = 0;
4349     lineno = 1;
4350     return 1;
4351     }
4352    
4353     /* switch buffer */
4354     /* log(L_NOTICE, "deleting include_stack_ptr=%d", include_stack_ptr); */
4355     yy_delete_buffer(YY_CURRENT_BUFFER);
4356     lineno = lineno_stack[include_stack_ptr];
4357 michael 967 conf_parser_ctx.conf_file = inc_fbfile_in[include_stack_ptr];
4358 michael 913 strlcpy(conffilebuf, conffile_stack[include_stack_ptr], sizeof(conffilebuf));
4359     yy_switch_to_buffer(include_stack[include_stack_ptr]);
4360    
4361     return 0;
4362     }
4363    

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision