ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 6595
Committed: Wed Oct 21 20:20:45 2015 UTC (9 years, 10 months ago) by michael
Content type: text/x-csrc
File size: 141101 byte(s)
Log Message:
- Rebuilt lexer/parser files

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

Properties

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