ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/src/lex.yy.c
Revision: 31
Committed: Sun Oct 2 20:34:05 2005 UTC (19 years, 10 months ago) by knight
Content type: text/x-csrc
File size: 125794 byte(s)
Log Message:
- Fix svn:keywords

File Contents

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

Properties

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