ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1946
Committed: Sun May 5 10:21:40 2013 UTC (12 years, 3 months ago) by michael
Content type: text/x-csrc
File size: 139450 byte(s)
Log Message:
- Removed channel::quiet_on_ban configuration option. This feature is
  now enabled by default

File Contents

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

Properties

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