ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 1592
Committed: Sat Oct 27 21:02:32 2012 UTC (11 years, 5 months ago) by michael
Content type: text/x-csrc
File size: 138160 byte(s)
Log Message:
- Second time's the charm? Moving svnroot/ircd-hybrid-8 to
  svnroot/ircd-hybrid/trunk

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

Properties

Name Value
svn:eol-style native