ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1666
Committed: Sun Nov 18 17:03:18 2012 UTC (12 years, 9 months ago) by michael
Content type: text/x-csrc
File size: 137666 byte(s)
Log Message:
- Cleanup unused header file includes
- Fixed minor compile warning in conf.c

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$
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 "log.h"
1658
1659 #undef YY_INPUT
1660 #define YY_FATAL_ERROR(msg) conf_yy_fatal_error(msg)
1661 #define YY_INPUT(buf,result,max_size) \
1662 if (!(result = conf_yy_input(buf, max_size))) \
1663 YY_FATAL_ERROR("input in flex scanner failed");
1664 #define MAX_INCLUDE_DEPTH 10
1665
1666
1667 unsigned int lineno = 1;
1668 char linebuf[IRCD_BUFSIZE];
1669 char conffilebuf[IRCD_BUFSIZE];
1670
1671 static int include_stack_ptr = 0;
1672 static YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
1673 static unsigned int lineno_stack[MAX_INCLUDE_DEPTH];
1674 static FILE *inc_fbfile_in[MAX_INCLUDE_DEPTH];
1675 static char conffile_stack[MAX_INCLUDE_DEPTH][IRCD_BUFSIZE];
1676 static void ccomment(void);
1677 static void cinclude(void);
1678 static int ieof(void);
1679
1680 static int
1681 conf_yy_input(char *lbuf, unsigned int max_size)
1682 {
1683 return !fgets(lbuf, max_size, conf_parser_ctx.conf_file) ? 0 : strlen(lbuf);
1684 }
1685
1686 static int
1687 conf_yy_fatal_error(const char *msg)
1688 {
1689 return 0;
1690 }
1691
1692 #line 1693 "conf_lexer.c"
1693
1694 #define INITIAL 0
1695
1696 #ifndef YY_NO_UNISTD_H
1697 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1698 * down here because we want the user's section 1 to have been scanned first.
1699 * The user has a chance to override it with an option.
1700 */
1701 #include <unistd.h>
1702 #endif
1703
1704 #ifndef YY_EXTRA_TYPE
1705 #define YY_EXTRA_TYPE void *
1706 #endif
1707
1708 static int yy_init_globals (void );
1709
1710 /* Accessor methods to globals.
1711 These are made visible to non-reentrant scanners for convenience. */
1712
1713 int yylex_destroy (void );
1714
1715 int yyget_debug (void );
1716
1717 void yyset_debug (int debug_flag );
1718
1719 YY_EXTRA_TYPE yyget_extra (void );
1720
1721 void yyset_extra (YY_EXTRA_TYPE user_defined );
1722
1723 FILE *yyget_in (void );
1724
1725 void yyset_in (FILE * in_str );
1726
1727 FILE *yyget_out (void );
1728
1729 void yyset_out (FILE * out_str );
1730
1731 yy_size_t yyget_leng (void );
1732
1733 char *yyget_text (void );
1734
1735 int yyget_lineno (void );
1736
1737 void yyset_lineno (int line_number );
1738
1739 /* Macros after this point can all be overridden by user definitions in
1740 * section 1.
1741 */
1742
1743 #ifndef YY_SKIP_YYWRAP
1744 #ifdef __cplusplus
1745 extern "C" int yywrap (void );
1746 #else
1747 extern int yywrap (void );
1748 #endif
1749 #endif
1750
1751 #ifndef yytext_ptr
1752 static void yy_flex_strncpy (char *,yyconst char *,int );
1753 #endif
1754
1755 #ifdef YY_NEED_STRLEN
1756 static int yy_flex_strlen (yyconst char * );
1757 #endif
1758
1759 #ifndef YY_NO_INPUT
1760
1761 #ifdef __cplusplus
1762 static int yyinput (void );
1763 #else
1764 static int input (void );
1765 #endif
1766
1767 #endif
1768
1769 /* Amount of stuff to slurp up with each read. */
1770 #ifndef YY_READ_BUF_SIZE
1771 #define YY_READ_BUF_SIZE 8192
1772 #endif
1773
1774 /* Copy whatever the last rule matched to the standard output. */
1775 #ifndef ECHO
1776 /* This used to be an fputs(), but since the string might contain NUL's,
1777 * we now use fwrite().
1778 */
1779 #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1780 #endif
1781
1782 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1783 * is returned in "result".
1784 */
1785 #ifndef YY_INPUT
1786 #define YY_INPUT(buf,result,max_size) \
1787 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1788 { \
1789 int c = '*'; \
1790 size_t n; \
1791 for ( n = 0; n < max_size && \
1792 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1793 buf[n] = (char) c; \
1794 if ( c == '\n' ) \
1795 buf[n++] = (char) c; \
1796 if ( c == EOF && ferror( yyin ) ) \
1797 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1798 result = n; \
1799 } \
1800 else \
1801 { \
1802 errno=0; \
1803 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1804 { \
1805 if( errno != EINTR) \
1806 { \
1807 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1808 break; \
1809 } \
1810 errno=0; \
1811 clearerr(yyin); \
1812 } \
1813 }\
1814 \
1815
1816 #endif
1817
1818 /* No semi-colon after return; correct usage is to write "yyterminate();" -
1819 * we don't want an extra ';' after the "return" because that will cause
1820 * some compilers to complain about unreachable statements.
1821 */
1822 #ifndef yyterminate
1823 #define yyterminate() return YY_NULL
1824 #endif
1825
1826 /* Number of entries by which start-condition stack grows. */
1827 #ifndef YY_START_STACK_INCR
1828 #define YY_START_STACK_INCR 25
1829 #endif
1830
1831 /* Report a fatal error. */
1832 #ifndef YY_FATAL_ERROR
1833 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1834 #endif
1835
1836 /* end tables serialization structures and prototypes */
1837
1838 /* Default declaration of generated scanner - a define so the user can
1839 * easily add parameters.
1840 */
1841 #ifndef YY_DECL
1842 #define YY_DECL_IS_OURS 1
1843
1844 extern int yylex (void);
1845
1846 #define YY_DECL int yylex (void)
1847 #endif /* !YY_DECL */
1848
1849 /* Code executed at the beginning of each rule, after yytext and yyleng
1850 * have been set up.
1851 */
1852 #ifndef YY_USER_ACTION
1853 #define YY_USER_ACTION
1854 #endif
1855
1856 /* Code executed at the end of each rule. */
1857 #ifndef YY_BREAK
1858 #define YY_BREAK break;
1859 #endif
1860
1861 #define YY_RULE_SETUP \
1862 YY_USER_ACTION
1863
1864 /** The main scanner function which does all the work.
1865 */
1866 YY_DECL
1867 {
1868 register yy_state_type yy_current_state;
1869 register char *yy_cp, *yy_bp;
1870 register int yy_act;
1871
1872 #line 78 "conf_lexer.l"
1873
1874 #line 1875 "conf_lexer.c"
1875
1876 if ( !(yy_init) )
1877 {
1878 (yy_init) = 1;
1879
1880 #ifdef YY_USER_INIT
1881 YY_USER_INIT;
1882 #endif
1883
1884 if ( ! (yy_start) )
1885 (yy_start) = 1; /* first start state */
1886
1887 if ( ! yyin )
1888 yyin = stdin;
1889
1890 if ( ! yyout )
1891 yyout = stdout;
1892
1893 if ( ! YY_CURRENT_BUFFER ) {
1894 yyensure_buffer_stack ();
1895 YY_CURRENT_BUFFER_LVALUE =
1896 yy_create_buffer(yyin,YY_BUF_SIZE );
1897 }
1898
1899 yy_load_buffer_state( );
1900 }
1901
1902 while ( 1 ) /* loops until end-of-file is reached */
1903 {
1904 (yy_more_len) = 0;
1905 if ( (yy_more_flag) )
1906 {
1907 (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
1908 (yy_more_flag) = 0;
1909 }
1910 yy_cp = (yy_c_buf_p);
1911
1912 /* Support of yytext. */
1913 *yy_cp = (yy_hold_char);
1914
1915 /* yy_bp points to the position in yy_ch_buf of the start of
1916 * the current run.
1917 */
1918 yy_bp = yy_cp;
1919
1920 yy_current_state = (yy_start);
1921 yy_match:
1922 do
1923 {
1924 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1925 if ( yy_accept[yy_current_state] )
1926 {
1927 (yy_last_accepting_state) = yy_current_state;
1928 (yy_last_accepting_cpos) = yy_cp;
1929 }
1930 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1931 {
1932 yy_current_state = (int) yy_def[yy_current_state];
1933 if ( yy_current_state >= 1539 )
1934 yy_c = yy_meta[(unsigned int) yy_c];
1935 }
1936 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1937 ++yy_cp;
1938 }
1939 while ( yy_current_state != 1538 );
1940 yy_cp = (yy_last_accepting_cpos);
1941 yy_current_state = (yy_last_accepting_state);
1942
1943 yy_find_action:
1944 yy_act = yy_accept[yy_current_state];
1945
1946 YY_DO_BEFORE_ACTION;
1947
1948 do_action: /* This label is used only to access EOF actions. */
1949
1950 switch ( yy_act )
1951 { /* beginning of action switch */
1952 case 0: /* must back up */
1953 /* undo the effects of YY_DO_BEFORE_ACTION */
1954 *yy_cp = (yy_hold_char);
1955 yy_cp = (yy_last_accepting_cpos);
1956 yy_current_state = (yy_last_accepting_state);
1957 goto yy_find_action;
1958
1959 case 1:
1960 YY_RULE_SETUP
1961 #line 79 "conf_lexer.l"
1962 { cinclude(); }
1963 YY_BREAK
1964 case 2:
1965 YY_RULE_SETUP
1966 #line 80 "conf_lexer.l"
1967 { ccomment(); }
1968 YY_BREAK
1969 case 3:
1970 /* rule 3 can match eol */
1971 YY_RULE_SETUP
1972 #line 82 "conf_lexer.l"
1973 { strlcpy(linebuf, yytext+1, sizeof(linebuf)); ++lineno; yyless(1); }
1974 YY_BREAK
1975 case 4:
1976 YY_RULE_SETUP
1977 #line 84 "conf_lexer.l"
1978 ;
1979 YY_BREAK
1980 case 5:
1981 YY_RULE_SETUP
1982 #line 85 "conf_lexer.l"
1983 ;
1984 YY_BREAK
1985 case 6:
1986 YY_RULE_SETUP
1987 #line 87 "conf_lexer.l"
1988 { yylval.number = atoi(yytext); return NUMBER; }
1989 YY_BREAK
1990 case 7:
1991 /* rule 7 can match eol */
1992 YY_RULE_SETUP
1993 #line 89 "conf_lexer.l"
1994 { if (yytext[yyleng-2] == '\\')
1995 {
1996 yyless(yyleng-1); /* return last quote */
1997 yymore(); /* append next string */
1998 }
1999 else
2000 {
2001 yylval.string = yytext+1;
2002 if(yylval.string[yyleng-2] != '"')
2003 ilog(LOG_TYPE_IRCD, "Unterminated character string");
2004 else
2005 {
2006 int i,j;
2007
2008 yylval.string[yyleng-2] = '\0'; /* remove close
2009 * quote
2010 */
2011
2012 for (j=i=0 ;yylval.string[i] != '\0'; i++,j++)
2013 {
2014 if (yylval.string[i] != '\\')
2015 {
2016 yylval.string[j] = yylval.string[i];
2017 }
2018 else
2019 {
2020 i++;
2021 if (yylval.string[i] == '\0') /* XXX
2022 * should not
2023 * happen
2024 */
2025 {
2026 ilog(LOG_TYPE_IRCD,
2027 "Unterminated character string");
2028 break;
2029 }
2030 yylval.string[j] = yylval.string[i];
2031 }
2032 }
2033 yylval.string[j] = '\0';
2034 return QSTRING;
2035 }
2036 }
2037 }
2038 YY_BREAK
2039 case 8:
2040 YY_RULE_SETUP
2041 #line 134 "conf_lexer.l"
2042 { return ACCEPT_PASSWORD; }
2043 YY_BREAK
2044 case 9:
2045 YY_RULE_SETUP
2046 #line 135 "conf_lexer.l"
2047 { return ADMIN; }
2048 YY_BREAK
2049 case 10:
2050 YY_RULE_SETUP
2051 #line 136 "conf_lexer.l"
2052 { return ADMIN; }
2053 YY_BREAK
2054 case 11:
2055 YY_RULE_SETUP
2056 #line 137 "conf_lexer.l"
2057 { return AFTYPE; }
2058 YY_BREAK
2059 case 12:
2060 YY_RULE_SETUP
2061 #line 138 "conf_lexer.l"
2062 { return T_ALL; }
2063 YY_BREAK
2064 case 13:
2065 YY_RULE_SETUP
2066 #line 139 "conf_lexer.l"
2067 { return IRCD_AUTH; }
2068 YY_BREAK
2069 case 14:
2070 YY_RULE_SETUP
2071 #line 140 "conf_lexer.l"
2072 { return AUTOCONN; }
2073 YY_BREAK
2074 case 15:
2075 YY_RULE_SETUP
2076 #line 141 "conf_lexer.l"
2077 { return CAN_FLOOD; }
2078 YY_BREAK
2079 case 16:
2080 YY_RULE_SETUP
2081 #line 142 "conf_lexer.l"
2082 { return CALLER_ID_WAIT; }
2083 YY_BREAK
2084 case 17:
2085 YY_RULE_SETUP
2086 #line 143 "conf_lexer.l"
2087 { return OPERS_BYPASS_CALLERID; }
2088 YY_BREAK
2089 case 18:
2090 YY_RULE_SETUP
2091 #line 144 "conf_lexer.l"
2092 { return CHANNEL; }
2093 YY_BREAK
2094 case 19:
2095 YY_RULE_SETUP
2096 #line 145 "conf_lexer.l"
2097 { return CIDR_BITLEN_IPV4; }
2098 YY_BREAK
2099 case 20:
2100 YY_RULE_SETUP
2101 #line 146 "conf_lexer.l"
2102 { return CIDR_BITLEN_IPV6; }
2103 YY_BREAK
2104 case 21:
2105 YY_RULE_SETUP
2106 #line 147 "conf_lexer.l"
2107 { return CLASS; }
2108 YY_BREAK
2109 case 22:
2110 YY_RULE_SETUP
2111 #line 148 "conf_lexer.l"
2112 { return T_CLUSTER; }
2113 YY_BREAK
2114 case 23:
2115 YY_RULE_SETUP
2116 #line 149 "conf_lexer.l"
2117 { return CONNECT; }
2118 YY_BREAK
2119 case 24:
2120 YY_RULE_SETUP
2121 #line 150 "conf_lexer.l"
2122 { return CONNECTFREQ; }
2123 YY_BREAK
2124 case 25:
2125 YY_RULE_SETUP
2126 #line 151 "conf_lexer.l"
2127 { return DEFAULT_FLOODCOUNT; }
2128 YY_BREAK
2129 case 26:
2130 YY_RULE_SETUP
2131 #line 152 "conf_lexer.l"
2132 { return DEFAULT_SPLIT_SERVER_COUNT; }
2133 YY_BREAK
2134 case 27:
2135 YY_RULE_SETUP
2136 #line 153 "conf_lexer.l"
2137 { return DEFAULT_SPLIT_USER_COUNT; }
2138 YY_BREAK
2139 case 28:
2140 YY_RULE_SETUP
2141 #line 154 "conf_lexer.l"
2142 { return DENY; }
2143 YY_BREAK
2144 case 29:
2145 YY_RULE_SETUP
2146 #line 155 "conf_lexer.l"
2147 { return DESCRIPTION; }
2148 YY_BREAK
2149 case 30:
2150 YY_RULE_SETUP
2151 #line 156 "conf_lexer.l"
2152 { return DIE; }
2153 YY_BREAK
2154 case 31:
2155 YY_RULE_SETUP
2156 #line 157 "conf_lexer.l"
2157 { return DISABLE_AUTH; }
2158 YY_BREAK
2159 case 32:
2160 YY_RULE_SETUP
2161 #line 158 "conf_lexer.l"
2162 { return DISABLE_FAKE_CHANNELS; }
2163 YY_BREAK
2164 case 33:
2165 YY_RULE_SETUP
2166 #line 159 "conf_lexer.l"
2167 { return DISABLE_REMOTE_COMMANDS; }
2168 YY_BREAK
2169 case 34:
2170 YY_RULE_SETUP
2171 #line 160 "conf_lexer.l"
2172 { return T_DLINE; }
2173 YY_BREAK
2174 case 35:
2175 YY_RULE_SETUP
2176 #line 161 "conf_lexer.l"
2177 { return DOTS_IN_IDENT; }
2178 YY_BREAK
2179 case 36:
2180 YY_RULE_SETUP
2181 #line 162 "conf_lexer.l"
2182 { return EGDPOOL_PATH; }
2183 YY_BREAK
2184 case 37:
2185 YY_RULE_SETUP
2186 #line 163 "conf_lexer.l"
2187 { return EMAIL; }
2188 YY_BREAK
2189 case 38:
2190 YY_RULE_SETUP
2191 #line 164 "conf_lexer.l"
2192 { return ENCRYPTED; }
2193 YY_BREAK
2194 case 39:
2195 YY_RULE_SETUP
2196 #line 165 "conf_lexer.l"
2197 { return EXCEED_LIMIT; }
2198 YY_BREAK
2199 case 40:
2200 YY_RULE_SETUP
2201 #line 166 "conf_lexer.l"
2202 { return EXEMPT; }
2203 YY_BREAK
2204 case 41:
2205 YY_RULE_SETUP
2206 #line 167 "conf_lexer.l"
2207 { return T_FILE; }
2208 YY_BREAK
2209 case 42:
2210 YY_RULE_SETUP
2211 #line 168 "conf_lexer.l"
2212 { return IRCD_FLAGS; }
2213 YY_BREAK
2214 case 43:
2215 YY_RULE_SETUP
2216 #line 169 "conf_lexer.l"
2217 { return FLATTEN_LINKS; }
2218 YY_BREAK
2219 case 44:
2220 YY_RULE_SETUP
2221 #line 170 "conf_lexer.l"
2222 { return GECOS; }
2223 YY_BREAK
2224 case 45:
2225 YY_RULE_SETUP
2226 #line 171 "conf_lexer.l"
2227 { return GENERAL; }
2228 YY_BREAK
2229 case 46:
2230 YY_RULE_SETUP
2231 #line 172 "conf_lexer.l"
2232 { return GLINE; }
2233 YY_BREAK
2234 case 47:
2235 YY_RULE_SETUP
2236 #line 173 "conf_lexer.l"
2237 { return GLINE_ENABLE; }
2238 YY_BREAK
2239 case 48:
2240 YY_RULE_SETUP
2241 #line 174 "conf_lexer.l"
2242 { return GLINE_EXEMPT; }
2243 YY_BREAK
2244 case 49:
2245 YY_RULE_SETUP
2246 #line 175 "conf_lexer.l"
2247 { return GLINE_DURATION; }
2248 YY_BREAK
2249 case 50:
2250 YY_RULE_SETUP
2251 #line 176 "conf_lexer.l"
2252 { return GLINE_REQUEST_DURATION; }
2253 YY_BREAK
2254 case 51:
2255 YY_RULE_SETUP
2256 #line 177 "conf_lexer.l"
2257 { return GLINE_MIN_CIDR; }
2258 YY_BREAK
2259 case 52:
2260 YY_RULE_SETUP
2261 #line 178 "conf_lexer.l"
2262 { return GLINE_MIN_CIDR6; }
2263 YY_BREAK
2264 case 53:
2265 YY_RULE_SETUP
2266 #line 179 "conf_lexer.l"
2267 { return T_GLOBOPS; }
2268 YY_BREAK
2269 case 54:
2270 YY_RULE_SETUP
2271 #line 180 "conf_lexer.l"
2272 { return GLOBAL_KILL; }
2273 YY_BREAK
2274 case 55:
2275 YY_RULE_SETUP
2276 #line 181 "conf_lexer.l"
2277 { return NEED_IDENT; }
2278 YY_BREAK
2279 case 56:
2280 YY_RULE_SETUP
2281 #line 182 "conf_lexer.l"
2282 { return NEED_IDENT; }
2283 YY_BREAK
2284 case 57:
2285 YY_RULE_SETUP
2286 #line 183 "conf_lexer.l"
2287 { return HAVENT_READ_CONF; }
2288 YY_BREAK
2289 case 58:
2290 YY_RULE_SETUP
2291 #line 184 "conf_lexer.l"
2292 { return HIDDEN; }
2293 YY_BREAK
2294 case 59:
2295 YY_RULE_SETUP
2296 #line 185 "conf_lexer.l"
2297 { return HIDDEN_NAME; }
2298 YY_BREAK
2299 case 60:
2300 YY_RULE_SETUP
2301 #line 186 "conf_lexer.l"
2302 { return HIDE_SERVER_IPS; }
2303 YY_BREAK
2304 case 61:
2305 YY_RULE_SETUP
2306 #line 187 "conf_lexer.l"
2307 { return HIDE_SERVERS; }
2308 YY_BREAK
2309 case 62:
2310 YY_RULE_SETUP
2311 #line 188 "conf_lexer.l"
2312 { return HIDE_SPOOF_IPS; }
2313 YY_BREAK
2314 case 63:
2315 YY_RULE_SETUP
2316 #line 189 "conf_lexer.l"
2317 { return HOST; }
2318 YY_BREAK
2319 case 64:
2320 YY_RULE_SETUP
2321 #line 190 "conf_lexer.l"
2322 { return HUB; }
2323 YY_BREAK
2324 case 65:
2325 YY_RULE_SETUP
2326 #line 191 "conf_lexer.l"
2327 { return HUB_MASK; }
2328 YY_BREAK
2329 case 66:
2330 YY_RULE_SETUP
2331 #line 192 "conf_lexer.l"
2332 { return IGNORE_BOGUS_TS; }
2333 YY_BREAK
2334 case 67:
2335 YY_RULE_SETUP
2336 #line 193 "conf_lexer.l"
2337 { return INVISIBLE_ON_CONNECT; }
2338 YY_BREAK
2339 case 68:
2340 YY_RULE_SETUP
2341 #line 194 "conf_lexer.l"
2342 { return IP; }
2343 YY_BREAK
2344 case 69:
2345 YY_RULE_SETUP
2346 #line 195 "conf_lexer.l"
2347 { return T_IPV4; }
2348 YY_BREAK
2349 case 70:
2350 YY_RULE_SETUP
2351 #line 196 "conf_lexer.l"
2352 { return T_IPV6; }
2353 YY_BREAK
2354 case 71:
2355 YY_RULE_SETUP
2356 #line 197 "conf_lexer.l"
2357 { return JOIN_FLOOD_COUNT; }
2358 YY_BREAK
2359 case 72:
2360 YY_RULE_SETUP
2361 #line 198 "conf_lexer.l"
2362 { return JOIN_FLOOD_TIME; }
2363 YY_BREAK
2364 case 73:
2365 YY_RULE_SETUP
2366 #line 199 "conf_lexer.l"
2367 { return KILL; }
2368 YY_BREAK
2369 case 74:
2370 YY_RULE_SETUP
2371 #line 200 "conf_lexer.l"
2372 { return KILL_CHASE_TIME_LIMIT; }
2373 YY_BREAK
2374 case 75:
2375 YY_RULE_SETUP
2376 #line 201 "conf_lexer.l"
2377 { return KLINE; }
2378 YY_BREAK
2379 case 76:
2380 YY_RULE_SETUP
2381 #line 202 "conf_lexer.l"
2382 { return KLINE_EXEMPT; }
2383 YY_BREAK
2384 case 77:
2385 YY_RULE_SETUP
2386 #line 203 "conf_lexer.l"
2387 { return LEAF_MASK; }
2388 YY_BREAK
2389 case 78:
2390 YY_RULE_SETUP
2391 #line 204 "conf_lexer.l"
2392 { return LISTEN; }
2393 YY_BREAK
2394 case 79:
2395 YY_RULE_SETUP
2396 #line 205 "conf_lexer.l"
2397 { return T_LOG; }
2398 YY_BREAK
2399 case 80:
2400 YY_RULE_SETUP
2401 #line 206 "conf_lexer.l"
2402 { return TMASKED; }
2403 YY_BREAK
2404 case 81:
2405 YY_RULE_SETUP
2406 #line 207 "conf_lexer.l"
2407 { return T_MAX_CLIENTS; }
2408 YY_BREAK
2409 case 82:
2410 YY_RULE_SETUP
2411 #line 208 "conf_lexer.l"
2412 { return MAX_IDENT; }
2413 YY_BREAK
2414 case 83:
2415 YY_RULE_SETUP
2416 #line 209 "conf_lexer.l"
2417 { return MAX_LOCAL; }
2418 YY_BREAK
2419 case 84:
2420 YY_RULE_SETUP
2421 #line 210 "conf_lexer.l"
2422 { return MAX_GLOBAL; }
2423 YY_BREAK
2424 case 85:
2425 YY_RULE_SETUP
2426 #line 211 "conf_lexer.l"
2427 { return MAX_NUMBER; }
2428 YY_BREAK
2429 case 86:
2430 YY_RULE_SETUP
2431 #line 212 "conf_lexer.l"
2432 { return MAX_WATCH; }
2433 YY_BREAK
2434 case 87:
2435 YY_RULE_SETUP
2436 #line 213 "conf_lexer.l"
2437 { return MESSAGE_LOCALE; }
2438 YY_BREAK
2439 case 88:
2440 YY_RULE_SETUP
2441 #line 214 "conf_lexer.l"
2442 { return MIN_NONWILDCARD; }
2443 YY_BREAK
2444 case 89:
2445 YY_RULE_SETUP
2446 #line 215 "conf_lexer.l"
2447 { return MIN_NONWILDCARD_SIMPLE; }
2448 YY_BREAK
2449 case 90:
2450 YY_RULE_SETUP
2451 #line 216 "conf_lexer.l"
2452 { return NAME; }
2453 YY_BREAK
2454 case 91:
2455 YY_RULE_SETUP
2456 #line 217 "conf_lexer.l"
2457 { return NEED_PASSWORD; }
2458 YY_BREAK
2459 case 92:
2460 YY_RULE_SETUP
2461 #line 218 "conf_lexer.l"
2462 { return NETWORK_DESC; }
2463 YY_BREAK
2464 case 93:
2465 YY_RULE_SETUP
2466 #line 219 "conf_lexer.l"
2467 { return NETWORK_NAME; }
2468 YY_BREAK
2469 case 94:
2470 YY_RULE_SETUP
2471 #line 220 "conf_lexer.l"
2472 { return NICK; }
2473 YY_BREAK
2474 case 95:
2475 YY_RULE_SETUP
2476 #line 221 "conf_lexer.l"
2477 { return NICK_CHANGES; }
2478 YY_BREAK
2479 case 96:
2480 YY_RULE_SETUP
2481 #line 222 "conf_lexer.l"
2482 { yylval.number = 0; return TBOOL; }
2483 YY_BREAK
2484 case 97:
2485 YY_RULE_SETUP
2486 #line 223 "conf_lexer.l"
2487 { return NO_CREATE_ON_SPLIT; }
2488 YY_BREAK
2489 case 98:
2490 YY_RULE_SETUP
2491 #line 224 "conf_lexer.l"
2492 { return NO_JOIN_ON_SPLIT; }
2493 YY_BREAK
2494 case 99:
2495 YY_RULE_SETUP
2496 #line 225 "conf_lexer.l"
2497 { return NO_OPER_FLOOD; }
2498 YY_BREAK
2499 case 100:
2500 YY_RULE_SETUP
2501 #line 226 "conf_lexer.l"
2502 { return NO_TILDE; }
2503 YY_BREAK
2504 case 101:
2505 YY_RULE_SETUP
2506 #line 227 "conf_lexer.l"
2507 { return NUMBER_PER_CIDR; }
2508 YY_BREAK
2509 case 102:
2510 YY_RULE_SETUP
2511 #line 228 "conf_lexer.l"
2512 { return NUMBER_PER_IP; }
2513 YY_BREAK
2514 case 103:
2515 YY_RULE_SETUP
2516 #line 229 "conf_lexer.l"
2517 { return OPERATOR; }
2518 YY_BREAK
2519 case 104:
2520 YY_RULE_SETUP
2521 #line 230 "conf_lexer.l"
2522 { return OPER_PASS_RESV; }
2523 YY_BREAK
2524 case 105:
2525 YY_RULE_SETUP
2526 #line 231 "conf_lexer.l"
2527 { return OPERATOR; }
2528 YY_BREAK
2529 case 106:
2530 YY_RULE_SETUP
2531 #line 232 "conf_lexer.l"
2532 { return PASSWORD; }
2533 YY_BREAK
2534 case 107:
2535 YY_RULE_SETUP
2536 #line 233 "conf_lexer.l"
2537 { return PASSWORD; }
2538 YY_BREAK
2539 case 108:
2540 YY_RULE_SETUP
2541 #line 234 "conf_lexer.l"
2542 { return PING_COOKIE; }
2543 YY_BREAK
2544 case 109:
2545 YY_RULE_SETUP
2546 #line 235 "conf_lexer.l"
2547 { return PING_TIME; }
2548 YY_BREAK
2549 case 110:
2550 YY_RULE_SETUP
2551 #line 236 "conf_lexer.l"
2552 { return PORT; }
2553 YY_BREAK
2554 case 111:
2555 YY_RULE_SETUP
2556 #line 237 "conf_lexer.l"
2557 { return RESV; }
2558 YY_BREAK
2559 case 112:
2560 YY_RULE_SETUP
2561 #line 238 "conf_lexer.l"
2562 { return QUIET_ON_BAN; }
2563 YY_BREAK
2564 case 113:
2565 YY_RULE_SETUP
2566 #line 239 "conf_lexer.l"
2567 { return REASON; }
2568 YY_BREAK
2569 case 114:
2570 YY_RULE_SETUP
2571 #line 240 "conf_lexer.l"
2572 { return T_RECVQ; }
2573 YY_BREAK
2574 case 115:
2575 YY_RULE_SETUP
2576 #line 241 "conf_lexer.l"
2577 { return REDIRPORT; }
2578 YY_BREAK
2579 case 116:
2580 YY_RULE_SETUP
2581 #line 242 "conf_lexer.l"
2582 { return REDIRSERV; }
2583 YY_BREAK
2584 case 117:
2585 YY_RULE_SETUP
2586 #line 243 "conf_lexer.l"
2587 { return REGEX_T; }
2588 YY_BREAK
2589 case 118:
2590 YY_RULE_SETUP
2591 #line 244 "conf_lexer.l"
2592 { return REHASH; }
2593 YY_BREAK
2594 case 119:
2595 YY_RULE_SETUP
2596 #line 245 "conf_lexer.l"
2597 { return REMOTE; }
2598 YY_BREAK
2599 case 120:
2600 YY_RULE_SETUP
2601 #line 246 "conf_lexer.l"
2602 { return REMOTEBAN; }
2603 YY_BREAK
2604 case 121:
2605 YY_RULE_SETUP
2606 #line 247 "conf_lexer.l"
2607 { return T_RESTART; }
2608 YY_BREAK
2609 case 122:
2610 YY_RULE_SETUP
2611 #line 248 "conf_lexer.l"
2612 { return RESTRICT_CHANNELS; }
2613 YY_BREAK
2614 case 123:
2615 YY_RULE_SETUP
2616 #line 249 "conf_lexer.l"
2617 { return RESV; }
2618 YY_BREAK
2619 case 124:
2620 YY_RULE_SETUP
2621 #line 250 "conf_lexer.l"
2622 { return RESV_EXEMPT; }
2623 YY_BREAK
2624 case 125:
2625 YY_RULE_SETUP
2626 #line 251 "conf_lexer.l"
2627 { return RSA_PRIVATE_KEY_FILE; }
2628 YY_BREAK
2629 case 126:
2630 YY_RULE_SETUP
2631 #line 252 "conf_lexer.l"
2632 { return RSA_PUBLIC_KEY_FILE; }
2633 YY_BREAK
2634 case 127:
2635 YY_RULE_SETUP
2636 #line 253 "conf_lexer.l"
2637 { return T_SSL; }
2638 YY_BREAK
2639 case 128:
2640 YY_RULE_SETUP
2641 #line 254 "conf_lexer.l"
2642 { return SSL_CERTIFICATE_FILE; }
2643 YY_BREAK
2644 case 129:
2645 YY_RULE_SETUP
2646 #line 255 "conf_lexer.l"
2647 { return T_SSL_CLIENT_METHOD; }
2648 YY_BREAK
2649 case 130:
2650 YY_RULE_SETUP
2651 #line 256 "conf_lexer.l"
2652 { return T_SSL_SERVER_METHOD; }
2653 YY_BREAK
2654 case 131:
2655 YY_RULE_SETUP
2656 #line 257 "conf_lexer.l"
2657 { return SSL_DH_PARAM_FILE; }
2658 YY_BREAK
2659 case 132:
2660 YY_RULE_SETUP
2661 #line 258 "conf_lexer.l"
2662 { return T_SSL_CIPHER_LIST; }
2663 YY_BREAK
2664 case 133:
2665 YY_RULE_SETUP
2666 #line 259 "conf_lexer.l"
2667 { return T_SSLV3; }
2668 YY_BREAK
2669 case 134:
2670 YY_RULE_SETUP
2671 #line 260 "conf_lexer.l"
2672 { return T_TLSV1; }
2673 YY_BREAK
2674 case 135:
2675 YY_RULE_SETUP
2676 #line 261 "conf_lexer.l"
2677 { return SEND_PASSWORD; }
2678 YY_BREAK
2679 case 136:
2680 YY_RULE_SETUP
2681 #line 262 "conf_lexer.l"
2682 { return SENDQ; }
2683 YY_BREAK
2684 case 137:
2685 YY_RULE_SETUP
2686 #line 263 "conf_lexer.l"
2687 { return T_SERVER; }
2688 YY_BREAK
2689 case 138:
2690 YY_RULE_SETUP
2691 #line 264 "conf_lexer.l"
2692 { return SERVERHIDE; }
2693 YY_BREAK
2694 case 139:
2695 YY_RULE_SETUP
2696 #line 265 "conf_lexer.l"
2697 { return SERVERINFO; }
2698 YY_BREAK
2699 case 140:
2700 YY_RULE_SETUP
2701 #line 266 "conf_lexer.l"
2702 { return T_SERVICE; }
2703 YY_BREAK
2704 case 141:
2705 YY_RULE_SETUP
2706 #line 267 "conf_lexer.l"
2707 { return T_SERVICES_NAME; }
2708 YY_BREAK
2709 case 142:
2710 YY_RULE_SETUP
2711 #line 268 "conf_lexer.l"
2712 { return T_SET; }
2713 YY_BREAK
2714 case 143:
2715 YY_RULE_SETUP
2716 #line 269 "conf_lexer.l"
2717 { return T_SHARED; }
2718 YY_BREAK
2719 case 144:
2720 YY_RULE_SETUP
2721 #line 270 "conf_lexer.l"
2722 { return SHORT_MOTD; }
2723 YY_BREAK
2724 case 145:
2725 YY_RULE_SETUP
2726 #line 271 "conf_lexer.l"
2727 { return IRCD_SID; }
2728 YY_BREAK
2729 case 146:
2730 YY_RULE_SETUP
2731 #line 272 "conf_lexer.l"
2732 { return T_SIZE; }
2733 YY_BREAK
2734 case 147:
2735 YY_RULE_SETUP
2736 #line 273 "conf_lexer.l"
2737 { return SPOOF; }
2738 YY_BREAK
2739 case 148:
2740 YY_RULE_SETUP
2741 #line 274 "conf_lexer.l"
2742 { return SPOOF_NOTICE; }
2743 YY_BREAK
2744 case 149:
2745 YY_RULE_SETUP
2746 #line 275 "conf_lexer.l"
2747 { return TKLINE_EXPIRE_NOTICES; }
2748 YY_BREAK
2749 case 150:
2750 YY_RULE_SETUP
2751 #line 276 "conf_lexer.l"
2752 { return TYPE; }
2753 YY_BREAK
2754 case 151:
2755 YY_RULE_SETUP
2756 #line 277 "conf_lexer.l"
2757 { return TRUE_NO_OPER_FLOOD; }
2758 YY_BREAK
2759 case 152:
2760 YY_RULE_SETUP
2761 #line 278 "conf_lexer.l"
2762 { return T_UMODES; }
2763 YY_BREAK
2764 case 153:
2765 YY_RULE_SETUP
2766 #line 279 "conf_lexer.l"
2767 { return UNKLINE; }
2768 YY_BREAK
2769 case 154:
2770 YY_RULE_SETUP
2771 #line 280 "conf_lexer.l"
2772 { return T_UNDLINE; }
2773 YY_BREAK
2774 case 155:
2775 YY_RULE_SETUP
2776 #line 281 "conf_lexer.l"
2777 { return T_UNLIMITED; }
2778 YY_BREAK
2779 case 156:
2780 YY_RULE_SETUP
2781 #line 282 "conf_lexer.l"
2782 { return USE_EGD; }
2783 YY_BREAK
2784 case 157:
2785 YY_RULE_SETUP
2786 #line 283 "conf_lexer.l"
2787 { return USE_LOGGING; }
2788 YY_BREAK
2789 case 158:
2790 YY_RULE_SETUP
2791 #line 284 "conf_lexer.l"
2792 { return THROTTLE_TIME; }
2793 YY_BREAK
2794 case 159:
2795 YY_RULE_SETUP
2796 #line 285 "conf_lexer.l"
2797 { return USER; }
2798 YY_BREAK
2799 case 160:
2800 YY_RULE_SETUP
2801 #line 286 "conf_lexer.l"
2802 { return VHOST; }
2803 YY_BREAK
2804 case 161:
2805 YY_RULE_SETUP
2806 #line 287 "conf_lexer.l"
2807 { return VHOST6; }
2808 YY_BREAK
2809 case 162:
2810 YY_RULE_SETUP
2811 #line 288 "conf_lexer.l"
2812 { return XLINE; }
2813 YY_BREAK
2814 case 163:
2815 YY_RULE_SETUP
2816 #line 289 "conf_lexer.l"
2817 { yylval.number = 1; return TBOOL; }
2818 YY_BREAK
2819 case 164:
2820 YY_RULE_SETUP
2821 #line 291 "conf_lexer.l"
2822 { return FAILED_OPER_NOTICE; }
2823 YY_BREAK
2824 case 165:
2825 YY_RULE_SETUP
2826 #line 292 "conf_lexer.l"
2827 { return MAX_ACCEPT; }
2828 YY_BREAK
2829 case 166:
2830 YY_RULE_SETUP
2831 #line 293 "conf_lexer.l"
2832 { return MAX_NICK_CHANGES; }
2833 YY_BREAK
2834 case 167:
2835 YY_RULE_SETUP
2836 #line 294 "conf_lexer.l"
2837 { return MAX_CHANS_PER_OPER; }
2838 YY_BREAK
2839 case 168:
2840 YY_RULE_SETUP
2841 #line 295 "conf_lexer.l"
2842 { return MAX_CHANS_PER_USER; }
2843 YY_BREAK
2844 case 169:
2845 YY_RULE_SETUP
2846 #line 296 "conf_lexer.l"
2847 { return MAX_NICK_TIME; }
2848 YY_BREAK
2849 case 170:
2850 YY_RULE_SETUP
2851 #line 297 "conf_lexer.l"
2852 { return ANTI_NICK_FLOOD; }
2853 YY_BREAK
2854 case 171:
2855 YY_RULE_SETUP
2856 #line 298 "conf_lexer.l"
2857 { return ANTI_SPAM_EXIT_MESSAGE_TIME; }
2858 YY_BREAK
2859 case 172:
2860 YY_RULE_SETUP
2861 #line 299 "conf_lexer.l"
2862 { return TS_MAX_DELTA; }
2863 YY_BREAK
2864 case 173:
2865 YY_RULE_SETUP
2866 #line 300 "conf_lexer.l"
2867 { return TS_WARN_DELTA; }
2868 YY_BREAK
2869 case 174:
2870 YY_RULE_SETUP
2871 #line 301 "conf_lexer.l"
2872 { return LINKS_DELAY; }
2873 YY_BREAK
2874 case 175:
2875 YY_RULE_SETUP
2876 #line 302 "conf_lexer.l"
2877 { return WARN_NO_NLINE; }
2878 YY_BREAK
2879 case 176:
2880 YY_RULE_SETUP
2881 #line 304 "conf_lexer.l"
2882 { return STATS_E_DISABLED; }
2883 YY_BREAK
2884 case 177:
2885 YY_RULE_SETUP
2886 #line 305 "conf_lexer.l"
2887 { return STATS_O_OPER_ONLY; }
2888 YY_BREAK
2889 case 178:
2890 YY_RULE_SETUP
2891 #line 306 "conf_lexer.l"
2892 { return STATS_K_OPER_ONLY; }
2893 YY_BREAK
2894 case 179:
2895 YY_RULE_SETUP
2896 #line 307 "conf_lexer.l"
2897 { return STATS_I_OPER_ONLY; }
2898 YY_BREAK
2899 case 180:
2900 YY_RULE_SETUP
2901 #line 308 "conf_lexer.l"
2902 { return STATS_P_OPER_ONLY; }
2903 YY_BREAK
2904 case 181:
2905 YY_RULE_SETUP
2906 #line 309 "conf_lexer.l"
2907 { return PACE_WAIT; }
2908 YY_BREAK
2909 case 182:
2910 YY_RULE_SETUP
2911 #line 310 "conf_lexer.l"
2912 { return PACE_WAIT_SIMPLE; }
2913 YY_BREAK
2914 case 183:
2915 YY_RULE_SETUP
2916 #line 311 "conf_lexer.l"
2917 { return KNOCK_DELAY; }
2918 YY_BREAK
2919 case 184:
2920 YY_RULE_SETUP
2921 #line 312 "conf_lexer.l"
2922 { return KNOCK_DELAY_CHANNEL; }
2923 YY_BREAK
2924 case 185:
2925 YY_RULE_SETUP
2926 #line 313 "conf_lexer.l"
2927 { return MAX_BANS; }
2928 YY_BREAK
2929 case 186:
2930 YY_RULE_SETUP
2931 #line 314 "conf_lexer.l"
2932 { return MODULES; }
2933 YY_BREAK
2934 case 187:
2935 YY_RULE_SETUP
2936 #line 315 "conf_lexer.l"
2937 { return MODULE; }
2938 YY_BREAK
2939 case 188:
2940 YY_RULE_SETUP
2941 #line 316 "conf_lexer.l"
2942 { return PATH; }
2943 YY_BREAK
2944 case 189:
2945 YY_RULE_SETUP
2946 #line 317 "conf_lexer.l"
2947 { return MAX_TARGETS; }
2948 YY_BREAK
2949 case 190:
2950 YY_RULE_SETUP
2951 #line 319 "conf_lexer.l"
2952 { return T_UNXLINE; }
2953 YY_BREAK
2954 case 191:
2955 YY_RULE_SETUP
2956 #line 320 "conf_lexer.l"
2957 { return T_UNRESV; }
2958 YY_BREAK
2959 case 192:
2960 YY_RULE_SETUP
2961 #line 322 "conf_lexer.l"
2962 { return OPER_ONLY_UMODES; }
2963 YY_BREAK
2964 case 193:
2965 YY_RULE_SETUP
2966 #line 323 "conf_lexer.l"
2967 { return OPER_UMODES; }
2968 YY_BREAK
2969 case 194:
2970 YY_RULE_SETUP
2971 #line 324 "conf_lexer.l"
2972 { return T_BOTS; }
2973 YY_BREAK
2974 case 195:
2975 YY_RULE_SETUP
2976 #line 325 "conf_lexer.l"
2977 { return T_CCONN; }
2978 YY_BREAK
2979 case 196:
2980 YY_RULE_SETUP
2981 #line 326 "conf_lexer.l"
2982 { return T_CCONN_FULL; }
2983 YY_BREAK
2984 case 197:
2985 YY_RULE_SETUP
2986 #line 327 "conf_lexer.l"
2987 { return T_DEAF; }
2988 YY_BREAK
2989 case 198:
2990 YY_RULE_SETUP
2991 #line 328 "conf_lexer.l"
2992 { return T_DEBUG; }
2993 YY_BREAK
2994 case 199:
2995 YY_RULE_SETUP
2996 #line 329 "conf_lexer.l"
2997 { return T_FULL; }
2998 YY_BREAK
2999 case 200:
3000 YY_RULE_SETUP
3001 #line 330 "conf_lexer.l"
3002 { return T_SKILL; }
3003 YY_BREAK
3004 case 201:
3005 YY_RULE_SETUP
3006 #line 331 "conf_lexer.l"
3007 { return T_NCHANGE; }
3008 YY_BREAK
3009 case 202:
3010 YY_RULE_SETUP
3011 #line 332 "conf_lexer.l"
3012 { return T_REJ; }
3013 YY_BREAK
3014 case 203:
3015 YY_RULE_SETUP
3016 #line 333 "conf_lexer.l"
3017 { return T_UNAUTH; }
3018 YY_BREAK
3019 case 204:
3020 YY_RULE_SETUP
3021 #line 334 "conf_lexer.l"
3022 { return T_SPY; }
3023 YY_BREAK
3024 case 205:
3025 YY_RULE_SETUP
3026 #line 335 "conf_lexer.l"
3027 { return T_EXTERNAL; }
3028 YY_BREAK
3029 case 206:
3030 YY_RULE_SETUP
3031 #line 336 "conf_lexer.l"
3032 { return T_OPERWALL; }
3033 YY_BREAK
3034 case 207:
3035 YY_RULE_SETUP
3036 #line 337 "conf_lexer.l"
3037 { return T_SERVNOTICE; }
3038 YY_BREAK
3039 case 208:
3040 YY_RULE_SETUP
3041 #line 338 "conf_lexer.l"
3042 { return T_INVISIBLE; }
3043 YY_BREAK
3044 case 209:
3045 YY_RULE_SETUP
3046 #line 339 "conf_lexer.l"
3047 { return T_WALLOP; }
3048 YY_BREAK
3049 case 210:
3050 YY_RULE_SETUP
3051 #line 340 "conf_lexer.l"
3052 { return T_CALLERID; }
3053 YY_BREAK
3054 case 211:
3055 YY_RULE_SETUP
3056 #line 341 "conf_lexer.l"
3057 { return T_SOFTCALLERID; }
3058 YY_BREAK
3059 case 212:
3060 YY_RULE_SETUP
3061 #line 342 "conf_lexer.l"
3062 { return T_LOCOPS; }
3063 YY_BREAK
3064 case 213:
3065 YY_RULE_SETUP
3066 #line 344 "conf_lexer.l"
3067 { return WEEKS; }
3068 YY_BREAK
3069 case 214:
3070 YY_RULE_SETUP
3071 #line 345 "conf_lexer.l"
3072 { return WEEKS; }
3073 YY_BREAK
3074 case 215:
3075 YY_RULE_SETUP
3076 #line 346 "conf_lexer.l"
3077 { return DAYS; }
3078 YY_BREAK
3079 case 216:
3080 YY_RULE_SETUP
3081 #line 347 "conf_lexer.l"
3082 { return DAYS; }
3083 YY_BREAK
3084 case 217:
3085 YY_RULE_SETUP
3086 #line 348 "conf_lexer.l"
3087 { return HOURS; }
3088 YY_BREAK
3089 case 218:
3090 YY_RULE_SETUP
3091 #line 349 "conf_lexer.l"
3092 { return HOURS; }
3093 YY_BREAK
3094 case 219:
3095 YY_RULE_SETUP
3096 #line 350 "conf_lexer.l"
3097 { return MINUTES; }
3098 YY_BREAK
3099 case 220:
3100 YY_RULE_SETUP
3101 #line 351 "conf_lexer.l"
3102 { return MINUTES; }
3103 YY_BREAK
3104 case 221:
3105 YY_RULE_SETUP
3106 #line 352 "conf_lexer.l"
3107 { return SECONDS; }
3108 YY_BREAK
3109 case 222:
3110 YY_RULE_SETUP
3111 #line 353 "conf_lexer.l"
3112 { return SECONDS; }
3113 YY_BREAK
3114 case 223:
3115 YY_RULE_SETUP
3116 #line 355 "conf_lexer.l"
3117 { return BYTES; }
3118 YY_BREAK
3119 case 224:
3120 YY_RULE_SETUP
3121 #line 356 "conf_lexer.l"
3122 { return BYTES; }
3123 YY_BREAK
3124 case 225:
3125 YY_RULE_SETUP
3126 #line 357 "conf_lexer.l"
3127 { return KBYTES; }
3128 YY_BREAK
3129 case 226:
3130 YY_RULE_SETUP
3131 #line 358 "conf_lexer.l"
3132 { return KBYTES; }
3133 YY_BREAK
3134 case 227:
3135 YY_RULE_SETUP
3136 #line 359 "conf_lexer.l"
3137 { return KBYTES; }
3138 YY_BREAK
3139 case 228:
3140 YY_RULE_SETUP
3141 #line 360 "conf_lexer.l"
3142 { return KBYTES; }
3143 YY_BREAK
3144 case 229:
3145 YY_RULE_SETUP
3146 #line 361 "conf_lexer.l"
3147 { return KBYTES; }
3148 YY_BREAK
3149 case 230:
3150 YY_RULE_SETUP
3151 #line 362 "conf_lexer.l"
3152 { return MBYTES; }
3153 YY_BREAK
3154 case 231:
3155 YY_RULE_SETUP
3156 #line 363 "conf_lexer.l"
3157 { return MBYTES; }
3158 YY_BREAK
3159 case 232:
3160 YY_RULE_SETUP
3161 #line 364 "conf_lexer.l"
3162 { return MBYTES; }
3163 YY_BREAK
3164 case 233:
3165 YY_RULE_SETUP
3166 #line 365 "conf_lexer.l"
3167 { return MBYTES; }
3168 YY_BREAK
3169 case 234:
3170 YY_RULE_SETUP
3171 #line 366 "conf_lexer.l"
3172 { return MBYTES; }
3173 YY_BREAK
3174 case 235:
3175 YY_RULE_SETUP
3176 #line 367 "conf_lexer.l"
3177 { return TWODOTS; }
3178 YY_BREAK
3179 case 236:
3180 YY_RULE_SETUP
3181 #line 369 "conf_lexer.l"
3182 { return yytext[0]; }
3183 YY_BREAK
3184 case YY_STATE_EOF(INITIAL):
3185 #line 370 "conf_lexer.l"
3186 { if (ieof()) yyterminate(); }
3187 YY_BREAK
3188 case 237:
3189 YY_RULE_SETUP
3190 #line 372 "conf_lexer.l"
3191 ECHO;
3192 YY_BREAK
3193 #line 3194 "conf_lexer.c"
3194
3195 case YY_END_OF_BUFFER:
3196 {
3197 /* Amount of text matched not including the EOB char. */
3198 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3199
3200 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3201 *yy_cp = (yy_hold_char);
3202 YY_RESTORE_YY_MORE_OFFSET
3203
3204 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3205 {
3206 /* We're scanning a new file or input source. It's
3207 * possible that this happened because the user
3208 * just pointed yyin at a new source and called
3209 * yylex(). If so, then we have to assure
3210 * consistency between YY_CURRENT_BUFFER and our
3211 * globals. Here is the right place to do so, because
3212 * this is the first action (other than possibly a
3213 * back-up) that will match for the new input source.
3214 */
3215 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3216 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3217 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3218 }
3219
3220 /* Note that here we test for yy_c_buf_p "<=" to the position
3221 * of the first EOB in the buffer, since yy_c_buf_p will
3222 * already have been incremented past the NUL character
3223 * (since all states make transitions on EOB to the
3224 * end-of-buffer state). Contrast this with the test
3225 * in input().
3226 */
3227 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3228 { /* This was really a NUL. */
3229 yy_state_type yy_next_state;
3230
3231 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3232
3233 yy_current_state = yy_get_previous_state( );
3234
3235 /* Okay, we're now positioned to make the NUL
3236 * transition. We couldn't have
3237 * yy_get_previous_state() go ahead and do it
3238 * for us because it doesn't know how to deal
3239 * with the possibility of jamming (and we don't
3240 * want to build jamming into it because then it
3241 * will run more slowly).
3242 */
3243
3244 yy_next_state = yy_try_NUL_trans( yy_current_state );
3245
3246 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3247
3248 if ( yy_next_state )
3249 {
3250 /* Consume the NUL. */
3251 yy_cp = ++(yy_c_buf_p);
3252 yy_current_state = yy_next_state;
3253 goto yy_match;
3254 }
3255
3256 else
3257 {
3258 yy_cp = (yy_last_accepting_cpos);
3259 yy_current_state = (yy_last_accepting_state);
3260 goto yy_find_action;
3261 }
3262 }
3263
3264 else switch ( yy_get_next_buffer( ) )
3265 {
3266 case EOB_ACT_END_OF_FILE:
3267 {
3268 (yy_did_buffer_switch_on_eof) = 0;
3269
3270 if ( yywrap( ) )
3271 {
3272 /* Note: because we've taken care in
3273 * yy_get_next_buffer() to have set up
3274 * yytext, we can now set up
3275 * yy_c_buf_p so that if some total
3276 * hoser (like flex itself) wants to
3277 * call the scanner after we return the
3278 * YY_NULL, it'll still work - another
3279 * YY_NULL will get returned.
3280 */
3281 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3282
3283 yy_act = YY_STATE_EOF(YY_START);
3284 goto do_action;
3285 }
3286
3287 else
3288 {
3289 if ( ! (yy_did_buffer_switch_on_eof) )
3290 YY_NEW_FILE;
3291 }
3292 break;
3293 }
3294
3295 case EOB_ACT_CONTINUE_SCAN:
3296 (yy_c_buf_p) =
3297 (yytext_ptr) + yy_amount_of_matched_text;
3298
3299 yy_current_state = yy_get_previous_state( );
3300
3301 yy_cp = (yy_c_buf_p);
3302 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3303 goto yy_match;
3304
3305 case EOB_ACT_LAST_MATCH:
3306 (yy_c_buf_p) =
3307 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3308
3309 yy_current_state = yy_get_previous_state( );
3310
3311 yy_cp = (yy_c_buf_p);
3312 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3313 goto yy_find_action;
3314 }
3315 break;
3316 }
3317
3318 default:
3319 YY_FATAL_ERROR(
3320 "fatal flex scanner internal error--no action found" );
3321 } /* end of action switch */
3322 } /* end of scanning one token */
3323 } /* end of yylex */
3324
3325 /* yy_get_next_buffer - try to read in a new buffer
3326 *
3327 * Returns a code representing an action:
3328 * EOB_ACT_LAST_MATCH -
3329 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3330 * EOB_ACT_END_OF_FILE - end of file
3331 */
3332 static int yy_get_next_buffer (void)
3333 {
3334 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3335 register char *source = (yytext_ptr);
3336 register int number_to_move, i;
3337 int ret_val;
3338
3339 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
3340 YY_FATAL_ERROR(
3341 "fatal flex scanner internal error--end of buffer missed" );
3342
3343 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
3344 { /* Don't try to fill the buffer, so this is an EOF. */
3345 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
3346 {
3347 /* We matched a single character, the EOB, so
3348 * treat this as a final EOF.
3349 */
3350 return EOB_ACT_END_OF_FILE;
3351 }
3352
3353 else
3354 {
3355 /* We matched some text prior to the EOB, first
3356 * process it.
3357 */
3358 return EOB_ACT_LAST_MATCH;
3359 }
3360 }
3361
3362 /* Try to read more data. */
3363
3364 /* First move last chars to start of buffer. */
3365 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
3366
3367 for ( i = 0; i < number_to_move; ++i )
3368 *(dest++) = *(source++);
3369
3370 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
3371 /* don't do the read, it's not guaranteed to return an EOF,
3372 * just force an EOF
3373 */
3374 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
3375
3376 else
3377 {
3378 yy_size_t num_to_read =
3379 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
3380
3381 while ( num_to_read <= 0 )
3382 { /* Not enough room in the buffer - grow it. */
3383
3384 /* just a shorter name for the current buffer */
3385 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
3386
3387 int yy_c_buf_p_offset =
3388 (int) ((yy_c_buf_p) - b->yy_ch_buf);
3389
3390 if ( b->yy_is_our_buffer )
3391 {
3392 yy_size_t new_size = b->yy_buf_size * 2;
3393
3394 if ( new_size <= 0 )
3395 b->yy_buf_size += b->yy_buf_size / 8;
3396 else
3397 b->yy_buf_size *= 2;
3398
3399 b->yy_ch_buf = (char *)
3400 /* Include room in for 2 EOB chars. */
3401 yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
3402 }
3403 else
3404 /* Can't grow it, we don't own it. */
3405 b->yy_ch_buf = 0;
3406
3407 if ( ! b->yy_ch_buf )
3408 YY_FATAL_ERROR(
3409 "fatal error - scanner input buffer overflow" );
3410
3411 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
3412
3413 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
3414 number_to_move - 1;
3415
3416 }
3417
3418 if ( num_to_read > YY_READ_BUF_SIZE )
3419 num_to_read = YY_READ_BUF_SIZE;
3420
3421 /* Read in more data. */
3422 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
3423 (yy_n_chars), num_to_read );
3424
3425 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3426 }
3427
3428 if ( (yy_n_chars) == 0 )
3429 {
3430 if ( number_to_move == YY_MORE_ADJ )
3431 {
3432 ret_val = EOB_ACT_END_OF_FILE;
3433 yyrestart(yyin );
3434 }
3435
3436 else
3437 {
3438 ret_val = EOB_ACT_LAST_MATCH;
3439 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
3440 YY_BUFFER_EOF_PENDING;
3441 }
3442 }
3443
3444 else
3445 ret_val = EOB_ACT_CONTINUE_SCAN;
3446
3447 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
3448 /* Extend the array by 50%, plus the number we really need. */
3449 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
3450 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
3451 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
3452 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
3453 }
3454
3455 (yy_n_chars) += number_to_move;
3456 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
3457 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
3458
3459 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
3460
3461 return ret_val;
3462 }
3463
3464 /* yy_get_previous_state - get the state just before the EOB char was reached */
3465
3466 static yy_state_type yy_get_previous_state (void)
3467 {
3468 register yy_state_type yy_current_state;
3469 register char *yy_cp;
3470
3471 yy_current_state = (yy_start);
3472
3473 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
3474 {
3475 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
3476 if ( yy_accept[yy_current_state] )
3477 {
3478 (yy_last_accepting_state) = yy_current_state;
3479 (yy_last_accepting_cpos) = yy_cp;
3480 }
3481 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3482 {
3483 yy_current_state = (int) yy_def[yy_current_state];
3484 if ( yy_current_state >= 1539 )
3485 yy_c = yy_meta[(unsigned int) yy_c];
3486 }
3487 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3488 }
3489
3490 return yy_current_state;
3491 }
3492
3493 /* yy_try_NUL_trans - try to make a transition on the NUL character
3494 *
3495 * synopsis
3496 * next_state = yy_try_NUL_trans( current_state );
3497 */
3498 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
3499 {
3500 register int yy_is_jam;
3501 register char *yy_cp = (yy_c_buf_p);
3502
3503 register YY_CHAR yy_c = 1;
3504 if ( yy_accept[yy_current_state] )
3505 {
3506 (yy_last_accepting_state) = yy_current_state;
3507 (yy_last_accepting_cpos) = yy_cp;
3508 }
3509 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3510 {
3511 yy_current_state = (int) yy_def[yy_current_state];
3512 if ( yy_current_state >= 1539 )
3513 yy_c = yy_meta[(unsigned int) yy_c];
3514 }
3515 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3516 yy_is_jam = (yy_current_state == 1538);
3517
3518 return yy_is_jam ? 0 : yy_current_state;
3519 }
3520
3521 #ifndef YY_NO_INPUT
3522 #ifdef __cplusplus
3523 static int yyinput (void)
3524 #else
3525 static int input (void)
3526 #endif
3527
3528 {
3529 int c;
3530
3531 *(yy_c_buf_p) = (yy_hold_char);
3532
3533 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
3534 {
3535 /* yy_c_buf_p now points to the character we want to return.
3536 * If this occurs *before* the EOB characters, then it's a
3537 * valid NUL; if not, then we've hit the end of the buffer.
3538 */
3539 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3540 /* This was really a NUL. */
3541 *(yy_c_buf_p) = '\0';
3542
3543 else
3544 { /* need more input */
3545 yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
3546 ++(yy_c_buf_p);
3547
3548 switch ( yy_get_next_buffer( ) )
3549 {
3550 case EOB_ACT_LAST_MATCH:
3551 /* This happens because yy_g_n_b()
3552 * sees that we've accumulated a
3553 * token and flags that we need to
3554 * try matching the token before
3555 * proceeding. But for input(),
3556 * there's no matching to consider.
3557 * So convert the EOB_ACT_LAST_MATCH
3558 * to EOB_ACT_END_OF_FILE.
3559 */
3560
3561 /* Reset buffer status. */
3562 yyrestart(yyin );
3563
3564 /*FALLTHROUGH*/
3565
3566 case EOB_ACT_END_OF_FILE:
3567 {
3568 if ( yywrap( ) )
3569 return EOF;
3570
3571 if ( ! (yy_did_buffer_switch_on_eof) )
3572 YY_NEW_FILE;
3573 #ifdef __cplusplus
3574 return yyinput();
3575 #else
3576 return input();
3577 #endif
3578 }
3579
3580 case EOB_ACT_CONTINUE_SCAN:
3581 (yy_c_buf_p) = (yytext_ptr) + offset;
3582 break;
3583 }
3584 }
3585 }
3586
3587 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
3588 *(yy_c_buf_p) = '\0'; /* preserve yytext */
3589 (yy_hold_char) = *++(yy_c_buf_p);
3590
3591 return c;
3592 }
3593 #endif /* ifndef YY_NO_INPUT */
3594
3595 /** Immediately switch to a different input stream.
3596 * @param input_file A readable stream.
3597 *
3598 * @note This function does not reset the start condition to @c INITIAL .
3599 */
3600 void yyrestart (FILE * input_file )
3601 {
3602
3603 if ( ! YY_CURRENT_BUFFER ){
3604 yyensure_buffer_stack ();
3605 YY_CURRENT_BUFFER_LVALUE =
3606 yy_create_buffer(yyin,YY_BUF_SIZE );
3607 }
3608
3609 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
3610 yy_load_buffer_state( );
3611 }
3612
3613 /** Switch to a different input buffer.
3614 * @param new_buffer The new input buffer.
3615 *
3616 */
3617 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
3618 {
3619
3620 /* TODO. We should be able to replace this entire function body
3621 * with
3622 * yypop_buffer_state();
3623 * yypush_buffer_state(new_buffer);
3624 */
3625 yyensure_buffer_stack ();
3626 if ( YY_CURRENT_BUFFER == new_buffer )
3627 return;
3628
3629 if ( YY_CURRENT_BUFFER )
3630 {
3631 /* Flush out information for old buffer. */
3632 *(yy_c_buf_p) = (yy_hold_char);
3633 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3634 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3635 }
3636
3637 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3638 yy_load_buffer_state( );
3639
3640 /* We don't actually know whether we did this switch during
3641 * EOF (yywrap()) processing, but the only time this flag
3642 * is looked at is after yywrap() is called, so it's safe
3643 * to go ahead and always set it.
3644 */
3645 (yy_did_buffer_switch_on_eof) = 1;
3646 }
3647
3648 static void yy_load_buffer_state (void)
3649 {
3650 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3651 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
3652 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
3653 (yy_hold_char) = *(yy_c_buf_p);
3654 }
3655
3656 /** Allocate and initialize an input buffer state.
3657 * @param file A readable stream.
3658 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
3659 *
3660 * @return the allocated buffer state.
3661 */
3662 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
3663 {
3664 YY_BUFFER_STATE b;
3665
3666 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3667 if ( ! b )
3668 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3669
3670 b->yy_buf_size = size;
3671
3672 /* yy_ch_buf has to be 2 characters longer than the size given because
3673 * we need to put in 2 end-of-buffer characters.
3674 */
3675 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
3676 if ( ! b->yy_ch_buf )
3677 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
3678
3679 b->yy_is_our_buffer = 1;
3680
3681 yy_init_buffer(b,file );
3682
3683 return b;
3684 }
3685
3686 /** Destroy the buffer.
3687 * @param b a buffer created with yy_create_buffer()
3688 *
3689 */
3690 void yy_delete_buffer (YY_BUFFER_STATE b )
3691 {
3692
3693 if ( ! b )
3694 return;
3695
3696 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
3697 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
3698
3699 if ( b->yy_is_our_buffer )
3700 yyfree((void *) b->yy_ch_buf );
3701
3702 yyfree((void *) b );
3703 }
3704
3705 /* Initializes or reinitializes a buffer.
3706 * This function is sometimes called more than once on the same buffer,
3707 * such as during a yyrestart() or at EOF.
3708 */
3709 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
3710
3711 {
3712 int oerrno = errno;
3713
3714 yy_flush_buffer(b );
3715
3716 b->yy_input_file = file;
3717 b->yy_fill_buffer = 1;
3718
3719 /* If b is the current buffer, then yy_init_buffer was _probably_
3720 * called from yyrestart() or through yy_get_next_buffer.
3721 * In that case, we don't want to reset the lineno or column.
3722 */
3723 if (b != YY_CURRENT_BUFFER){
3724 b->yy_bs_lineno = 1;
3725 b->yy_bs_column = 0;
3726 }
3727
3728 b->yy_is_interactive = 0;
3729
3730 errno = oerrno;
3731 }
3732
3733 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
3734 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
3735 *
3736 */
3737 void yy_flush_buffer (YY_BUFFER_STATE b )
3738 {
3739 if ( ! b )
3740 return;
3741
3742 b->yy_n_chars = 0;
3743
3744 /* We always need two end-of-buffer characters. The first causes
3745 * a transition to the end-of-buffer state. The second causes
3746 * a jam in that state.
3747 */
3748 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
3749 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
3750
3751 b->yy_buf_pos = &b->yy_ch_buf[0];
3752
3753 b->yy_at_bol = 1;
3754 b->yy_buffer_status = YY_BUFFER_NEW;
3755
3756 if ( b == YY_CURRENT_BUFFER )
3757 yy_load_buffer_state( );
3758 }
3759
3760 /** Pushes the new state onto the stack. The new state becomes
3761 * the current state. This function will allocate the stack
3762 * if necessary.
3763 * @param new_buffer The new state.
3764 *
3765 */
3766 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
3767 {
3768 if (new_buffer == NULL)
3769 return;
3770
3771 yyensure_buffer_stack();
3772
3773 /* This block is copied from yy_switch_to_buffer. */
3774 if ( YY_CURRENT_BUFFER )
3775 {
3776 /* Flush out information for old buffer. */
3777 *(yy_c_buf_p) = (yy_hold_char);
3778 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
3779 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
3780 }
3781
3782 /* Only push if top exists. Otherwise, replace top. */
3783 if (YY_CURRENT_BUFFER)
3784 (yy_buffer_stack_top)++;
3785 YY_CURRENT_BUFFER_LVALUE = new_buffer;
3786
3787 /* copied from yy_switch_to_buffer. */
3788 yy_load_buffer_state( );
3789 (yy_did_buffer_switch_on_eof) = 1;
3790 }
3791
3792 /** Removes and deletes the top of the stack, if present.
3793 * The next element becomes the new top.
3794 *
3795 */
3796 void yypop_buffer_state (void)
3797 {
3798 if (!YY_CURRENT_BUFFER)
3799 return;
3800
3801 yy_delete_buffer(YY_CURRENT_BUFFER );
3802 YY_CURRENT_BUFFER_LVALUE = NULL;
3803 if ((yy_buffer_stack_top) > 0)
3804 --(yy_buffer_stack_top);
3805
3806 if (YY_CURRENT_BUFFER) {
3807 yy_load_buffer_state( );
3808 (yy_did_buffer_switch_on_eof) = 1;
3809 }
3810 }
3811
3812 /* Allocates the stack if it does not exist.
3813 * Guarantees space for at least one push.
3814 */
3815 static void yyensure_buffer_stack (void)
3816 {
3817 yy_size_t num_to_alloc;
3818
3819 if (!(yy_buffer_stack)) {
3820
3821 /* First allocation is just for 2 elements, since we don't know if this
3822 * scanner will even need a stack. We use 2 instead of 1 to avoid an
3823 * immediate realloc on the next call.
3824 */
3825 num_to_alloc = 1;
3826 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
3827 (num_to_alloc * sizeof(struct yy_buffer_state*)
3828 );
3829 if ( ! (yy_buffer_stack) )
3830 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3831
3832 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
3833
3834 (yy_buffer_stack_max) = num_to_alloc;
3835 (yy_buffer_stack_top) = 0;
3836 return;
3837 }
3838
3839 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
3840
3841 /* Increase the buffer to prepare for a possible push. */
3842 int grow_size = 8 /* arbitrary grow size */;
3843
3844 num_to_alloc = (yy_buffer_stack_max) + grow_size;
3845 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
3846 ((yy_buffer_stack),
3847 num_to_alloc * sizeof(struct yy_buffer_state*)
3848 );
3849 if ( ! (yy_buffer_stack) )
3850 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
3851
3852 /* zero only the new slots.*/
3853 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
3854 (yy_buffer_stack_max) = num_to_alloc;
3855 }
3856 }
3857
3858 /** Setup the input buffer state to scan directly from a user-specified character buffer.
3859 * @param base the character buffer
3860 * @param size the size in bytes of the character buffer
3861 *
3862 * @return the newly allocated buffer state object.
3863 */
3864 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
3865 {
3866 YY_BUFFER_STATE b;
3867
3868 if ( size < 2 ||
3869 base[size-2] != YY_END_OF_BUFFER_CHAR ||
3870 base[size-1] != YY_END_OF_BUFFER_CHAR )
3871 /* They forgot to leave room for the EOB's. */
3872 return 0;
3873
3874 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
3875 if ( ! b )
3876 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
3877
3878 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
3879 b->yy_buf_pos = b->yy_ch_buf = base;
3880 b->yy_is_our_buffer = 0;
3881 b->yy_input_file = 0;
3882 b->yy_n_chars = b->yy_buf_size;
3883 b->yy_is_interactive = 0;
3884 b->yy_at_bol = 1;
3885 b->yy_fill_buffer = 0;
3886 b->yy_buffer_status = YY_BUFFER_NEW;
3887
3888 yy_switch_to_buffer(b );
3889
3890 return b;
3891 }
3892
3893 /** Setup the input buffer state to scan a string. The next call to yylex() will
3894 * scan from a @e copy of @a str.
3895 * @param yystr a NUL-terminated string to scan
3896 *
3897 * @return the newly allocated buffer state object.
3898 * @note If you want to scan bytes that may contain NUL values, then use
3899 * yy_scan_bytes() instead.
3900 */
3901 YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
3902 {
3903
3904 return yy_scan_bytes(yystr,strlen(yystr) );
3905 }
3906
3907 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
3908 * scan from a @e copy of @a bytes.
3909 * @param yybytes the byte buffer to scan
3910 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
3911 *
3912 * @return the newly allocated buffer state object.
3913 */
3914 YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
3915 {
3916 YY_BUFFER_STATE b;
3917 char *buf;
3918 yy_size_t n;
3919 int i;
3920
3921 /* Get memory for full buffer, including space for trailing EOB's. */
3922 n = _yybytes_len + 2;
3923 buf = (char *) yyalloc(n );
3924 if ( ! buf )
3925 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3926
3927 for ( i = 0; i < _yybytes_len; ++i )
3928 buf[i] = yybytes[i];
3929
3930 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3931
3932 b = yy_scan_buffer(buf,n );
3933 if ( ! b )
3934 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3935
3936 /* It's okay to grow etc. this buffer, and we should throw it
3937 * away when we're done.
3938 */
3939 b->yy_is_our_buffer = 1;
3940
3941 return b;
3942 }
3943
3944 #ifndef YY_EXIT_FAILURE
3945 #define YY_EXIT_FAILURE 2
3946 #endif
3947
3948 static void yy_fatal_error (yyconst char* msg )
3949 {
3950 (void) fprintf( stderr, "%s\n", msg );
3951 exit( YY_EXIT_FAILURE );
3952 }
3953
3954 /* Redefine yyless() so it works in section 3 code. */
3955
3956 #undef yyless
3957 #define yyless(n) \
3958 do \
3959 { \
3960 /* Undo effects of setting up yytext. */ \
3961 int yyless_macro_arg = (n); \
3962 YY_LESS_LINENO(yyless_macro_arg);\
3963 yytext[yyleng] = (yy_hold_char); \
3964 (yy_c_buf_p) = yytext + yyless_macro_arg; \
3965 (yy_hold_char) = *(yy_c_buf_p); \
3966 *(yy_c_buf_p) = '\0'; \
3967 yyleng = yyless_macro_arg; \
3968 } \
3969 while ( 0 )
3970
3971 /* Accessor methods (get/set functions) to struct members. */
3972
3973 /** Get the current line number.
3974 *
3975 */
3976 int yyget_lineno (void)
3977 {
3978
3979 return yylineno;
3980 }
3981
3982 /** Get the input stream.
3983 *
3984 */
3985 FILE *yyget_in (void)
3986 {
3987 return yyin;
3988 }
3989
3990 /** Get the output stream.
3991 *
3992 */
3993 FILE *yyget_out (void)
3994 {
3995 return yyout;
3996 }
3997
3998 /** Get the length of the current token.
3999 *
4000 */
4001 yy_size_t yyget_leng (void)
4002 {
4003 return yyleng;
4004 }
4005
4006 /** Get the current token.
4007 *
4008 */
4009
4010 char *yyget_text (void)
4011 {
4012 return yytext;
4013 }
4014
4015 /** Set the current line number.
4016 * @param line_number
4017 *
4018 */
4019 void yyset_lineno (int line_number )
4020 {
4021
4022 yylineno = line_number;
4023 }
4024
4025 /** Set the input stream. This does not discard the current
4026 * input buffer.
4027 * @param in_str A readable stream.
4028 *
4029 * @see yy_switch_to_buffer
4030 */
4031 void yyset_in (FILE * in_str )
4032 {
4033 yyin = in_str ;
4034 }
4035
4036 void yyset_out (FILE * out_str )
4037 {
4038 yyout = out_str ;
4039 }
4040
4041 int yyget_debug (void)
4042 {
4043 return yy_flex_debug;
4044 }
4045
4046 void yyset_debug (int bdebug )
4047 {
4048 yy_flex_debug = bdebug ;
4049 }
4050
4051 static int yy_init_globals (void)
4052 {
4053 /* Initialization is the same as for the non-reentrant scanner.
4054 * This function is called from yylex_destroy(), so don't allocate here.
4055 */
4056
4057 (yy_buffer_stack) = 0;
4058 (yy_buffer_stack_top) = 0;
4059 (yy_buffer_stack_max) = 0;
4060 (yy_c_buf_p) = (char *) 0;
4061 (yy_init) = 0;
4062 (yy_start) = 0;
4063
4064 /* Defined in main.c */
4065 #ifdef YY_STDINIT
4066 yyin = stdin;
4067 yyout = stdout;
4068 #else
4069 yyin = (FILE *) 0;
4070 yyout = (FILE *) 0;
4071 #endif
4072
4073 /* For future reference: Set errno on error, since we are called by
4074 * yylex_init()
4075 */
4076 return 0;
4077 }
4078
4079 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
4080 int yylex_destroy (void)
4081 {
4082
4083 /* Pop the buffer stack, destroying each element. */
4084 while(YY_CURRENT_BUFFER){
4085 yy_delete_buffer(YY_CURRENT_BUFFER );
4086 YY_CURRENT_BUFFER_LVALUE = NULL;
4087 yypop_buffer_state();
4088 }
4089
4090 /* Destroy the stack itself. */
4091 yyfree((yy_buffer_stack) );
4092 (yy_buffer_stack) = NULL;
4093
4094 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4095 * yylex() is called, initialization will occur. */
4096 yy_init_globals( );
4097
4098 return 0;
4099 }
4100
4101 /*
4102 * Internal utility routines.
4103 */
4104
4105 #ifndef yytext_ptr
4106 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
4107 {
4108 register int i;
4109 for ( i = 0; i < n; ++i )
4110 s1[i] = s2[i];
4111 }
4112 #endif
4113
4114 #ifdef YY_NEED_STRLEN
4115 static int yy_flex_strlen (yyconst char * s )
4116 {
4117 register int n;
4118 for ( n = 0; s[n]; ++n )
4119 ;
4120
4121 return n;
4122 }
4123 #endif
4124
4125 void *yyalloc (yy_size_t size )
4126 {
4127 return (void *) malloc( size );
4128 }
4129
4130 void *yyrealloc (void * ptr, yy_size_t size )
4131 {
4132 /* The cast to (char *) in the following accommodates both
4133 * implementations that use char* generic pointers, and those
4134 * that use void* generic pointers. It works with the latter
4135 * because both ANSI C and C++ allow castless assignment from
4136 * any pointer type to void*, and deal with argument conversions
4137 * as though doing an assignment.
4138 */
4139 return (void *) realloc( (char *) ptr, size );
4140 }
4141
4142 void yyfree (void * ptr )
4143 {
4144 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
4145 }
4146
4147 #define YYTABLES_NAME "yytables"
4148
4149 #line 372 "conf_lexer.l"
4150
4151
4152
4153 /* C-comment ignoring routine -kre*/
4154 static void
4155 ccomment(void)
4156 {
4157 int c = 0;
4158
4159 /* log(L_NOTICE, "got comment"); */
4160 while (1)
4161 {
4162 while ((c = input()) != '*' && c != EOF)
4163 if (c == '\n')
4164 ++lineno;
4165
4166 if (c == '*')
4167 {
4168 while ((c = input()) == '*')
4169 /* Nothing */ ;
4170 if (c == '/')
4171 break;
4172 else if (c == '\n')
4173 ++lineno;
4174 }
4175
4176 if (c == EOF)
4177 {
4178 YY_FATAL_ERROR("EOF in comment");
4179 /* XXX hack alert this disables
4180 * the stupid unused function warning
4181 * gcc generates
4182 */
4183 if (1 == 0)
4184 yy_fatal_error("EOF in comment");
4185 break;
4186 }
4187 }
4188 }
4189
4190 /* C-style .includes. This function will properly swap input conf buffers,
4191 * and lineno -kre */
4192 static void
4193 cinclude(void)
4194 {
4195 char *p = NULL;
4196
4197 if ((p = strchr(yytext, '<')) == NULL)
4198 *strchr(p = strchr(yytext, '"') + 1, '"') = '\0';
4199 else
4200 *strchr(++p, '>') = '\0';
4201
4202 /* log(L_NOTICE, "got include %s!", c); */
4203
4204 /* do stacking and co. */
4205 if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
4206 ilog(LOG_TYPE_IRCD, "Includes nested too deep in %s", p);
4207 else
4208 {
4209 FILE *tmp_fbfile_in = NULL;
4210 char filenamebuf[IRCD_BUFSIZE];
4211
4212 if (*p == '/') /* if it is an absolute path */
4213 snprintf(filenamebuf, sizeof(filenamebuf), "%s", p);
4214 else
4215 snprintf(filenamebuf, sizeof(filenamebuf), "%s/%s", ETCPATH, p);
4216
4217 tmp_fbfile_in = fopen(filenamebuf, "r");
4218
4219 if (tmp_fbfile_in == NULL)
4220 {
4221 ilog(LOG_TYPE_IRCD, "Unable to read configuration file '%s': %s",
4222 filenamebuf, strerror(errno));
4223 return;
4224 }
4225
4226 lineno_stack[include_stack_ptr] = lineno;
4227 lineno = 1;
4228 inc_fbfile_in[include_stack_ptr] = conf_parser_ctx.conf_file;
4229 strlcpy(conffile_stack[include_stack_ptr], conffilebuf, IRCD_BUFSIZE);
4230 include_stack[include_stack_ptr++] = YY_CURRENT_BUFFER;
4231 conf_parser_ctx.conf_file = tmp_fbfile_in;
4232 snprintf(conffilebuf, sizeof(conffilebuf), "%s", filenamebuf);
4233 yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE));
4234 }
4235 }
4236
4237 /* This is function that will be called on EOF in conf file. It will
4238 * apropriately close conf if it not main conf and swap input buffers -kre
4239 * */
4240 static int
4241 ieof(void)
4242 {
4243 /* log(L_NOTICE, "return from include stack!"); */
4244 if (include_stack_ptr)
4245 fclose(conf_parser_ctx.conf_file);
4246 if (--include_stack_ptr < 0)
4247 {
4248 /* log(L_NOTICE, "terminating lexer"); */
4249 /* We will now exit the lexer - restore init values if we get /rehash
4250 * later and reenter lexer -kre */
4251 include_stack_ptr = 0;
4252 lineno = 1;
4253 return 1;
4254 }
4255
4256 /* switch buffer */
4257 /* log(L_NOTICE, "deleting include_stack_ptr=%d", include_stack_ptr); */
4258 yy_delete_buffer(YY_CURRENT_BUFFER);
4259 lineno = lineno_stack[include_stack_ptr];
4260 conf_parser_ctx.conf_file = inc_fbfile_in[include_stack_ptr];
4261 strlcpy(conffilebuf, conffile_stack[include_stack_ptr], sizeof(conffilebuf));
4262 yy_switch_to_buffer(include_stack[include_stack_ptr]);
4263
4264 return 0;
4265 }
4266

Properties

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