ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1783
Committed: Thu Jan 24 19:26:51 2013 UTC (11 years, 2 months ago) by michael
Content type: text/x-csrc
File size: 141211 byte(s)
Log Message:
- Forward-port -r1774:
  - Configuration parser now does support 'year' and 'month' units
  - Add support for fake idle times to /whois. Known from csircd, this
    adds min_idle, and max_idle configuration directives to class{} blocks

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

Properties

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