ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/conf_lexer.c
Revision: 2012
Committed: Sun May 12 14:47:26 2013 UTC (12 years, 3 months ago) by michael
Content type: text/x-csrc
File size: 140150 byte(s)
Log Message:
- Removed 'remote', and 'global_kill' oper flags, and added 'connect',
  'squit', and 'kill' flags for better fine-tuning instead. Whether or 
  not a specific action is allowed on a remote server can be controlled
  by appeding the ':remote' flag. For example: 'kill' allows only local
  clients to be killed, whereas 'kill:remote' allows to issue a KILL for
  remote clients

File Contents

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

Properties

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