ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-7.2/src/lex.yy.c
Revision: 711
Committed: Sat Jul 8 12:02:15 2006 UTC (20 years, 1 month ago) by michael
Content type: text/x-csrc
File size: 126256 byte(s)
Log Message:
- Also show the full path of .included configuration files when reporting
  syntax errors.  This is just cosmetical.

File Contents

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

Properties

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