ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1715
Committed: Mon Dec 24 15:19:32 2012 UTC (12 years, 8 months ago) by michael
Content type: text/x-csrc
File size: 137929 byte(s)
Log Message:
- Improved WEBIRC authentication; added 'webirc' to auth::flags

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

Properties

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