ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1837
Committed: Sun Apr 21 09:27:27 2013 UTC (12 years, 4 months ago) by michael
Content type: text/x-csrc
File size: 140575 byte(s)
Log Message:
- Remove current msg locale implementation

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

Properties

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