ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1851
Committed: Wed Apr 24 18:31:06 2013 UTC (12 years, 4 months ago) by michael
Content type: text/x-csrc
File size: 140850 byte(s)
Log Message:
- Cleanup m_map.c
- Implemented serverhide::hide_services configuration option

File Contents

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

Properties

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