ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 2228
Committed: Thu Jun 13 19:46:30 2013 UTC (12 years, 2 months ago) by michael
Content type: text/x-csrc
File size: 140646 byte(s)
Log Message:
- Implement certificate fingerprint validation for oper{} and connect{} blocks.
  Some code taken from oftc-hybrid. Hello, stu!

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

Properties

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