ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1520
Committed: Wed Sep 5 15:50:02 2012 UTC (11 years, 6 months ago) by michael
Content type: text/x-csrc
Original Path: ircd-hybrid-8/src/conf_lexer.c
File size: 140466 byte(s)
Log Message:
- removed unused terminal symbols

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

Properties

Name Value
svn:eol-style native