ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/src/lex.yy.c
Revision: 55
Committed: Mon Oct 3 11:15:26 2005 UTC (20 years, 10 months ago) by michael
Content type: text/x-csrc
File size: 125757 byte(s)
Log Message:
- Re-added an equivalent of H6's sixth O-line field (Modes to get on operup).
- Updated efnet's example.conf to reflect the new
  opers_bypass_callerid directive
- Misc style corrections to s_user.c while on it

File Contents

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

Properties

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