ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.0.x/src/conf_lexer.c
Revision: 1871
Committed: Fri Apr 26 08:53:04 2013 UTC (13 years, 5 months ago) by michael
Content type: text/x-csrc
File size: 141432 byte(s)
Log Message:
- Reverted to -r1820; libGeoIP support is sheduled for  8.1

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

Properties

Name Value
svn:eol-style native