1
2 #define YY_INT_ALIGNED short int
3
4 /* A lexical scanner generated by flex */
5
6 #define FLEX_SCANNER
7 #define YY_FLEX_MAJOR_VERSION 2
8 #define YY_FLEX_MINOR_VERSION 6
9 #define YY_FLEX_SUBMINOR_VERSION 3
10 #if YY_FLEX_SUBMINOR_VERSION > 0
11 #define FLEX_BETA
12 #endif
13
14 /* First, we deal with platform-specific or compiler-specific issues. */
15
16 /* begin standard C headers. */
17 #ifdef _LIBC
18 #include "namespace.h"
19 #endif
20 #include <stdio.h>
21 #include <string.h>
22 #include <errno.h>
23 #include <stdlib.h>
24
25 /* end standard C headers. */
26
27 /* $NetBSD: initscan.c,v 1.8 2017/01/07 15:43:27 christos Exp $ */
28
29 /* flex integer type definitions */
30
31 #ifndef FLEXINT_H
32 #define FLEXINT_H
33
34 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
35
36 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
37
38 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
39 * if you want the limit (max/min) macros for int types.
40 */
41 #ifndef __STDC_LIMIT_MACROS
42 #define __STDC_LIMIT_MACROS 1
43 #endif
44
45 #include <inttypes.h>
46 typedef int8_t flex_int8_t;
47 typedef uint8_t flex_uint8_t;
48 typedef int16_t flex_int16_t;
49 typedef uint16_t flex_uint16_t;
50 typedef int32_t flex_int32_t;
51 typedef uint32_t flex_uint32_t;
52 #else
53 typedef signed char flex_int8_t;
54 typedef short int flex_int16_t;
55 typedef int flex_int32_t;
56 typedef unsigned char flex_uint8_t;
57 typedef unsigned short int flex_uint16_t;
58 typedef unsigned int flex_uint32_t;
59
60 /* Limits of integral types. */
61 #ifndef INT8_MIN
62 #define INT8_MIN (-128)
63 #endif
64 #ifndef INT16_MIN
65 #define INT16_MIN (-32767-1)
66 #endif
67 #ifndef INT32_MIN
68 #define INT32_MIN (-2147483647-1)
69 #endif
70 #ifndef INT8_MAX
71 #define INT8_MAX (127)
72 #endif
73 #ifndef INT16_MAX
74 #define INT16_MAX (32767)
75 #endif
76 #ifndef INT32_MAX
77 #define INT32_MAX (2147483647)
78 #endif
79 #ifndef UINT8_MAX
80 #define UINT8_MAX (255U)
81 #endif
82 #ifndef UINT16_MAX
83 #define UINT16_MAX (65535U)
84 #endif
85 #ifndef UINT32_MAX
86 #define UINT32_MAX (4294967295U)
87 #endif
88
89 #endif /* ! C99 */
90
91 #endif /* ! FLEXINT_H */
92
93 /* begin standard C++ headers. */
94
95 /* TODO: this is always defined, so inline it */
96 #define yyconst const
97
98 #if defined(__GNUC__) && __GNUC__ >= 3
99 #define yynoreturn __attribute__((__noreturn__))
100 #else
101 #define yynoreturn
102 #endif
103
104 /* Returned upon end-of-file. */
105 #define YY_NULL 0
106
107 /* Promotes a possibly negative, possibly signed char to an
108 * integer in range [0..255] for use as an array index.
109 */
110 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
111
112 /* Enter a start condition. This macro really ought to take a parameter,
113 * but we do it the disgusting crufty way forced on us by the ()-less
114 * definition of BEGIN.
115 */
116 #define BEGIN (yy_start) = 1 + 2 *
117 /* Translate the current start state into a value that can be later handed
118 * to BEGIN to return to the state. The YYSTATE alias is for lex
119 * compatibility.
120 */
121 #define YY_START (((yy_start) - 1) / 2)
122 #define YYSTATE YY_START
123 /* Action number for EOF rule of a given start state. */
124 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
125 /* Special action meaning "start processing a new file". */
126 #define YY_NEW_FILE yyrestart( yyin )
127 #define YY_END_OF_BUFFER_CHAR 0
128
129 /* Size of default input buffer. */
130 #ifndef YY_BUF_SIZE
131 #ifdef __ia64__
132 /* On IA-64, the buffer size is 16k, not 8k.
133 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
134 * Ditto for the __ia64__ case accordingly.
135 */
136 #define YY_BUF_SIZE 32768
137 #else
138 #define YY_BUF_SIZE 16384
139 #endif /* __ia64__ */
140 #endif
141
142 /* The state buf must be large enough to hold one state per character in the main buffer.
143 */
144 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
145
146 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
147 #define YY_TYPEDEF_YY_BUFFER_STATE
148 typedef struct yy_buffer_state *YY_BUFFER_STATE;
149 #endif
150
151 #ifndef YY_TYPEDEF_YY_SIZE_T
152 #define YY_TYPEDEF_YY_SIZE_T
153 typedef size_t yy_size_t;
154 #endif
155
156 extern yy_size_t yyleng;
157
158 extern FILE *yyin, *yyout;
159
160 #define EOB_ACT_CONTINUE_SCAN 0
161 #define EOB_ACT_END_OF_FILE 1
162 #define EOB_ACT_LAST_MATCH 2
163
164 #define YY_LESS_LINENO(n)
165 #define YY_LINENO_REWIND_TO(ptr)
166
167 /* Return all but the first "n" matched characters back to the input stream. */
168 #define yyless(n) \
169 do \
170 { \
171 /* Undo effects of setting up yytext. */ \
172 int yyless_macro_arg = (n); \
173 YY_LESS_LINENO(yyless_macro_arg);\
174 *yy_cp = (yy_hold_char); \
175 YY_RESTORE_YY_MORE_OFFSET \
176 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
177 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
178 } \
179 while ( 0 )
180 #define unput(c) yyunput( c, (yytext_ptr) )
181
182 #ifndef YY_STRUCT_YY_BUFFER_STATE
183 #define YY_STRUCT_YY_BUFFER_STATE
184 struct yy_buffer_state
185 {
186 FILE *yy_input_file;
187
188 char *yy_ch_buf; /* input buffer */
189 char *yy_buf_pos; /* current position in input buffer */
190
191 /* Size of input buffer in bytes, not including room for EOB
192 * characters.
193 */
194 size_t yy_buf_size;
195
196 /* Number of characters read into yy_ch_buf, not including EOB
197 * characters.
198 */
199 size_t yy_n_chars;
200
201 /* Whether we "own" the buffer - i.e., we know we created it,
202 * and can realloc() it to grow it, and should free() it to
203 * delete it.
204 */
205 int yy_is_our_buffer;
206
207 /* Whether this is an "interactive" input source; if so, and
208 * if we're using stdio for input, then we want to use getc()
209 * instead of fread(), to make sure we stop fetching input after
210 * each newline.
211 */
212 int yy_is_interactive;
213
214 /* Whether we're considered to be at the beginning of a line.
215 * If so, '^' rules will be active on the next match, otherwise
216 * not.
217 */
218 int yy_at_bol;
219
220 int yy_bs_lineno; /**< The line count. */
221 int yy_bs_column; /**< The column count. */
222
223 /* Whether to try to fill the input buffer when we reach the
224 * end of it.
225 */
226 int yy_fill_buffer;
227
228 int yy_buffer_status;
229
230 #define YY_BUFFER_NEW 0
231 #define YY_BUFFER_NORMAL 1
232 /* When an EOF's been seen but there's still some text to process
233 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
234 * shouldn't try reading from the input source any more. We might
235 * still have a bunch of tokens to match, though, because of
236 * possible backing-up.
237 *
238 * When we actually see the EOF, we change the status to "new"
239 * (via yyrestart()), so that the user can continue scanning by
240 * just pointing yyin at a new input file.
241 */
242 #define YY_BUFFER_EOF_PENDING 2
243
244 };
245 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
246
247 /* Stack of input buffers. */
248 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
249 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
250 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
251
252 /* We provide macros for accessing buffer states in case in the
253 * future we want to put the buffer states in a more general
254 * "scanner state".
255 *
256 * Returns the top of the stack, or NULL.
257 */
258 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
259 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
260 : NULL)
261 /* Same as previous macro, but useful when we know that the buffer stack is not
262 * NULL or when we need an lvalue. For internal use only.
263 */
264 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
265
266 /* yy_hold_char holds the character lost when yytext is formed. */
267 static char yy_hold_char;
268 static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */
269 yy_size_t yyleng;
270
271 /* Points to current character in buffer. */
272 static char *yy_c_buf_p = NULL;
273 static int yy_init = 0; /* whether we need to initialize */
274 static int yy_start = 0; /* start state number */
275
276 /* Flag which is used to allow yywrap()'s to do buffer switches
277 * instead of setting up a fresh yyin. A bit of a hack ...
278 */
279 static int yy_did_buffer_switch_on_eof;
280
281 void yyrestart ( FILE *input_file );
282 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
283 YY_BUFFER_STATE yy_create_buffer ( FILE *file, yy_size_t size );
284 void yy_delete_buffer ( YY_BUFFER_STATE b );
285 void yy_flush_buffer ( YY_BUFFER_STATE b );
286 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
287 void yypop_buffer_state ( void );
288
289 static void yyensure_buffer_stack ( void );
290 static void yy_load_buffer_state ( void );
291 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
292 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
293
294 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
295 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
296 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, yy_size_t len );
297
298 void *yyalloc ( yy_size_t );
299 void *yyrealloc ( void *, yy_size_t );
300 void yyfree ( void * );
301
302 #define yy_new_buffer yy_create_buffer
303 #define yy_set_interactive(is_interactive) \
304 { \
305 if ( ! YY_CURRENT_BUFFER ){ \
306 yyensure_buffer_stack (); \
307 YY_CURRENT_BUFFER_LVALUE = \
308 yy_create_buffer( yyin, YY_BUF_SIZE ); \
309 } \
310 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
311 }
312 #define yy_set_bol(at_bol) \
313 { \
314 if ( ! YY_CURRENT_BUFFER ){\
315 yyensure_buffer_stack (); \
316 YY_CURRENT_BUFFER_LVALUE = \
317 yy_create_buffer( yyin, YY_BUF_SIZE ); \
318 } \
319 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
320 }
321 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
322
323 /* Begin user sect3 */
324 typedef flex_uint8_t YY_CHAR;
325
326 FILE *yyin = NULL, *yyout = NULL;
327
328 typedef int yy_state_type;
329
330 extern int yylineno;
331 int yylineno = 1;
332
333 extern char *yytext;
334 #ifdef yytext_ptr
335 #undef yytext_ptr
336 #endif
337 #define yytext_ptr yytext
338
339 static yy_state_type yy_get_previous_state ( void );
340 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
341 static int yy_get_next_buffer ( void );
342 static void yynoreturn yy_fatal_error ( const char* msg );
343
344 /* Done after the current pattern has been matched and before the
345 * corresponding action - sets up yytext.
346 */
347 #define YY_DO_BEFORE_ACTION \
348 (yytext_ptr) = yy_bp; \
349 yyleng = (yy_size_t)(yy_cp - yy_bp); \
350 (yy_hold_char) = *yy_cp; \
351 *yy_cp = '\0'; \
352 (yy_c_buf_p) = yy_cp;
353 #define YY_NUM_RULES 253
354 #define YY_END_OF_BUFFER 254
355 /* This struct is not used in this scanner,
356 but its presence is necessary. */
357 struct yy_trans_info
358 {
359 flex_int32_t yy_verify;
360 flex_int32_t yy_nxt;
361 };
362 static const flex_int16_t yy_accept[1114] =
363 { 0,
364 0, 0, 0, 0, 0, 0, 246, 246, 40, 40,
365 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
366 0, 0, 0, 0, 0, 0, 0, 0, 21, 21,
367 239, 239, 0, 0, 0, 0, 0, 0, 0, 0,
368 0, 0, 0, 0, 0, 0, 0, 0, 21, 21,
369 250, 250, 239, 239, 254, 252, 9, 20, 252, 18,
370 1, 19, 252, 252, 252, 252, 17, 163, 148, 149,
371 163, 141, 163, 160, 161, 162, 162, 163, 163, 163,
372 162, 147, 137, 163, 163, 139, 140, 135, 136, 135,
373 134, 133, 134, 246, 247, 247, 40, 42, 40, 41,
374
375 40, 40, 41, 41, 41, 50, 49, 51, 252, 169,
376 169, 164, 169, 165, 166, 168, 170, 218, 219, 218,
377 216, 215, 217, 171, 173, 171, 172, 171, 185, 185,
378 185, 185, 187, 189, 187, 187, 187, 187, 188, 228,
379 233, 228, 232, 231, 234, 229, 229, 229, 234, 234,
380 226, 227, 252, 130, 252, 21, 23, 21, 22, 22,
381 22, 235, 241, 235, 236, 242, 242, 242, 224, 224,
382 225, 224, 224, 224, 224, 224, 224, 224, 129, 53,
383 52, 129, 129, 129, 129, 54, 129, 129, 129, 129,
384 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
385
386 129, 129, 129, 129, 129, 129, 129, 36, 33, 36,
387 34, 48, 45, 252, 48, 48, 44, 43, 175, 174,
388 176, 177, 178, 179, 180, 181, 182, 31, 32, 31,
389 30, 28, 29, 28, 27, 22, 250, 251, 251, 237,
390 237, 238, 9, 20, 0, 18, 1, 19, 0, 0,
391 0, 16, 10, 0, 0, 0, 0, 4, 16, 5,
392 0, 2, 17, 148, 149, 0, 0, 0, 143, 0,
393 159, 157, 0, 153, 153, 0, 243, 243, 243, 0,
394 0, 142, 0, 147, 137, 0, 0, 0, 139, 140,
395 152, 138, 0, 136, 134, 133, 131, 132, 246, 244,
396
397 245, 40, 42, 40, 40, 37, 38, 0, 50, 49,
398 51, 0, 164, 0, 164, 167, 168, 219, 215, 173,
399 0, 183, 184, 189, 186, 228, 233, 0, 0, 221,
400 229, 229, 229, 0, 130, 0, 21, 23, 24, 235,
401 241, 240, 239, 240, 0, 0, 225, 220, 0, 0,
402 53, 52, 0, 128, 0, 0, 129, 129, 129, 129,
403 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
404 129, 129, 129, 129, 129, 129, 55, 129, 129, 129,
405 129, 129, 129, 129, 129, 129, 129, 129, 0, 35,
406 34, 48, 45, 46, 47, 31, 32, 29, 26, 25,
407
408 250, 248, 249, 237, 0, 16, 10, 0, 14, 0,
409 0, 0, 0, 0, 4, 16, 5, 0, 6, 0,
410 144, 0, 145, 0, 158, 0, 153, 153, 0, 153,
411 153, 153, 243, 243, 155, 154, 0, 156, 138, 146,
412 0, 152, 0, 131, 132, 40, 40, 0, 39, 0,
413 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
414 0, 0, 230, 229, 229, 0, 0, 220, 0, 0,
415 0, 0, 129, 129, 129, 129, 129, 129, 65, 129,
416 129, 129, 70, 129, 129, 129, 129, 129, 129, 129,
417 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
418
419 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
420 129, 129, 129, 129, 129, 129, 129, 129, 0, 0,
421 0, 0, 14, 0, 0, 0, 0, 0, 0, 4,
422 8, 5, 0, 153, 153, 153, 153, 153, 153, 153,
423 243, 156, 0, 0, 40, 40, 0, 0, 0, 0,
424 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 229, 229,
426 0, 0, 56, 57, 129, 129, 129, 129, 129, 129,
427 129, 129, 129, 129, 71, 72, 129, 129, 129, 129,
428 77, 78, 129, 129, 129, 129, 129, 129, 129, 83,
429
430 129, 129, 129, 129, 129, 129, 129, 129, 129, 92,
431 129, 129, 129, 129, 129, 129, 129, 129, 129, 0,
432 0, 0, 0, 15, 0, 0, 0, 0, 0, 8,
433 8, 8, 0, 153, 153, 153, 153, 153, 153, 153,
434 0, 0, 40, 40, 214, 0, 0, 0, 0, 0,
435 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
436 0, 0, 0, 0, 0, 0, 0, 0, 229, 229,
437 0, 0, 58, 129, 60, 129, 62, 129, 129, 129,
438 129, 68, 129, 129, 129, 73, 129, 129, 129, 129,
439 129, 129, 129, 129, 129, 129, 129, 86, 129, 129,
440
441 129, 129, 90, 129, 129, 129, 129, 129, 129, 129,
442 129, 129, 129, 0, 0, 0, 0, 3, 0, 0,
443 0, 8, 7, 8, 0, 153, 153, 153, 0, 0,
444 40, 40, 0, 0, 0, 0, 0, 0, 0, 0,
445 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
446 0, 0, 0, 0, 0, 0, 222, 223, 222, 223,
447 129, 61, 129, 129, 129, 129, 129, 129, 129, 125,
448 129, 129, 129, 129, 129, 129, 129, 129, 123, 129,
449 85, 129, 88, 129, 89, 129, 129, 129, 104, 0,
450 129, 94, 129, 0, 95, 0, 0, 0, 0, 0,
451
452 12, 0, 13, 0, 151, 0, 150, 0, 0, 0,
453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
454 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
455 0, 129, 129, 129, 129, 129, 66, 129, 69, 129,
456 129, 129, 129, 129, 129, 122, 129, 82, 129, 129,
457 87, 129, 91, 102, 124, 0, 0, 0, 0, 0,
458 0, 129, 129, 0, 0, 0, 0, 0, 0, 0,
459 0, 0, 0, 150, 0, 0, 0, 0, 0, 0,
460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
461 0, 0, 0, 0, 0, 0, 0, 0, 129, 129,
462
463 129, 129, 129, 67, 129, 129, 129, 129, 79, 129,
464 129, 129, 129, 129, 129, 0, 0, 113, 0, 0,
465 0, 0, 0, 0, 93, 129, 0, 0, 114, 0,
466 0, 0, 0, 0, 0, 0, 0, 0, 11, 0,
467 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
468 200, 0, 0, 0, 0, 0, 0, 0, 0, 0,
469 0, 0, 0, 0, 129, 129, 129, 129, 129, 129,
470 129, 129, 129, 129, 129, 129, 84, 129, 129, 0,
471 0, 0, 0, 0, 0, 115, 0, 103, 0, 0,
472 0, 0, 0, 116, 0, 0, 0, 0, 0, 201,
473
474 202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
475 212, 0, 129, 129, 129, 129, 129, 121, 129, 129,
476 75, 129, 129, 129, 129, 129, 0, 0, 109, 0,
477 119, 117, 110, 0, 0, 0, 120, 118, 0, 0,
478 0, 0, 0, 0, 213, 129, 129, 129, 129, 129,
479 125, 74, 129, 81, 129, 126, 129, 105, 107, 0,
480 106, 108, 0, 0, 0, 0, 0, 0, 0, 129,
481 63, 129, 129, 129, 129, 76, 129, 111, 112, 97,
482 0, 0, 0, 0, 98, 129, 129, 129, 129, 129,
483 127, 96, 0, 100, 0, 129, 129, 129, 66, 129,
484
485 99, 101, 129, 64, 129, 129, 129, 67, 129, 129,
486 80, 59, 0
487 } ;
488
489 static const YY_CHAR yy_ec[256] =
490 { 0,
491 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
492 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
493 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
494 1, 2, 1, 6, 7, 8, 9, 1, 10, 11,
495 12, 13, 14, 15, 16, 17, 18, 19, 19, 19,
496 19, 19, 19, 19, 20, 21, 22, 23, 1, 24,
497 25, 26, 27, 1, 28, 29, 30, 31, 32, 33,
498 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
499 44, 45, 46, 47, 48, 49, 50, 51, 52, 44,
500 53, 54, 55, 56, 57, 1, 58, 59, 60, 61,
501
502 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
503 72, 73, 44, 74, 75, 76, 77, 78, 79, 80,
504 81, 44, 82, 83, 84, 1, 1, 1, 1, 1,
505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
512
513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
518 1, 1, 1, 1, 1
519 } ;
520
521 static const YY_CHAR yy_meta[85] =
522 { 0,
523 1, 1, 2, 1, 3, 4, 1, 1, 5, 6,
524 1, 7, 8, 9, 1, 10, 1, 11, 12, 12,
525 12, 12, 13, 1, 1, 1, 1, 14, 14, 14,
526 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
527 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
528 15, 15, 16, 17, 18, 1, 19, 14, 14, 14,
529 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
530 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
531 15, 20, 1, 21
532 } ;
533
534 static const flex_int16_t yy_base[1221] =
535 { 0,
536 0, 84, 167, 250, 171, 184, 135, 142, 220, 231,
537 196, 200, 334, 0, 3627, 3625, 211, 416, 203, 212,
538 189, 225, 266, 417, 500, 0, 207, 208, 234, 421,
539 424, 436, 583, 588, 669, 0, 294, 304, 584, 751,
540 579, 580, 417, 576, 287, 306, 241, 441, 595, 608,
541 169, 238, 440, 754, 3680, 4511, 325, 4511, 3676, 0,
542 446, 4511, 3673, 430, 827, 3661, 0, 4511, 758, 4511,
543 3650, 4511, 453, 3621, 4511, 4511, 3619, 3584, 129, 746,
544 445, 766, 4511, 3604, 198, 3582, 4511, 4511, 4511, 3600,
545 0, 3599, 214, 0, 3506, 3483, 0, 4511, 3532, 4511,
546
547 420, 119, 3481, 3478, 3446, 0, 3526, 4511, 3520, 4511,
548 482, 3520, 3518, 4511, 3455, 0, 4511, 4511, 4511, 3504,
549 4511, 598, 4511, 4511, 4511, 3499, 4511, 754, 4511, 3477,
550 759, 180, 4511, 4511, 3467, 0, 3442, 762, 4511, 0,
551 4511, 3459, 4511, 3406, 3434, 0, 562, 167, 3393, 3370,
552 4511, 4511, 326, 4511, 420, 0, 4511, 3418, 3402, 3366,
553 3342, 0, 4511, 3368, 4511, 3317, 444, 3314, 4511, 471,
554 4511, 3354, 3271, 3337, 572, 189, 3295, 3285, 4511, 3332,
555 4511, 3307, 3303, 585, 594, 4511, 746, 734, 744, 754,
556 763, 770, 0, 755, 748, 763, 818, 789, 240, 822,
557
558 762, 381, 802, 791, 813, 824, 577, 4511, 4511, 3302,
559 871, 0, 4511, 3302, 3250, 3231, 4511, 4511, 4511, 4511,
560 4511, 4511, 4511, 4511, 4511, 4511, 4511, 0, 4511, 3279,
561 4511, 4511, 4511, 3276, 3260, 3259, 0, 3221, 3214, 0,
562 3264, 4511, 835, 4511, 3262, 0, 903, 4511, 3257, 842,
563 817, 0, 0, 910, 914, 918, 922, 0, 814, 0,
564 457, 4511, 0, 943, 4511, 3241, 3141, 483, 4511, 3217,
565 3212, 4511, 826, 556, 903, 930, 4511, 757, 0, 3134,
566 3131, 4511, 3129, 964, 4511, 3190, 3110, 3174, 3161, 4511,
567 0, 4511, 896, 4511, 0, 3172, 0, 0, 0, 4511,
568
569 4511, 0, 4511, 910, 913, 4511, 4511, 602, 0, 3169,
570 4511, 957, 3164, 3161, 3127, 4511, 0, 4511, 976, 4511,
571 1020, 4511, 4511, 4511, 4511, 0, 4511, 3116, 0, 4511,
572 0, 926, 930, 644, 4511, 662, 0, 4511, 4511, 0,
573 4511, 4511, 3071, 3121, 794, 3037, 4511, 0, 934, 932,
574 3117, 4511, 3091, 4511, 938, 939, 0, 940, 738, 956,
575 802, 3059, 876, 978, 933, 933, 939, 948, 964, 1030,
576 938, 958, 976, 968, 0, 996, 4511, 999, 1057, 1068,
577 981, 1079, 1077, 1080, 1074, 1068, 1070, 1120, 3062, 4511,
578 1014, 0, 4511, 4511, 4511, 0, 4511, 4511, 4511, 4511,
579
580 0, 4511, 4511, 0, 1078, 0, 0, 1153, 4511, 3063,
581 1166, 1077, 1076, 1091, 0, 1089, 0, 1018, 4511, 1022,
582 4511, 1025, 4511, 1035, 4511, 1091, 1067, 1138, 1162, 1242,
583 1177, 1308, 1105, 0, 4511, 4511, 2954, 1198, 4511, 4511,
584 1144, 0, 1137, 0, 0, 1161, 1156, 1123, 4511, 1202,
585 1308, 1309, 1310, 1319, 3013, 1312, 1311, 1327, 1320, 1321,
586 1323, 1382, 4511, 1172, 1166, 2589, 2537, 0, 1178, 1169,
587 1169, 1298, 1315, 1324, 1330, 1321, 1330, 1323, 0, 1341,
588 1332, 1348, 0, 1346, 1350, 1348, 1361, 1350, 1367, 2573,
589 1370, 1366, 1380, 1382, 1382, 1385, 1378, 1387, 1391, 1400,
590
591 1393, 1403, 1406, 1414, 1400, 1401, 1404, 1429, 1419, 1424,
592 1428, 1425, 1436, 1435, 1430, 1441, 1442, 1432, 1432, 1450,
593 1209, 1508, 4511, 1215, 1512, 1219, 1461, 1455, 1451, 0,
594 1143, 0, 1461, 1534, 1600, 1636, 204, 2525, 1606, 1681,
595 4511, 4511, 1453, 1463, 1591, 1442, 2524, 1599, 1604, 1600,
596 1607, 1605, 1611, 1608, 1650, 1620, 1606, 1614, 1613, 1654,
597 1663, 1652, 1661, 1666, 1682, 1664, 1693, 1694, 1655, 1674,
598 1662, 1675, 4511, 4511, 1683, 1676, 1677, 1683, 1697, 1692,
599 1731, 1711, 1702, 1718, 0, 0, 1719, 1706, 1716, 1735,
600 0, 0, 2553, 1722, 1732, 2540, 1725, 1722, 1733, 0,
601
602 1727, 1747, 1740, 1739, 1735, 1752, 1739, 1740, 1746, 0,
603 1750, 1763, 1760, 1750, 1752, 1759, 1777, 1762, 1778, 1769,
604 1783, 1778, 2514, 4511, 1224, 1230, 1772, 1783, 1780, 0,
605 1507, 1234, 2364, 732, 2273, 1809, 1845, 1430, 1076, 1585,
606 1797, 2286, 1785, 1807, 4511, 1811, 1814, 1829, 1835, 1821,
607 1808, 1822, 1845, 1859, 1860, 1862, 1868, 1869, 1870, 1825,
608 1888, 1890, 1876, 1891, 1874, 1902, 1894, 1898, 1795, 1891,
609 1882, 1899, 0, 1887, 0, 1892, 0, 2260, 1900, 1891,
610 1909, 0, 1904, 2253, 1902, 0, 1916, 1907, 1918, 2227,
611 1912, 1909, 1924, 2201, 1908, 1918, 1922, 0, 1934, 1925,
612
613 1931, 1947, 0, 1936, 1942, 1941, 1953, 2103, 1957, 1958,
614 1952, 2085, 1950, 1951, 1950, 1969, 1956, 2133, 1515, 1961,
615 1971, 2002, 4511, 2117, 2038, 1981, 1592, 1842, 2025, 1983,
616 0, 0, 1972, 1990, 1999, 1987, 1994, 2008, 2005, 2007,
617 2015, 2023, 2016, 2021, 2017, 2024, 2022, 2026, 2030, 2029,
618 2037, 2035, 2045, 2051, 2054, 2061, 0, 0, 4511, 4511,
619 1922, 0, 2049, 2039, 2050, 2053, 2051, 2051, 2054, 1831,
620 2073, 2064, 2077, 2073, 2081, 2082, 2072, 2085, 0, 2091,
621 0, 2074, 0, 1824, 0, 2091, 2094, 2082, 0, 2116,
622 2088, 0, 2092, 2133, 0, 1728, 2097, 2095, 1714, 1678,
623
624 4511, 2135, 4511, 2096, 4511, 1726, 4511, 1703, 1612, 1601,
625 1514, 1500, 1477, 1377, 1373, 1333, 1274, 1203, 2133, 2128,
626 2148, 2151, 2144, 2150, 2156, 2158, 2161, 2163, 2184, 2167,
627 2164, 2157, 2151, 2159, 2158, 2173, 0, 2165, 0, 2166,
628 2182, 2173, 2179, 2178, 2186, 0, 2185, 0, 2187, 2193,
629 0, 2202, 0, 0, 0, 2204, 2187, 2201, 2224, 2200,
630 2222, 2213, 2219, 2230, 2199, 2227, 2239, 2222, 2225, 1162,
631 1158, 2228, 2278, 4511, 1112, 1109, 1081, 1063, 1057, 984,
632 976, 969, 923, 913, 910, 931, 895, 891, 887, 881,
633 874, 856, 848, 843, 840, 804, 788, 2259, 2248, 2258,
634
635 2265, 2264, 2241, 0, 2254, 2265, 2268, 2279, 0, 2262,
636 2268, 2271, 2266, 2278, 2283, 2289, 2273, 4511, 2280, 2281,
637 2281, 2300, 2283, 2281, 0, 2303, 2307, 2292, 4511, 2302,
638 2304, 2319, 2303, 2307, 2309, 2328, 2309, 2357, 4511, 2362,
639 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
640 4511, 746, 725, 597, 577, 441, 426, 420, 267, 253,
641 247, 230, 183, 181, 2317, 2338, 2342, 2330, 2336, 2343,
642 2339, 2331, 2334, 2350, 2341, 2345, 0, 2350, 2346, 2344,
643 2349, 2361, 2364, 2367, 2359, 4511, 2357, 0, 2358, 2362,
644 2379, 2383, 2375, 4511, 2388, 2375, 2382, 2377, 2389, 4511,
645
646 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511,
647 4511, 122, 2399, 2398, 2382, 2391, 2391, 0, 2407, 2408,
648 0, 2397, 2398, 2420, 2417, 2414, 2418, 2426, 4511, 2414,
649 4511, 4511, 4511, 2422, 2429, 2419, 4511, 4511, 2417, 2437,
650 2435, 2425, 2428, 2428, 4511, 2431, 2445, 2445, 2447, 2452,
651 0, 0, 2461, 0, 2444, 0, 2459, 4511, 4511, 2452,
652 4511, 4511, 2454, 2465, 2452, 2467, 2471, 2470, 2476, 2481,
653 0, 2468, 2465, 2465, 2485, 0, 2465, 4511, 4511, 4511,
654 2489, 2491, 2479, 2488, 4511, 2501, 2491, 2498, 2503, 2490,
655 0, 4511, 2497, 4511, 2510, 2500, 2502, 2500, 0, 2514,
656
657 4511, 4511, 2516, 0, 2523, 2508, 2509, 0, 2528, 2531,
658 0, 0, 4511, 2593, 2614, 2635, 2656, 2677, 2698, 2719,
659 2740, 2761, 2782, 2803, 2824, 2845, 2866, 2887, 2908, 2929,
660 2950, 2971, 2992, 3013, 3025, 3044, 3055, 3074, 3095, 3108,
661 3127, 3148, 3169, 3190, 3202, 3221, 3242, 3263, 3280, 3292,
662 3311, 3332, 3353, 3374, 3395, 3408, 2553, 3423, 3444, 3463,
663 3484, 3505, 3517, 3536, 3557, 2569, 3057, 3578, 3590, 3609,
664 3630, 3651, 2558, 3663, 3684, 3705, 3726, 3747, 3768, 3789,
665 3810, 3831, 3843, 3862, 3879, 3891, 3910, 3931, 3952, 3973,
666 3994, 4007, 4022, 4043, 4062, 4083, 4104, 4125, 4146, 4167,
667
668 4179, 4189, 4208, 4229, 4250, 2561, 4262, 4283, 4304, 4325,
669 4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489
670 } ;
671
672 static const flex_int16_t yy_def[1221] =
673 { 0,
674 1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118,
675 1119, 1119, 1113, 13, 1120, 1120, 1121, 1121, 1122, 1122,
676 1123, 1123, 1124, 1124, 1113, 25, 1125, 1125, 1126, 1126,
677 1127, 1127, 1128, 1128, 1113, 35, 1129, 1129, 1130, 1130,
678 1120, 1120, 1120, 1120, 1131, 1131, 1132, 1132, 1126, 1126,
679 1133, 1133, 1134, 1134, 1113, 1113, 1113, 1113, 1113, 1135,
680 1113, 1113, 1113, 1113, 1136, 1113, 1137, 1113, 1113, 1113,
681 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1138, 1139,
682 1140, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
683 1141, 1113, 1141, 1142, 1113, 1113, 1143, 1113, 1143, 1113,
684
685 1143, 1143, 1113, 1113, 1113, 1144, 1113, 1113, 1113, 1113,
686 1113, 1113, 1113, 1113, 1113, 1145, 1113, 1113, 1113, 1113,
687 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1139, 1113, 1113,
688 1139, 1146, 1113, 1113, 1113, 1147, 1113, 1139, 1113, 1148,
689 1113, 1148, 1113, 1149, 1113, 1150, 1150, 1150, 1113, 1113,
690 1113, 1113, 1151, 1113, 1151, 1152, 1113, 1152, 1113, 1113,
691 1113, 1153, 1113, 1153, 1113, 1113, 1154, 1113, 1113, 1113,
692 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
693 1113, 1113, 1155, 1113, 1113, 1113, 1156, 1156, 1156, 1156,
694 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1156, 1156,
695
696 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1113, 1113, 1158,
697 1113, 1159, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
698 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1160, 1113, 1160,
699 1113, 1113, 1113, 1113, 1113, 1113, 1161, 1113, 1113, 1162,
700 1162, 1113, 1113, 1113, 1113, 1163, 1113, 1113, 1113, 1113,
701 1113, 1164, 1165, 1113, 1113, 1113, 1113, 1166, 1164, 1167,
702 1168, 1113, 1169, 1113, 1113, 1113, 1113, 1170, 1113, 1113,
703 1113, 1113, 1113, 1171, 1171, 1172, 1113, 1113, 1173, 1113,
704 1113, 1113, 1174, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
705 1175, 1113, 1113, 1113, 1176, 1113, 1177, 1178, 1179, 1113,
706
707 1113, 1180, 1113, 1180, 1180, 1113, 1113, 1181, 1182, 1113,
708 1113, 1113, 1113, 1113, 1113, 1113, 1183, 1113, 1113, 1113,
709 1113, 1113, 1113, 1113, 1113, 1184, 1113, 1113, 1185, 1113,
710 1186, 1186, 1186, 1187, 1113, 1187, 1188, 1113, 1113, 1189,
711 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1190, 1113, 1113,
712 1113, 1113, 1191, 1113, 1113, 1113, 1192, 1192, 1192, 1192,
713 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
714 1192, 1192, 1192, 1192, 1192, 1192, 1113, 1192, 1192, 1192,
715 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1113,
716 1113, 1194, 1113, 1113, 1113, 1195, 1113, 1113, 1113, 1113,
717
718 1196, 1113, 1113, 1197, 1113, 1198, 1199, 1200, 1113, 1113,
719 1113, 1113, 1113, 1113, 1201, 1198, 1202, 1203, 1113, 1203,
720 1113, 1204, 1113, 1204, 1113, 1113, 1205, 1205, 1205, 1113,
721 1205, 1205, 1113, 1206, 1113, 1113, 1207, 1113, 1113, 1113,
722 1113, 1208, 1113, 1209, 1210, 1211, 1211, 1212, 1113, 1212,
723 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
724 1213, 1213, 1113, 1214, 1214, 1113, 1215, 1216, 1113, 1113,
725 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
726 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
727 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
728
729 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
730 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113,
731 1200, 1200, 1113, 1200, 1200, 1113, 1113, 1113, 1113, 1201,
732 1218, 1202, 1113, 1113, 1205, 432, 430, 430, 1205, 432,
733 1113, 1113, 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213,
734 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
735 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
736 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217,
737 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
738 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
739
740 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
741 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
742 1113, 1113, 1113, 1113, 1200, 1200, 1113, 1113, 1113, 1218,
743 1218, 1218, 1113, 534, 534, 1205, 432, 1205, 1205, 1205,
744 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 1213, 1213,
745 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
746 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214,
747 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
748 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
749 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
750
751 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
752 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1219, 1113,
753 1113, 1218, 1113, 1218, 1113, 1205, 1205, 1205, 1113, 1113,
754 1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
755 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
756 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1113, 1113,
757 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
758 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
759 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
760 1217, 1217, 1217, 1113, 1217, 1113, 1113, 1113, 1113, 1219,
761
762 1113, 1219, 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213,
763 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
764 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
765 1213, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
766 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
767 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
768 1113, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
769 1113, 1113, 1220, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
770 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 1213, 1213,
771 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1217, 1217,
772
773 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
774 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113,
775 1113, 1113, 1113, 1113, 1217, 1217, 1113, 1113, 1113, 1113,
776 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1220, 1113, 1220,
777 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
778 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
779 1113, 1113, 1113, 1213, 1217, 1217, 1217, 1217, 1217, 1217,
780 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113,
781 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 1113, 1113,
782 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
783
784 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
785 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
786 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113,
787 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
788 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
789 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
790 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217,
791 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113,
792 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
793 1217, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217,
794
795 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217,
796 1217, 1217, 0, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
797 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
798 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
799 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
800 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
801 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
802 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
803 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
804 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
805
806 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
807 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113
808 } ;
809
810 static const flex_int16_t yy_nxt[4596] =
811 { 0,
812 56, 57, 58, 56, 59, 56, 56, 56, 56, 56,
813 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
814 56, 56, 56, 56, 56, 56, 56, 60, 60, 60,
815 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
816 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
817 60, 60, 56, 56, 56, 56, 60, 60, 60, 60,
818 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
819 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
820 60, 56, 56, 56, 56, 61, 62, 56, 63, 56,
821 64, 56, 65, 56, 56, 56, 56, 56, 56, 56,
822
823 56, 66, 56, 56, 56, 56, 56, 56, 56, 56,
824 56, 67, 67, 67, 67, 67, 67, 67, 67, 67,
825 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
826 67, 67, 67, 67, 67, 67, 56, 56, 56, 56,
827 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
828 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
829 67, 67, 67, 67, 67, 56, 56, 56, 69, 70,
830 305, 71, 72, 89, 73, 90, 1045, 74, 75, 76,
831 76, 275, 276, 76, 77, 92, 89, 95, 90, 96,
832 78, 56, 93, 76, 95, 323, 96, 107, 108, 305,
833
834 109, 107, 108, 1012, 109, 125, 291, 126, 127, 154,
835 154, 155, 155, 119, 125, 120, 126, 127, 333, 79,
836 80, 238, 98, 239, 99, 121, 638, 56, 100, 122,
837 122, 122, 122, 98, 323, 99, 157, 1011, 158, 105,
838 350, 130, 131, 233, 132, 234, 159, 333, 81, 76,
839 76, 82, 83, 235, 84, 72, 128, 73, 85, 427,
840 74, 75, 76, 76, 101, 128, 76, 77, 134, 350,
841 135, 102, 103, 86, 104, 101, 76, 130, 131, 292,
842 132, 136, 102, 103, 1010, 104, 160, 378, 161, 229,
843 238, 230, 239, 101, 123, 297, 209, 298, 231, 210,
844
845 102, 1009, 79, 80, 101, 87, 209, 1008, 229, 210,
846 230, 102, 211, 211, 211, 211, 378, 231, 137, 138,
847 139, 1007, 211, 211, 211, 211, 243, 244, 335, 245,
848 336, 81, 76, 76, 110, 111, 112, 110, 113, 110,
849 110, 110, 110, 110, 110, 110, 114, 110, 114, 110,
850 110, 110, 110, 110, 110, 110, 110, 110, 110, 115,
851 110, 116, 116, 116, 116, 116, 116, 116, 116, 116,
852 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
853 116, 116, 116, 116, 116, 116, 110, 110, 110, 110,
854 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
855
856 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
857 116, 116, 116, 116, 116, 110, 110, 110, 119, 134,
858 120, 135, 335, 157, 336, 158, 163, 383, 164, 165,
859 121, 250, 136, 159, 122, 122, 122, 122, 163, 224,
860 164, 165, 163, 233, 241, 234, 343, 247, 248, 242,
861 249, 304, 225, 235, 269, 269, 383, 270, 280, 419,
862 281, 420, 226, 282, 282, 282, 282, 227, 251, 137,
863 138, 139, 345, 160, 1006, 161, 166, 167, 168, 346,
864 1005, 304, 225, 312, 313, 423, 314, 424, 166, 167,
865 168, 226, 166, 167, 168, 1004, 227, 344, 251, 123,
866
867 140, 140, 141, 140, 142, 143, 140, 140, 140, 144,
868 140, 140, 140, 140, 140, 140, 140, 145, 140, 140,
869 140, 140, 140, 140, 140, 140, 140, 146, 146, 146,
870 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
871 146, 146, 146, 146, 147, 146, 146, 146, 146, 146,
872 146, 148, 149, 140, 150, 140, 146, 146, 146, 146,
873 146, 146, 146, 146, 146, 146, 146, 146, 146, 146,
874 146, 146, 146, 147, 146, 146, 146, 146, 146, 146,
875 148, 151, 140, 152, 170, 171, 213, 172, 214, 170,
876 171, 173, 172, 332, 219, 219, 173, 157, 224, 158,
877
878 174, 220, 220, 349, 449, 174, 450, 236, 428, 429,
879 157, 225, 158, 355, 221, 221, 319, 319, 319, 319,
880 236, 226, 356, 332, 222, 222, 227, 175, 388, 223,
881 223, 1003, 175, 349, 176, 177, 215, 178, 216, 176,
882 177, 225, 178, 355, 221, 221, 335, 160, 336, 161,
883 226, 1002, 356, 222, 222, 227, 175, 388, 223, 223,
884 160, 175, 161, 176, 335, 217, 336, 218, 176, 179,
885 180, 181, 179, 182, 183, 179, 179, 179, 179, 179,
886 179, 179, 179, 179, 179, 179, 179, 179, 184, 185,
887 179, 179, 179, 186, 179, 179, 187, 188, 189, 190,
888
889 191, 192, 193, 194, 195, 193, 193, 196, 197, 198,
890 199, 200, 193, 201, 202, 203, 204, 205, 206, 193,
891 207, 179, 179, 179, 179, 179, 187, 188, 189, 190,
892 191, 192, 193, 194, 195, 193, 193, 196, 197, 198,
893 199, 200, 201, 202, 203, 204, 205, 206, 193, 207,
894 179, 179, 179, 213, 726, 214, 163, 362, 241, 264,
895 265, 360, 266, 242, 278, 278, 267, 284, 285, 361,
896 286, 363, 278, 278, 287, 433, 433, 278, 278, 1001,
897 278, 278, 475, 288, 358, 364, 369, 427, 370, 289,
898 359, 360, 365, 382, 371, 345, 279, 367, 372, 361,
899
900 1000, 363, 346, 215, 279, 216, 166, 167, 168, 279,
901 963, 475, 279, 366, 358, 364, 369, 368, 370, 359,
902 376, 290, 365, 382, 371, 279, 962, 367, 372, 384,
903 377, 385, 217, 279, 218, 253, 243, 244, 279, 245,
904 268, 279, 366, 250, 386, 373, 368, 478, 268, 374,
905 376, 387, 405, 379, 254, 416, 255, 426, 255, 384,
906 377, 385, 961, 380, 255, 960, 381, 255, 256, 257,
907 959, 255, 258, 259, 386, 373, 478, 260, 958, 374,
908 251, 387, 405, 379, 254, 416, 255, 426, 255, 391,
909 391, 391, 391, 380, 255, 381, 957, 255, 256, 257,
910
911 255, 258, 259, 956, 247, 248, 260, 249, 261, 955,
912 251, 408, 409, 954, 410, 408, 409, 953, 410, 408,
913 409, 480, 410, 408, 409, 430, 410, 443, 411, 411,
914 411, 411, 411, 411, 411, 411, 411, 411, 411, 411,
915 411, 411, 411, 411, 264, 265, 446, 266, 431, 431,
916 480, 267, 447, 952, 412, 428, 429, 443, 312, 313,
917 413, 314, 464, 414, 951, 284, 285, 950, 286, 465,
918 469, 470, 287, 471, 472, 473, 446, 949, 483, 484,
919 432, 288, 447, 412, 485, 476, 486, 289, 490, 474,
920 413, 487, 464, 414, 319, 319, 319, 319, 491, 465,
921
922 469, 470, 477, 471, 472, 473, 481, 483, 484, 432,
923 482, 492, 499, 485, 493, 476, 486, 490, 474, 290,
924 419, 487, 420, 948, 419, 268, 420, 423, 491, 424,
925 947, 477, 391, 391, 391, 391, 481, 423, 946, 424,
926 482, 492, 499, 493, 494, 495, 268, 451, 452, 453,
927 454, 455, 455, 456, 455, 455, 455, 455, 457, 455,
928 455, 455, 458, 455, 455, 459, 455, 460, 455, 455,
929 461, 455, 488, 494, 495, 462, 489, 451, 452, 453,
930 454, 455, 455, 456, 455, 455, 455, 455, 457, 455,
931 455, 455, 458, 455, 459, 455, 460, 455, 455, 461,
932
933 455, 496, 488, 497, 503, 489, 500, 504, 505, 506,
934 501, 945, 508, 498, 509, 502, 507, 944, 520, 428,
935 429, 527, 528, 277, 277, 449, 529, 450, 428, 429,
936 496, 531, 533, 497, 503, 943, 500, 504, 505, 506,
937 501, 508, 498, 509, 631, 502, 507, 510, 520, 511,
938 527, 528, 512, 513, 522, 523, 529, 524, 514, 515,
939 534, 531, 533, 942, 516, 517, 941, 526, 409, 518,
940 410, 525, 525, 525, 525, 543, 519, 510, 544, 511,
941 535, 535, 512, 513, 411, 411, 411, 411, 514, 515,
942 428, 429, 545, 516, 517, 539, 539, 546, 518, 542,
943
944 542, 542, 542, 569, 449, 543, 450, 570, 544, 571,
945 572, 624, 536, 625, 936, 573, 427, 523, 935, 625,
946 526, 409, 545, 410, 632, 885, 624, 546, 625, 428,
947 429, 626, 523, 569, 524, 722, 723, 570, 724, 571,
948 572, 536, 427, 427, 573, 427, 427, 427, 427, 427,
949 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
950 427, 427, 427, 427, 427, 427, 427, 427, 427, 537,
951 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
952 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
953 537, 537, 537, 537, 428, 429, 884, 538, 427, 537,
954
955 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
956 537, 537, 537, 537, 537, 537, 537, 537, 537, 537,
957 537, 537, 537, 427, 427, 427, 540, 540, 540, 540,
958 547, 547, 547, 547, 547, 540, 540, 540, 540, 540,
959 540, 547, 547, 547, 574, 547, 548, 549, 575, 547,
960 550, 576, 553, 558, 551, 883, 552, 577, 578, 579,
961 428, 429, 556, 557, 580, 540, 540, 540, 540, 540,
962 540, 554, 581, 574, 555, 583, 548, 549, 575, 582,
963 550, 576, 553, 558, 551, 552, 586, 577, 578, 579,
964 584, 587, 556, 557, 580, 882, 585, 588, 589, 881,
965
966 554, 591, 581, 555, 1113, 583, 592, 593, 582, 559,
967 560, 561, 562, 594, 595, 563, 586, 596, 597, 584,
968 564, 587, 598, 599, 565, 585, 588, 566, 589, 567,
969 600, 591, 568, 601, 602, 603, 592, 593, 606, 559,
970 560, 561, 562, 594, 595, 563, 607, 596, 597, 604,
971 564, 608, 598, 599, 565, 605, 566, 609, 567, 610,
972 600, 568, 611, 601, 602, 603, 612, 614, 606, 613,
973 615, 616, 617, 618, 620, 607, 619, 621, 622, 604,
974 608, 623, 428, 429, 274, 605, 644, 609, 627, 610,
975 628, 629, 611, 633, 641, 642, 612, 614, 613, 880,
976
977 615, 616, 617, 618, 620, 619, 621, 622, 631, 522,
978 523, 623, 524, 626, 523, 644, 524, 801, 627, 802,
979 628, 629, 879, 633, 641, 642, 525, 525, 525, 525,
980 525, 525, 525, 525, 427, 427, 878, 427, 427, 427,
981 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
982 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
983 427, 634, 634, 634, 634, 634, 634, 634, 634, 634,
984 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
985 634, 634, 634, 634, 634, 634, 428, 429, 632, 635,
986 427, 634, 634, 634, 634, 634, 634, 634, 634, 634,
987
988 634, 634, 634, 634, 634, 634, 634, 634, 634, 634,
989 634, 634, 634, 634, 634, 427, 427, 427, 636, 636,
990 643, 547, 547, 877, 639, 639, 547, 547, 547, 547,
991 547, 648, 651, 547, 876, 547, 547, 428, 429, 646,
992 650, 647, 547, 653, 428, 429, 649, 655, 656, 657,
993 643, 658, 428, 429, 637, 637, 637, 637, 428, 429,
994 652, 648, 651, 637, 637, 637, 637, 637, 637, 646,
995 650, 647, 547, 653, 547, 649, 547, 655, 656, 657,
996 801, 658, 802, 547, 669, 547, 547, 661, 547, 652,
997 654, 671, 659, 637, 637, 637, 637, 637, 637, 640,
998
999 640, 640, 640, 660, 547, 662, 666, 663, 640, 640,
1000 640, 640, 640, 640, 669, 547, 547, 661, 670, 672,
1001 654, 671, 659, 673, 668, 875, 664, 674, 675, 665,
1002 676, 677, 678, 660, 662, 667, 666, 663, 640, 640,
1003 640, 640, 640, 640, 682, 684, 679, 670, 672, 683,
1004 685, 874, 686, 673, 668, 664, 674, 675, 665, 676,
1005 687, 677, 678, 680, 688, 667, 690, 691, 695, 681,
1006 872, 693, 694, 696, 682, 684, 697, 698, 683, 699,
1007 685, 686, 700, 701, 869, 702, 703, 704, 705, 687,
1008 706, 707, 709, 680, 688, 690, 708, 691, 695, 681,
1009
1010 693, 694, 696, 710, 711, 713, 697, 698, 712, 699,
1011 714, 700, 716, 701, 702, 703, 715, 704, 705, 717,
1012 706, 707, 709, 719, 720, 708, 721, 727, 727, 729,
1013 547, 731, 710, 547, 711, 713, 547, 712, 732, 852,
1014 714, 757, 716, 547, 547, 715, 841, 547, 734, 717,
1015 738, 547, 719, 739, 720, 721, 737, 547, 733, 729,
1016 731, 428, 429, 728, 728, 728, 728, 547, 732, 735,
1017 757, 748, 728, 728, 728, 728, 728, 728, 734, 736,
1018 738, 547, 547, 739, 547, 740, 737, 733, 741, 742,
1019 547, 547, 547, 743, 428, 429, 547, 747, 547, 735,
1020
1021 748, 744, 728, 728, 728, 728, 728, 728, 736, 745,
1022 547, 746, 547, 547, 753, 740, 547, 750, 741, 742,
1023 547, 749, 758, 743, 547, 751, 752, 747, 759, 754,
1024 760, 744, 761, 756, 762, 764, 755, 832, 766, 745,
1025 767, 746, 768, 771, 753, 765, 770, 750, 772, 773,
1026 775, 749, 758, 776, 751, 777, 752, 759, 779, 754,
1027 760, 761, 780, 756, 762, 764, 755, 766, 781, 782,
1028 767, 783, 768, 771, 765, 770, 784, 785, 772, 773,
1029 775, 786, 776, 787, 789, 777, 788, 779, 791, 792,
1030 793, 780, 795, 796, 547, 797, 798, 781, 799, 782,
1031
1032 783, 803, 804, 722, 723, 784, 724, 785, 807, 547,
1033 786, 808, 547, 787, 789, 788, 547, 809, 791, 792,
1034 793, 547, 795, 796, 797, 811, 798, 547, 799, 547,
1035 547, 803, 804, 428, 429, 427, 810, 547, 547, 547,
1036 812, 808, 813, 547, 547, 547, 547, 809, 547, 814,
1037 806, 547, 547, 815, 817, 811, 819, 547, 821, 547,
1038 818, 816, 822, 805, 820, 824, 810, 547, 826, 812,
1039 823, 825, 813, 547, 828, 827, 547, 833, 814, 835,
1040 829, 836, 815, 547, 817, 830, 819, 834, 821, 818,
1041 816, 837, 822, 820, 831, 824, 838, 839, 826, 823,
1042
1043 840, 825, 842, 843, 828, 827, 844, 833, 845, 835,
1044 829, 836, 846, 847, 849, 830, 848, 834, 850, 723,
1045 851, 837, 853, 854, 831, 838, 839, 855, 862, 840,
1046 863, 870, 842, 843, 718, 871, 844, 801, 845, 802,
1047 873, 794, 846, 847, 849, 848, 856, 857, 850, 851,
1048 547, 858, 853, 854, 859, 547, 855, 860, 862, 790,
1049 863, 870, 861, 864, 865, 871, 547, 887, 866, 873,
1050 547, 867, 547, 547, 868, 888, 856, 857, 547, 886,
1051 547, 858, 890, 547, 859, 547, 547, 860, 889, 547,
1052 892, 861, 899, 864, 865, 900, 891, 887, 866, 898,
1053
1054 901, 867, 893, 902, 868, 888, 547, 894, 886, 895,
1055 904, 897, 890, 903, 906, 896, 778, 905, 889, 907,
1056 892, 908, 899, 909, 900, 891, 910, 911, 912, 898,
1057 901, 893, 902, 913, 914, 916, 894, 917, 895, 904,
1058 897, 918, 774, 903, 906, 896, 905, 923, 907, 928,
1059 915, 908, 909, 924, 925, 919, 910, 911, 912, 920,
1060 926, 927, 921, 913, 914, 916, 917, 929, 769, 933,
1061 934, 918, 922, 937, 930, 763, 923, 931, 928, 915,
1062 939, 547, 940, 924, 925, 919, 969, 932, 965, 920,
1063 926, 927, 921, 966, 967, 968, 970, 929, 933, 934,
1064
1065 971, 922, 937, 972, 930, 964, 973, 931, 974, 975,
1066 976, 730, 977, 978, 979, 969, 932, 980, 965, 981,
1067 982, 983, 984, 966, 967, 968, 970, 985, 427, 986,
1068 971, 987, 988, 972, 964, 989, 973, 974, 990, 975,
1069 976, 977, 991, 978, 979, 992, 993, 980, 981, 994,
1070 982, 983, 984, 995, 996, 999, 997, 985, 986, 939,
1071 987, 940, 988, 1013, 939, 989, 940, 990, 1014, 1015,
1072 1016, 1017, 991, 998, 1018, 992, 993, 1019, 994, 1020,
1073 1021, 1022, 995, 996, 999, 1023, 997, 1024, 1025, 725,
1074 1026, 1027, 1013, 1028, 1029, 1030, 1031, 1032, 1014, 1015,
1075
1076 1016, 1017, 998, 1033, 1018, 1034, 1035, 1019, 1020, 1021,
1077 1036, 1022, 1037, 1038, 1023, 1039, 1044, 1024, 1025, 1026,
1078 1027, 1040, 1028, 1043, 1029, 1030, 1031, 1032, 1048, 1041,
1079 1046, 1047, 1033, 1042, 1034, 1035, 1049, 1050, 1051, 1052,
1080 1036, 1053, 1037, 1038, 1054, 1039, 1044, 1055, 1056, 1057,
1081 1040, 1058, 1043, 1059, 1060, 1061, 1062, 1048, 1041, 1063,
1082 1046, 1047, 1042, 1064, 1065, 1049, 1050, 1066, 1051, 1052,
1083 1053, 1067, 1068, 1054, 1069, 1070, 1071, 1055, 1056, 1057,
1084 1072, 1058, 1073, 1059, 1060, 1061, 1062, 1074, 1075, 1063,
1085 1076, 1077, 1064, 1078, 1065, 1079, 1080, 1066, 1081, 1082,
1086
1087 1067, 1068, 1083, 1069, 1070, 1084, 1071, 1085, 1086, 1087,
1088 1072, 1088, 1073, 1089, 1090, 718, 1091, 1074, 1075, 1076,
1089 1092, 1077, 1093, 1078, 1094, 1079, 1080, 1081, 1095, 1082,
1090 1096, 1097, 1083, 1098, 1099, 1084, 1100, 1085, 1086, 1087,
1091 1088, 1101, 1089, 1102, 1090, 1091, 1103, 1104, 1105, 1106,
1092 1092, 1107, 1093, 1094, 1108, 692, 1109, 1110, 1095, 1111,
1093 1096, 1097, 1112, 1098, 1099, 1100, 375, 375, 689, 434,
1094 1101, 434, 541, 1102, 541, 1103, 1104, 1105, 645, 1106,
1095 427, 1107, 415, 415, 1108, 1109, 1110, 415, 590, 1111,
1096 344, 343, 1112, 68, 68, 68, 68, 68, 68, 68,
1097
1098 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
1099 68, 68, 68, 68, 88, 88, 88, 88, 88, 88,
1100 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
1101 88, 88, 88, 88, 88, 91, 91, 91, 91, 91,
1102 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
1103 91, 91, 91, 91, 91, 91, 94, 94, 94, 94,
1104 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
1105 94, 94, 94, 94, 94, 94, 94, 97, 97, 97,
1106 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
1107 97, 97, 97, 97, 97, 97, 97, 97, 106, 106,
1108
1109 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
1110 106, 106, 106, 106, 106, 106, 106, 106, 106, 56,
1111 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1112 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1113 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
1114 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
1115 118, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1116 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
1117 124, 124, 129, 129, 129, 129, 129, 129, 129, 129,
1118 129, 129, 129, 129, 129, 129, 129, 129, 129, 129,
1119
1120 129, 129, 129, 133, 133, 133, 133, 133, 133, 133,
1121 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
1122 133, 133, 133, 133, 153, 153, 153, 153, 153, 153,
1123 153, 153, 153, 153, 153, 153, 153, 153, 153, 153,
1124 153, 153, 153, 153, 153, 156, 156, 156, 156, 156,
1125 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
1126 156, 156, 156, 156, 156, 156, 162, 162, 162, 162,
1127 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
1128 162, 162, 162, 162, 162, 162, 162, 169, 169, 169,
1129 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
1130
1131 169, 169, 169, 169, 169, 169, 169, 169, 208, 208,
1132 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
1133 208, 208, 208, 208, 208, 208, 208, 208, 208, 212,
1134 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1135 212, 212, 212, 212, 212, 212, 212, 212, 212, 212,
1136 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1137 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
1138 228, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1139 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1140 232, 232, 237, 237, 237, 237, 237, 237, 237, 237,
1141
1142 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
1143 237, 237, 237, 240, 240, 240, 240, 240, 240, 240,
1144 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
1145 240, 240, 240, 240, 246, 547, 246, 438, 246, 246,
1146 455, 455, 455, 246, 252, 252, 252, 252, 252, 252,
1147 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
1148 252, 252, 252, 252, 263, 409, 263, 390, 263, 263,
1149 417, 417, 479, 263, 274, 417, 274, 274, 274, 274,
1150 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
1151 274, 274, 274, 274, 274, 277, 354, 277, 277, 277,
1152
1153 277, 277, 277, 277, 277, 277, 277, 277, 277, 277,
1154 277, 277, 277, 277, 277, 277, 283, 283, 351, 283,
1155 348, 283, 283, 467, 466, 463, 283, 295, 315, 295,
1156 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
1157 295, 295, 295, 295, 295, 295, 295, 295, 299, 299,
1158 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1159 299, 299, 299, 313, 299, 315, 299, 299, 299, 302,
1160 310, 302, 302, 296, 302, 302, 302, 302, 302, 302,
1161 302, 302, 302, 302, 441, 302, 440, 302, 302, 302,
1162 309, 439, 285, 309, 309, 309, 309, 309, 309, 309,
1163
1164 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
1165 309, 317, 438, 317, 436, 317, 317, 435, 425, 269,
1166 317, 322, 421, 322, 322, 322, 322, 322, 322, 322,
1167 322, 322, 322, 322, 322, 322, 322, 322, 322, 322,
1168 322, 322, 325, 265, 325, 325, 325, 325, 325, 325,
1169 325, 325, 325, 325, 325, 325, 325, 325, 325, 248,
1170 325, 325, 325, 326, 244, 326, 341, 326, 403, 326,
1171 326, 326, 326, 402, 326, 326, 400, 399, 398, 326,
1172 328, 397, 328, 328, 328, 395, 328, 328, 328, 328,
1173 328, 328, 328, 328, 328, 328, 328, 328, 328, 328,
1174
1175 328, 331, 394, 331, 393, 331, 331, 390, 354, 352,
1176 331, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1177 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1178 334, 334, 337, 351, 337, 337, 337, 337, 337, 307,
1179 337, 337, 337, 337, 337, 337, 337, 306, 337, 330,
1180 337, 337, 337, 340, 348, 340, 347, 340, 340, 340,
1181 340, 340, 340, 340, 340, 340, 340, 340, 307, 306,
1182 341, 340, 340, 340, 342, 342, 342, 342, 342, 342,
1183 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
1184 342, 342, 342, 342, 342, 353, 307, 353, 353, 353,
1185
1186 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
1187 353, 353, 353, 353, 353, 353, 357, 357, 306, 339,
1188 338, 357, 357, 389, 307, 389, 389, 389, 389, 389,
1189 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
1190 389, 389, 389, 389, 392, 306, 330, 392, 392, 392,
1191 392, 392, 392, 392, 392, 392, 392, 392, 392, 329,
1192 392, 327, 392, 396, 321, 396, 396, 396, 396, 324,
1193 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1194 396, 396, 396, 396, 401, 401, 401, 401, 401, 401,
1195 401, 401, 401, 401, 401, 401, 401, 401, 401, 321,
1196
1197 401, 320, 401, 401, 401, 404, 318, 404, 404, 404,
1198 316, 404, 404, 404, 404, 404, 404, 404, 404, 404,
1199 313, 315, 311, 404, 404, 404, 246, 310, 246, 308,
1200 246, 246, 307, 306, 303, 246, 406, 301, 406, 406,
1201 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1202 406, 406, 406, 406, 406, 406, 406, 407, 300, 407,
1203 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1204 407, 407, 407, 407, 407, 407, 407, 407, 418, 418,
1205 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
1206 418, 418, 418, 418, 418, 418, 418, 418, 418, 263,
1207
1208 296, 263, 294, 263, 263, 293, 285, 273, 263, 422,
1209 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1210 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1211 427, 272, 427, 427, 427, 427, 427, 427, 427, 427,
1212 427, 427, 427, 427, 427, 427, 427, 271, 427, 427,
1213 427, 274, 265, 274, 274, 274, 274, 274, 274, 274,
1214 274, 274, 274, 274, 274, 274, 274, 274, 274, 274,
1215 274, 274, 437, 262, 437, 248, 437, 437, 244, 1113,
1216 117, 437, 117, 437, 442, 1113, 442, 442, 442, 442,
1217 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
1218
1219 442, 442, 442, 442, 442, 295, 1113, 295, 295, 295,
1220 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
1221 295, 295, 295, 295, 295, 295, 444, 1113, 444, 444,
1222 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
1223 444, 444, 444, 444, 444, 444, 444, 445, 1113, 445,
1224 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
1225 445, 445, 445, 445, 445, 445, 445, 445, 299, 299,
1226 299, 299, 299, 299, 299, 299, 299, 299, 299, 299,
1227 299, 299, 299, 1113, 299, 1113, 299, 299, 299, 302,
1228 1113, 302, 302, 1113, 302, 302, 302, 302, 302, 302,
1229
1230 302, 302, 302, 302, 1113, 302, 1113, 302, 302, 302,
1231 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
1232 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
1233 448, 309, 1113, 1113, 309, 309, 309, 309, 309, 309,
1234 309, 309, 309, 309, 309, 309, 309, 309, 309, 309,
1235 309, 309, 317, 1113, 317, 1113, 317, 317, 1113, 1113,
1236 1113, 317, 326, 1113, 326, 1113, 326, 1113, 326, 326,
1237 326, 326, 1113, 326, 326, 1113, 1113, 1113, 326, 328,
1238 1113, 328, 328, 328, 328, 328, 328, 328, 328, 328,
1239 328, 328, 328, 328, 328, 328, 328, 328, 328, 328,
1240
1241 331, 1113, 331, 1113, 331, 331, 1113, 1113, 1113, 331,
1242 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1243 334, 334, 334, 334, 334, 334, 334, 334, 334, 334,
1244 334, 337, 1113, 337, 337, 337, 337, 337, 1113, 337,
1245 337, 337, 337, 337, 337, 337, 1113, 337, 1113, 337,
1246 337, 337, 340, 1113, 340, 1113, 340, 340, 340, 340,
1247 340, 340, 340, 340, 340, 340, 340, 1113, 1113, 1113,
1248 340, 340, 340, 468, 1113, 468, 468, 468, 468, 468,
1249 468, 468, 468, 468, 468, 468, 468, 468, 468, 468,
1250 468, 468, 468, 468, 353, 1113, 353, 353, 353, 353,
1251
1252 353, 353, 353, 353, 353, 353, 353, 353, 353, 353,
1253 353, 353, 353, 353, 353, 357, 357, 1113, 1113, 1113,
1254 357, 357, 389, 1113, 389, 389, 389, 389, 389, 389,
1255 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
1256 389, 389, 389, 392, 1113, 1113, 392, 392, 392, 392,
1257 392, 392, 392, 392, 392, 392, 392, 392, 1113, 392,
1258 1113, 392, 396, 1113, 396, 396, 396, 396, 1113, 396,
1259 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1260 396, 396, 396, 401, 401, 401, 401, 401, 401, 401,
1261 401, 401, 401, 401, 401, 401, 401, 401, 1113, 401,
1262
1263 1113, 401, 401, 401, 404, 1113, 404, 404, 404, 1113,
1264 404, 404, 404, 404, 404, 404, 404, 404, 404, 1113,
1265 1113, 1113, 404, 404, 404, 406, 1113, 406, 406, 406,
1266 406, 406, 406, 406, 406, 406, 406, 406, 406, 406,
1267 406, 406, 406, 406, 406, 406, 407, 1113, 407, 407,
1268 407, 407, 407, 407, 407, 407, 407, 407, 407, 407,
1269 407, 407, 407, 407, 407, 407, 407, 521, 521, 521,
1270 521, 521, 521, 521, 521, 521, 521, 521, 521, 521,
1271 521, 521, 521, 521, 521, 521, 521, 521, 530, 1113,
1272 530, 1113, 530, 530, 1113, 1113, 1113, 530, 532, 1113,
1273
1274 532, 1113, 532, 532, 1113, 1113, 1113, 532, 418, 418,
1275 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
1276 418, 418, 418, 418, 418, 418, 418, 418, 418, 422,
1277 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1278 422, 422, 422, 422, 422, 422, 422, 422, 422, 422,
1279 427, 1113, 427, 427, 427, 427, 427, 427, 427, 427,
1280 427, 427, 427, 427, 427, 427, 427, 1113, 427, 427,
1281 427, 437, 1113, 437, 1113, 437, 437, 1113, 1113, 1113,
1282 437, 1113, 437, 442, 1113, 442, 442, 442, 442, 442,
1283 442, 442, 442, 442, 442, 442, 442, 442, 442, 442,
1284
1285 442, 442, 442, 442, 444, 1113, 444, 444, 444, 444,
1286 444, 444, 444, 444, 444, 444, 444, 444, 444, 444,
1287 444, 444, 444, 444, 444, 445, 1113, 445, 445, 445,
1288 445, 445, 445, 445, 445, 445, 445, 445, 445, 445,
1289 445, 445, 445, 445, 445, 445, 302, 1113, 302, 302,
1290 1113, 302, 302, 302, 302, 302, 302, 302, 302, 302,
1291 302, 1113, 302, 1113, 302, 302, 302, 448, 448, 448,
1292 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
1293 448, 448, 448, 448, 448, 448, 448, 448, 331, 1113,
1294 331, 1113, 331, 331, 1113, 1113, 1113, 331, 342, 1113,
1295
1296 342, 342, 342, 342, 342, 342, 342, 342, 342, 342,
1297 342, 342, 342, 342, 342, 342, 342, 342, 342, 468,
1298 1113, 468, 468, 468, 468, 468, 468, 468, 468, 468,
1299 468, 468, 468, 468, 468, 468, 468, 468, 468, 468,
1300 357, 357, 1113, 1113, 1113, 357, 357, 630, 1113, 630,
1301 630, 630, 630, 630, 630, 630, 630, 630, 630, 630,
1302 630, 630, 630, 630, 630, 630, 630, 630, 800, 800,
1303 800, 800, 800, 800, 800, 800, 800, 800, 800, 800,
1304 800, 800, 800, 800, 800, 800, 800, 800, 800, 938,
1305 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1306
1307 938, 938, 938, 938, 938, 938, 938, 938, 938, 938,
1308 55, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1309 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1310 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1311 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1312 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1313 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1314 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1315 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1316 1113, 1113, 1113, 1113, 1113
1317
1318 } ;
1319
1320 static const flex_int16_t yy_chk[4596] =
1321 { 0,
1322 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1323 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1324 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1325 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1326 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1327 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1329 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1330 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
1331 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1332
1333 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1334 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1335 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1336 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1338 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1339 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
1340 102, 3, 3, 5, 3, 5, 1012, 3, 3, 3,
1341 3, 79, 79, 3, 3, 6, 6, 7, 6, 7,
1342 3, 21, 6, 3, 8, 132, 8, 11, 11, 102,
1343
1344 11, 12, 12, 964, 12, 19, 85, 19, 19, 27,
1345 28, 27, 28, 17, 20, 17, 20, 20, 148, 3,
1346 3, 51, 9, 51, 9, 17, 537, 22, 9, 17,
1347 17, 17, 17, 10, 132, 10, 29, 963, 29, 10,
1348 176, 21, 21, 47, 21, 47, 29, 148, 3, 3,
1349 3, 4, 4, 47, 4, 4, 19, 4, 4, 537,
1350 4, 4, 4, 4, 9, 20, 4, 4, 23, 176,
1351 23, 9, 9, 4, 9, 10, 4, 22, 22, 85,
1352 22, 23, 10, 10, 962, 10, 29, 199, 29, 45,
1353 52, 45, 52, 9, 17, 93, 37, 93, 45, 37,
1354
1355 9, 961, 4, 4, 10, 4, 38, 960, 46, 38,
1356 46, 10, 37, 37, 37, 37, 199, 46, 23, 23,
1357 23, 959, 38, 38, 38, 38, 57, 57, 153, 57,
1358 153, 4, 4, 4, 13, 13, 13, 13, 13, 13,
1359 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1360 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1361 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1362 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1363 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1364 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1365
1366 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1367 13, 13, 13, 13, 13, 13, 13, 13, 18, 24,
1368 18, 24, 155, 30, 155, 30, 31, 202, 31, 31,
1369 18, 64, 24, 30, 18, 18, 18, 18, 32, 43,
1370 32, 32, 53, 48, 53, 48, 167, 61, 61, 53,
1371 61, 101, 43, 48, 73, 73, 202, 73, 81, 261,
1372 81, 261, 43, 81, 81, 81, 81, 43, 64, 24,
1373 24, 24, 170, 30, 958, 30, 31, 31, 31, 170,
1374 957, 101, 43, 111, 111, 268, 111, 268, 32, 32,
1375 32, 43, 53, 53, 53, 956, 43, 167, 64, 18,
1376
1377 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1378 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1379 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1380 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1381 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1382 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1383 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1384 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
1385 25, 25, 25, 25, 33, 33, 39, 33, 39, 34,
1386 34, 33, 34, 147, 41, 42, 34, 49, 44, 49,
1387
1388 33, 41, 42, 175, 308, 34, 308, 49, 274, 274,
1389 50, 44, 50, 184, 41, 42, 122, 122, 122, 122,
1390 50, 44, 185, 147, 41, 42, 44, 33, 207, 41,
1391 42, 955, 34, 175, 33, 33, 39, 33, 39, 34,
1392 34, 44, 34, 184, 41, 42, 334, 49, 334, 49,
1393 44, 954, 185, 41, 42, 44, 33, 207, 41, 42,
1394 50, 34, 50, 33, 336, 39, 336, 39, 34, 35,
1395 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1396 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1397 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1398
1399 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1400 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1401 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1402 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1403 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
1404 35, 35, 35, 40, 634, 40, 54, 189, 54, 69,
1405 69, 188, 69, 54, 80, 80, 69, 82, 82, 188,
1406 82, 189, 128, 128, 82, 278, 278, 131, 131, 953,
1407 138, 138, 359, 82, 187, 190, 194, 634, 195, 82,
1408 187, 188, 191, 201, 196, 345, 80, 192, 196, 188,
1409
1410 952, 189, 345, 40, 128, 40, 54, 54, 54, 131,
1411 897, 359, 138, 191, 187, 190, 194, 192, 195, 187,
1412 198, 82, 191, 201, 196, 80, 896, 192, 196, 203,
1413 198, 204, 40, 128, 40, 65, 243, 243, 131, 243,
1414 69, 138, 191, 250, 205, 197, 192, 361, 82, 197,
1415 198, 206, 251, 200, 65, 259, 65, 273, 65, 203,
1416 198, 204, 895, 200, 65, 894, 200, 65, 65, 65,
1417 893, 65, 65, 65, 205, 197, 361, 65, 892, 197,
1418 250, 206, 251, 200, 65, 259, 65, 273, 65, 211,
1419 211, 211, 211, 200, 65, 200, 891, 65, 65, 65,
1420
1421 65, 65, 65, 890, 247, 247, 65, 247, 65, 889,
1422 250, 254, 254, 888, 254, 255, 255, 887, 255, 256,
1423 256, 363, 256, 257, 257, 275, 257, 293, 254, 254,
1424 254, 254, 255, 255, 255, 255, 256, 256, 256, 256,
1425 257, 257, 257, 257, 264, 264, 304, 264, 276, 276,
1426 363, 264, 305, 886, 254, 275, 275, 293, 312, 312,
1427 256, 312, 332, 257, 885, 284, 284, 884, 284, 333,
1428 349, 350, 284, 355, 356, 358, 304, 883, 365, 366,
1429 276, 284, 305, 254, 367, 360, 368, 284, 371, 358,
1430 256, 369, 332, 257, 319, 319, 319, 319, 372, 333,
1431
1432 349, 350, 360, 355, 356, 358, 364, 365, 366, 276,
1433 364, 373, 381, 367, 374, 360, 368, 371, 358, 284,
1434 418, 369, 418, 882, 420, 264, 420, 422, 372, 422,
1435 881, 360, 391, 391, 391, 391, 364, 424, 880, 424,
1436 364, 373, 381, 374, 376, 378, 284, 321, 321, 321,
1437 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1438 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1439 321, 321, 370, 376, 378, 321, 370, 321, 321, 321,
1440 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1441 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1442
1443 321, 379, 370, 380, 383, 370, 382, 383, 384, 385,
1444 382, 879, 386, 380, 387, 382, 385, 878, 405, 427,
1445 427, 412, 413, 433, 433, 448, 414, 448, 639, 639,
1446 379, 416, 426, 380, 383, 877, 382, 383, 384, 385,
1447 382, 386, 380, 387, 531, 382, 385, 388, 405, 388,
1448 412, 413, 388, 388, 408, 408, 414, 408, 388, 388,
1449 428, 416, 426, 876, 388, 388, 875, 411, 411, 388,
1450 411, 408, 408, 408, 408, 441, 388, 388, 443, 388,
1451 429, 429, 388, 388, 411, 411, 411, 411, 388, 388,
1452 428, 428, 446, 388, 388, 431, 431, 447, 388, 438,
1453
1454 438, 438, 438, 464, 450, 441, 450, 465, 443, 469,
1455 470, 521, 429, 521, 871, 471, 429, 524, 870, 524,
1456 526, 526, 446, 526, 531, 818, 625, 447, 625, 431,
1457 431, 626, 626, 464, 626, 632, 632, 465, 632, 469,
1458 470, 429, 430, 430, 471, 430, 430, 430, 430, 430,
1459 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1460 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1461 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1462 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1463 430, 430, 430, 430, 430, 430, 817, 430, 430, 430,
1464
1465 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1466 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
1467 430, 430, 430, 430, 430, 430, 432, 432, 432, 432,
1468 451, 452, 453, 457, 456, 432, 432, 432, 432, 432,
1469 432, 454, 459, 460, 472, 461, 451, 452, 473, 458,
1470 453, 474, 457, 461, 454, 816, 456, 475, 476, 477,
1471 432, 432, 459, 460, 478, 432, 432, 432, 432, 432,
1472 432, 458, 480, 472, 458, 482, 451, 452, 473, 481,
1473 453, 474, 457, 461, 454, 456, 486, 475, 476, 477,
1474 484, 487, 459, 460, 478, 815, 485, 488, 489, 814,
1475
1476 458, 491, 480, 458, 462, 482, 492, 493, 481, 462,
1477 462, 462, 462, 494, 495, 462, 486, 496, 497, 484,
1478 462, 487, 498, 499, 462, 485, 488, 462, 489, 462,
1479 500, 491, 462, 501, 502, 503, 492, 493, 505, 462,
1480 462, 462, 462, 494, 495, 462, 506, 496, 497, 504,
1481 462, 507, 498, 499, 462, 504, 462, 508, 462, 509,
1482 500, 462, 510, 501, 502, 503, 511, 513, 505, 512,
1483 514, 515, 516, 517, 519, 506, 518, 519, 519, 504,
1484 507, 520, 638, 638, 638, 504, 546, 508, 527, 509,
1485 528, 529, 510, 533, 543, 544, 511, 513, 512, 813,
1486
1487 514, 515, 516, 517, 519, 518, 519, 519, 631, 522,
1488 522, 520, 522, 525, 525, 546, 525, 719, 527, 719,
1489 528, 529, 812, 533, 543, 544, 522, 522, 522, 522,
1490 525, 525, 525, 525, 534, 534, 811, 534, 534, 534,
1491 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1492 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1493 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1494 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1495 534, 534, 534, 534, 534, 534, 534, 534, 631, 534,
1496 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1497
1498 534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
1499 534, 534, 534, 534, 534, 534, 534, 534, 535, 535,
1500 545, 548, 550, 810, 539, 539, 549, 552, 557, 551,
1501 554, 549, 552, 553, 809, 559, 558, 640, 640, 548,
1502 551, 548, 556, 554, 727, 727, 550, 556, 557, 558,
1503 545, 559, 535, 535, 536, 536, 536, 536, 539, 539,
1504 553, 549, 552, 536, 536, 536, 536, 536, 536, 548,
1505 551, 548, 555, 554, 562, 550, 560, 556, 557, 558,
1506 800, 559, 800, 563, 569, 561, 566, 562, 564, 553,
1507 555, 571, 560, 536, 536, 536, 536, 536, 536, 540,
1508
1509 540, 540, 540, 561, 565, 563, 566, 564, 540, 540,
1510 540, 540, 540, 540, 569, 567, 568, 562, 570, 572,
1511 555, 571, 560, 575, 568, 808, 565, 576, 577, 565,
1512 578, 579, 580, 561, 563, 567, 566, 564, 540, 540,
1513 540, 540, 540, 540, 582, 584, 581, 570, 572, 583,
1514 587, 806, 588, 575, 568, 565, 576, 577, 565, 578,
1515 589, 579, 580, 581, 590, 567, 594, 595, 599, 581,
1516 799, 597, 598, 601, 582, 584, 602, 603, 583, 604,
1517 587, 588, 605, 606, 796, 607, 608, 609, 611, 589,
1518 612, 613, 615, 581, 590, 594, 614, 595, 599, 581,
1519
1520 597, 598, 601, 616, 617, 619, 602, 603, 618, 604,
1521 620, 605, 621, 606, 607, 608, 620, 609, 611, 622,
1522 612, 613, 615, 627, 628, 614, 629, 636, 636, 641,
1523 651, 643, 616, 646, 617, 619, 647, 618, 644, 784,
1524 620, 669, 621, 650, 652, 620, 770, 660, 647, 622,
1525 651, 648, 627, 652, 628, 629, 650, 649, 646, 641,
1526 643, 636, 636, 637, 637, 637, 637, 653, 644, 648,
1527 669, 660, 637, 637, 637, 637, 637, 637, 647, 649,
1528 651, 654, 655, 652, 656, 653, 650, 646, 654, 655,
1529 657, 658, 659, 656, 728, 728, 665, 659, 663, 648,
1530
1531 660, 657, 637, 637, 637, 637, 637, 637, 649, 658,
1532 661, 658, 662, 664, 665, 653, 667, 662, 654, 655,
1533 668, 661, 670, 656, 666, 663, 664, 659, 671, 666,
1534 672, 657, 674, 668, 676, 679, 667, 761, 680, 658,
1535 681, 658, 683, 687, 665, 679, 685, 662, 688, 689,
1536 691, 661, 670, 692, 663, 693, 664, 671, 695, 666,
1537 672, 674, 696, 668, 676, 679, 667, 680, 697, 699,
1538 681, 700, 683, 687, 679, 685, 701, 702, 688, 689,
1539 691, 704, 692, 705, 707, 693, 706, 695, 709, 710,
1540 711, 696, 713, 714, 733, 715, 716, 697, 717, 699,
1541
1542 700, 720, 721, 722, 722, 701, 722, 702, 730, 736,
1543 704, 733, 734, 705, 707, 706, 737, 734, 709, 710,
1544 711, 735, 713, 714, 715, 736, 716, 739, 717, 740,
1545 738, 720, 721, 726, 726, 726, 735, 741, 743, 745,
1546 737, 733, 738, 744, 747, 742, 746, 734, 748, 739,
1547 729, 750, 749, 740, 742, 736, 744, 752, 746, 751,
1548 743, 741, 747, 725, 745, 749, 735, 753, 751, 737,
1549 748, 750, 738, 754, 753, 752, 755, 763, 739, 764,
1550 754, 765, 740, 756, 742, 755, 744, 763, 746, 743,
1551 741, 766, 747, 745, 756, 749, 767, 768, 751, 748,
1552
1553 769, 750, 771, 772, 753, 752, 773, 763, 774, 764,
1554 754, 765, 775, 776, 778, 755, 777, 763, 780, 724,
1555 782, 766, 786, 787, 756, 767, 768, 788, 791, 769,
1556 793, 797, 771, 772, 718, 798, 773, 802, 774, 802,
1557 804, 712, 775, 776, 778, 777, 790, 790, 780, 782,
1558 820, 790, 786, 787, 790, 819, 788, 790, 791, 708,
1559 793, 797, 790, 794, 794, 798, 823, 820, 794, 804,
1560 821, 794, 824, 822, 794, 821, 790, 790, 825, 819,
1561 826, 790, 823, 827, 790, 828, 831, 790, 822, 830,
1562 825, 790, 832, 794, 794, 833, 824, 820, 794, 831,
1563
1564 834, 794, 826, 835, 794, 821, 829, 827, 819, 828,
1565 838, 830, 823, 836, 841, 829, 694, 840, 822, 842,
1566 825, 843, 832, 844, 833, 824, 845, 847, 849, 831,
1567 834, 826, 835, 850, 852, 856, 827, 857, 828, 838,
1568 830, 858, 690, 836, 841, 829, 840, 860, 842, 865,
1569 852, 843, 844, 861, 862, 859, 845, 847, 849, 859,
1570 863, 864, 859, 850, 852, 856, 857, 866, 684, 868,
1571 869, 858, 859, 872, 867, 678, 860, 867, 865, 852,
1572 873, 898, 873, 861, 862, 859, 903, 867, 899, 859,
1573 863, 864, 859, 900, 901, 902, 905, 866, 868, 869,
1574
1575 906, 859, 872, 907, 867, 898, 908, 867, 910, 911,
1576 912, 642, 913, 914, 915, 903, 867, 916, 899, 917,
1577 919, 920, 921, 900, 901, 902, 905, 922, 635, 923,
1578 906, 924, 926, 907, 898, 927, 908, 910, 928, 911,
1579 912, 913, 930, 914, 915, 931, 932, 916, 917, 933,
1580 919, 920, 921, 934, 935, 937, 936, 922, 923, 938,
1581 924, 938, 926, 965, 940, 927, 940, 928, 966, 967,
1582 968, 969, 930, 936, 970, 931, 932, 971, 933, 972,
1583 973, 974, 934, 935, 937, 975, 936, 976, 978, 633,
1584 979, 980, 965, 981, 982, 983, 984, 985, 966, 967,
1585
1586 968, 969, 936, 987, 970, 989, 990, 971, 972, 973,
1587 991, 974, 992, 993, 975, 995, 999, 976, 978, 979,
1588 980, 996, 981, 998, 982, 983, 984, 985, 1015, 997,
1589 1013, 1014, 987, 997, 989, 990, 1016, 1017, 1019, 1020,
1590 991, 1022, 992, 993, 1023, 995, 999, 1024, 1025, 1026,
1591 996, 1027, 998, 1028, 1030, 1034, 1035, 1015, 997, 1036,
1592 1013, 1014, 997, 1039, 1040, 1016, 1017, 1041, 1019, 1020,
1593 1022, 1042, 1043, 1023, 1044, 1046, 1047, 1024, 1025, 1026,
1594 1048, 1027, 1049, 1028, 1030, 1034, 1035, 1050, 1053, 1036,
1595 1055, 1057, 1039, 1060, 1040, 1063, 1064, 1041, 1065, 1066,
1596
1597 1042, 1043, 1067, 1044, 1046, 1068, 1047, 1069, 1070, 1072,
1598 1048, 1073, 1049, 1074, 1075, 623, 1077, 1050, 1053, 1055,
1599 1081, 1057, 1082, 1060, 1083, 1063, 1064, 1065, 1084, 1066,
1600 1086, 1087, 1067, 1088, 1089, 1068, 1090, 1069, 1070, 1072,
1601 1073, 1093, 1074, 1095, 1075, 1077, 1096, 1097, 1098, 1100,
1602 1081, 1103, 1082, 1083, 1105, 596, 1106, 1107, 1084, 1109,
1603 1086, 1087, 1110, 1088, 1089, 1090, 1157, 1157, 593, 1173,
1604 1093, 1173, 1206, 1095, 1206, 1096, 1097, 1098, 547, 1100,
1605 538, 1103, 1166, 1166, 1105, 1106, 1107, 1166, 490, 1109,
1606 467, 466, 1110, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1607
1608 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
1609 1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115,
1610 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
1611 1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116,
1612 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
1613 1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117,
1614 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
1615 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118,
1616 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
1617 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119,
1618
1619 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
1620 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120,
1621 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1622 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
1623 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1624 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1625 1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1626 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
1627 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1628 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
1629
1630 1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1631 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
1632 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125,
1633 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
1634 1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126,
1635 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
1636 1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127,
1637 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
1638 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1128,
1639 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1640
1641 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129,
1642 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
1643 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130,
1644 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1645 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
1646 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1647 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131,
1648 1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1649 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1650 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1651
1652 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
1653 1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1654 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134,
1655 1134, 1134, 1134, 1134, 1135, 455, 1135, 437, 1135, 1135,
1656 1213, 1213, 1213, 1135, 1136, 1136, 1136, 1136, 1136, 1136,
1657 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
1658 1136, 1136, 1136, 1136, 1137, 410, 1137, 389, 1137, 1137,
1659 1167, 1167, 362, 1137, 1138, 1167, 1138, 1138, 1138, 1138,
1660 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
1661 1138, 1138, 1138, 1138, 1138, 1139, 353, 1139, 1139, 1139,
1662
1663 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1664 1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140, 351, 1140,
1665 346, 1140, 1140, 344, 343, 328, 1140, 1141, 315, 1141,
1666 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
1667 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142,
1668 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
1669 1142, 1142, 1142, 314, 1142, 313, 1142, 1142, 1142, 1143,
1670 310, 1143, 1143, 296, 1143, 1143, 1143, 1143, 1143, 1143,
1671 1143, 1143, 1143, 1143, 289, 1143, 288, 1143, 1143, 1143,
1672 1144, 287, 286, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1673
1674 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
1675 1144, 1145, 283, 1145, 281, 1145, 1145, 280, 271, 270,
1676 1145, 1146, 267, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1677 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146,
1678 1146, 1146, 1147, 266, 1147, 1147, 1147, 1147, 1147, 1147,
1679 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 249,
1680 1147, 1147, 1147, 1148, 245, 1148, 241, 1148, 239, 1148,
1681 1148, 1148, 1148, 238, 1148, 1148, 236, 235, 234, 1148,
1682 1149, 230, 1149, 1149, 1149, 216, 1149, 1149, 1149, 1149,
1683 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
1684
1685 1149, 1150, 215, 1150, 214, 1150, 1150, 210, 183, 182,
1686 1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1687 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1688 1151, 1151, 1152, 180, 1152, 1152, 1152, 1152, 1152, 178,
1689 1152, 1152, 1152, 1152, 1152, 1152, 1152, 177, 1152, 174,
1690 1152, 1152, 1152, 1153, 173, 1153, 172, 1153, 1153, 1153,
1691 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 168, 166,
1692 164, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154,
1693 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
1694 1154, 1154, 1154, 1154, 1154, 1155, 161, 1155, 1155, 1155,
1695
1696 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
1697 1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 160, 159,
1698 158, 1156, 1156, 1158, 150, 1158, 1158, 1158, 1158, 1158,
1699 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1700 1158, 1158, 1158, 1158, 1159, 149, 145, 1159, 1159, 1159,
1701 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 144,
1702 1159, 142, 1159, 1160, 137, 1160, 1160, 1160, 1160, 135,
1703 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
1704 1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161,
1705 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 130,
1706
1707 1161, 126, 1161, 1161, 1161, 1162, 120, 1162, 1162, 1162,
1708 115, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1709 113, 112, 109, 1162, 1162, 1162, 1163, 107, 1163, 105,
1710 1163, 1163, 104, 103, 99, 1163, 1164, 96, 1164, 1164,
1711 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1712 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 95, 1165,
1713 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1714 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1168, 1168,
1715 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
1716 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169,
1717
1718 92, 1169, 90, 1169, 1169, 86, 84, 78, 1169, 1170,
1719 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1720 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
1721 1171, 77, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
1722 1171, 1171, 1171, 1171, 1171, 1171, 1171, 74, 1171, 1171,
1723 1171, 1172, 71, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1724 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
1725 1172, 1172, 1174, 66, 1174, 63, 1174, 1174, 59, 55,
1726 16, 1174, 15, 1174, 1175, 0, 1175, 1175, 1175, 1175,
1727 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
1728
1729 1175, 1175, 1175, 1175, 1175, 1176, 0, 1176, 1176, 1176,
1730 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176,
1731 1176, 1176, 1176, 1176, 1176, 1176, 1177, 0, 1177, 1177,
1732 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
1733 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 0, 1178,
1734 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
1735 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179,
1736 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
1737 1179, 1179, 1179, 0, 1179, 0, 1179, 1179, 1179, 1180,
1738 0, 1180, 1180, 0, 1180, 1180, 1180, 1180, 1180, 1180,
1739
1740 1180, 1180, 1180, 1180, 0, 1180, 0, 1180, 1180, 1180,
1741 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1742 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
1743 1181, 1182, 0, 0, 1182, 1182, 1182, 1182, 1182, 1182,
1744 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
1745 1182, 1182, 1183, 0, 1183, 0, 1183, 1183, 0, 0,
1746 0, 1183, 1184, 0, 1184, 0, 1184, 0, 1184, 1184,
1747 1184, 1184, 0, 1184, 1184, 0, 0, 0, 1184, 1185,
1748 0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1749 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1750
1751 1186, 0, 1186, 0, 1186, 1186, 0, 0, 0, 1186,
1752 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1753 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
1754 1187, 1188, 0, 1188, 1188, 1188, 1188, 1188, 0, 1188,
1755 1188, 1188, 1188, 1188, 1188, 1188, 0, 1188, 0, 1188,
1756 1188, 1188, 1189, 0, 1189, 0, 1189, 1189, 1189, 1189,
1757 1189, 1189, 1189, 1189, 1189, 1189, 1189, 0, 0, 0,
1758 1189, 1189, 1189, 1190, 0, 1190, 1190, 1190, 1190, 1190,
1759 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
1760 1190, 1190, 1190, 1190, 1191, 0, 1191, 1191, 1191, 1191,
1761
1762 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
1763 1191, 1191, 1191, 1191, 1191, 1192, 1192, 0, 0, 0,
1764 1192, 1192, 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193,
1765 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
1766 1193, 1193, 1193, 1194, 0, 0, 1194, 1194, 1194, 1194,
1767 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 0, 1194,
1768 0, 1194, 1195, 0, 1195, 1195, 1195, 1195, 0, 1195,
1769 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
1770 1195, 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
1771 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 0, 1196,
1772
1773 0, 1196, 1196, 1196, 1197, 0, 1197, 1197, 1197, 0,
1774 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 0,
1775 0, 0, 1197, 1197, 1197, 1198, 0, 1198, 1198, 1198,
1776 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
1777 1198, 1198, 1198, 1198, 1198, 1198, 1199, 0, 1199, 1199,
1778 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
1779 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
1780 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
1781 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201, 0,
1782 1201, 0, 1201, 1201, 0, 0, 0, 1201, 1202, 0,
1783
1784 1202, 0, 1202, 1202, 0, 0, 0, 1202, 1203, 1203,
1785 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
1786 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204,
1787 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1788 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204,
1789 1205, 0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
1790 1205, 1205, 1205, 1205, 1205, 1205, 1205, 0, 1205, 1205,
1791 1205, 1207, 0, 1207, 0, 1207, 1207, 0, 0, 0,
1792 1207, 0, 1207, 1208, 0, 1208, 1208, 1208, 1208, 1208,
1793 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208,
1794
1795 1208, 1208, 1208, 1208, 1209, 0, 1209, 1209, 1209, 1209,
1796 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209,
1797 1209, 1209, 1209, 1209, 1209, 1210, 0, 1210, 1210, 1210,
1798 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
1799 1210, 1210, 1210, 1210, 1210, 1210, 1211, 0, 1211, 1211,
1800 0, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211,
1801 1211, 0, 1211, 0, 1211, 1211, 1211, 1212, 1212, 1212,
1802 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212,
1803 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1214, 0,
1804 1214, 0, 1214, 1214, 0, 0, 0, 1214, 1215, 0,
1805
1806 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215,
1807 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216,
1808 0, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1809 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216,
1810 1217, 1217, 0, 0, 0, 1217, 1217, 1218, 0, 1218,
1811 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218,
1812 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1219,
1813 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219,
1814 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220,
1815 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1816
1817 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220,
1818 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1819 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1820 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1821 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1822 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1823 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1824 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1825 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
1826 1113, 1113, 1113, 1113, 1113
1827
1828 } ;
1829
1830 static yy_state_type yy_last_accepting_state;
1831 static char *yy_last_accepting_cpos;
1832
1833 extern int yy_flex_debug;
1834 int yy_flex_debug = 0;
1835
1836 /* The intent behind this definition is that it'll catch
1837 * any uses of REJECT which flex missed.
1838 */
1839 #define REJECT reject_used_but_not_detected
1840 #define yymore() yymore_used_but_not_detected
1841 #define YY_MORE_ADJ 0
1842 #define YY_RESTORE_YY_MORE_OFFSET
1843 char *yytext;
1844 /* $NetBSD: initscan.c,v 1.8 2017/01/07 15:43:27 christos Exp $ */
1845 /* scan.l - scanner for flex input -*-C-*- */
1846 /* Copyright (c) 1990 The Regents of the University of California. */
1847 /* All rights reserved. */
1848
1849 /* This code is derived from software contributed to Berkeley by */
1850 /* Vern Paxson. */
1851
1852 /* The United States Government has rights in this work pursuant */
1853 /* to contract no. DE-AC03-76SF00098 between the United States */
1854 /* Department of Energy and the University of California. */
1855
1856 /* This file is part of flex. */
1857
1858 /* Redistribution and use in source and binary forms, with or without */
1859 /* modification, are permitted provided that the following conditions */
1860 /* are met: */
1861
1862 /* 1. Redistributions of source code must retain the above copyright */
1863 /* notice, this list of conditions and the following disclaimer. */
1864 /* 2. Redistributions in binary form must reproduce the above copyright */
1865 /* notice, this list of conditions and the following disclaimer in the */
1866 /* documentation and/or other materials provided with the distribution. */
1867
1868 /* Neither the name of the University nor the names of its contributors */
1869 /* may be used to endorse or promote products derived from this software */
1870 /* without specific prior written permission. */
1871
1872 /* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
1873 /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
1874 /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
1875 /* PURPOSE. */
1876 #include "flexdef.h"
1877 __RCSID("$NetBSD: initscan.c,v 1.8 2017/01/07 15:43:27 christos Exp $");
1878
1879 #include "parse.h"
1880 extern bool tablesverify, tablesext;
1881 extern int trlcontxt; /* Set in parse.y for each rule. */
1882 extern const char *escaped_qstart, *escaped_qend;
1883 extern int yylval; /* XXX: for bootstrap */
1884
1885 #define M4QSTART "[""["
1886 #define M4QEND "]""]"
1887
1888 #define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART
1889 #define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART
1890
1891 #define ACTION_ECHO add_action( yytext )
1892 #define ACTION_IFDEF(def, should_define) \
1893 { \
1894 if ( should_define ) \
1895 action_define( def, 1 ); \
1896 }
1897
1898 #define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART)
1899 #define ACTION_ECHO_QEND add_action (ESCAPED_QEND)
1900
1901 #define ACTION_M4_IFDEF(def, should_define) \
1902 do{ \
1903 if ( should_define ) \
1904 buf_m4_define( &m4defs_buf, def, NULL);\
1905 else \
1906 buf_m4_undefine( &m4defs_buf, def);\
1907 } while(0)
1908
1909 #define MARK_END_OF_PROLOG mark_prolog();
1910
1911 #define YY_DECL \
1912 int flexscan(void)
1913
1914 #define RETURNCHAR \
1915 yylval = (unsigned char) yytext[0]; \
1916 return CHAR;
1917
1918 #define RETURNNAME \
1919 if(yyleng < MAXLINE) \
1920 { \
1921 strlcpy( nmstr, yytext, sizeof(nmstr) ); \
1922 return NAME; \
1923 } \
1924 else \
1925 do { \
1926 synerr(_("Input line too long\n")); \
1927 FLEX_EXIT(EXIT_FAILURE); \
1928 } while (0)
1929
1930 #define PUT_BACK_STRING(str, start) \
1931 { size_t i = strlen( str ); \
1932 while ( i > start ) \
1933 unput((str)[--i]); \
1934 }
1935
1936 #define CHECK_REJECT(str) \
1937 if ( all_upper( str ) ) \
1938 reject = true;
1939
1940 #define CHECK_YYMORE(str) \
1941 if ( all_lower( str ) ) \
1942 yymore_used = true;
1943
1944 #define YY_USER_INIT \
1945 if ( getenv("POSIXLY_CORRECT") ) \
1946 posix_compat = true;
1947
1948 #define START_CODEBLOCK(x) do { \
1949 /* Emit the needed line directive... */\
1950 if (indented_code == false) { \
1951 linenum++; \
1952 line_directive_out(NULL, 1); \
1953 } \
1954 add_action(M4QSTART); \
1955 yy_push_state(CODEBLOCK); \
1956 if ((indented_code = x)) ACTION_ECHO; \
1957 } while(0)
1958
1959 #define END_CODEBLOCK do { \
1960 yy_pop_state();\
1961 add_action(M4QEND); \
1962 if (!indented_code) line_directive_out(NULL, 0);\
1963 } while (0)
1964
1965 #define INITIAL 0
1966 #define SECT2 1
1967 #define SECT2PROLOG 2
1968 #define SECT3 3
1969 #define CODEBLOCK 4
1970 #define PICKUPDEF 5
1971 #define SC 6
1972 #define CARETISBOL 7
1973 #define NUM 8
1974 #define QUOTE 9
1975 #define FIRSTCCL 10
1976 #define CCL 11
1977 #define ACTION 12
1978 #define RECOVER 13
1979 #define COMMENT 14
1980 #define ACTION_STRING 15
1981 #define PERCENT_BRACE_ACTION 16
1982 #define OPTION 17
1983 #define LINEDIR 18
1984 #define CODEBLOCK_MATCH_BRACE 19
1985 #define GROUP_WITH_PARAMS 20
1986 #define GROUP_MINUS_PARAMS 21
1987 #define EXTENDED_COMMENT 22
1988 #define COMMENT_DISCARD 23
1989 #define CODE_COMMENT 24
1990 #define SECT3_NOESCAPE 25
1991 #define CHARACTER_CONSTANT 26
1992
1993 #ifndef YY_NO_UNISTD_H
1994 /* Special case for "unistd.h", since it is non-ANSI. We include it way
1995 * down here because we want the user's section 1 to have been scanned first.
1996 * The user has a chance to override it with an option.
1997 */
1998 #include <unistd.h>
1999 #endif
2000
2001 #ifndef YY_EXTRA_TYPE
2002 #define YY_EXTRA_TYPE void *
2003 #endif
2004
2005 static int yy_init_globals ( void );
2006
2007 /* Accessor methods to globals.
2008 These are made visible to non-reentrant scanners for convenience. */
2009
2010 int yylex_destroy ( void );
2011
2012 int yyget_debug ( void );
2013
2014 void yyset_debug ( int debug_flag );
2015
2016 YY_EXTRA_TYPE yyget_extra ( void );
2017
2018 void yyset_extra ( YY_EXTRA_TYPE user_defined );
2019
2020 FILE *yyget_in ( void );
2021
2022 void yyset_in ( FILE * _in_str );
2023
2024 FILE *yyget_out ( void );
2025
2026 void yyset_out ( FILE * _out_str );
2027
2028 yy_size_t yyget_leng ( void );
2029
2030 char *yyget_text ( void );
2031
2032 int yyget_lineno ( void );
2033
2034 void yyset_lineno ( int _line_number );
2035
2036 /* Macros after this point can all be overridden by user definitions in
2037 * section 1.
2038 */
2039
2040 #ifndef YY_SKIP_YYWRAP
2041 #ifdef __cplusplus
2042 extern "C" int yywrap ( void );
2043 #else
2044 extern int yywrap ( void );
2045 #endif
2046 #endif
2047
2048 #ifndef YY_NO_UNPUT
2049
2050 static void yyunput ( int c, char *buf_ptr );
2051
2052 #endif
2053
2054 #ifndef yytext_ptr
2055 static void yy_flex_strncpy ( char *, const char *, int );
2056 #endif
2057
2058 #ifdef YY_NEED_STRLEN
2059 static int yy_flex_strlen ( const char * );
2060 #endif
2061
2062 #ifndef YY_NO_INPUT
2063 #ifdef __cplusplus
2064 static int yyinput ( void );
2065 #else
2066 static int input ( void );
2067 #endif
2068
2069 #endif
2070
2071 static int yy_start_stack_ptr = 0;
2072 static int yy_start_stack_depth = 0;
2073 static int *yy_start_stack = NULL;
2074
2075 static void yy_push_state ( int _new_state );
2076
2077 static void yy_pop_state ( void );
2078
2079 /* Amount of stuff to slurp up with each read. */
2080 #ifndef YY_READ_BUF_SIZE
2081 #ifdef __ia64__
2082 /* On IA-64, the buffer size is 16k, not 8k */
2083 #define YY_READ_BUF_SIZE 16384
2084 #else
2085 #define YY_READ_BUF_SIZE 8192
2086 #endif /* __ia64__ */
2087 #endif
2088
2089 /* Copy whatever the last rule matched to the standard output. */
2090 #ifndef ECHO
2091 /* This used to be an fputs(), but since the string might contain NUL's,
2092 * we now use fwrite().
2093 */
2094 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2095 #endif
2096
2097 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2098 * is returned in "result".
2099 */
2100 #ifndef YY_INPUT
2101 #define YY_INPUT(buf,result,max_size) \
2102 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2103 { \
2104 int c = '*'; \
2105 yy_size_t n; \
2106 for ( n = 0; n < max_size && \
2107 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2108 buf[n] = (char) c; \
2109 if ( c == '\n' ) \
2110 buf[n++] = (char) c; \
2111 if ( c == EOF && ferror( yyin ) ) \
2112 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2113 result = n; \
2114 } \
2115 else \
2116 { \
2117 errno=0; \
2118 while ( (result = fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2119 { \
2120 if( errno != EINTR) \
2121 { \
2122 YY_FATAL_ERROR( "input in flex scanner failed" ); \
2123 break; \
2124 } \
2125 errno=0; \
2126 clearerr(yyin); \
2127 } \
2128 }\
2129 \
2130
2131 #endif
2132
2133 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2134 * we don't want an extra ';' after the "return" because that will cause
2135 * some compilers to complain about unreachable statements.
2136 */
2137 #ifndef yyterminate
2138 #define yyterminate() return YY_NULL
2139 #endif
2140
2141 /* Number of entries by which start-condition stack grows. */
2142 #ifndef YY_START_STACK_INCR
2143 #define YY_START_STACK_INCR 25
2144 #endif
2145
2146 /* Report a fatal error. */
2147 #ifndef YY_FATAL_ERROR
2148 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2149 #endif
2150
2151 /* end tables serialization structures and prototypes */
2152
2153 /* Default declaration of generated scanner - a define so the user can
2154 * easily add parameters.
2155 */
2156 #ifndef YY_DECL
2157 #define YY_DECL_IS_OURS 1
2158
2159 extern int yylex (void);
2160
2161 #define YY_DECL int yylex (void)
2162 #endif /* !YY_DECL */
2163
2164 /* Code executed at the beginning of each rule, after yytext and yyleng
2165 * have been set up.
2166 */
2167 #ifndef YY_USER_ACTION
2168 #define YY_USER_ACTION
2169 #endif
2170
2171 /* Code executed at the end of each rule. */
2172 #ifndef YY_BREAK
2173 #define YY_BREAK /*LINTED*/break;
2174 #endif
2175
2176 #define YY_RULE_SETUP \
2177 if ( yyleng > 0 ) \
2178 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2179 (yytext[yyleng - 1] == '\n'); \
2180 YY_USER_ACTION
2181
2182 /** The main scanner function which does all the work.
2183 */
2184 YY_DECL
2185 {
2186 yy_state_type yy_current_state;
2187 char *yy_cp, *yy_bp;
2188 int yy_act;
2189
2190 if ( !(yy_init) )
2191 {
2192 (yy_init) = 1;
2193
2194 #ifdef YY_USER_INIT
2195 YY_USER_INIT;
2196 #endif
2197
2198 if ( ! (yy_start) )
2199 (yy_start) = 1; /* first start state */
2200
2201 if ( ! yyin )
2202 yyin = stdin;
2203
2204 if ( ! yyout )
2205 yyout = stdout;
2206
2207 if ( ! YY_CURRENT_BUFFER ) {
2208 yyensure_buffer_stack ();
2209 YY_CURRENT_BUFFER_LVALUE =
2210 yy_create_buffer( yyin, YY_BUF_SIZE );
2211 }
2212
2213 yy_load_buffer_state( );
2214 }
2215
2216 {
2217
2218 static int bracelevel, didadef, indented_code;
2219 static int doing_rule_action = false;
2220 static int option_sense;
2221
2222 int doing_codeblock = false;
2223 int brace_depth=0, brace_start_line=0;
2224 char nmdef[MAXLINE];
2225
2226 while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2227 {
2228 yy_cp = (yy_c_buf_p);
2229
2230 /* Support of yytext. */
2231 *yy_cp = (yy_hold_char);
2232
2233 /* yy_bp points to the position in yy_ch_buf of the start of
2234 * the current run.
2235 */
2236 yy_bp = yy_cp;
2237
2238 yy_current_state = (yy_start);
2239 yy_current_state += YY_AT_BOL();
2240 yy_match:
2241 do
2242 {
2243 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2244 if ( yy_accept[yy_current_state] )
2245 {
2246 (yy_last_accepting_state) = yy_current_state;
2247 (yy_last_accepting_cpos) = yy_cp;
2248 }
2249 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2250 {
2251 yy_current_state = (int) yy_def[yy_current_state];
2252 if ( yy_current_state >= 1114 )
2253 yy_c = yy_meta[yy_c];
2254 }
2255 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2256 ++yy_cp;
2257 }
2258 while ( yy_base[yy_current_state] != 4511 );
2259
2260 yy_find_action:
2261 yy_act = yy_accept[yy_current_state];
2262 if ( yy_act == 0 )
2263 { /* have to back up */
2264 yy_cp = (yy_last_accepting_cpos);
2265 yy_current_state = (yy_last_accepting_state);
2266 yy_act = yy_accept[yy_current_state];
2267 }
2268
2269 YY_DO_BEFORE_ACTION;
2270
2271 do_action: /* This label is used only to access EOF actions. */
2272
2273 switch ( yy_act )
2274 { /* beginning of action switch */
2275 case 0: /* must back up */
2276 /* undo the effects of YY_DO_BEFORE_ACTION */
2277 *yy_cp = (yy_hold_char);
2278 yy_cp = (yy_last_accepting_cpos);
2279 yy_current_state = (yy_last_accepting_state);
2280 goto yy_find_action;
2281
2282 case 1:
2283 YY_RULE_SETUP
2284 START_CODEBLOCK(true);
2285 YY_BREAK
2286 case 2:
2287 YY_RULE_SETUP
2288 add_action("/*[""["); yy_push_state( COMMENT );
2289 YY_BREAK
2290 case 3:
2291 YY_RULE_SETUP
2292 yy_push_state( LINEDIR );
2293 YY_BREAK
2294 case 4:
2295 YY_RULE_SETUP
2296 return SCDECL;
2297 YY_BREAK
2298 case 5:
2299 YY_RULE_SETUP
2300 return XSCDECL;
2301 YY_BREAK
2302 case 6:
2303 /* rule 6 can match eol */
2304 YY_RULE_SETUP
2305 START_CODEBLOCK(false);
2306 YY_BREAK
2307 case 7:
2308 /* rule 7 can match eol */
2309 YY_RULE_SETUP
2310 {
2311 brace_start_line = linenum;
2312 ++linenum;
2313 buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
2314 brace_depth = 1;
2315 yy_push_state(CODEBLOCK_MATCH_BRACE);
2316 }
2317 YY_BREAK
2318 case 8:
2319 YY_RULE_SETUP
2320 synerr( _("malformed '%top' directive") );
2321 YY_BREAK
2322 case 9:
2323 YY_RULE_SETUP
2324 /* discard */
2325 YY_BREAK
2326 case 10:
2327 YY_RULE_SETUP
2328 {
2329 sectnum = 2;
2330 bracelevel = 0;
2331 mark_defs1();
2332 line_directive_out(NULL, 1);
2333 BEGIN(SECT2PROLOG);
2334 return SECTEND;
2335 }
2336 YY_BREAK
2337 case 11:
2338 /* rule 11 can match eol */
2339 YY_RULE_SETUP
2340 yytext_is_array = false; ++linenum;
2341 YY_BREAK
2342 case 12:
2343 /* rule 12 can match eol */
2344 YY_RULE_SETUP
2345 yytext_is_array = true; ++linenum;
2346 YY_BREAK
2347 case 13:
2348 YY_RULE_SETUP
2349 BEGIN(OPTION); return TOK_OPTION;
2350 YY_BREAK
2351 case 14:
2352 /* rule 14 can match eol */
2353 YY_RULE_SETUP
2354 ++linenum; /* ignore */
2355 YY_BREAK
2356 case 15:
2357 /* rule 15 can match eol */
2358 YY_RULE_SETUP
2359 ++linenum; /* ignore */
2360 YY_BREAK
2361 /* xgettext: no-c-format */
2362 case 16:
2363 /* rule 16 can match eol */
2364 YY_RULE_SETUP
2365 synerr( _( "unrecognized '%' directive" ) );
2366 YY_BREAK
2367 case 17:
2368 YY_RULE_SETUP
2369 {
2370 if(yyleng < MAXLINE)
2371 {
2372 strlcpy( nmstr, yytext, sizeof(nmstr) );
2373 }
2374 else
2375 {
2376 synerr( _("Definition name too long\n"));
2377 FLEX_EXIT(EXIT_FAILURE);
2378 }
2379
2380 didadef = false;
2381 BEGIN(PICKUPDEF);
2382 }
2383 YY_BREAK
2384 case 18:
2385 YY_RULE_SETUP
2386 RETURNNAME;
2387 YY_BREAK
2388 case 19:
2389 /* rule 19 can match eol */
2390 YY_RULE_SETUP
2391 ++linenum; /* allows blank lines in section 1 */
2392 YY_BREAK
2393 case 20:
2394 /* rule 20 can match eol */
2395 YY_RULE_SETUP
2396 ACTION_ECHO; ++linenum; /* maybe end of comment line */
2397 YY_BREAK
2398
2399 /* */
2400 case 21:
2401 YY_RULE_SETUP
2402 ACTION_ECHO;
2403 YY_BREAK
2404 case 22:
2405 YY_RULE_SETUP
2406 ACTION_ECHO;
2407 YY_BREAK
2408 case 23:
2409 /* rule 23 can match eol */
2410 YY_RULE_SETUP
2411 ++linenum; ACTION_ECHO;
2412 YY_BREAK
2413
2414 case 24:
2415 YY_RULE_SETUP
2416 add_action("*/]""]"); yy_pop_state();
2417 YY_BREAK
2418
2419 case 25:
2420 YY_RULE_SETUP
2421 ACTION_ECHO; yy_pop_state();
2422 YY_BREAK
2423
2424 /* This is the same as COMMENT, but is discarded rather than output. */
2425 case 26:
2426 YY_RULE_SETUP
2427 yy_pop_state();
2428 YY_BREAK
2429 case 27:
2430 YY_RULE_SETUP
2431 ;
2432 YY_BREAK
2433 case 28:
2434 YY_RULE_SETUP
2435 ;
2436 YY_BREAK
2437 case 29:
2438 /* rule 29 can match eol */
2439 YY_RULE_SETUP
2440 ++linenum;
2441 YY_BREAK
2442
2443 case 30:
2444 YY_RULE_SETUP
2445 yy_pop_state();
2446 YY_BREAK
2447 case 31:
2448 YY_RULE_SETUP
2449 ;
2450 YY_BREAK
2451 case 32:
2452 /* rule 32 can match eol */
2453 YY_RULE_SETUP
2454 ++linenum;
2455 YY_BREAK
2456
2457 case 33:
2458 /* rule 33 can match eol */
2459 YY_RULE_SETUP
2460 yy_pop_state();
2461 YY_BREAK
2462 case 34:
2463 YY_RULE_SETUP
2464 linenum = myctoi( yytext );
2465 YY_BREAK
2466 case 35:
2467 YY_RULE_SETUP
2468 {
2469 free(infilename);
2470 infilename = xstrdup(yytext + 1);
2471 infilename[strlen( infilename ) - 1] = '\0';
2472 }
2473 YY_BREAK
2474 case 36:
2475 YY_RULE_SETUP
2476 /* ignore spurious characters */
2477 YY_BREAK
2478
2479 case 37:
2480 YY_RULE_SETUP
2481 ACTION_ECHO_QSTART;
2482 YY_BREAK
2483 case 38:
2484 YY_RULE_SETUP
2485 ACTION_ECHO_QEND;
2486 YY_BREAK
2487
2488 case 39:
2489 /* rule 39 can match eol */
2490 YY_RULE_SETUP
2491 ++linenum; END_CODEBLOCK;
2492 YY_BREAK
2493 case 40:
2494 YY_RULE_SETUP
2495 ACTION_ECHO;
2496 YY_BREAK
2497 case 41:
2498 YY_RULE_SETUP
2499 ACTION_ECHO;
2500 YY_BREAK
2501 case 42:
2502 /* rule 42 can match eol */
2503 YY_RULE_SETUP
2504 {
2505 ++linenum;
2506 ACTION_ECHO;
2507 if ( indented_code ) END_CODEBLOCK;
2508 }
2509 YY_BREAK
2510
2511 case 43:
2512 YY_RULE_SETUP
2513 {
2514 if( --brace_depth == 0){
2515 /* TODO: Matched. */
2516 yy_pop_state();
2517 }else
2518 buf_strnappend(&top_buf, yytext, yyleng);
2519 }
2520 YY_BREAK
2521 case 44:
2522 YY_RULE_SETUP
2523 {
2524 brace_depth++;
2525 buf_strnappend(&top_buf, yytext, yyleng);
2526 }
2527 YY_BREAK
2528 case 45:
2529 /* rule 45 can match eol */
2530 YY_RULE_SETUP
2531 {
2532 ++linenum;
2533 buf_strnappend(&top_buf, yytext, yyleng);
2534 }
2535 YY_BREAK
2536 case 46:
2537 YY_RULE_SETUP
2538 buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
2539 YY_BREAK
2540 case 47:
2541 YY_RULE_SETUP
2542 buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
2543 YY_BREAK
2544 case 48:
2545 YY_RULE_SETUP
2546 {
2547 buf_strnappend(&top_buf, yytext, yyleng);
2548 }
2549 YY_BREAK
2550 case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
2551 {
2552 linenum = brace_start_line;
2553 synerr(_("Unmatched '{'"));
2554 yyterminate();
2555 }
2556 YY_BREAK
2557
2558 case 49:
2559 YY_RULE_SETUP
2560 /* separates name and definition */
2561 YY_BREAK
2562 case 50:
2563 YY_RULE_SETUP
2564 {
2565 if(yyleng < MAXLINE)
2566 {
2567 strlcpy( nmdef, yytext, sizeof(nmdef) );
2568 }
2569 else
2570 {
2571 format_synerr( _("Definition value for {%s} too long\n"), nmstr);
2572 FLEX_EXIT(EXIT_FAILURE);
2573 }
2574 /* Skip trailing whitespace. */
2575 {
2576 size_t i = strlen( nmdef );
2577 while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t'))
2578 --i;
2579 nmdef[i] = '\0';
2580 }
2581
2582 ndinstal( nmstr, nmdef );
2583 didadef = true;
2584 }
2585 YY_BREAK
2586 case 51:
2587 /* rule 51 can match eol */
2588 YY_RULE_SETUP
2589 {
2590 if ( ! didadef )
2591 synerr( _( "incomplete name definition" ) );
2592 BEGIN(INITIAL);
2593 ++linenum;
2594 }
2595 YY_BREAK
2596
2597 case 52:
2598 /* rule 52 can match eol */
2599 YY_RULE_SETUP
2600 ++linenum; BEGIN(INITIAL);
2601 YY_BREAK
2602 case 53:
2603 YY_RULE_SETUP
2604 option_sense = true;
2605 YY_BREAK
2606 case 54:
2607 YY_RULE_SETUP
2608 return '=';
2609 YY_BREAK
2610 case 55:
2611 YY_RULE_SETUP
2612 option_sense = ! option_sense;
2613 YY_BREAK
2614 case 56:
2615 YY_RULE_SETUP
2616 csize = option_sense ? 128 : 256;
2617 YY_BREAK
2618 case 57:
2619 YY_RULE_SETUP
2620 csize = option_sense ? 256 : 128;
2621 YY_BREAK
2622 case 58:
2623 YY_RULE_SETUP
2624 long_align = option_sense;
2625 YY_BREAK
2626 case 59:
2627 YY_RULE_SETUP
2628 {
2629 ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
2630 interactive = option_sense;
2631 }
2632 YY_BREAK
2633 case 60:
2634 YY_RULE_SETUP
2635 yytext_is_array = option_sense;
2636 YY_BREAK
2637 case 61:
2638 YY_RULE_SETUP
2639 backing_up_report = option_sense;
2640 YY_BREAK
2641 case 62:
2642 YY_RULE_SETUP
2643 interactive = ! option_sense;
2644 YY_BREAK
2645 case 63:
2646 YY_RULE_SETUP
2647 bison_bridge_lval = option_sense;
2648 YY_BREAK
2649 case 64:
2650 YY_RULE_SETUP
2651 { if((bison_bridge_lloc = option_sense))
2652 bison_bridge_lval = true;
2653 }
2654 YY_BREAK
2655 case 65:
2656 YY_RULE_SETUP
2657 C_plus_plus = option_sense;
2658 YY_BREAK
2659 case 66:
2660 YY_RULE_SETUP
2661 sf_set_case_ins(!option_sense);
2662 YY_BREAK
2663 case 67:
2664 YY_RULE_SETUP
2665 sf_set_case_ins(option_sense);
2666 YY_BREAK
2667 case 68:
2668 YY_RULE_SETUP
2669 ddebug = option_sense;
2670 YY_BREAK
2671 case 69:
2672 YY_RULE_SETUP
2673 spprdflt = ! option_sense;
2674 YY_BREAK
2675 case 70:
2676 YY_RULE_SETUP
2677 useecs = option_sense;
2678 YY_BREAK
2679 case 71:
2680 YY_RULE_SETUP
2681 {
2682 useecs = usemecs = false;
2683 use_read = fullspd = true;
2684 }
2685 YY_BREAK
2686 case 72:
2687 YY_RULE_SETUP
2688 {
2689 useecs = usemecs = false;
2690 use_read = fulltbl = true;
2691 }
2692 YY_BREAK
2693 case 73:
2694 YY_RULE_SETUP
2695 ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
2696 YY_BREAK
2697 case 74:
2698 YY_RULE_SETUP
2699 interactive = option_sense;
2700 YY_BREAK
2701 case 75:
2702 YY_RULE_SETUP
2703 lex_compat = option_sense;
2704 YY_BREAK
2705 case 76:
2706 YY_RULE_SETUP
2707 posix_compat = option_sense;
2708 YY_BREAK
2709 case 77:
2710 YY_RULE_SETUP
2711 gen_line_dirs = option_sense;
2712 YY_BREAK
2713 case 78:
2714 YY_RULE_SETUP
2715 {
2716 ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
2717 /* Override yywrap */
2718 if( option_sense == true )
2719 do_yywrap = false;
2720 }
2721 YY_BREAK
2722 case 79:
2723 YY_RULE_SETUP
2724 usemecs = option_sense;
2725 YY_BREAK
2726 case 80:
2727 YY_RULE_SETUP
2728 {
2729 ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
2730 interactive = !option_sense;
2731 }
2732 YY_BREAK
2733 case 81:
2734 YY_RULE_SETUP
2735 performance_report += option_sense ? 1 : -1;
2736 YY_BREAK
2737 case 82:
2738 YY_RULE_SETUP
2739 yytext_is_array = ! option_sense;
2740 YY_BREAK
2741 case 83:
2742 YY_RULE_SETUP
2743 use_read = option_sense;
2744 YY_BREAK
2745 case 84:
2746 YY_RULE_SETUP
2747 reentrant = option_sense;
2748 YY_BREAK
2749 case 85:
2750 YY_RULE_SETUP
2751 reject_really_used = option_sense;
2752 YY_BREAK
2753 case 86:
2754 YY_RULE_SETUP
2755 ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
2756 YY_BREAK
2757 case 87:
2758 YY_RULE_SETUP
2759 do_stdinit = option_sense;
2760 YY_BREAK
2761 case 88:
2762 YY_RULE_SETUP
2763 use_stdout = option_sense;
2764 YY_BREAK
2765 case 89:
2766 YY_RULE_SETUP
2767 ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
2768 YY_BREAK
2769 case 90:
2770 YY_RULE_SETUP
2771 ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
2772 YY_BREAK
2773 case 91:
2774 YY_RULE_SETUP
2775 printstats = option_sense;
2776 YY_BREAK
2777 case 92:
2778 YY_RULE_SETUP
2779 nowarn = ! option_sense;
2780 YY_BREAK
2781 case 93:
2782 YY_RULE_SETUP
2783 do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
2784 YY_BREAK
2785 case 94:
2786 YY_RULE_SETUP
2787 yymore_really_used = option_sense;
2788 YY_BREAK
2789 case 95:
2790 YY_RULE_SETUP
2791 do_yywrap = option_sense;
2792 YY_BREAK
2793 case 96:
2794 YY_RULE_SETUP
2795 ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
2796 YY_BREAK
2797 case 97:
2798 YY_RULE_SETUP
2799 ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
2800 YY_BREAK
2801 case 98:
2802 YY_RULE_SETUP
2803 ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
2804 YY_BREAK
2805 case 99:
2806 YY_RULE_SETUP
2807 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
2808 YY_BREAK
2809 case 100:
2810 YY_RULE_SETUP
2811 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
2812 YY_BREAK
2813 case 101:
2814 YY_RULE_SETUP
2815 ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
2816 YY_BREAK
2817 case 102:
2818 YY_RULE_SETUP
2819 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
2820 YY_BREAK
2821 case 103:
2822 YY_RULE_SETUP
2823 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
2824 YY_BREAK
2825 case 104:
2826 YY_RULE_SETUP
2827 ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
2828 YY_BREAK
2829 case 105:
2830 YY_RULE_SETUP
2831 ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
2832 YY_BREAK
2833 case 106:
2834 YY_RULE_SETUP
2835 ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
2836 YY_BREAK
2837 case 107:
2838 YY_RULE_SETUP
2839 ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
2840 YY_BREAK
2841 case 108:
2842 YY_RULE_SETUP
2843 ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
2844 YY_BREAK
2845 case 109:
2846 YY_RULE_SETUP
2847 ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
2848 YY_BREAK
2849 case 110:
2850 YY_RULE_SETUP
2851 ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
2852 YY_BREAK
2853 case 111:
2854 YY_RULE_SETUP
2855 ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
2856 YY_BREAK
2857 case 112:
2858 YY_RULE_SETUP
2859 ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
2860 YY_BREAK
2861 case 113:
2862 YY_RULE_SETUP
2863 ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
2864 YY_BREAK
2865 case 114:
2866 YY_RULE_SETUP
2867 ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
2868 YY_BREAK
2869 case 115:
2870 YY_RULE_SETUP
2871 ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
2872 YY_BREAK
2873 case 116:
2874 YY_RULE_SETUP
2875 ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
2876 YY_BREAK
2877 case 117:
2878 YY_RULE_SETUP
2879 ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
2880 YY_BREAK
2881 case 118:
2882 YY_RULE_SETUP
2883 ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
2884 YY_BREAK
2885 case 119:
2886 YY_RULE_SETUP
2887 ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
2888 YY_BREAK
2889 case 120:
2890 YY_RULE_SETUP
2891 ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
2892 YY_BREAK
2893 case 121:
2894 YY_RULE_SETUP
2895 return TOK_EXTRA_TYPE;
2896 YY_BREAK
2897 case 122:
2898 YY_RULE_SETUP
2899 return TOK_OUTFILE;
2900 YY_BREAK
2901 case 123:
2902 YY_RULE_SETUP
2903 return TOK_PREFIX;
2904 YY_BREAK
2905 case 124:
2906 YY_RULE_SETUP
2907 return TOK_YYCLASS;
2908 YY_BREAK
2909 case 125:
2910 YY_RULE_SETUP
2911 return TOK_HEADER_FILE;
2912 YY_BREAK
2913 case 126:
2914 YY_RULE_SETUP
2915 return TOK_TABLES_FILE;
2916 YY_BREAK
2917 case 127:
2918 YY_RULE_SETUP
2919 {
2920 tablesverify = option_sense;
2921 if(!tablesext && option_sense)
2922 tablesext = true;
2923 }
2924 YY_BREAK
2925 case 128:
2926 YY_RULE_SETUP
2927 {
2928 if(yyleng-1 < MAXLINE)
2929 {
2930 strlcpy( nmstr, yytext + 1, sizeof(nmstr) );
2931 }
2932 else
2933 {
2934 synerr( _("Option line too long\n"));
2935 FLEX_EXIT(EXIT_FAILURE);
2936 }
2937 nmstr[strlen( nmstr ) - 1] = '\0';
2938 return NAME;
2939 }
2940 YY_BREAK
2941 case 129:
2942 YY_RULE_SETUP
2943 {
2944 format_synerr( _( "unrecognized %%option: %s" ),
2945 yytext );
2946 BEGIN(RECOVER);
2947 }
2948 YY_BREAK
2949
2950 case 130:
2951 /* rule 130 can match eol */
2952 YY_RULE_SETUP
2953 ++linenum; BEGIN(INITIAL);
2954 YY_BREAK
2955
2956 case 131:
2957 YY_RULE_SETUP
2958 ++bracelevel; yyless( 2 ); /* eat only %{ */
2959 YY_BREAK
2960 case 132:
2961 YY_RULE_SETUP
2962 --bracelevel; yyless( 2 ); /* eat only %} */
2963 YY_BREAK
2964 case 133:
2965 YY_RULE_SETUP
2966 START_CODEBLOCK(true); /* indented code in prolog */
2967 YY_BREAK
2968 case 134:
2969 YY_RULE_SETUP
2970 {
2971 /* non-indented code */
2972 if ( bracelevel <= 0 ) {
2973 /* not in %{ ... %} */
2974 yyless( 0 ); /* put it all back */
2975 yy_set_bol( 1 );
2976 mark_prolog();
2977 BEGIN(SECT2);
2978 } else {
2979 START_CODEBLOCK(true);
2980 }
2981 }
2982 YY_BREAK
2983 case 135:
2984 YY_RULE_SETUP
2985 ACTION_ECHO;
2986 YY_BREAK
2987 case 136:
2988 /* rule 136 can match eol */
2989 YY_RULE_SETUP
2990 ++linenum; ACTION_ECHO;
2991 YY_BREAK
2992 case YY_STATE_EOF(SECT2PROLOG):
2993 {
2994 mark_prolog();
2995 sectnum = 0;
2996 yyterminate(); /* to stop the parser */
2997 }
2998 YY_BREAK
2999
3000 case 137:
3001 /* rule 137 can match eol */
3002 YY_RULE_SETUP
3003 ++linenum; /* allow blank lines in section 2 */
3004 YY_BREAK
3005 case 138:
3006 YY_RULE_SETUP
3007 {
3008 indented_code = false;
3009 doing_codeblock = true;
3010 bracelevel = 1;
3011 BEGIN(PERCENT_BRACE_ACTION);
3012 }
3013 YY_BREAK
3014 case 139:
3015 YY_RULE_SETUP
3016 {
3017 /* Allow "<" to appear in (?x) patterns. */
3018 if (!sf_skip_ws())
3019 BEGIN(SC);
3020 return '<';
3021 }
3022 YY_BREAK
3023 case 140:
3024 YY_RULE_SETUP
3025 return '^';
3026 YY_BREAK
3027 case 141:
3028 YY_RULE_SETUP
3029 BEGIN(QUOTE); return '"';
3030 YY_BREAK
3031 case 142:
3032 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3033 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3034 YY_DO_BEFORE_ACTION; /* set up yytext again */
3035 YY_RULE_SETUP
3036 {
3037 BEGIN(NUM);
3038 if ( lex_compat || posix_compat )
3039 return BEGIN_REPEAT_POSIX;
3040 else
3041 return BEGIN_REPEAT_FLEX;
3042 }
3043 YY_BREAK
3044 case 143:
3045 /* rule 143 can match eol */
3046 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3047 YY_LINENO_REWIND_TO(yy_bp + 1);
3048 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3049 YY_DO_BEFORE_ACTION; /* set up yytext again */
3050 YY_RULE_SETUP
3051 return '$';
3052 YY_BREAK
3053 case 144:
3054 YY_RULE_SETUP
3055 {
3056 bracelevel = 1;
3057 BEGIN(PERCENT_BRACE_ACTION);
3058
3059 if ( in_rule )
3060 {
3061 doing_rule_action = true;
3062 in_rule = false;
3063 return '\n';
3064 }
3065 }
3066 YY_BREAK
3067 case 145:
3068 /* rule 145 can match eol */
3069 YY_RULE_SETUP
3070 {
3071 if (sf_skip_ws()){
3072 /* We're in the middle of a (?x: ) pattern. */
3073 /* Push back everything starting at the "|" */
3074 int amt = (int) (strchr (yytext, '|') - yytext);
3075 yyless(amt);
3076 }
3077 else {
3078 add_action("]""]");
3079 continued_action = true;
3080 ++linenum;
3081 return '\n';
3082 }
3083 }
3084 YY_BREAK
3085 case 146:
3086 YY_RULE_SETUP
3087 {
3088
3089 if (sf_skip_ws()){
3090 /* We're in the middle of a (?x: ) pattern. */
3091 yy_push_state(COMMENT_DISCARD);
3092 }
3093 else{
3094 yyless( yyleng - 2 ); /* put back '/', '*' */
3095 bracelevel = 0;
3096 continued_action = false;
3097 BEGIN(ACTION);
3098 }
3099 }
3100 YY_BREAK
3101 case 147:
3102 YY_RULE_SETUP
3103 /* allow indented rules */ ;
3104 YY_BREAK
3105 case 148:
3106 YY_RULE_SETUP
3107 {
3108 if (sf_skip_ws()){
3109 /* We're in the middle of a (?x: ) pattern. */
3110 }
3111 else{
3112 /* This rule is separate from the one below because
3113 * otherwise we get variable trailing context, so
3114 * we can't build the scanner using -{f,F}.
3115 */
3116 bracelevel = 0;
3117 continued_action = false;
3118 BEGIN(ACTION);
3119
3120 if ( in_rule )
3121 {
3122 doing_rule_action = true;
3123 in_rule = false;
3124 return '\n';
3125 }
3126 }
3127 }
3128 YY_BREAK
3129 case 149:
3130 /* rule 149 can match eol */
3131 YY_RULE_SETUP
3132 {
3133 if (sf_skip_ws()){
3134 /* We're in the middle of a (?x: ) pattern. */
3135 ++linenum;
3136 }
3137 else{
3138 bracelevel = 0;
3139 continued_action = false;
3140 BEGIN(ACTION);
3141 unput( '\n' ); /* so <ACTION> sees it */
3142
3143 if ( in_rule )
3144 {
3145 doing_rule_action = true;
3146 in_rule = false;
3147 return '\n';
3148 }
3149 }
3150 }
3151 YY_BREAK
3152 case 150:
3153 case 151:
3154 YY_RULE_SETUP
3155 return EOF_OP;
3156 YY_BREAK
3157 case 152:
3158 YY_RULE_SETUP
3159 {
3160 sectnum = 3;
3161 BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3);
3162 outn("/* Begin user sect3 */");
3163 yyterminate(); /* to stop the parser */
3164
3165 }
3166 YY_BREAK
3167 case 153:
3168 YY_RULE_SETUP
3169 {
3170 int cclval;
3171
3172 if(yyleng < MAXLINE)
3173 {
3174 strlcpy( nmstr, yytext, sizeof(nmstr) );
3175 }
3176 else
3177 {
3178 synerr( _("Input line too long\n"));
3179 FLEX_EXIT(EXIT_FAILURE);
3180 }
3181
3182 /* Check to see if we've already encountered this
3183 * ccl.
3184 */
3185 if (0 /* <--- This "0" effectively disables the reuse of a
3186 * character class (purely based on its source text).
3187 * The reason it was disabled is so yacc/bison can parse
3188 * ccl operations, such as ccl difference and union.
3189 */
3190 && (cclval = ccllookup( nmstr )) != 0 )
3191 {
3192 if ( input() != ']' )
3193 synerr( _( "bad character class" ) );
3194
3195 yylval = cclval;
3196 ++cclreuse;
3197 return PREVCCL;
3198 }
3199 else
3200 {
3201 /* We fudge a bit. We know that this ccl will
3202 * soon be numbered as lastccl + 1 by cclinit.
3203 */
3204 cclinstal( nmstr, lastccl + 1 );
3205
3206 /* Push back everything but the leading bracket
3207 * so the ccl can be rescanned.
3208 */
3209 yyless( 1 );
3210
3211 BEGIN(FIRSTCCL);
3212 return '[';
3213 }
3214 }
3215 YY_BREAK
3216 case 154:
3217 YY_RULE_SETUP
3218 return CCL_OP_DIFF;
3219 YY_BREAK
3220 case 155:
3221 YY_RULE_SETUP
3222 return CCL_OP_UNION;
3223 YY_BREAK
3224 /* Check for :space: at the end of the rule so we don't
3225 * wrap the expanded regex in '(' ')' -- breaking trailing
3226 * context.
3227 */
3228 case 156:
3229 /* rule 156 can match eol */
3230 YY_RULE_SETUP
3231 {
3232 char *nmdefptr;
3233 int end_is_ws, end_ch;
3234
3235 end_ch = yytext[yyleng-1];
3236 end_is_ws = end_ch != '}' ? 1 : 0;
3237
3238 if(yyleng-1 < MAXLINE)
3239 {
3240 strlcpy( nmstr, yytext + 1, sizeof(nmstr) );
3241 }
3242 else
3243 {
3244 synerr( _("Input line too long\n"));
3245 FLEX_EXIT(EXIT_FAILURE);
3246 }
3247 nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
3248
3249 if ( (nmdefptr = ndlookup( nmstr )) == 0 )
3250 format_synerr(
3251 _( "undefined definition {%s}" ),
3252 nmstr );
3253
3254 else
3255 { /* push back name surrounded by ()'s */
3256 size_t len = strlen( nmdefptr );
3257 if (end_is_ws)
3258 unput(end_ch);
3259
3260 if ( lex_compat || nmdefptr[0] == '^' ||
3261 (len > 0 && nmdefptr[len - 1] == '$')
3262 || (end_is_ws && trlcontxt && !sf_skip_ws()))
3263 { /* don't use ()'s after all */
3264 PUT_BACK_STRING(nmdefptr, 0);
3265
3266 if ( nmdefptr[0] == '^' )
3267 BEGIN(CARETISBOL);
3268 }
3269
3270 else
3271 {
3272 unput(')');
3273 PUT_BACK_STRING(nmdefptr, 0);
3274 unput('(');
3275 }
3276 }
3277 }
3278 YY_BREAK
3279 case 157:
3280 YY_RULE_SETUP
3281 {
3282 if (sf_skip_ws())
3283 yy_push_state(COMMENT_DISCARD);
3284 else{
3285 /* Push back the "*" and return "/" as usual. */
3286 yyless(1);
3287 return '/';
3288 }
3289 }
3290 YY_BREAK
3291 case 158:
3292 YY_RULE_SETUP
3293 {
3294 if (lex_compat || posix_compat){
3295 /* Push back the "?#" and treat it like a normal parens. */
3296 yyless(1);
3297 sf_push();
3298 return '(';
3299 }
3300 else
3301 yy_push_state(EXTENDED_COMMENT);
3302 }
3303 YY_BREAK
3304 case 159:
3305 YY_RULE_SETUP
3306 {
3307 sf_push();
3308 if (lex_compat || posix_compat)
3309 /* Push back the "?" and treat it like a normal parens. */
3310 yyless(1);
3311 else
3312 BEGIN(GROUP_WITH_PARAMS);
3313 return '(';
3314 }
3315 YY_BREAK
3316 case 160:
3317 YY_RULE_SETUP
3318 sf_push(); return '(';
3319 YY_BREAK
3320 case 161:
3321 YY_RULE_SETUP
3322 {
3323 if (_sf_top_ix > 0) {
3324 sf_pop();
3325 return ')';
3326 } else
3327 synerr(_("unbalanced parenthesis"));
3328 }
3329 YY_BREAK
3330 case 162:
3331 YY_RULE_SETUP
3332 return (unsigned char) yytext[0];
3333 YY_BREAK
3334 case 163:
3335 YY_RULE_SETUP
3336 RETURNCHAR;
3337 YY_BREAK
3338
3339 case 164:
3340 /* rule 164 can match eol */
3341 YY_RULE_SETUP
3342 ++linenum; /* Allow blank lines & continuations */
3343 YY_BREAK
3344 case 165:
3345 YY_RULE_SETUP
3346 return (unsigned char) yytext[0];
3347 YY_BREAK
3348 case 166:
3349 YY_RULE_SETUP
3350 BEGIN(SECT2); return '>';
3351 YY_BREAK
3352 case 167:
3353 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3354 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3355 YY_DO_BEFORE_ACTION; /* set up yytext again */
3356 YY_RULE_SETUP
3357 BEGIN(CARETISBOL); return '>';
3358 YY_BREAK
3359 case 168:
3360 YY_RULE_SETUP
3361 RETURNNAME;
3362 YY_BREAK
3363 case 169:
3364 YY_RULE_SETUP
3365 {
3366 format_synerr( _( "bad <start condition>: %s" ),
3367 yytext );
3368 }
3369 YY_BREAK
3370
3371 case 170:
3372 YY_RULE_SETUP
3373 BEGIN(SECT2); return '^';
3374 YY_BREAK
3375
3376 case 171:
3377 YY_RULE_SETUP
3378 RETURNCHAR;
3379 YY_BREAK
3380 case 172:
3381 YY_RULE_SETUP
3382 BEGIN(SECT2); return '"';
3383 YY_BREAK
3384 case 173:
3385 /* rule 173 can match eol */
3386 YY_RULE_SETUP
3387 {
3388 synerr( _( "missing quote" ) );
3389 BEGIN(SECT2);
3390 ++linenum;
3391 return '"';
3392 }
3393 YY_BREAK
3394
3395 case 174:
3396 YY_RULE_SETUP
3397 BEGIN(SECT2);
3398 YY_BREAK
3399 case 175:
3400 YY_RULE_SETUP
3401 BEGIN(GROUP_MINUS_PARAMS);
3402 YY_BREAK
3403 case 176:
3404 YY_RULE_SETUP
3405 sf_set_case_ins(1);
3406 YY_BREAK
3407 case 177:
3408 YY_RULE_SETUP
3409 sf_set_dot_all(1);
3410 YY_BREAK
3411 case 178:
3412 YY_RULE_SETUP
3413 sf_set_skip_ws(1);
3414 YY_BREAK
3415
3416 case 179:
3417 YY_RULE_SETUP
3418 BEGIN(SECT2);
3419 YY_BREAK
3420 case 180:
3421 YY_RULE_SETUP
3422 sf_set_case_ins(0);
3423 YY_BREAK
3424 case 181:
3425 YY_RULE_SETUP
3426 sf_set_dot_all(0);
3427 YY_BREAK
3428 case 182:
3429 YY_RULE_SETUP
3430 sf_set_skip_ws(0);
3431 YY_BREAK
3432
3433 case 183:
3434 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3435 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3436 YY_DO_BEFORE_ACTION; /* set up yytext again */
3437 YY_RULE_SETUP
3438 BEGIN(CCL); return '^';
3439 YY_BREAK
3440 case 184:
3441 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3442 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3443 YY_DO_BEFORE_ACTION; /* set up yytext again */
3444 YY_RULE_SETUP
3445 return '^';
3446 YY_BREAK
3447 case 185:
3448 YY_RULE_SETUP
3449 BEGIN(CCL); RETURNCHAR;
3450 YY_BREAK
3451
3452 case 186:
3453 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
3454 (yy_c_buf_p) = yy_cp = yy_bp + 1;
3455 YY_DO_BEFORE_ACTION; /* set up yytext again */
3456 YY_RULE_SETUP
3457 return '-';
3458 YY_BREAK
3459 case 187:
3460 YY_RULE_SETUP
3461 RETURNCHAR;
3462 YY_BREAK
3463 case 188:
3464 YY_RULE_SETUP
3465 BEGIN(SECT2); return ']';
3466 YY_BREAK
3467 case 189:
3468 /* rule 189 can match eol */
3469 YY_RULE_SETUP
3470 {
3471 synerr( _( "bad character class" ) );
3472 BEGIN(SECT2);
3473 return ']';
3474 }
3475 YY_BREAK
3476
3477 case 190:
3478 YY_RULE_SETUP
3479 BEGIN(CCL); return CCE_ALNUM;
3480 YY_BREAK
3481 case 191:
3482 YY_RULE_SETUP
3483 BEGIN(CCL); return CCE_ALPHA;
3484 YY_BREAK
3485 case 192:
3486 YY_RULE_SETUP
3487 BEGIN(CCL); return CCE_BLANK;
3488 YY_BREAK
3489 case 193:
3490 YY_RULE_SETUP
3491 BEGIN(CCL); return CCE_CNTRL;
3492 YY_BREAK
3493 case 194:
3494 YY_RULE_SETUP
3495 BEGIN(CCL); return CCE_DIGIT;
3496 YY_BREAK
3497 case 195:
3498 YY_RULE_SETUP
3499 BEGIN(CCL); return CCE_GRAPH;
3500 YY_BREAK
3501 case 196:
3502 YY_RULE_SETUP
3503 BEGIN(CCL); return CCE_LOWER;
3504 YY_BREAK
3505 case 197:
3506 YY_RULE_SETUP
3507 BEGIN(CCL); return CCE_PRINT;
3508 YY_BREAK
3509 case 198:
3510 YY_RULE_SETUP
3511 BEGIN(CCL); return CCE_PUNCT;
3512 YY_BREAK
3513 case 199:
3514 YY_RULE_SETUP
3515 BEGIN(CCL); return CCE_SPACE;
3516 YY_BREAK
3517 case 200:
3518 YY_RULE_SETUP
3519 BEGIN(CCL); return CCE_UPPER;
3520 YY_BREAK
3521 case 201:
3522 YY_RULE_SETUP
3523 BEGIN(CCL); return CCE_XDIGIT;
3524 YY_BREAK
3525 case 202:
3526 YY_RULE_SETUP
3527 BEGIN(CCL); return CCE_NEG_ALNUM;
3528 YY_BREAK
3529 case 203:
3530 YY_RULE_SETUP
3531 BEGIN(CCL); return CCE_NEG_ALPHA;
3532 YY_BREAK
3533 case 204:
3534 YY_RULE_SETUP
3535 BEGIN(CCL); return CCE_NEG_BLANK;
3536 YY_BREAK
3537 case 205:
3538 YY_RULE_SETUP
3539 BEGIN(CCL); return CCE_NEG_CNTRL;
3540 YY_BREAK
3541 case 206:
3542 YY_RULE_SETUP
3543 BEGIN(CCL); return CCE_NEG_DIGIT;
3544 YY_BREAK
3545 case 207:
3546 YY_RULE_SETUP
3547 BEGIN(CCL); return CCE_NEG_GRAPH;
3548 YY_BREAK
3549 case 208:
3550 YY_RULE_SETUP
3551 BEGIN(CCL); return CCE_NEG_LOWER;
3552 YY_BREAK
3553 case 209:
3554 YY_RULE_SETUP
3555 BEGIN(CCL); return CCE_NEG_PRINT;
3556 YY_BREAK
3557 case 210:
3558 YY_RULE_SETUP
3559 BEGIN(CCL); return CCE_NEG_PUNCT;
3560 YY_BREAK
3561 case 211:
3562 YY_RULE_SETUP
3563 BEGIN(CCL); return CCE_NEG_SPACE;
3564 YY_BREAK
3565 case 212:
3566 YY_RULE_SETUP
3567 BEGIN(CCL); return CCE_NEG_UPPER;
3568 YY_BREAK
3569 case 213:
3570 YY_RULE_SETUP
3571 BEGIN(CCL); return CCE_NEG_XDIGIT;
3572 YY_BREAK
3573 case 214:
3574 YY_RULE_SETUP
3575 {
3576 format_synerr(
3577 _( "bad character class expression: %s" ),
3578 yytext );
3579 BEGIN(CCL); return CCE_ALNUM;
3580 }
3581 YY_BREAK
3582
3583 case 215:
3584 YY_RULE_SETUP
3585 {
3586 yylval = myctoi( yytext );
3587 return NUMBER;
3588 }
3589 YY_BREAK
3590 case 216:
3591 YY_RULE_SETUP
3592 return ',';
3593 YY_BREAK
3594 case 217:
3595 YY_RULE_SETUP
3596 {
3597 BEGIN(SECT2);
3598 if ( lex_compat || posix_compat )
3599 return END_REPEAT_POSIX;
3600 else
3601 return END_REPEAT_FLEX;
3602 }
3603 YY_BREAK
3604 case 218:
3605 YY_RULE_SETUP
3606 {
3607 synerr( _( "bad character inside {}'s" ) );
3608 BEGIN(SECT2);
3609 return '}';
3610 }
3611 YY_BREAK
3612 case 219:
3613 /* rule 219 can match eol */
3614 YY_RULE_SETUP
3615 {
3616 synerr( _( "missing }" ) );
3617 BEGIN(SECT2);
3618 ++linenum;
3619 return '}';
3620 }
3621 YY_BREAK
3622
3623 case 220:
3624 YY_RULE_SETUP
3625 bracelevel = 0;
3626 YY_BREAK
3627 case 221:
3628 YY_RULE_SETUP
3629 ACTION_ECHO; yy_push_state( CODE_COMMENT );
3630 YY_BREAK
3631
3632 case 222:
3633 YY_RULE_SETUP
3634 {
3635 ACTION_ECHO;
3636 CHECK_REJECT(yytext);
3637 }
3638 YY_BREAK
3639 case 223:
3640 YY_RULE_SETUP
3641 {
3642 ACTION_ECHO;
3643 CHECK_YYMORE(yytext);
3644 }
3645 YY_BREAK
3646
3647 case 224:
3648 YY_RULE_SETUP
3649 ACTION_ECHO;
3650 YY_BREAK
3651 case 225:
3652 /* rule 225 can match eol */
3653 YY_RULE_SETUP
3654 {
3655 ++linenum;
3656 ACTION_ECHO;
3657 if (bracelevel == 0 || (doing_codeblock && indented_code)) {
3658 if ( doing_rule_action )
3659 add_action( "\tYY_BREAK]""]\n" );
3660
3661 doing_rule_action = doing_codeblock = false;
3662 BEGIN(SECT2);
3663 }
3664 }
3665 YY_BREAK
3666
3667 /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
3668
3669 case 226:
3670 YY_RULE_SETUP
3671 ACTION_ECHO; ++bracelevel;
3672 YY_BREAK
3673 case 227:
3674 YY_RULE_SETUP
3675 ACTION_ECHO; --bracelevel;
3676 YY_BREAK
3677 case 228:
3678 YY_RULE_SETUP
3679 ACTION_ECHO;
3680 YY_BREAK
3681 case 229:
3682 YY_RULE_SETUP
3683 ACTION_ECHO;
3684 YY_BREAK
3685 case 230:
3686 YY_RULE_SETUP
3687 ACTION_ECHO; /* character constant */
3688 YY_BREAK
3689 case 231:
3690 YY_RULE_SETUP
3691 ACTION_ECHO; BEGIN(CHARACTER_CONSTANT);
3692 YY_BREAK
3693 case 232:
3694 YY_RULE_SETUP
3695 ACTION_ECHO; BEGIN(ACTION_STRING);
3696 YY_BREAK
3697 case 233:
3698 /* rule 233 can match eol */
3699 YY_RULE_SETUP
3700 {
3701 ++linenum;
3702 ACTION_ECHO;
3703 if (bracelevel == 0) {
3704 if ( doing_rule_action )
3705 add_action( "\tYY_BREAK]""]\n" );
3706
3707 doing_rule_action = false;
3708 BEGIN(SECT2);
3709 }
3710 }
3711 YY_BREAK
3712 case 234:
3713 YY_RULE_SETUP
3714 ACTION_ECHO;
3715 YY_BREAK
3716
3717 case 235:
3718 YY_RULE_SETUP
3719 ACTION_ECHO;
3720 YY_BREAK
3721 case 236:
3722 YY_RULE_SETUP
3723 ACTION_ECHO; BEGIN(ACTION);
3724 YY_BREAK
3725
3726 case 237:
3727 YY_RULE_SETUP
3728 ACTION_ECHO;
3729 YY_BREAK
3730 case 238:
3731 YY_RULE_SETUP
3732 ACTION_ECHO; BEGIN(ACTION);
3733 YY_BREAK
3734
3735 case 239:
3736 /* rule 239 can match eol */
3737 YY_RULE_SETUP
3738 ACTION_ECHO;
3739 YY_BREAK
3740 case 240:
3741 /* rule 240 can match eol */
3742 YY_RULE_SETUP
3743 ACTION_ECHO;
3744 YY_BREAK
3745 case 241:
3746 /* rule 241 can match eol */
3747 YY_RULE_SETUP
3748 ++linenum; ACTION_ECHO; BEGIN(ACTION);
3749 YY_BREAK
3750 case 242:
3751 YY_RULE_SETUP
3752 ACTION_ECHO;
3753 YY_BREAK
3754
3755 case YY_STATE_EOF(COMMENT):
3756 case YY_STATE_EOF(CODE_COMMENT):
3757 case YY_STATE_EOF(COMMENT_DISCARD):
3758 case YY_STATE_EOF(ACTION):
3759 case YY_STATE_EOF(ACTION_STRING):
3760 case YY_STATE_EOF(CHARACTER_CONSTANT):
3761 {
3762 synerr( _( "EOF encountered inside an action" ) );
3763 yyterminate();
3764 }
3765 YY_BREAK
3766 case YY_STATE_EOF(EXTENDED_COMMENT):
3767 case YY_STATE_EOF(GROUP_WITH_PARAMS):
3768 case YY_STATE_EOF(GROUP_MINUS_PARAMS):
3769 {
3770 synerr( _( "EOF encountered inside pattern" ) );
3771 yyterminate();
3772 }
3773 YY_BREAK
3774 case 243:
3775 YY_RULE_SETUP
3776 {
3777 yylval = myesc( (unsigned char *) yytext );
3778
3779 if ( YY_START == FIRSTCCL )
3780 BEGIN(CCL);
3781
3782 return CHAR;
3783 }
3784 YY_BREAK
3785
3786 case 244:
3787 YY_RULE_SETUP
3788 fputs(escaped_qstart, yyout);
3789 YY_BREAK
3790 case 245:
3791 YY_RULE_SETUP
3792 fputs(escaped_qend, yyout);
3793 YY_BREAK
3794 case 246:
3795 /* rule 246 can match eol */
3796 YY_RULE_SETUP
3797 ECHO;
3798 YY_BREAK
3799 case 247:
3800 YY_RULE_SETUP
3801 ECHO;
3802 YY_BREAK
3803 case YY_STATE_EOF(SECT3):
3804 {
3805 sectnum = 0;
3806 yyterminate();
3807 }
3808 YY_BREAK
3809
3810 case 248:
3811 YY_RULE_SETUP
3812 fprintf(yyout, "[""[%s]""]", escaped_qstart);
3813 YY_BREAK
3814 case 249:
3815 YY_RULE_SETUP
3816 fprintf(yyout, "[""[%s]""]", escaped_qend);
3817 YY_BREAK
3818 case 250:
3819 /* rule 250 can match eol */
3820 YY_RULE_SETUP
3821 ECHO;
3822 YY_BREAK
3823 case 251:
3824 YY_RULE_SETUP
3825 ECHO;
3826 YY_BREAK
3827 case YY_STATE_EOF(SECT3_NOESCAPE):
3828 {
3829 sectnum = 0;
3830 yyterminate();
3831 }
3832 YY_BREAK
3833
3834 case 252:
3835 /* rule 252 can match eol */
3836 YY_RULE_SETUP
3837 format_synerr( _( "bad character: %s" ), yytext );
3838 YY_BREAK
3839 case 253:
3840 YY_RULE_SETUP
3841 YY_FATAL_ERROR( "flex scanner jammed" );
3842 YY_BREAK
3843 case YY_STATE_EOF(INITIAL):
3844 case YY_STATE_EOF(SECT2):
3845 case YY_STATE_EOF(CODEBLOCK):
3846 case YY_STATE_EOF(PICKUPDEF):
3847 case YY_STATE_EOF(SC):
3848 case YY_STATE_EOF(CARETISBOL):
3849 case YY_STATE_EOF(NUM):
3850 case YY_STATE_EOF(QUOTE):
3851 case YY_STATE_EOF(FIRSTCCL):
3852 case YY_STATE_EOF(CCL):
3853 case YY_STATE_EOF(RECOVER):
3854 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
3855 case YY_STATE_EOF(OPTION):
3856 case YY_STATE_EOF(LINEDIR):
3857 yyterminate();
3858
3859 case YY_END_OF_BUFFER:
3860 {
3861 /* Amount of text matched not including the EOB char. */
3862 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
3863
3864 /* Undo the effects of YY_DO_BEFORE_ACTION. */
3865 *yy_cp = (yy_hold_char);
3866 YY_RESTORE_YY_MORE_OFFSET
3867
3868 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
3869 {
3870 /* We're scanning a new file or input source. It's
3871 * possible that this happened because the user
3872 * just pointed yyin at a new source and called
3873 * yylex(). If so, then we have to assure
3874 * consistency between YY_CURRENT_BUFFER and our
3875 * globals. Here is the right place to do so, because
3876 * this is the first action (other than possibly a
3877 * back-up) that will match for the new input source.
3878 */
3879 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
3880 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
3881 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
3882 }
3883
3884 /* Note that here we test for yy_c_buf_p "<=" to the position
3885 * of the first EOB in the buffer, since yy_c_buf_p will
3886 * already have been incremented past the NUL character
3887 * (since all states make transitions on EOB to the
3888 * end-of-buffer state). Contrast this with the test
3889 * in input().
3890 */
3891 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
3892 { /* This was really a NUL. */
3893 yy_state_type yy_next_state;
3894
3895 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
3896
3897 yy_current_state = yy_get_previous_state( );
3898
3899 /* Okay, we're now positioned to make the NUL
3900 * transition. We couldn't have
3901 * yy_get_previous_state() go ahead and do it
3902 * for us because it doesn't know how to deal
3903 * with the possibility of jamming (and we don't
3904 * want to build jamming into it because then it
3905 * will run more slowly).
3906 */
3907
3908 yy_next_state = yy_try_NUL_trans( yy_current_state );
3909
3910 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3911
3912 if ( yy_next_state )
3913 {
3914 /* Consume the NUL. */
3915 yy_cp = ++(yy_c_buf_p);
3916 yy_current_state = yy_next_state;
3917 goto yy_match;
3918 }
3919
3920 else
3921 {
3922 yy_cp = (yy_c_buf_p);
3923 goto yy_find_action;
3924 }
3925 }
3926
3927 else switch ( yy_get_next_buffer( ) )
3928 {
3929 case EOB_ACT_END_OF_FILE:
3930 {
3931 (yy_did_buffer_switch_on_eof) = 0;
3932
3933 if ( yywrap( ) )
3934 {
3935 /* Note: because we've taken care in
3936 * yy_get_next_buffer() to have set up
3937 * yytext, we can now set up
3938 * yy_c_buf_p so that if some total
3939 * hoser (like flex itself) wants to
3940 * call the scanner after we return the
3941 * YY_NULL, it'll still work - another
3942 * YY_NULL will get returned.
3943 */
3944 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
3945
3946 yy_act = YY_STATE_EOF(YY_START);
3947 goto do_action;
3948 }
3949
3950 else
3951 {
3952 if ( ! (yy_did_buffer_switch_on_eof) )
3953 YY_NEW_FILE;
3954 }
3955 break;
3956 }
3957
3958 case EOB_ACT_CONTINUE_SCAN:
3959 (yy_c_buf_p) =
3960 (yytext_ptr) + yy_amount_of_matched_text;
3961
3962 yy_current_state = yy_get_previous_state( );
3963
3964 yy_cp = (yy_c_buf_p);
3965 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3966 goto yy_match;
3967
3968 case EOB_ACT_LAST_MATCH:
3969 (yy_c_buf_p) =
3970 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
3971
3972 yy_current_state = yy_get_previous_state( );
3973
3974 yy_cp = (yy_c_buf_p);
3975 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
3976 goto yy_find_action;
3977 }
3978 break;
3979 }
3980
3981 default:
3982 YY_FATAL_ERROR(
3983 "fatal flex scanner internal error--no action found" );
3984 } /* end of action switch */
3985 } /* end of scanning one token */
3986 } /* end of user's declarations */
3987 } /* end of yylex */
3988
3989 /* yy_get_next_buffer - try to read in a new buffer
3990 *
3991 * Returns a code representing an action:
3992 * EOB_ACT_LAST_MATCH -
3993 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
3994 * EOB_ACT_END_OF_FILE - end of file
3995 */
yy_get_next_buffer(void)3996 static int yy_get_next_buffer (void)
3997 {
3998 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3999 char *source = (yytext_ptr);
4000 yy_size_t number_to_move, i;
4001 int ret_val;
4002
4003 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4004 YY_FATAL_ERROR(
4005 "fatal flex scanner internal error--end of buffer missed" );
4006
4007 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4008 { /* Don't try to fill the buffer, so this is an EOF. */
4009 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4010 {
4011 /* We matched a single character, the EOB, so
4012 * treat this as a final EOF.
4013 */
4014 return EOB_ACT_END_OF_FILE;
4015 }
4016
4017 else
4018 {
4019 /* We matched some text prior to the EOB, first
4020 * process it.
4021 */
4022 return EOB_ACT_LAST_MATCH;
4023 }
4024 }
4025
4026 /* Try to read more data. */
4027
4028 /* First move last chars to start of buffer. */
4029 number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr) - 1);
4030
4031 for ( i = 0; i < number_to_move; ++i )
4032 *(dest++) = *(source++);
4033
4034 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4035 /* don't do the read, it's not guaranteed to return an EOF,
4036 * just force an EOF
4037 */
4038 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4039
4040 else
4041 {
4042 yy_size_t num_to_read =
4043 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4044
4045 while ( num_to_read <= 0 )
4046 { /* Not enough room in the buffer - grow it. */
4047
4048 /* just a shorter name for the current buffer */
4049 YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
4050
4051 int yy_c_buf_p_offset =
4052 (int) ((yy_c_buf_p) - b->yy_ch_buf);
4053
4054 if ( b->yy_is_our_buffer )
4055 {
4056 yy_size_t new_size = b->yy_buf_size * 2;
4057
4058 if ( new_size <= 0 )
4059 b->yy_buf_size += b->yy_buf_size / 8;
4060 else
4061 b->yy_buf_size *= 2;
4062
4063 b->yy_ch_buf = (char *)
4064 /* Include room in for 2 EOB chars. */
4065 yyrealloc( (void *) b->yy_ch_buf,
4066 (yy_size_t) (b->yy_buf_size + 2) );
4067 }
4068 else
4069 /* Can't grow it, we don't own it. */
4070 b->yy_ch_buf = NULL;
4071
4072 if ( ! b->yy_ch_buf )
4073 YY_FATAL_ERROR(
4074 "fatal error - scanner input buffer overflow" );
4075
4076 (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4077
4078 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4079 number_to_move - 1;
4080
4081 }
4082
4083 if ( num_to_read > YY_READ_BUF_SIZE )
4084 num_to_read = YY_READ_BUF_SIZE;
4085
4086 /* Read in more data. */
4087 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4088 (yy_n_chars), num_to_read );
4089
4090 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4091 }
4092
4093 if ( (yy_n_chars) == 0 )
4094 {
4095 if ( number_to_move == YY_MORE_ADJ )
4096 {
4097 ret_val = EOB_ACT_END_OF_FILE;
4098 yyrestart( yyin );
4099 }
4100
4101 else
4102 {
4103 ret_val = EOB_ACT_LAST_MATCH;
4104 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4105 YY_BUFFER_EOF_PENDING;
4106 }
4107 }
4108
4109 else
4110 ret_val = EOB_ACT_CONTINUE_SCAN;
4111
4112 if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4113 /* Extend the array by 50%, plus the number we really need. */
4114 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4115 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4116 (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
4117 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4118 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4119 }
4120
4121 (yy_n_chars) += number_to_move;
4122 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
4123 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
4124
4125 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4126
4127 return ret_val;
4128 }
4129
4130 /* yy_get_previous_state - get the state just before the EOB char was reached */
4131
yy_get_previous_state(void)4132 static yy_state_type yy_get_previous_state (void)
4133 {
4134 yy_state_type yy_current_state;
4135 char *yy_cp;
4136
4137 yy_current_state = (yy_start);
4138 yy_current_state += YY_AT_BOL();
4139
4140 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4141 {
4142 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4143 if ( yy_accept[yy_current_state] )
4144 {
4145 (yy_last_accepting_state) = yy_current_state;
4146 (yy_last_accepting_cpos) = yy_cp;
4147 }
4148 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4149 {
4150 yy_current_state = (int) yy_def[yy_current_state];
4151 if ( yy_current_state >= 1114 )
4152 yy_c = yy_meta[yy_c];
4153 }
4154 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4155 }
4156
4157 return yy_current_state;
4158 }
4159
4160 /* yy_try_NUL_trans - try to make a transition on the NUL character
4161 *
4162 * synopsis
4163 * next_state = yy_try_NUL_trans( current_state );
4164 */
yy_try_NUL_trans(yy_state_type yy_current_state)4165 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
4166 {
4167 int yy_is_jam;
4168 char *yy_cp = (yy_c_buf_p);
4169
4170 YY_CHAR yy_c = 1;
4171 if ( yy_accept[yy_current_state] )
4172 {
4173 (yy_last_accepting_state) = yy_current_state;
4174 (yy_last_accepting_cpos) = yy_cp;
4175 }
4176 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4177 {
4178 yy_current_state = (int) yy_def[yy_current_state];
4179 if ( yy_current_state >= 1114 )
4180 yy_c = yy_meta[yy_c];
4181 }
4182 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4183 yy_is_jam = (yy_current_state == 1113);
4184
4185 return yy_is_jam ? 0 : yy_current_state;
4186 }
4187
4188 #ifndef YY_NO_UNPUT
4189
yyunput(int c,char * yy_bp)4190 static void yyunput (int c, char * yy_bp )
4191 {
4192 char *yy_cp;
4193
4194 yy_cp = (yy_c_buf_p);
4195
4196 /* undo effects of setting up yytext */
4197 *yy_cp = (yy_hold_char);
4198
4199 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4200 { /* need to shift things up to make room */
4201 /* +2 for EOB chars. */
4202 yy_size_t number_to_move = (yy_n_chars) + 2;
4203 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
4204 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
4205 char *source =
4206 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
4207
4208 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4209 *--dest = *--source;
4210
4211 yy_cp += (int) (dest - source);
4212 yy_bp += (int) (dest - source);
4213 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
4214 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
4215
4216 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
4217 YY_FATAL_ERROR( "flex scanner push-back overflow" );
4218 }
4219
4220 *--yy_cp = (char) c;
4221
4222 (yytext_ptr) = yy_bp;
4223 (yy_hold_char) = *yy_cp;
4224 (yy_c_buf_p) = yy_cp;
4225 }
4226
4227 #endif
4228
4229 #ifndef YY_NO_INPUT
4230 #ifdef __cplusplus
yyinput(void)4231 static int yyinput (void)
4232 #else
4233 static int input (void)
4234 #endif
4235
4236 {
4237 int c;
4238
4239 *(yy_c_buf_p) = (yy_hold_char);
4240
4241 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4242 {
4243 /* yy_c_buf_p now points to the character we want to return.
4244 * If this occurs *before* the EOB characters, then it's a
4245 * valid NUL; if not, then we've hit the end of the buffer.
4246 */
4247 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4248 /* This was really a NUL. */
4249 *(yy_c_buf_p) = '\0';
4250
4251 else
4252 { /* need more input */
4253 yy_size_t offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4254 ++(yy_c_buf_p);
4255
4256 switch ( yy_get_next_buffer( ) )
4257 {
4258 case EOB_ACT_LAST_MATCH:
4259 /* This happens because yy_g_n_b()
4260 * sees that we've accumulated a
4261 * token and flags that we need to
4262 * try matching the token before
4263 * proceeding. But for input(),
4264 * there's no matching to consider.
4265 * So convert the EOB_ACT_LAST_MATCH
4266 * to EOB_ACT_END_OF_FILE.
4267 */
4268
4269 /* Reset buffer status. */
4270 yyrestart( yyin );
4271
4272 /*FALLTHROUGH*/
4273
4274 case EOB_ACT_END_OF_FILE:
4275 {
4276 if ( yywrap( ) )
4277 return 0;
4278
4279 if ( ! (yy_did_buffer_switch_on_eof) )
4280 YY_NEW_FILE;
4281 #ifdef __cplusplus
4282 return yyinput();
4283 #else
4284 return input();
4285 #endif
4286 }
4287
4288 case EOB_ACT_CONTINUE_SCAN:
4289 (yy_c_buf_p) = (yytext_ptr) + offset;
4290 break;
4291 }
4292 }
4293 }
4294
4295 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
4296 *(yy_c_buf_p) = '\0'; /* preserve yytext */
4297 (yy_hold_char) = *++(yy_c_buf_p);
4298
4299 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4300
4301 return c;
4302 }
4303 #endif /* ifndef YY_NO_INPUT */
4304
4305 /** Immediately switch to a different input stream.
4306 * @param input_file A readable stream.
4307 *
4308 * @note This function does not reset the start condition to @c INITIAL .
4309 */
yyrestart(FILE * input_file)4310 void yyrestart (FILE * input_file )
4311 {
4312
4313 if ( ! YY_CURRENT_BUFFER ){
4314 yyensure_buffer_stack ();
4315 YY_CURRENT_BUFFER_LVALUE =
4316 yy_create_buffer( yyin, YY_BUF_SIZE );
4317 }
4318
4319 yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4320 yy_load_buffer_state( );
4321 }
4322
4323 /** Switch to a different input buffer.
4324 * @param new_buffer The new input buffer.
4325 *
4326 */
yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)4327 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
4328 {
4329
4330 /* TODO. We should be able to replace this entire function body
4331 * with
4332 * yypop_buffer_state();
4333 * yypush_buffer_state(new_buffer);
4334 */
4335 yyensure_buffer_stack ();
4336 if ( YY_CURRENT_BUFFER == new_buffer )
4337 return;
4338
4339 if ( YY_CURRENT_BUFFER )
4340 {
4341 /* Flush out information for old buffer. */
4342 *(yy_c_buf_p) = (yy_hold_char);
4343 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4344 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4345 }
4346
4347 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4348 yy_load_buffer_state( );
4349
4350 /* We don't actually know whether we did this switch during
4351 * EOF (yywrap()) processing, but the only time this flag
4352 * is looked at is after yywrap() is called, so it's safe
4353 * to go ahead and always set it.
4354 */
4355 (yy_did_buffer_switch_on_eof) = 1;
4356 }
4357
yy_load_buffer_state(void)4358 static void yy_load_buffer_state (void)
4359 {
4360 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4361 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4362 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4363 (yy_hold_char) = *(yy_c_buf_p);
4364 }
4365
4366 /** Allocate and initialize an input buffer state.
4367 * @param file A readable stream.
4368 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
4369 *
4370 * @return the allocated buffer state.
4371 */
yy_create_buffer(FILE * file,yy_size_t size)4372 YY_BUFFER_STATE yy_create_buffer (FILE * file, yy_size_t size )
4373 {
4374 YY_BUFFER_STATE b;
4375
4376 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4377 if ( ! b )
4378 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4379
4380 b->yy_buf_size = size;
4381
4382 /* yy_ch_buf has to be 2 characters longer than the size given because
4383 * we need to put in 2 end-of-buffer characters.
4384 */
4385 b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
4386 if ( ! b->yy_ch_buf )
4387 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4388
4389 b->yy_is_our_buffer = 1;
4390
4391 yy_init_buffer( b, file );
4392
4393 return b;
4394 }
4395
4396 /** Destroy the buffer.
4397 * @param b a buffer created with yy_create_buffer()
4398 *
4399 */
yy_delete_buffer(YY_BUFFER_STATE b)4400 void yy_delete_buffer (YY_BUFFER_STATE b )
4401 {
4402
4403 if ( ! b )
4404 return;
4405
4406 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4407 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
4408
4409 if ( b->yy_is_our_buffer )
4410 yyfree( (void *) b->yy_ch_buf );
4411
4412 yyfree( (void *) b );
4413 }
4414
4415 /* Initializes or reinitializes a buffer.
4416 * This function is sometimes called more than once on the same buffer,
4417 * such as during a yyrestart() or at EOF.
4418 */
yy_init_buffer(YY_BUFFER_STATE b,FILE * file)4419 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
4420
4421 {
4422 int oerrno = errno;
4423
4424 yy_flush_buffer( b );
4425
4426 b->yy_input_file = file;
4427 b->yy_fill_buffer = 1;
4428
4429 /* If b is the current buffer, then yy_init_buffer was _probably_
4430 * called from yyrestart() or through yy_get_next_buffer.
4431 * In that case, we don't want to reset the lineno or column.
4432 */
4433 if (b != YY_CURRENT_BUFFER){
4434 b->yy_bs_lineno = 1;
4435 b->yy_bs_column = 0;
4436 }
4437
4438 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4439
4440 errno = oerrno;
4441 }
4442
4443 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
4444 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
4445 *
4446 */
yy_flush_buffer(YY_BUFFER_STATE b)4447 void yy_flush_buffer (YY_BUFFER_STATE b )
4448 {
4449 if ( ! b )
4450 return;
4451
4452 b->yy_n_chars = 0;
4453
4454 /* We always need two end-of-buffer characters. The first causes
4455 * a transition to the end-of-buffer state. The second causes
4456 * a jam in that state.
4457 */
4458 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4459 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4460
4461 b->yy_buf_pos = &b->yy_ch_buf[0];
4462
4463 b->yy_at_bol = 1;
4464 b->yy_buffer_status = YY_BUFFER_NEW;
4465
4466 if ( b == YY_CURRENT_BUFFER )
4467 yy_load_buffer_state( );
4468 }
4469
4470 /** Pushes the new state onto the stack. The new state becomes
4471 * the current state. This function will allocate the stack
4472 * if necessary.
4473 * @param new_buffer The new state.
4474 *
4475 */
yypush_buffer_state(YY_BUFFER_STATE new_buffer)4476 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
4477 {
4478 if (new_buffer == NULL)
4479 return;
4480
4481 yyensure_buffer_stack();
4482
4483 /* This block is copied from yy_switch_to_buffer. */
4484 if ( YY_CURRENT_BUFFER )
4485 {
4486 /* Flush out information for old buffer. */
4487 *(yy_c_buf_p) = (yy_hold_char);
4488 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4489 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4490 }
4491
4492 /* Only push if top exists. Otherwise, replace top. */
4493 if (YY_CURRENT_BUFFER)
4494 (yy_buffer_stack_top)++;
4495 YY_CURRENT_BUFFER_LVALUE = new_buffer;
4496
4497 /* copied from yy_switch_to_buffer. */
4498 yy_load_buffer_state( );
4499 (yy_did_buffer_switch_on_eof) = 1;
4500 }
4501
4502 /** Removes and deletes the top of the stack, if present.
4503 * The next element becomes the new top.
4504 *
4505 */
yypop_buffer_state(void)4506 void yypop_buffer_state (void)
4507 {
4508 if (!YY_CURRENT_BUFFER)
4509 return;
4510
4511 yy_delete_buffer(YY_CURRENT_BUFFER );
4512 YY_CURRENT_BUFFER_LVALUE = NULL;
4513 if ((yy_buffer_stack_top) > 0)
4514 --(yy_buffer_stack_top);
4515
4516 if (YY_CURRENT_BUFFER) {
4517 yy_load_buffer_state( );
4518 (yy_did_buffer_switch_on_eof) = 1;
4519 }
4520 }
4521
4522 /* Allocates the stack if it does not exist.
4523 * Guarantees space for at least one push.
4524 */
yyensure_buffer_stack(void)4525 static void yyensure_buffer_stack (void)
4526 {
4527 yy_size_t num_to_alloc;
4528
4529 if (!(yy_buffer_stack)) {
4530
4531 /* First allocation is just for 2 elements, since we don't know if this
4532 * scanner will even need a stack. We use 2 instead of 1 to avoid an
4533 * immediate realloc on the next call.
4534 */
4535 num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4536 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
4537 (num_to_alloc * sizeof(struct yy_buffer_state*)
4538 );
4539 if ( ! (yy_buffer_stack) )
4540 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4541
4542 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4543
4544 (yy_buffer_stack_max) = num_to_alloc;
4545 (yy_buffer_stack_top) = 0;
4546 return;
4547 }
4548
4549 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4550
4551 /* Increase the buffer to prepare for a possible push. */
4552 yy_size_t grow_size = 8 /* arbitrary grow size */;
4553
4554 num_to_alloc = (yy_buffer_stack_max) + grow_size;
4555 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
4556 ((yy_buffer_stack),
4557 num_to_alloc * sizeof(struct yy_buffer_state*)
4558 );
4559 if ( ! (yy_buffer_stack) )
4560 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4561
4562 /* zero only the new slots.*/
4563 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4564 (yy_buffer_stack_max) = num_to_alloc;
4565 }
4566 }
4567
4568 /** Setup the input buffer state to scan directly from a user-specified character buffer.
4569 * @param base the character buffer
4570 * @param size the size in bytes of the character buffer
4571 *
4572 * @return the newly allocated buffer state object.
4573 */
yy_scan_buffer(char * base,yy_size_t size)4574 YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
4575 {
4576 YY_BUFFER_STATE b;
4577
4578 if ( size < 2 ||
4579 base[size-2] != YY_END_OF_BUFFER_CHAR ||
4580 base[size-1] != YY_END_OF_BUFFER_CHAR )
4581 /* They forgot to leave room for the EOB's. */
4582 return NULL;
4583
4584 b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4585 if ( ! b )
4586 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4587
4588 b->yy_buf_size = (size - 2); /* "- 2" to take care of EOB's */
4589 b->yy_buf_pos = b->yy_ch_buf = base;
4590 b->yy_is_our_buffer = 0;
4591 b->yy_input_file = NULL;
4592 b->yy_n_chars = b->yy_buf_size;
4593 b->yy_is_interactive = 0;
4594 b->yy_at_bol = 1;
4595 b->yy_fill_buffer = 0;
4596 b->yy_buffer_status = YY_BUFFER_NEW;
4597
4598 yy_switch_to_buffer( b );
4599
4600 return b;
4601 }
4602
4603 /** Setup the input buffer state to scan a string. The next call to yylex() will
4604 * scan from a @e copy of @a str.
4605 * @param yystr a NUL-terminated string to scan
4606 *
4607 * @return the newly allocated buffer state object.
4608 * @note If you want to scan bytes that may contain NUL values, then use
4609 * yy_scan_bytes() instead.
4610 */
yy_scan_string(const char * yystr)4611 YY_BUFFER_STATE yy_scan_string (const char * yystr )
4612 {
4613
4614 return yy_scan_bytes( yystr, strlen(yystr) );
4615 }
4616
4617 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
4618 * scan from a @e copy of @a bytes.
4619 * @param yybytes the byte buffer to scan
4620 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
4621 *
4622 * @return the newly allocated buffer state object.
4623 */
yy_scan_bytes(const char * yybytes,yy_size_t _yybytes_len)4624 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, yy_size_t _yybytes_len )
4625 {
4626 YY_BUFFER_STATE b;
4627 char *buf;
4628 yy_size_t n;
4629 yy_size_t i;
4630
4631 /* Get memory for full buffer, including space for trailing EOB's. */
4632 n = (yy_size_t) (_yybytes_len + 2);
4633 buf = (char *) yyalloc( n );
4634 if ( ! buf )
4635 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4636
4637 for ( i = 0; i < _yybytes_len; ++i )
4638 buf[i] = yybytes[i];
4639
4640 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4641
4642 b = yy_scan_buffer( buf, n );
4643 if ( ! b )
4644 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4645
4646 /* It's okay to grow etc. this buffer, and we should throw it
4647 * away when we're done.
4648 */
4649 b->yy_is_our_buffer = 1;
4650
4651 return b;
4652 }
4653
yy_push_state(int _new_state)4654 static void yy_push_state (int _new_state )
4655 {
4656 if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
4657 {
4658 yy_size_t new_size;
4659
4660 (yy_start_stack_depth) += YY_START_STACK_INCR;
4661 new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
4662
4663 if ( ! (yy_start_stack) )
4664 (yy_start_stack) = (int *) yyalloc( new_size );
4665
4666 else
4667 (yy_start_stack) = (int *) yyrealloc(
4668 (void *) (yy_start_stack), new_size );
4669
4670 if ( ! (yy_start_stack) )
4671 YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4672 }
4673
4674 (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
4675
4676 BEGIN(_new_state);
4677 }
4678
yy_pop_state(void)4679 static void yy_pop_state (void)
4680 {
4681 if ( --(yy_start_stack_ptr) < 0 )
4682 YY_FATAL_ERROR( "start-condition stack underflow" );
4683
4684 BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
4685 }
4686
4687 #ifndef YY_EXIT_FAILURE
4688 #define YY_EXIT_FAILURE 2
4689 #endif
4690
yy_fatal_error(const char * msg)4691 static void yynoreturn yy_fatal_error (const char* msg )
4692 {
4693 (void) fprintf( stderr, "%s\n", msg );
4694 exit( YY_EXIT_FAILURE );
4695 }
4696
4697 /* Redefine yyless() so it works in section 3 code. */
4698
4699 #undef yyless
4700 #define yyless(n) \
4701 do \
4702 { \
4703 /* Undo effects of setting up yytext. */ \
4704 int yyless_macro_arg = (n); \
4705 YY_LESS_LINENO(yyless_macro_arg);\
4706 yytext[yyleng] = (yy_hold_char); \
4707 (yy_c_buf_p) = yytext + yyless_macro_arg; \
4708 (yy_hold_char) = *(yy_c_buf_p); \
4709 *(yy_c_buf_p) = '\0'; \
4710 yyleng = yyless_macro_arg; \
4711 } \
4712 while ( 0 )
4713
4714 /* Accessor methods (get/set functions) to struct members. */
4715
4716 /** Get the current line number.
4717 *
4718 */
yyget_lineno(void)4719 int yyget_lineno (void)
4720 {
4721
4722 return yylineno;
4723 }
4724
4725 /** Get the input stream.
4726 *
4727 */
yyget_in(void)4728 FILE *yyget_in (void)
4729 {
4730 return yyin;
4731 }
4732
4733 /** Get the output stream.
4734 *
4735 */
yyget_out(void)4736 FILE *yyget_out (void)
4737 {
4738 return yyout;
4739 }
4740
4741 /** Get the length of the current token.
4742 *
4743 */
yyget_leng(void)4744 yy_size_t yyget_leng (void)
4745 {
4746 return yyleng;
4747 }
4748
4749 /** Get the current token.
4750 *
4751 */
4752
yyget_text(void)4753 char *yyget_text (void)
4754 {
4755 return yytext;
4756 }
4757
4758 /** Set the current line number.
4759 * @param _line_number line number
4760 *
4761 */
yyset_lineno(int _line_number)4762 void yyset_lineno (int _line_number )
4763 {
4764
4765 yylineno = _line_number;
4766 }
4767
4768 /** Set the input stream. This does not discard the current
4769 * input buffer.
4770 * @param _in_str A readable stream.
4771 *
4772 * @see yy_switch_to_buffer
4773 */
yyset_in(FILE * _in_str)4774 void yyset_in (FILE * _in_str )
4775 {
4776 yyin = _in_str ;
4777 }
4778
yyset_out(FILE * _out_str)4779 void yyset_out (FILE * _out_str )
4780 {
4781 yyout = _out_str ;
4782 }
4783
yyget_debug(void)4784 int yyget_debug (void)
4785 {
4786 return yy_flex_debug;
4787 }
4788
yyset_debug(int _bdebug)4789 void yyset_debug (int _bdebug )
4790 {
4791 yy_flex_debug = _bdebug ;
4792 }
4793
yy_init_globals(void)4794 static int yy_init_globals (void)
4795 {
4796 /* Initialization is the same as for the non-reentrant scanner.
4797 * This function is called from yylex_destroy(), so don't allocate here.
4798 */
4799
4800 (yy_buffer_stack) = NULL;
4801 (yy_buffer_stack_top) = 0;
4802 (yy_buffer_stack_max) = 0;
4803 (yy_c_buf_p) = NULL;
4804 (yy_init) = 0;
4805 (yy_start) = 0;
4806
4807 (yy_start_stack_ptr) = 0;
4808 (yy_start_stack_depth) = 0;
4809 (yy_start_stack) = NULL;
4810
4811 /* Defined in main.c */
4812 #ifdef YY_STDINIT
4813 yyin = stdin;
4814 yyout = stdout;
4815 #else
4816 yyin = NULL;
4817 yyout = NULL;
4818 #endif
4819
4820 /* For future reference: Set errno on error, since we are called by
4821 * yylex_init()
4822 */
4823 return 0;
4824 }
4825
4826 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
yylex_destroy(void)4827 int yylex_destroy (void)
4828 {
4829
4830 /* Pop the buffer stack, destroying each element. */
4831 while(YY_CURRENT_BUFFER){
4832 yy_delete_buffer( YY_CURRENT_BUFFER );
4833 YY_CURRENT_BUFFER_LVALUE = NULL;
4834 yypop_buffer_state();
4835 }
4836
4837 /* Destroy the stack itself. */
4838 yyfree((yy_buffer_stack) );
4839 (yy_buffer_stack) = NULL;
4840
4841 /* Destroy the start condition stack. */
4842 yyfree( (yy_start_stack) );
4843 (yy_start_stack) = NULL;
4844
4845 /* Reset the globals. This is important in a non-reentrant scanner so the next time
4846 * yylex() is called, initialization will occur. */
4847 yy_init_globals( );
4848
4849 return 0;
4850 }
4851
4852 /*
4853 * Internal utility routines.
4854 */
4855
4856 #ifndef yytext_ptr
yy_flex_strncpy(char * s1,const char * s2,int n)4857 static void yy_flex_strncpy (char* s1, const char * s2, int n )
4858 {
4859
4860 int i;
4861 for ( i = 0; i < n; ++i )
4862 s1[i] = s2[i];
4863 }
4864 #endif
4865
4866 #ifdef YY_NEED_STRLEN
yy_flex_strlen(const char * s)4867 static int yy_flex_strlen (const char * s )
4868 {
4869 int n;
4870 for ( n = 0; s[n]; ++n )
4871 ;
4872
4873 return n;
4874 }
4875 #endif
4876
yyalloc(yy_size_t size)4877 void *yyalloc (yy_size_t size )
4878 {
4879 return malloc(size);
4880 }
4881
yyrealloc(void * ptr,yy_size_t size)4882 void *yyrealloc (void * ptr, yy_size_t size )
4883 {
4884
4885 /* The cast to (char *) in the following accommodates both
4886 * implementations that use char* generic pointers, and those
4887 * that use void* generic pointers. It works with the latter
4888 * because both ANSI C and C++ allow castless assignment from
4889 * any pointer type to void*, and deal with argument conversions
4890 * as though doing an assignment.
4891 */
4892 return realloc(ptr, size);
4893 }
4894
yyfree(void * ptr)4895 void yyfree (void * ptr )
4896 {
4897 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
4898 }
4899
4900 #define YYTABLES_NAME "yytables"
4901
yywrap(void)4902 int yywrap(void)
4903 {
4904 if ( --num_input_files > 0 )
4905 {
4906 set_input_file( *++input_files );
4907 return 0;
4908 }
4909
4910 else
4911 return 1;
4912 }
4913
4914 /* set_input_file - open the given file (if NULL, stdin) for scanning */
4915
set_input_file(char * file)4916 void set_input_file( char *file )
4917 {
4918 if ( file && strcmp( file, "-" ) )
4919 {
4920 infilename = xstrdup(file);
4921 yyin = fopen( infilename, "r" );
4922
4923 if ( yyin == NULL )
4924 lerr( _( "can't open %s" ), file );
4925 }
4926
4927 else
4928 {
4929 yyin = stdin;
4930 infilename = xstrdup("<stdin>");
4931 }
4932
4933 linenum = 1;
4934 }
4935
4936