ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1981
Committed: Wed May 8 20:20:27 2013 UTC (12 years, 3 months ago) by michael
Content type: text/x-csrc
File size: 139890 byte(s)
Log Message:
- regenerate parser/lexer

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

Properties

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