ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1644
Committed: Tue Nov 6 22:20:16 2012 UTC (12 years, 9 months ago) by michael
Content type: text/x-csrc
File size: 137757 byte(s)
Log Message:
- More config subsystem cleanups

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

Properties

Name Value
svn:eol-style native