ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 8866
Committed: Sat Feb 16 09:57:48 2019 UTC (5 years, 1 month ago) by michael
Content type: text/x-csrc
File size: 142551 byte(s)
Log Message:
- Regenerate parser files

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

Properties

Name Value
svn:eol-style native