ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 2129
Committed: Wed May 29 13:12:15 2013 UTC (12 years, 2 months ago) by michael
Content type: text/x-csrc
File size: 140273 byte(s)
Log Message:
- conf_parser.l, conf_parser.y: style corrections

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

Properties

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